From 7b336cd0004ae75f586a157f55eb8e2a32219fbe Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 10:20:21 +0200 Subject: [PATCH 001/162] Start moving files --- .gitignore | 11 +---------- .air.toml => modules/api/.air.toml | 0 .golangci.yml => modules/api/.golangci.yml | 0 go.mod => modules/api/go.mod | 0 go.sum => modules/api/go.sum | 0 {src/app/backend => modules/api/src}/api/types.go | 0 .../backend => modules/api/src}/api/types_test.go | 0 .../app/backend => modules/api/src}/args/builder.go | 0 {src/app/backend => modules/api/src}/args/holder.go | 0 .../backend => modules/api/src}/auth/api/common.go | 0 .../api/src}/auth/api/common_test.go | 0 .../backend => modules/api/src}/auth/api/types.go | 0 {src/app/backend => modules/api/src}/auth/basic.go | 0 .../app/backend => modules/api/src}/auth/handler.go | 0 .../api/src}/auth/handler_test.go | 0 .../api/src}/auth/jwe/keyholder.go | 0 .../api/src}/auth/jwe/keyholder_test.go | 0 .../backend => modules/api/src}/auth/jwe/manager.go | 0 .../api/src}/auth/jwe/manager_test.go | 0 .../backend => modules/api/src}/auth/jwe/util.go | 0 .../backend => modules/api/src}/auth/kubeconfig.go | 0 .../api/src}/auth/kubeconfig_test.go | 0 .../app/backend => modules/api/src}/auth/manager.go | 0 .../api/src}/auth/manager_test.go | 0 {src/app/backend => modules/api/src}/auth/token.go | 0 .../backend => modules/api/src}/cert/api/types.go | 0 .../api/src}/cert/ecdsa/creator.go | 0 .../api/src}/cert/ecdsa/creator_test.go | 0 .../app/backend => modules/api/src}/cert/manager.go | 0 .../api/src}/client/api/common.go | 0 .../api/src}/client/api/common_test.go | 0 .../backend => modules/api/src}/client/api/types.go | 0 .../api/src}/client/csrf/manager.go | 0 .../api/src}/client/csrf/manager_test.go | 0 .../backend => modules/api/src}/client/manager.go | 0 .../api/src}/client/manager_test.go | 0 .../backend => modules/api/src}/client/verber.go | 0 .../api/src}/client/verber_test.go | 0 {src/app/backend => modules/api/src}/dashboard.go | 0 .../backend => modules/api/src}/errors/errors.go | 0 .../backend => modules/api/src}/errors/handler.go | 0 .../api/src}/errors/handler_test.go | 0 .../backend => modules/api/src}/errors/localizer.go | 0 .../api/src}/errors/localizer_test.go | 0 .../api/src}/handler/apihandler.go | 0 .../api/src}/handler/apihandler_test.go | 0 .../api/src}/handler/confighandler.go | 0 .../backend => modules/api/src}/handler/download.go | 0 .../backend => modules/api/src}/handler/filter.go | 0 .../api/src}/handler/gziphandler.go | 0 .../api/src}/handler/localehandler.go | 0 .../api/src}/handler/localehandler_test.go | 0 .../backend => modules/api/src}/handler/metrics.go | 0 .../api/src}/handler/parser/parser.go | 0 .../backend => modules/api/src}/handler/terminal.go | 0 .../api/src}/integration/api/types.go | 0 .../api/src}/integration/handler.go | 0 .../api/src}/integration/handler_test.go | 0 .../backend => modules/api/src}/integration/list.go | 0 .../api/src}/integration/manager.go | 0 .../api/src}/integration/manager_test.go | 0 .../api/src}/integration/metric/api/types.go | 0 .../src}/integration/metric/common/aggregation.go | 0 .../integration/metric/common/aggregation_test.go | 0 .../api/src}/integration/metric/heapster/client.go | 0 .../src}/integration/metric/heapster/client_test.go | 0 .../api/src}/integration/metric/heapster/common.go | 0 .../api/src}/integration/metric/heapster/model.go | 0 .../src}/integration/metric/heapster/restclient.go | 0 .../src}/integration/metric/heapster/selector.go | 0 .../integration/metric/heapster/selector_test.go | 0 .../api/src}/integration/metric/manager.go | 0 .../api/src}/integration/metric/manager_test.go | 0 .../api/src}/integration/metric/sidecar/client.go | 0 .../src}/integration/metric/sidecar/client_test.go | 0 .../api/src}/integration/metric/sidecar/common.go | 0 .../api/src}/integration/metric/sidecar/model.go | 0 .../src}/integration/metric/sidecar/restclient.go | 0 .../api/src}/integration/metric/sidecar/selector.go | 0 .../integration/metric/sidecar/selector_test.go | 0 .../api/src}/plugin/apis/register.go | 0 .../api/src}/plugin/apis/v1alpha1/doc.go | 0 .../api/src}/plugin/apis/v1alpha1/register.go | 0 .../api/src}/plugin/apis/v1alpha1/types.go | 0 .../plugin/apis/v1alpha1/zz_generated.deepcopy.go | 0 .../plugin/client/clientset/versioned/clientset.go | 0 .../src}/plugin/client/clientset/versioned/doc.go | 0 .../clientset/versioned/fake/clientset_generated.go | 0 .../plugin/client/clientset/versioned/fake/doc.go | 0 .../client/clientset/versioned/fake/register.go | 0 .../plugin/client/clientset/versioned/scheme/doc.go | 0 .../client/clientset/versioned/scheme/register.go | 0 .../versioned/typed/apis/v1alpha1/apis_client.go | 0 .../clientset/versioned/typed/apis/v1alpha1/doc.go | 0 .../versioned/typed/apis/v1alpha1/fake/doc.go | 0 .../typed/apis/v1alpha1/fake/fake_apis_client.go | 0 .../typed/apis/v1alpha1/fake/fake_plugin.go | 0 .../typed/apis/v1alpha1/generated_expansion.go | 0 .../versioned/typed/apis/v1alpha1/plugin.go | 0 .../informers/externalversions/apis/interface.go | 0 .../externalversions/apis/v1alpha1/interface.go | 0 .../externalversions/apis/v1alpha1/plugin.go | 0 .../client/informers/externalversions/factory.go | 0 .../client/informers/externalversions/generic.go | 0 .../internalinterfaces/factory_interfaces.go | 0 .../listers/apis/v1alpha1/expansion_generated.go | 0 .../plugin/client/listers/apis/v1alpha1/plugin.go | 0 .../backend => modules/api/src}/plugin/config.go | 0 .../api/src}/plugin/config_test.go | 0 .../backend => modules/api/src}/plugin/detail.go | 0 .../api/src}/plugin/detail_test.go | 0 .../backend => modules/api/src}/plugin/handler.go | 0 .../api/src}/plugin/handler_test.go | 0 {src/app/backend => modules/api/src}/plugin/list.go | 0 .../backend => modules/api/src}/plugin/list_test.go | 0 .../api/src}/resource/clusterrole/common.go | 0 .../api/src}/resource/clusterrole/detail.go | 0 .../api/src}/resource/clusterrole/list.go | 0 .../api/src}/resource/clusterrole/list_test.go | 0 .../api/src}/resource/clusterrolebinding/common.go | 0 .../api/src}/resource/clusterrolebinding/detail.go | 0 .../api/src}/resource/clusterrolebinding/list.go | 0 .../src}/resource/clusterrolebinding/list_test.go | 0 .../api/src}/resource/common/condition.go | 0 .../api/src}/resource/common/endpoint.go | 0 .../api/src}/resource/common/endpoint_test.go | 0 .../api/src}/resource/common/event.go | 0 .../api/src}/resource/common/namespace.go | 0 .../api/src}/resource/common/namespace_test.go | 0 .../api/src}/resource/common/pod.go | 0 .../api/src}/resource/common/pod_test.go | 0 .../api/src}/resource/common/podinfo.go | 0 .../api/src}/resource/common/podinfo_test.go | 0 .../api/src}/resource/common/resourcechannels.go | 0 .../api/src}/resource/common/resourcestatus.go | 0 .../api/src}/resource/common/service.go | 0 .../api/src}/resource/common/service_test.go | 0 .../api/src}/resource/common/serviceport.go | 0 .../api/src}/resource/common/serviceport_test.go | 0 .../api/src}/resource/configmap/common.go | 0 .../api/src}/resource/configmap/detail.go | 0 .../api/src}/resource/configmap/detail_test.go | 0 .../api/src}/resource/configmap/list.go | 0 .../api/src}/resource/configmap/list_test.go | 0 .../api/src}/resource/container/logs.go | 0 .../api/src}/resource/container/logs_test.go | 0 .../api/src}/resource/controller/controller.go | 0 .../api/src}/resource/controller/controller_test.go | 0 .../api/src}/resource/cronjob/common.go | 0 .../api/src}/resource/cronjob/common_test.go | 0 .../api/src}/resource/cronjob/detail.go | 0 .../api/src}/resource/cronjob/detail_test.go | 0 .../api/src}/resource/cronjob/events.go | 0 .../api/src}/resource/cronjob/events_test.go | 0 .../api/src}/resource/cronjob/jobs.go | 0 .../api/src}/resource/cronjob/jobs_test.go | 0 .../api/src}/resource/cronjob/list.go | 0 .../api/src}/resource/cronjob/list_test.go | 0 .../resource/customresourcedefinition/common.go | 0 .../resource/customresourcedefinition/events.go | 0 .../customresourcedefinition/events_test.go | 0 .../customresourcedefinition/types/types.go | 0 .../resource/customresourcedefinition/v1/client.go | 0 .../resource/customresourcedefinition/v1/common.go | 0 .../resource/customresourcedefinition/v1/detail.go | 0 .../resource/customresourcedefinition/v1/list.go | 0 .../customresourcedefinition/v1/list_test.go | 0 .../resource/customresourcedefinition/v1/objects.go | 0 .../api/src}/resource/daemonset/common.go | 0 .../api/src}/resource/daemonset/common_test.go | 0 .../api/src}/resource/daemonset/detail.go | 0 .../api/src}/resource/daemonset/list.go | 0 .../api/src}/resource/daemonset/list_test.go | 0 .../api/src}/resource/daemonset/pods.go | 0 .../api/src}/resource/daemonset/services.go | 0 .../api/src}/resource/dataselect/dataselect.go | 0 .../api/src}/resource/dataselect/dataselect_test.go | 0 .../api/src}/resource/dataselect/dataselectquery.go | 0 .../api/src}/resource/dataselect/pagination.go | 0 .../api/src}/resource/dataselect/pagination_test.go | 0 .../api/src}/resource/dataselect/propertyname.go | 0 .../src}/resource/dataselect/stdcomparabletypes.go | 0 .../resource/dataselect/stdcomparabletypes_test.go | 0 .../api/src}/resource/deployment/common.go | 0 .../api/src}/resource/deployment/deploy.go | 0 .../api/src}/resource/deployment/deploy_test.go | 0 .../api/src}/resource/deployment/detail.go | 0 .../api/src}/resource/deployment/detail_test.go | 0 .../api/src}/resource/deployment/list.go | 0 .../api/src}/resource/deployment/list_test.go | 0 .../api/src}/resource/deployment/newreplicasets.go | 0 .../api/src}/resource/deployment/oldreplicasets.go | 0 .../api/src}/resource/deployment/pods.go | 0 .../api/src}/resource/deployment/rollout.go | 0 .../api/src}/resource/deployment/util.go | 0 .../api/src}/resource/endpoint/endpoint.go | 0 .../api/src}/resource/endpoint/list.go | 0 .../api/src}/resource/event/common.go | 0 .../api/src}/resource/event/common_test.go | 0 .../api/src}/resource/event/event.go | 0 .../api/src}/resource/event/event_test.go | 0 .../api/src}/resource/event/list.go | 0 .../src}/resource/horizontalpodautoscaler/common.go | 0 .../src}/resource/horizontalpodautoscaler/detail.go | 0 .../resource/horizontalpodautoscaler/detail_test.go | 0 .../src}/resource/horizontalpodautoscaler/list.go | 0 .../resource/horizontalpodautoscaler/list_test.go | 0 .../api/src}/resource/ingress/common.go | 0 .../api/src}/resource/ingress/detail.go | 0 .../api/src}/resource/ingress/filter.go | 0 .../api/src}/resource/ingress/list.go | 0 .../api/src}/resource/job/common.go | 0 .../api/src}/resource/job/detail.go | 0 .../api/src}/resource/job/detail_test.go | 0 .../api/src}/resource/job/events.go | 0 .../api/src}/resource/job/events_test.go | 0 .../api/src}/resource/job/list.go | 0 .../api/src}/resource/job/list_test.go | 0 .../api/src}/resource/job/pods.go | 0 .../api/src}/resource/limitrange/detail.go | 0 .../api/src}/resource/limitrange/detail_test.go | 0 .../api/src}/resource/logs/logs.go | 0 .../api/src}/resource/logs/source.go | 0 .../api/src}/resource/namespace/common.go | 0 .../api/src}/resource/namespace/detail.go | 0 .../api/src}/resource/namespace/detail_test.go | 0 .../api/src}/resource/namespace/list.go | 0 .../api/src}/resource/namespace/list_test.go | 0 .../api/src}/resource/networkpolicy/common.go | 0 .../api/src}/resource/networkpolicy/detail.go | 0 .../api/src}/resource/networkpolicy/list.go | 0 .../api/src}/resource/node/common.go | 0 .../api/src}/resource/node/detail.go | 0 .../api/src}/resource/node/detail_test.go | 0 .../api/src}/resource/node/list.go | 0 .../api/src}/resource/node/list_test.go | 0 .../api/src}/resource/persistentvolume/common.go | 0 .../src}/resource/persistentvolume/common_test.go | 0 .../api/src}/resource/persistentvolume/detail.go | 0 .../src}/resource/persistentvolume/detail_test.go | 0 .../api/src}/resource/persistentvolume/list.go | 0 .../api/src}/resource/persistentvolume/list_test.go | 0 .../src}/resource/persistentvolumeclaim/common.go | 0 .../resource/persistentvolumeclaim/common_test.go | 0 .../src}/resource/persistentvolumeclaim/detail.go | 0 .../resource/persistentvolumeclaim/detail_test.go | 0 .../api/src}/resource/persistentvolumeclaim/list.go | 0 .../resource/persistentvolumeclaim/list_test.go | 0 .../api/src}/resource/pod/common.go | 0 .../api/src}/resource/pod/common_test.go | 0 .../api/src}/resource/pod/detail.go | 0 .../api/src}/resource/pod/detail_test.go | 0 .../api/src}/resource/pod/events.go | 0 .../api/src}/resource/pod/events_test.go | 0 .../api/src}/resource/pod/fieldpath.go | 0 .../api/src}/resource/pod/fieldpath_test.go | 0 .../api/src}/resource/pod/list.go | 0 .../api/src}/resource/pod/list_test.go | 0 .../api/src}/resource/pod/metrics.go | 0 .../api/src}/resource/replicaset/common.go | 0 .../api/src}/resource/replicaset/common_test.go | 0 .../api/src}/resource/replicaset/detail.go | 0 .../api/src}/resource/replicaset/detail_test.go | 0 .../api/src}/resource/replicaset/list.go | 0 .../api/src}/resource/replicaset/list_test.go | 0 .../api/src}/resource/replicaset/pods.go | 0 .../api/src}/resource/replicaset/services.go | 0 .../src}/resource/replicationcontroller/common.go | 0 .../resource/replicationcontroller/common_test.go | 0 .../src}/resource/replicationcontroller/detail.go | 0 .../resource/replicationcontroller/detail_test.go | 0 .../api/src}/resource/replicationcontroller/list.go | 0 .../resource/replicationcontroller/list_test.go | 0 .../api/src}/resource/replicationcontroller/pods.go | 0 .../src}/resource/replicationcontroller/services.go | 0 .../api/src}/resource/resourcequota/detail.go | 0 .../api/src}/resource/resourcequota/detail_test.go | 0 .../api/src}/resource/role/common.go | 0 .../api/src}/resource/role/detail.go | 0 .../api/src}/resource/role/list.go | 0 .../api/src}/resource/role/list_test.go | 0 .../api/src}/resource/rolebinding/common.go | 0 .../api/src}/resource/rolebinding/detail.go | 0 .../api/src}/resource/rolebinding/list.go | 0 .../api/src}/resource/rolebinding/list_test.go | 0 .../api/src}/resource/secret/common.go | 0 .../api/src}/resource/secret/detail.go | 0 .../api/src}/resource/secret/detail_test.go | 0 .../api/src}/resource/secret/list.go | 0 .../api/src}/resource/secret/list_test.go | 0 .../api/src}/resource/service/common.go | 0 .../api/src}/resource/service/detail.go | 0 .../api/src}/resource/service/detail_test.go | 0 .../api/src}/resource/service/events.go | 0 .../api/src}/resource/service/events_test.go | 0 .../api/src}/resource/service/ingress.go | 0 .../api/src}/resource/service/list.go | 0 .../api/src}/resource/service/list_test.go | 0 .../api/src}/resource/service/pods.go | 0 .../api/src}/resource/service/pods_test.go | 0 .../api/src}/resource/serviceaccount/common.go | 0 .../api/src}/resource/serviceaccount/detail.go | 0 .../api/src}/resource/serviceaccount/list.go | 0 .../api/src}/resource/serviceaccount/secrets.go | 0 .../api/src}/resource/statefulset/common.go | 0 .../api/src}/resource/statefulset/detail.go | 0 .../api/src}/resource/statefulset/list.go | 0 .../api/src}/resource/statefulset/list_test.go | 0 .../api/src}/resource/statefulset/pods.go | 0 .../api/src}/resource/storageclass/common.go | 0 .../api/src}/resource/storageclass/detail.go | 0 .../api/src}/resource/storageclass/detail_test.go | 0 .../api/src}/resource/storageclass/list.go | 0 .../api/src}/resource/storageclass/list_test.go | 0 .../backend => modules/api/src}/scaling/scale.go | 0 .../api/src}/settings/api/types.go | 0 .../backend => modules/api/src}/settings/handler.go | 0 .../api/src}/settings/handler_test.go | 0 .../backend => modules/api/src}/settings/manager.go | 0 .../api/src}/settings/manager_test.go | 0 .../backend => modules/api/src}/sync/api/types.go | 0 .../app/backend => modules/api/src}/sync/manager.go | 0 .../api/src}/sync/manager_test.go | 0 .../backend => modules/api/src}/sync/overwatch.go | 0 .../backend => modules/api/src}/sync/poll/secret.go | 0 .../api/src}/sync/poll/secret_test.go | 0 .../api/src}/sync/poll/watcher.go | 0 .../api/src}/sync/poll/watcher_test.go | 0 {src/app/backend => modules/api/src}/sync/secret.go | 0 .../backend => modules/api/src}/sync/secret_test.go | 0 .../api/src}/systembanner/api/types.go | 0 .../api/src}/systembanner/handler.go | 0 .../api/src}/systembanner/manager.go | 0 .../api/src}/validation/validateappname.go | 0 .../api/src}/validation/validateappname_test.go | 0 .../api/src}/validation/validateimagereference.go | 0 .../src}/validation/validateimagereference_test.go | 0 .../api/src}/validation/validateloginstatus.go | 0 .../api/src}/validation/validateloginstatus_test.go | 0 .../api/src}/validation/validateprotocol.go | 0 .../api/src}/validation/validateprotocol_test.go | 0 .../api/src}/validation/validaterbacstatus.go | 0 .../api/src}/validation/validaterbacstatus_test.go | 0 .babelrc => modules/web/.babelrc | 0 .browserslistrc => modules/web/.browserslistrc | 0 .eslintignore => modules/web/.eslintignore | 1 - .eslintrc.yaml => modules/web/.eslintrc.yaml | 0 modules/web/.gitignore | 5 +++++ .jsbeautifyrc => modules/web/.jsbeautifyrc | 0 .npmrc => modules/web/.npmrc | 0 .prettierrc.cjs => modules/web/.prettierrc.cjs | 0 .stylelintrc.yaml => modules/web/.stylelintrc.yaml | 0 angular.json => modules/web/angular.json | 0 cypress.json => modules/web/cypress.json | 0 {cypress => modules/web/cypress}/fixtures/crd.yaml | 0 .../web/cypress}/fixtures/example-foo.yaml | 0 .../web/cypress}/integration/specs/nav.spec.ts | 0 .../cypress}/integration/specs/userpanel.spec.ts | 0 .../web/cypress}/pages/abstractPage.ts | 0 .../web/cypress}/pages/navbarPage.ts | 0 .../web/cypress}/pages/userpanelPage.ts | 0 .../web/cypress}/plugins/cy-ts-preprocessor.ts | 0 {cypress => modules/web/cypress}/plugins/index.ts | 0 {cypress => modules/web/cypress}/support/index.ts | 0 {i18n => modules/web/i18n}/de/OWNERS | 0 {i18n => modules/web/i18n}/de/messages.de.xlf | 0 {i18n => modules/web/i18n}/es/OWNERS | 0 {i18n => modules/web/i18n}/es/messages.es.xlf | 0 {i18n => modules/web/i18n}/fr/OWNERS | 0 {i18n => modules/web/i18n}/fr/messages.fr.xlf | 0 {i18n => modules/web/i18n}/ja/OWNERS | 0 {i18n => modules/web/i18n}/ja/README.md | 0 {i18n => modules/web/i18n}/ja/messages.ja.xlf | 0 {i18n => modules/web/i18n}/ko/OWNERS | 0 {i18n => modules/web/i18n}/ko/messages.ko.xlf | 0 {i18n => modules/web/i18n}/locale_conf.json | 0 {i18n => modules/web/i18n}/messages.xlf | 0 {i18n => modules/web/i18n}/zh-Hans/OWNERS | 0 .../web/i18n}/zh-Hans/messages.zh-Hans.xlf | 0 {i18n => modules/web/i18n}/zh-Hant-HK/OWNERS | 0 .../web/i18n}/zh-Hant-HK/messages.zh-Hant-HK.xlf | 0 {i18n => modules/web/i18n}/zh-Hant/OWNERS | 0 .../web/i18n}/zh-Hant/messages.zh-Hant.xlf | 0 {aio => modules/web}/jest.config.js | 4 ++-- package-lock.json => modules/web/package-lock.json | 0 package.json => modules/web/package.json | 0 .../web/proxy-https.conf.json | 0 {aio => modules/web}/proxy.conf.json | 0 {src/app/frontend => modules/web/src}/_dark.scss | 0 {src/app/frontend => modules/web/src}/_light.scss | 0 {src/app/frontend => modules/web/src}/_mixins.scss | 0 {src/app/frontend => modules/web/src}/_theming.scss | 0 .../frontend => modules/web/src}/_variables.scss | 0 .../web/src}/about/actionbar/component.ts | 0 .../web/src}/about/actionbar/template.html | 0 .../web/src}/about/component.spec.ts | 0 .../frontend => modules/web/src}/about/component.ts | 0 .../frontend => modules/web/src}/about/module.ts | 0 .../frontend => modules/web/src}/about/routing.ts | 0 .../frontend => modules/web/src}/about/style.scss | 0 .../web/src}/about/template.html | 0 .../web/src}/assets/config/config.json | 0 .../web/src}/assets/images/kubernetes-logo-text.svg | 0 .../web/src}/assets/images/kubernetes-logo.png | Bin .../web/src}/assets/images/kubernetes-logo.svg | 0 .../web/src}/assets/images/pin-crossed.svg | 0 .../web/src}/assets/images/pin.svg | 0 .../frontend => modules/web/src}/assets/robots.txt | 0 .../web/src}/chrome/component.ts | 0 .../frontend => modules/web/src}/chrome/module.ts | 0 .../web/src}/chrome/nav/component.ts | 0 .../web/src}/chrome/nav/hamburger/component.ts | 0 .../web/src}/chrome/nav/hamburger/template.html | 0 .../web/src}/chrome/nav/item/component.ts | 0 .../web/src}/chrome/nav/item/style.scss | 0 .../web/src}/chrome/nav/item/template.html | 0 .../web/src}/chrome/nav/module.ts | 0 .../web/src}/chrome/nav/pinner/component.ts | 0 .../web/src}/chrome/nav/pinner/template.html | 0 .../web/src}/chrome/nav/style.scss | 0 .../web/src}/chrome/nav/template.html | 0 .../web/src}/chrome/notifications/component.ts | 0 .../web/src}/chrome/notifications/style.scss | 0 .../web/src}/chrome/notifications/template.html | 0 .../frontend => modules/web/src}/chrome/routing.ts | 0 .../web/src}/chrome/search/component.ts | 0 .../web/src}/chrome/search/style.scss | 0 .../web/src}/chrome/search/template.html | 0 .../frontend => modules/web/src}/chrome/style.scss | 0 .../web/src}/chrome/template.html | 0 .../web/src}/chrome/userpanel/component.ts | 0 .../web/src}/chrome/userpanel/style.scss | 0 .../web/src}/chrome/userpanel/template.html | 0 .../web/src}/common/animations/animations.ts | 0 .../src}/common/components/actionbar/component.ts | 0 .../components/actionbar/detailactions/component.ts | 0 .../actionbar/detailactions/delete/component.ts | 0 .../actionbar/detailactions/delete/template.html | 0 .../actionbar/detailactions/edit/component.ts | 0 .../actionbar/detailactions/edit/template.html | 0 .../actionbar/detailactions/exec/component.ts | 0 .../actionbar/detailactions/exec/template.html | 0 .../actionbar/detailactions/logs/component.ts | 0 .../actionbar/detailactions/logs/template.html | 0 .../actionbar/detailactions/pin/component.ts | 0 .../actionbar/detailactions/pin/template.html | 0 .../actionbar/detailactions/restart/component.ts | 0 .../actionbar/detailactions/restart/template.html | 0 .../actionbar/detailactions/scale/component.ts | 0 .../actionbar/detailactions/scale/template.html | 0 .../actionbar/detailactions/template.html | 0 .../actionbar/detailactions/trigger/component.ts | 0 .../actionbar/detailactions/trigger/template.html | 0 .../src}/common/components/actionbar/template.html | 0 .../components/actionbars/default/component.ts | 0 .../components/actionbars/default/template.html | 0 .../components/actionbars/logsdefault/component.ts | 0 .../components/actionbars/logsdefault/template.html | 0 .../actionbars/logsexecdefault/component.ts | 0 .../actionbars/logsexecdefault/template.html | 0 .../actionbars/logsscaledefault/component.ts | 0 .../actionbars/logsscaledefault/template.html | 0 .../components/actionbars/pindefault/component.ts | 0 .../components/actionbars/pindefault/template.html | 0 .../src}/common/components/actionbars/routing.ts | 0 .../components/actionbars/scaledefault/component.ts | 0 .../actionbars/scaledefault/template.html | 0 .../actionbars/triggerdefault/component.ts | 0 .../actionbars/triggerdefault/template.html | 0 .../src}/common/components/breadcrumbs/component.ts | 0 .../src}/common/components/breadcrumbs/style.scss | 0 .../common/components/breadcrumbs/template.html | 0 .../src}/common/components/card/component.spec.ts | 0 .../web/src}/common/components/card/component.ts | 0 .../web/src}/common/components/card/style.scss | 0 .../web/src}/common/components/card/template.html | 0 .../common/components/chips/chipdialog/dialog.ts | 0 .../components/chips/chipdialog/template.html | 0 .../web/src}/common/components/chips/component.ts | 0 .../web/src}/common/components/chips/style.scss | 0 .../web/src}/common/components/chips/template.html | 0 .../src}/common/components/condition/component.ts | 0 .../src}/common/components/condition/template.html | 0 .../src}/common/components/container/component.ts | 0 .../web/src}/common/components/container/style.scss | 0 .../src}/common/components/container/template.html | 0 .../web/src}/common/components/creator/component.ts | 0 .../src}/common/components/creator/template.html | 0 .../web/src}/common/components/date/component.ts | 0 .../web/src}/common/components/date/style.scss | 0 .../web/src}/common/components/date/template.html | 0 .../components/endpoint/cardlist/component.ts | 0 .../common/components/endpoint/cardlist/style.scss | 0 .../components/endpoint/cardlist/template.html | 0 .../components/endpoint/external/component.ts | 0 .../common/components/endpoint/external/style.scss | 0 .../components/endpoint/external/template.html | 0 .../components/endpoint/internal/component.ts | 0 .../common/components/endpoint/internal/style.scss | 0 .../components/endpoint/internal/template.html | 0 .../web/src}/common/components/graph/component.ts | 0 .../web/src}/common/components/graph/helper.ts | 0 .../web/src}/common/components/graph/style.scss | 0 .../web/src}/common/components/graph/template.html | 0 .../common/components/graphcard/component.spec.ts | 0 .../src}/common/components/graphcard/component.ts | 0 .../src}/common/components/graphcard/template.html | 0 .../common/components/graphmetrics/component.ts | 0 .../common/components/graphmetrics/template.html | 0 .../common/components/hiddenproperty/component.ts | 0 .../common/components/hiddenproperty/style.scss | 0 .../common/components/hiddenproperty/template.html | 0 .../common/components/ingressrulelist/component.ts | 0 .../common/components/ingressrulelist/template.html | 0 .../web/src}/common/components/limits/component.ts | 0 .../web/src}/common/components/limits/template.html | 0 .../src}/common/components/list/column/component.ts | 0 .../common/components/list/column/menu/component.ts | 0 .../components/list/column/menu/template.html | 0 .../common/components/list/column/template.html | 0 .../src}/common/components/list/filter/component.ts | 0 .../src}/common/components/list/filter/style.scss | 0 .../common/components/list/filter/template.html | 0 .../common/components/list/rowdetail/component.ts | 0 .../common/components/list/rowdetail/style.scss | 0 .../common/components/list/rowdetail/template.html | 0 .../common/components/list/spinner/component.ts | 0 .../common/components/list/spinner/template.html | 0 .../common/components/list/zerostate/component.ts | 0 .../common/components/list/zerostate/style.scss | 0 .../common/components/list/zerostate/template.html | 0 .../web/src}/common/components/module.ts | 0 .../components/namespace/changedialog/dialog.ts | 0 .../components/namespace/changedialog/template.html | 0 .../src}/common/components/namespace/component.ts | 0 .../web/src}/common/components/namespace/style.scss | 0 .../src}/common/components/namespace/template.html | 0 .../common/components/objectmeta/component.spec.ts | 0 .../src}/common/components/objectmeta/component.ts | 0 .../src}/common/components/objectmeta/template.html | 0 .../src}/common/components/podstatus/component.ts | 0 .../src}/common/components/podstatus/template.html | 0 .../src}/common/components/policyrule/component.ts | 0 .../src}/common/components/policyrule/template.html | 0 .../web/src}/common/components/probe/component.ts | 0 .../web/src}/common/components/probe/template.html | 0 .../src}/common/components/property/component.ts | 0 .../web/src}/common/components/property/style.scss | 0 .../src}/common/components/property/template.html | 0 .../web/src}/common/components/proxy/component.ts | 0 .../web/src}/common/components/quotas/component.ts | 0 .../web/src}/common/components/quotas/template.html | 0 .../resourcelist/clusterrole/component.ts | 0 .../resourcelist/clusterrole/template.html | 0 .../resourcelist/clusterrolebinding/component.ts | 0 .../resourcelist/clusterrolebinding/template.html | 0 .../components/resourcelist/configmap/component.ts | 0 .../components/resourcelist/configmap/template.html | 0 .../common/components/resourcelist/crd/component.ts | 0 .../components/resourcelist/crd/template.html | 0 .../components/resourcelist/crdobject/component.ts | 0 .../components/resourcelist/crdobject/template.html | 0 .../components/resourcelist/crdversion/component.ts | 0 .../resourcelist/crdversion/template.html | 0 .../components/resourcelist/cronjob/component.ts | 0 .../components/resourcelist/cronjob/template.html | 0 .../components/resourcelist/daemonset/component.ts | 0 .../components/resourcelist/daemonset/template.html | 0 .../components/resourcelist/deployment/component.ts | 0 .../resourcelist/deployment/template.html | 0 .../components/resourcelist/event/component.ts | 0 .../components/resourcelist/event/template.html | 0 .../src}/common/components/resourcelist/groupids.ts | 0 .../horizontalpodautoscaler/component.ts | 0 .../horizontalpodautoscaler/template.html | 0 .../components/resourcelist/ingress/component.ts | 0 .../components/resourcelist/ingress/style.scss | 0 .../components/resourcelist/ingress/template.html | 0 .../common/components/resourcelist/job/component.ts | 0 .../components/resourcelist/job/template.html | 0 .../components/resourcelist/namespace/component.ts | 0 .../components/resourcelist/namespace/template.html | 0 .../resourcelist/networkpolicy/component.ts | 0 .../resourcelist/networkpolicy/template.html | 0 .../components/resourcelist/node/component.ts | 0 .../components/resourcelist/node/template.html | 0 .../resourcelist/persistentvolume/component.ts | 0 .../resourcelist/persistentvolume/template.html | 0 .../resourcelist/persistentvolumeclaim/component.ts | 0 .../persistentvolumeclaim/template.html | 0 .../components/resourcelist/plugin/component.ts | 0 .../components/resourcelist/plugin/template.html | 0 .../common/components/resourcelist/pod/component.ts | 0 .../components/resourcelist/pod/template.html | 0 .../components/resourcelist/replicaset/component.ts | 0 .../resourcelist/replicaset/template.html | 0 .../resourcelist/replicationcontroller/component.ts | 0 .../replicationcontroller/template.html | 0 .../components/resourcelist/role/component.ts | 0 .../components/resourcelist/role/template.html | 0 .../resourcelist/rolebinding/component.ts | 0 .../resourcelist/rolebinding/template.html | 0 .../components/resourcelist/secret/component.ts | 0 .../components/resourcelist/secret/template.html | 0 .../components/resourcelist/service/component.ts | 0 .../components/resourcelist/service/template.html | 0 .../resourcelist/serviceaccount/component.ts | 0 .../resourcelist/serviceaccount/template.html | 0 .../resourcelist/statefulset/component.ts | 0 .../resourcelist/statefulset/template.html | 0 .../src}/common/components/resourcelist/statuses.ts | 0 .../resourcelist/storageclass/component.ts | 0 .../resourcelist/storageclass/template.html | 0 .../common/components/securitycontext/component.ts | 0 .../common/components/securitycontext/template.html | 0 .../common/components/sparkline/cpu/component.ts | 0 .../common/components/sparkline/cpu/template.html | 0 .../common/components/sparkline/memory/component.ts | 0 .../components/sparkline/memory/template.html | 0 .../src}/common/components/sparkline/sparkline.ts | 0 .../web/src}/common/components/subject/component.ts | 0 .../src}/common/components/subject/template.html | 0 .../src}/common/components/textinput/component.ts | 0 .../web/src}/common/components/textinput/style.scss | 0 .../src}/common/components/textinput/template.html | 0 .../src}/common/components/uploadfile/component.ts | 0 .../src}/common/components/uploadfile/style.scss | 0 .../src}/common/components/uploadfile/template.html | 0 .../src}/common/components/volumemount/component.ts | 0 .../common/components/volumemount/template.html | 0 .../components/workloadstatus/component.spec.ts | 0 .../common/components/workloadstatus/component.ts | 0 .../common/components/workloadstatus/style.scss | 0 .../common/components/workloadstatus/template.html | 0 .../src}/common/components/zerostate/component.ts | 0 .../web/src}/common/components/zerostate/style.scss | 0 .../src}/common/components/zerostate/template.html | 0 .../web/src}/common/dialogs/alert/dialog.ts | 0 .../web/src}/common/dialogs/alert/template.html | 0 .../web/src}/common/dialogs/config/dialog.ts | 0 .../web/src}/common/dialogs/config/template.html | 0 .../src}/common/dialogs/deleteresource/dialog.ts | 0 .../common/dialogs/deleteresource/template.html | 0 .../web/src}/common/dialogs/download/dialog.ts | 0 .../web/src}/common/dialogs/download/style.scss | 0 .../web/src}/common/dialogs/download/template.html | 0 .../web/src}/common/dialogs/editresource/dialog.ts | 0 .../src}/common/dialogs/editresource/template.html | 0 .../web/src}/common/dialogs/module.ts | 0 .../src}/common/dialogs/previewdeployment/dialog.ts | 0 .../common/dialogs/previewdeployment/template.html | 0 .../src}/common/dialogs/restartresource/dialog.ts | 0 .../common/dialogs/restartresource/template.html | 0 .../web/src}/common/dialogs/scaleresource/dialog.ts | 0 .../src}/common/dialogs/scaleresource/template.html | 0 .../src}/common/dialogs/triggerresource/dialog.ts | 0 .../common/dialogs/triggerresource/template.html | 0 .../src}/common/directives/autofocus/directive.ts | 0 .../web/src}/common/directives/module.ts | 0 .../web/src}/common/errors/errors.ts | 0 .../web/src}/common/interfaces/candeactivate.ts | 0 .../web/src}/common/params/params.ts | 0 .../web/src}/common/pipes/commaseparated.ts | 0 .../web/src}/common/pipes/coreformatter.spec.ts | 0 .../web/src}/common/pipes/coreformatter.ts | 0 .../web/src}/common/pipes/filterby.ts | 0 .../web/src}/common/pipes/memoryformatter.spec.ts | 0 .../web/src}/common/pipes/memoryformatter.ts | 0 .../web/src}/common/pipes/module.ts | 0 .../web/src}/common/pipes/relativetime.ts | 0 .../web/src}/common/pipes/stripansi.ts | 0 .../web/src}/common/pipes/trim.ts | 0 .../web/src}/common/pipes/untrim.ts | 0 .../web/src}/common/resources/groupedlist.ts | 0 .../web/src}/common/resources/list.ts | 0 .../web/src}/common/resources/rawresource.ts | 0 .../web/src}/common/resources/resource.ts | 0 .../web/src}/common/services/create/module.ts | 0 .../web/src}/common/services/create/service.ts | 0 .../web/src}/common/services/global/actionbar.ts | 0 .../web/src}/common/services/global/assets.ts | 0 .../src}/common/services/global/authentication.ts | 0 .../web/src}/common/services/global/authorizer.ts | 0 .../web/src}/common/services/global/config.ts | 0 .../web/src}/common/services/global/csrftoken.ts | 0 .../web/src}/common/services/global/decoder.ts | 0 .../src}/common/services/global/globalsettings.ts | 0 .../web/src}/common/services/global/history.ts | 0 .../web/src}/common/services/global/interceptor.ts | 0 .../web/src}/common/services/global/loader.ts | 0 .../src}/common/services/global/localsettings.ts | 0 .../web/src}/common/services/global/logs.ts | 0 .../web/src}/common/services/global/module.ts | 0 .../web/src}/common/services/global/namespace.ts | 0 .../src}/common/services/global/notifications.ts | 0 .../web/src}/common/services/global/params.ts | 0 .../web/src}/common/services/global/pinner.ts | 0 .../web/src}/common/services/global/plugin.ts | 0 .../web/src}/common/services/global/state.ts | 0 .../web/src}/common/services/global/theme.ts | 0 .../web/src}/common/services/global/title.ts | 0 .../web/src}/common/services/global/verber.ts | 0 .../web/src}/common/services/guard/auth.ts | 0 .../web/src}/common/services/guard/candeactivate.ts | 0 .../web/src}/common/services/guard/login.ts | 0 .../web/src}/common/services/guard/module.ts | 0 .../web/src}/common/services/guard/search.ts | 0 .../web/src}/common/services/nav/module.ts | 0 .../web/src}/common/services/nav/service.ts | 0 .../services/pluginloader/clientloader.service.ts | 0 .../common/services/pluginloader/pluginexternals.ts | 0 .../services/pluginloader/pluginloader.service.ts | 0 .../web/src}/common/services/resource/endpoint.ts | 0 .../web/src}/common/services/resource/module.ts | 0 .../web/src}/common/services/resource/resource.ts | 0 .../web/src}/common/services/resource/utility.ts | 0 .../app/frontend => modules/web/src}/core.module.ts | 0 .../web/src}/crd/crdobject/component.ts | 0 .../web/src}/crd/crdobject/template.html | 0 .../web/src}/crd/detail/component.ts | 0 .../web/src}/crd/detail/template.html | 0 .../web/src}/crd/list/component.ts | 0 {src/app/frontend => modules/web/src}/crd/module.ts | 0 .../app/frontend => modules/web/src}/crd/routing.ts | 0 .../web/src}/create/component.ts | 0 .../web/src}/create/from/file/component.ts | 0 .../web/src}/create/from/file/style.scss | 0 .../web/src}/create/from/file/template.html | 0 .../web/src}/create/from/form/component.ts | 0 .../src}/create/from/form/createnamespace/dialog.ts | 0 .../create/from/form/createnamespace/template.html | 0 .../src}/create/from/form/createsecret/dialog.ts | 0 .../create/from/form/createsecret/template.html | 0 .../src}/create/from/form/deploylabel/component.ts | 0 .../create/from/form/deploylabel/deploylabel.ts | 0 .../src}/create/from/form/deploylabel/template.html | 0 .../from/form/environmentvariables/component.ts | 0 .../from/form/environmentvariables/template.html | 0 .../src}/create/from/form/helpsection/component.ts | 0 .../src}/create/from/form/helpsection/style.scss | 0 .../src}/create/from/form/helpsection/template.html | 0 .../from/form/helpsection/userhelp/component.ts | 0 .../from/form/helpsection/userhelp/style.scss | 0 .../from/form/helpsection/userhelp/template.html | 0 .../web/src}/create/from/form/module.ts | 0 .../src}/create/from/form/portmappings/component.ts | 0 .../src}/create/from/form/portmappings/style.scss | 0 .../create/from/form/portmappings/template.html | 0 .../web/src}/create/from/form/style.scss | 0 .../web/src}/create/from/form/template.html | 0 .../from/form/validator/uniquename.validator.ts | 0 .../src}/create/from/form/validator/validators.ts | 0 .../form/validator/validimagereference.validator.ts | 0 .../from/form/validator/validprotocol.validator.ts | 0 .../from/form/validator/warnthreshold.validator.ts | 0 .../web/src}/create/from/input/component.ts | 0 .../web/src}/create/from/input/style.scss | 0 .../web/src}/create/from/input/template.html | 0 .../frontend => modules/web/src}/create/module.ts | 0 .../frontend => modules/web/src}/create/routing.ts | 0 .../frontend => modules/web/src}/create/style.scss | 0 .../web/src}/create/template.html | 0 .../web/src}/environments/environment.prod.ts | 0 .../web/src}/environments/environment.ts | 0 .../frontend => modules/web/src}/error/component.ts | 0 .../frontend => modules/web/src}/error/handler.ts | 0 .../frontend => modules/web/src}/error/module.ts | 0 .../frontend => modules/web/src}/error/routing.ts | 0 .../frontend => modules/web/src}/error/style.scss | 0 .../web/src}/error/template.html | 0 .../frontend => modules/web/src}/index.component.ts | 0 .../frontend => modules/web/src}/index.config.ts | 0 {src/app/frontend => modules/web/src}/index.html | 0 .../frontend => modules/web/src}/index.messages.ts | 0 .../frontend => modules/web/src}/index.module.ts | 0 .../frontend => modules/web/src}/index.routing.ts | 0 {src/app/frontend => modules/web/src}/index.scss | 0 {src/app/frontend => modules/web/src}/index.ts | 0 .../web/src}/login/component.spec.ts | 0 .../frontend => modules/web/src}/login/component.ts | 0 .../frontend => modules/web/src}/login/module.ts | 0 .../frontend => modules/web/src}/login/style.scss | 0 .../web/src}/login/template.html | 0 .../frontend => modules/web/src}/logs/component.ts | 0 .../app/frontend => modules/web/src}/logs/module.ts | 0 .../frontend => modules/web/src}/logs/routing.ts | 0 .../frontend => modules/web/src}/logs/style.scss | 0 .../frontend => modules/web/src}/logs/template.html | 0 .../web/src}/overview/component.spec.ts | 0 .../web/src}/overview/component.ts | 0 .../frontend => modules/web/src}/overview/helper.ts | 0 .../frontend => modules/web/src}/overview/module.ts | 0 .../web/src}/overview/routing.ts | 0 .../web/src}/overview/template.html | 0 .../web/src}/plugin/component.ts | 0 .../web/src}/plugin/detail/component.ts | 0 .../frontend => modules/web/src}/plugin/holder.ts | 0 .../web/src}/plugin/list/component.ts | 0 .../frontend => modules/web/src}/plugin/module.ts | 0 .../frontend => modules/web/src}/plugin/routing.ts | 0 .../web/src}/plugin/template.html | 0 {src/app/frontend => modules/web/src}/polyfills.ts | 0 .../cluster/clusterrole/detail/component.ts | 0 .../cluster/clusterrole/detail/template.html | 0 .../resource/cluster/clusterrole/list/component.ts | 0 .../web/src}/resource/cluster/clusterrole/module.ts | 0 .../src}/resource/cluster/clusterrole/routing.ts | 0 .../cluster/clusterrolebinding/detail/component.ts | 0 .../cluster/clusterrolebinding/detail/template.html | 0 .../cluster/clusterrolebinding/list/component.ts | 0 .../resource/cluster/clusterrolebinding/module.ts | 0 .../resource/cluster/clusterrolebinding/routing.ts | 0 .../web/src}/resource/cluster/component.ts | 0 .../src}/resource/cluster/event/list/component.ts | 0 .../web/src}/resource/cluster/event/module.ts | 0 .../web/src}/resource/cluster/event/routing.ts | 0 .../web/src}/resource/cluster/module.ts | 0 .../cluster/namespace/detail/actionbar/component.ts | 0 .../namespace/detail/actionbar/template.html | 0 .../resource/cluster/namespace/detail/component.ts | 0 .../resource/cluster/namespace/detail/template.html | 0 .../resource/cluster/namespace/list/component.ts | 0 .../web/src}/resource/cluster/namespace/module.ts | 0 .../web/src}/resource/cluster/namespace/routing.ts | 0 .../cluster/networkpolicy/detail/component.ts | 0 .../cluster/networkpolicy/detail/template.html | 0 .../cluster/networkpolicy/list/component.ts | 0 .../src}/resource/cluster/networkpolicy/module.ts | 0 .../src}/resource/cluster/networkpolicy/routing.ts | 0 .../src}/resource/cluster/node/detail/component.ts | 0 .../src}/resource/cluster/node/detail/template.html | 0 .../src}/resource/cluster/node/list/component.ts | 0 .../web/src}/resource/cluster/node/module.ts | 0 .../web/src}/resource/cluster/node/routing.ts | 0 .../cluster/persistentvolume/detail/component.ts | 0 .../persistentvolume/detail/source/component.ts | 0 .../persistentvolume/detail/source/style.scss | 0 .../persistentvolume/detail/source/template.html | 0 .../cluster/persistentvolume/detail/template.html | 0 .../cluster/persistentvolume/list/component.ts | 0 .../resource/cluster/persistentvolume/module.ts | 0 .../resource/cluster/persistentvolume/routing.ts | 0 .../src}/resource/cluster/role/detail/component.ts | 0 .../src}/resource/cluster/role/detail/template.html | 0 .../src}/resource/cluster/role/list/component.ts | 0 .../web/src}/resource/cluster/role/module.ts | 0 .../web/src}/resource/cluster/role/routing.ts | 0 .../cluster/rolebinding/detail/component.ts | 0 .../cluster/rolebinding/detail/template.html | 0 .../resource/cluster/rolebinding/list/component.ts | 0 .../web/src}/resource/cluster/rolebinding/module.ts | 0 .../src}/resource/cluster/rolebinding/routing.ts | 0 .../web/src}/resource/cluster/routing.ts | 0 .../cluster/serviceaccount/detail/component.ts | 0 .../cluster/serviceaccount/detail/template.html | 0 .../cluster/serviceaccount/list/component.ts | 0 .../src}/resource/cluster/serviceaccount/module.ts | 0 .../src}/resource/cluster/serviceaccount/routing.ts | 0 .../web/src}/resource/cluster/template.html | 0 .../web/src}/resource/config/component.ts | 0 .../resource/config/configmap/detail/component.ts | 0 .../resource/config/configmap/detail/template.html | 0 .../resource/config/configmap/list/component.ts | 0 .../web/src}/resource/config/configmap/module.ts | 0 .../web/src}/resource/config/configmap/routing.ts | 0 .../web/src}/resource/config/module.ts | 0 .../persistentvolumeclaim/detail/component.ts | 0 .../persistentvolumeclaim/detail/template.html | 0 .../config/persistentvolumeclaim/list/component.ts | 0 .../resource/config/persistentvolumeclaim/module.ts | 0 .../config/persistentvolumeclaim/routing.ts | 0 .../web/src}/resource/config/routing.ts | 0 .../src}/resource/config/secret/detail/component.ts | 0 .../resource/config/secret/detail/edit/component.ts | 0 .../resource/config/secret/detail/edit/style.scss | 0 .../config/secret/detail/edit/template.html | 0 .../resource/config/secret/detail/template.html | 0 .../src}/resource/config/secret/list/component.ts | 0 .../src}/resource/config/secret/list/template.html | 0 .../web/src}/resource/config/secret/module.ts | 0 .../web/src}/resource/config/secret/routing.ts | 0 .../config/storageclass/detail/component.ts | 0 .../resource/config/storageclass/detail/style.scss | 0 .../config/storageclass/detail/template.html | 0 .../resource/config/storageclass/list/component.ts | 0 .../web/src}/resource/config/storageclass/module.ts | 0 .../src}/resource/config/storageclass/routing.ts | 0 .../web/src}/resource/config/template.html | 0 .../web/src}/resource/discovery/component.ts | 0 .../discovery/ingress/detail/component.spec.ts | 0 .../resource/discovery/ingress/detail/component.ts | 0 .../resource/discovery/ingress/detail/template.html | 0 .../resource/discovery/ingress/list/component.ts | 0 .../web/src}/resource/discovery/ingress/module.ts | 0 .../web/src}/resource/discovery/ingress/routing.ts | 0 .../web/src}/resource/discovery/module.ts | 0 .../web/src}/resource/discovery/routing.ts | 0 .../discovery/service/detail/component.spec.ts | 0 .../resource/discovery/service/detail/component.ts | 0 .../resource/discovery/service/detail/template.html | 0 .../resource/discovery/service/list/component.ts | 0 .../web/src}/resource/discovery/service/module.ts | 0 .../web/src}/resource/discovery/service/routing.ts | 0 .../web/src}/resource/discovery/template.html | 0 .../web/src}/resource/workloads/component.ts | 0 .../resource/workloads/cronjob/detail/component.ts | 0 .../resource/workloads/cronjob/detail/template.html | 0 .../resource/workloads/cronjob/list/component.ts | 0 .../web/src}/resource/workloads/cronjob/module.ts | 0 .../web/src}/resource/workloads/cronjob/routing.ts | 0 .../daemonset/detail/actionbar/component.ts | 0 .../daemonset/detail/actionbar/template.html | 0 .../workloads/daemonset/detail/component.ts | 0 .../workloads/daemonset/detail/template.html | 0 .../resource/workloads/daemonset/list/component.ts | 0 .../web/src}/resource/workloads/daemonset/module.ts | 0 .../src}/resource/workloads/daemonset/routing.ts | 0 .../workloads/deployment/detail/component.ts | 0 .../workloads/deployment/detail/template.html | 0 .../resource/workloads/deployment/list/component.ts | 0 .../src}/resource/workloads/deployment/module.ts | 0 .../src}/resource/workloads/deployment/routing.ts | 0 .../src}/resource/workloads/job/detail/component.ts | 0 .../resource/workloads/job/detail/template.html | 0 .../src}/resource/workloads/job/list/component.ts | 0 .../web/src}/resource/workloads/job/module.ts | 0 .../web/src}/resource/workloads/job/routing.ts | 0 .../web/src}/resource/workloads/module.ts | 0 .../src}/resource/workloads/pod/detail/component.ts | 0 .../src}/resource/workloads/pod/detail/style.scss | 0 .../resource/workloads/pod/detail/template.html | 0 .../src}/resource/workloads/pod/list/component.ts | 0 .../web/src}/resource/workloads/pod/module.ts | 0 .../web/src}/resource/workloads/pod/routing.ts | 0 .../workloads/replicaset/detail/component.ts | 0 .../workloads/replicaset/detail/template.html | 0 .../resource/workloads/replicaset/list/component.ts | 0 .../src}/resource/workloads/replicaset/module.ts | 0 .../src}/resource/workloads/replicaset/routing.ts | 0 .../replicationcontroller/detail/component.ts | 0 .../replicationcontroller/detail/template.html | 0 .../replicationcontroller/list/component.ts | 0 .../workloads/replicationcontroller/module.ts | 0 .../workloads/replicationcontroller/routing.ts | 0 .../web/src}/resource/workloads/routing.ts | 0 .../workloads/statefulset/detail/component.ts | 0 .../workloads/statefulset/detail/template.html | 0 .../workloads/statefulset/list/component.ts | 0 .../src}/resource/workloads/statefulset/module.ts | 0 .../src}/resource/workloads/statefulset/routing.ts | 0 .../web/src}/resource/workloads/template.html | 0 .../web/src}/search/component.ts | 0 .../frontend => modules/web/src}/search/module.ts | 0 .../frontend => modules/web/src}/search/routing.ts | 0 .../web/src}/search/template.html | 0 .../web/src}/settings/component.ts | 0 .../web/src}/settings/entry/component.ts | 0 .../web/src}/settings/entry/template.html | 0 .../web/src}/settings/global/component.ts | 0 .../settings/global/namespace/adddialog/dialog.ts | 0 .../global/namespace/adddialog/template.html | 0 .../web/src}/settings/global/namespace/component.ts | 0 .../settings/global/namespace/editdialog/dialog.ts | 0 .../global/namespace/editdialog/template.html | 0 .../web/src}/settings/global/namespace/style.scss | 0 .../src}/settings/global/namespace/template.html | 0 .../settings/global/saveanywaysdialog/dialog.ts | 0 .../settings/global/saveanywaysdialog/template.html | 0 .../web/src}/settings/global/service.ts | 0 .../web/src}/settings/global/style.scss | 0 .../web/src}/settings/global/template.html | 0 .../web/src}/settings/local/component.ts | 0 .../web/src}/settings/local/style.scss | 0 .../web/src}/settings/local/template.html | 0 .../frontend => modules/web/src}/settings/module.ts | 0 .../web/src}/settings/routing.ts | 0 .../frontend => modules/web/src}/shared.module.ts | 0 .../frontend => modules/web/src}/shell/component.ts | 0 .../frontend => modules/web/src}/shell/module.ts | 0 .../frontend => modules/web/src}/shell/routing.ts | 0 .../frontend => modules/web/src}/shell/styles.scss | 0 .../web/src}/shell/template.html | 0 {src/app/frontend => modules/web/src}/systemjs.d.ts | 0 .../frontend => modules/web/src}/test.base.mocks.ts | 0 {src/app/frontend => modules/web/src}/test.base.ts | 0 .../web/src}/typings/root.api.ts | 0 .../web/src}/typings/root.shared.ts | 0 .../frontend => modules/web/src}/typings/root.ui.ts | 0 .../web/src}/typings/volume.api.ts | 0 {aio => modules/web}/tsconfig.app.json | 0 {aio => modules/web}/tsconfig.e2e.json | 0 tsconfig.json => modules/web/tsconfig.json | 0 {aio => modules/web}/tsconfig.spec.json | 0 993 files changed, 8 insertions(+), 13 deletions(-) rename .air.toml => modules/api/.air.toml (100%) rename .golangci.yml => modules/api/.golangci.yml (100%) rename go.mod => modules/api/go.mod (100%) rename go.sum => modules/api/go.sum (100%) rename {src/app/backend => modules/api/src}/api/types.go (100%) rename {src/app/backend => modules/api/src}/api/types_test.go (100%) rename {src/app/backend => modules/api/src}/args/builder.go (100%) rename {src/app/backend => modules/api/src}/args/holder.go (100%) rename {src/app/backend => modules/api/src}/auth/api/common.go (100%) rename {src/app/backend => modules/api/src}/auth/api/common_test.go (100%) rename {src/app/backend => modules/api/src}/auth/api/types.go (100%) rename {src/app/backend => modules/api/src}/auth/basic.go (100%) rename {src/app/backend => modules/api/src}/auth/handler.go (100%) rename {src/app/backend => modules/api/src}/auth/handler_test.go (100%) rename {src/app/backend => modules/api/src}/auth/jwe/keyholder.go (100%) rename {src/app/backend => modules/api/src}/auth/jwe/keyholder_test.go (100%) rename {src/app/backend => modules/api/src}/auth/jwe/manager.go (100%) rename {src/app/backend => modules/api/src}/auth/jwe/manager_test.go (100%) rename {src/app/backend => modules/api/src}/auth/jwe/util.go (100%) rename {src/app/backend => modules/api/src}/auth/kubeconfig.go (100%) rename {src/app/backend => modules/api/src}/auth/kubeconfig_test.go (100%) rename {src/app/backend => modules/api/src}/auth/manager.go (100%) rename {src/app/backend => modules/api/src}/auth/manager_test.go (100%) rename {src/app/backend => modules/api/src}/auth/token.go (100%) rename {src/app/backend => modules/api/src}/cert/api/types.go (100%) rename {src/app/backend => modules/api/src}/cert/ecdsa/creator.go (100%) rename {src/app/backend => modules/api/src}/cert/ecdsa/creator_test.go (100%) rename {src/app/backend => modules/api/src}/cert/manager.go (100%) rename {src/app/backend => modules/api/src}/client/api/common.go (100%) rename {src/app/backend => modules/api/src}/client/api/common_test.go (100%) rename {src/app/backend => modules/api/src}/client/api/types.go (100%) rename {src/app/backend => modules/api/src}/client/csrf/manager.go (100%) rename {src/app/backend => modules/api/src}/client/csrf/manager_test.go (100%) rename {src/app/backend => modules/api/src}/client/manager.go (100%) rename {src/app/backend => modules/api/src}/client/manager_test.go (100%) rename {src/app/backend => modules/api/src}/client/verber.go (100%) rename {src/app/backend => modules/api/src}/client/verber_test.go (100%) rename {src/app/backend => modules/api/src}/dashboard.go (100%) rename {src/app/backend => modules/api/src}/errors/errors.go (100%) rename {src/app/backend => modules/api/src}/errors/handler.go (100%) rename {src/app/backend => modules/api/src}/errors/handler_test.go (100%) rename {src/app/backend => modules/api/src}/errors/localizer.go (100%) rename {src/app/backend => modules/api/src}/errors/localizer_test.go (100%) rename {src/app/backend => modules/api/src}/handler/apihandler.go (100%) rename {src/app/backend => modules/api/src}/handler/apihandler_test.go (100%) rename {src/app/backend => modules/api/src}/handler/confighandler.go (100%) rename {src/app/backend => modules/api/src}/handler/download.go (100%) rename {src/app/backend => modules/api/src}/handler/filter.go (100%) rename {src/app/backend => modules/api/src}/handler/gziphandler.go (100%) rename {src/app/backend => modules/api/src}/handler/localehandler.go (100%) rename {src/app/backend => modules/api/src}/handler/localehandler_test.go (100%) rename {src/app/backend => modules/api/src}/handler/metrics.go (100%) rename {src/app/backend => modules/api/src}/handler/parser/parser.go (100%) rename {src/app/backend => modules/api/src}/handler/terminal.go (100%) rename {src/app/backend => modules/api/src}/integration/api/types.go (100%) rename {src/app/backend => modules/api/src}/integration/handler.go (100%) rename {src/app/backend => modules/api/src}/integration/handler_test.go (100%) rename {src/app/backend => modules/api/src}/integration/list.go (100%) rename {src/app/backend => modules/api/src}/integration/manager.go (100%) rename {src/app/backend => modules/api/src}/integration/manager_test.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/api/types.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/common/aggregation.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/common/aggregation_test.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/heapster/client.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/heapster/client_test.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/heapster/common.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/heapster/model.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/heapster/restclient.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/heapster/selector.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/heapster/selector_test.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/manager.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/manager_test.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/sidecar/client.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/sidecar/client_test.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/sidecar/common.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/sidecar/model.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/sidecar/restclient.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/sidecar/selector.go (100%) rename {src/app/backend => modules/api/src}/integration/metric/sidecar/selector_test.go (100%) rename {src/app/backend => modules/api/src}/plugin/apis/register.go (100%) rename {src/app/backend => modules/api/src}/plugin/apis/v1alpha1/doc.go (100%) rename {src/app/backend => modules/api/src}/plugin/apis/v1alpha1/register.go (100%) rename {src/app/backend => modules/api/src}/plugin/apis/v1alpha1/types.go (100%) rename {src/app/backend => modules/api/src}/plugin/apis/v1alpha1/zz_generated.deepcopy.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/clientset.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/doc.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/fake/clientset_generated.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/fake/doc.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/fake/register.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/scheme/doc.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/scheme/register.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/informers/externalversions/apis/interface.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/informers/externalversions/apis/v1alpha1/interface.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/informers/externalversions/factory.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/informers/externalversions/generic.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/listers/apis/v1alpha1/expansion_generated.go (100%) rename {src/app/backend => modules/api/src}/plugin/client/listers/apis/v1alpha1/plugin.go (100%) rename {src/app/backend => modules/api/src}/plugin/config.go (100%) rename {src/app/backend => modules/api/src}/plugin/config_test.go (100%) rename {src/app/backend => modules/api/src}/plugin/detail.go (100%) rename {src/app/backend => modules/api/src}/plugin/detail_test.go (100%) rename {src/app/backend => modules/api/src}/plugin/handler.go (100%) rename {src/app/backend => modules/api/src}/plugin/handler_test.go (100%) rename {src/app/backend => modules/api/src}/plugin/list.go (100%) rename {src/app/backend => modules/api/src}/plugin/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrole/common.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrole/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrole/list.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrole/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrolebinding/common.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrolebinding/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrolebinding/list.go (100%) rename {src/app/backend => modules/api/src}/resource/clusterrolebinding/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/common/condition.go (100%) rename {src/app/backend => modules/api/src}/resource/common/endpoint.go (100%) rename {src/app/backend => modules/api/src}/resource/common/endpoint_test.go (100%) rename {src/app/backend => modules/api/src}/resource/common/event.go (100%) rename {src/app/backend => modules/api/src}/resource/common/namespace.go (100%) rename {src/app/backend => modules/api/src}/resource/common/namespace_test.go (100%) rename {src/app/backend => modules/api/src}/resource/common/pod.go (100%) rename {src/app/backend => modules/api/src}/resource/common/pod_test.go (100%) rename {src/app/backend => modules/api/src}/resource/common/podinfo.go (100%) rename {src/app/backend => modules/api/src}/resource/common/podinfo_test.go (100%) rename {src/app/backend => modules/api/src}/resource/common/resourcechannels.go (100%) rename {src/app/backend => modules/api/src}/resource/common/resourcestatus.go (100%) rename {src/app/backend => modules/api/src}/resource/common/service.go (100%) rename {src/app/backend => modules/api/src}/resource/common/service_test.go (100%) rename {src/app/backend => modules/api/src}/resource/common/serviceport.go (100%) rename {src/app/backend => modules/api/src}/resource/common/serviceport_test.go (100%) rename {src/app/backend => modules/api/src}/resource/configmap/common.go (100%) rename {src/app/backend => modules/api/src}/resource/configmap/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/configmap/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/configmap/list.go (100%) rename {src/app/backend => modules/api/src}/resource/configmap/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/container/logs.go (100%) rename {src/app/backend => modules/api/src}/resource/container/logs_test.go (100%) rename {src/app/backend => modules/api/src}/resource/controller/controller.go (100%) rename {src/app/backend => modules/api/src}/resource/controller/controller_test.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/common.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/events.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/events_test.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/jobs.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/jobs_test.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/list.go (100%) rename {src/app/backend => modules/api/src}/resource/cronjob/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/common.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/events.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/events_test.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/types/types.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/v1/client.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/v1/common.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/v1/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/v1/list.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/v1/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/customresourcedefinition/v1/objects.go (100%) rename {src/app/backend => modules/api/src}/resource/daemonset/common.go (100%) rename {src/app/backend => modules/api/src}/resource/daemonset/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/daemonset/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/daemonset/list.go (100%) rename {src/app/backend => modules/api/src}/resource/daemonset/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/daemonset/pods.go (100%) rename {src/app/backend => modules/api/src}/resource/daemonset/services.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/dataselect.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/dataselect_test.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/dataselectquery.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/pagination.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/pagination_test.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/propertyname.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/stdcomparabletypes.go (100%) rename {src/app/backend => modules/api/src}/resource/dataselect/stdcomparabletypes_test.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/common.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/deploy.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/deploy_test.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/list.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/newreplicasets.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/oldreplicasets.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/pods.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/rollout.go (100%) rename {src/app/backend => modules/api/src}/resource/deployment/util.go (100%) rename {src/app/backend => modules/api/src}/resource/endpoint/endpoint.go (100%) rename {src/app/backend => modules/api/src}/resource/endpoint/list.go (100%) rename {src/app/backend => modules/api/src}/resource/event/common.go (100%) rename {src/app/backend => modules/api/src}/resource/event/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/event/event.go (100%) rename {src/app/backend => modules/api/src}/resource/event/event_test.go (100%) rename {src/app/backend => modules/api/src}/resource/event/list.go (100%) rename {src/app/backend => modules/api/src}/resource/horizontalpodautoscaler/common.go (100%) rename {src/app/backend => modules/api/src}/resource/horizontalpodautoscaler/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/horizontalpodautoscaler/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/horizontalpodautoscaler/list.go (100%) rename {src/app/backend => modules/api/src}/resource/horizontalpodautoscaler/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/ingress/common.go (100%) rename {src/app/backend => modules/api/src}/resource/ingress/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/ingress/filter.go (100%) rename {src/app/backend => modules/api/src}/resource/ingress/list.go (100%) rename {src/app/backend => modules/api/src}/resource/job/common.go (100%) rename {src/app/backend => modules/api/src}/resource/job/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/job/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/job/events.go (100%) rename {src/app/backend => modules/api/src}/resource/job/events_test.go (100%) rename {src/app/backend => modules/api/src}/resource/job/list.go (100%) rename {src/app/backend => modules/api/src}/resource/job/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/job/pods.go (100%) rename {src/app/backend => modules/api/src}/resource/limitrange/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/limitrange/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/logs/logs.go (100%) rename {src/app/backend => modules/api/src}/resource/logs/source.go (100%) rename {src/app/backend => modules/api/src}/resource/namespace/common.go (100%) rename {src/app/backend => modules/api/src}/resource/namespace/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/namespace/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/namespace/list.go (100%) rename {src/app/backend => modules/api/src}/resource/namespace/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/networkpolicy/common.go (100%) rename {src/app/backend => modules/api/src}/resource/networkpolicy/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/networkpolicy/list.go (100%) rename {src/app/backend => modules/api/src}/resource/node/common.go (100%) rename {src/app/backend => modules/api/src}/resource/node/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/node/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/node/list.go (100%) rename {src/app/backend => modules/api/src}/resource/node/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolume/common.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolume/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolume/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolume/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolume/list.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolume/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolumeclaim/common.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolumeclaim/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolumeclaim/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolumeclaim/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolumeclaim/list.go (100%) rename {src/app/backend => modules/api/src}/resource/persistentvolumeclaim/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/common.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/events.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/events_test.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/fieldpath.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/fieldpath_test.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/list.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/pod/metrics.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/common.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/list.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/pods.go (100%) rename {src/app/backend => modules/api/src}/resource/replicaset/services.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/common.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/common_test.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/list.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/pods.go (100%) rename {src/app/backend => modules/api/src}/resource/replicationcontroller/services.go (100%) rename {src/app/backend => modules/api/src}/resource/resourcequota/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/resourcequota/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/role/common.go (100%) rename {src/app/backend => modules/api/src}/resource/role/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/role/list.go (100%) rename {src/app/backend => modules/api/src}/resource/role/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/rolebinding/common.go (100%) rename {src/app/backend => modules/api/src}/resource/rolebinding/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/rolebinding/list.go (100%) rename {src/app/backend => modules/api/src}/resource/rolebinding/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/secret/common.go (100%) rename {src/app/backend => modules/api/src}/resource/secret/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/secret/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/secret/list.go (100%) rename {src/app/backend => modules/api/src}/resource/secret/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/service/common.go (100%) rename {src/app/backend => modules/api/src}/resource/service/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/service/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/service/events.go (100%) rename {src/app/backend => modules/api/src}/resource/service/events_test.go (100%) rename {src/app/backend => modules/api/src}/resource/service/ingress.go (100%) rename {src/app/backend => modules/api/src}/resource/service/list.go (100%) rename {src/app/backend => modules/api/src}/resource/service/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/service/pods.go (100%) rename {src/app/backend => modules/api/src}/resource/service/pods_test.go (100%) rename {src/app/backend => modules/api/src}/resource/serviceaccount/common.go (100%) rename {src/app/backend => modules/api/src}/resource/serviceaccount/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/serviceaccount/list.go (100%) rename {src/app/backend => modules/api/src}/resource/serviceaccount/secrets.go (100%) rename {src/app/backend => modules/api/src}/resource/statefulset/common.go (100%) rename {src/app/backend => modules/api/src}/resource/statefulset/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/statefulset/list.go (100%) rename {src/app/backend => modules/api/src}/resource/statefulset/list_test.go (100%) rename {src/app/backend => modules/api/src}/resource/statefulset/pods.go (100%) rename {src/app/backend => modules/api/src}/resource/storageclass/common.go (100%) rename {src/app/backend => modules/api/src}/resource/storageclass/detail.go (100%) rename {src/app/backend => modules/api/src}/resource/storageclass/detail_test.go (100%) rename {src/app/backend => modules/api/src}/resource/storageclass/list.go (100%) rename {src/app/backend => modules/api/src}/resource/storageclass/list_test.go (100%) rename {src/app/backend => modules/api/src}/scaling/scale.go (100%) rename {src/app/backend => modules/api/src}/settings/api/types.go (100%) rename {src/app/backend => modules/api/src}/settings/handler.go (100%) rename {src/app/backend => modules/api/src}/settings/handler_test.go (100%) rename {src/app/backend => modules/api/src}/settings/manager.go (100%) rename {src/app/backend => modules/api/src}/settings/manager_test.go (100%) rename {src/app/backend => modules/api/src}/sync/api/types.go (100%) rename {src/app/backend => modules/api/src}/sync/manager.go (100%) rename {src/app/backend => modules/api/src}/sync/manager_test.go (100%) rename {src/app/backend => modules/api/src}/sync/overwatch.go (100%) rename {src/app/backend => modules/api/src}/sync/poll/secret.go (100%) rename {src/app/backend => modules/api/src}/sync/poll/secret_test.go (100%) rename {src/app/backend => modules/api/src}/sync/poll/watcher.go (100%) rename {src/app/backend => modules/api/src}/sync/poll/watcher_test.go (100%) rename {src/app/backend => modules/api/src}/sync/secret.go (100%) rename {src/app/backend => modules/api/src}/sync/secret_test.go (100%) rename {src/app/backend => modules/api/src}/systembanner/api/types.go (100%) rename {src/app/backend => modules/api/src}/systembanner/handler.go (100%) rename {src/app/backend => modules/api/src}/systembanner/manager.go (100%) rename {src/app/backend => modules/api/src}/validation/validateappname.go (100%) rename {src/app/backend => modules/api/src}/validation/validateappname_test.go (100%) rename {src/app/backend => modules/api/src}/validation/validateimagereference.go (100%) rename {src/app/backend => modules/api/src}/validation/validateimagereference_test.go (100%) rename {src/app/backend => modules/api/src}/validation/validateloginstatus.go (100%) rename {src/app/backend => modules/api/src}/validation/validateloginstatus_test.go (100%) rename {src/app/backend => modules/api/src}/validation/validateprotocol.go (100%) rename {src/app/backend => modules/api/src}/validation/validateprotocol_test.go (100%) rename {src/app/backend => modules/api/src}/validation/validaterbacstatus.go (100%) rename {src/app/backend => modules/api/src}/validation/validaterbacstatus_test.go (100%) rename .babelrc => modules/web/.babelrc (100%) rename .browserslistrc => modules/web/.browserslistrc (100%) rename .eslintignore => modules/web/.eslintignore (71%) rename .eslintrc.yaml => modules/web/.eslintrc.yaml (100%) create mode 100644 modules/web/.gitignore rename .jsbeautifyrc => modules/web/.jsbeautifyrc (100%) rename .npmrc => modules/web/.npmrc (100%) rename .prettierrc.cjs => modules/web/.prettierrc.cjs (100%) rename .stylelintrc.yaml => modules/web/.stylelintrc.yaml (100%) rename angular.json => modules/web/angular.json (100%) rename cypress.json => modules/web/cypress.json (100%) rename {cypress => modules/web/cypress}/fixtures/crd.yaml (100%) rename {cypress => modules/web/cypress}/fixtures/example-foo.yaml (100%) rename {cypress => modules/web/cypress}/integration/specs/nav.spec.ts (100%) rename {cypress => modules/web/cypress}/integration/specs/userpanel.spec.ts (100%) rename {cypress => modules/web/cypress}/pages/abstractPage.ts (100%) rename {cypress => modules/web/cypress}/pages/navbarPage.ts (100%) rename {cypress => modules/web/cypress}/pages/userpanelPage.ts (100%) rename {cypress => modules/web/cypress}/plugins/cy-ts-preprocessor.ts (100%) rename {cypress => modules/web/cypress}/plugins/index.ts (100%) rename {cypress => modules/web/cypress}/support/index.ts (100%) rename {i18n => modules/web/i18n}/de/OWNERS (100%) rename {i18n => modules/web/i18n}/de/messages.de.xlf (100%) rename {i18n => modules/web/i18n}/es/OWNERS (100%) rename {i18n => modules/web/i18n}/es/messages.es.xlf (100%) rename {i18n => modules/web/i18n}/fr/OWNERS (100%) rename {i18n => modules/web/i18n}/fr/messages.fr.xlf (100%) rename {i18n => modules/web/i18n}/ja/OWNERS (100%) rename {i18n => modules/web/i18n}/ja/README.md (100%) rename {i18n => modules/web/i18n}/ja/messages.ja.xlf (100%) rename {i18n => modules/web/i18n}/ko/OWNERS (100%) rename {i18n => modules/web/i18n}/ko/messages.ko.xlf (100%) rename {i18n => modules/web/i18n}/locale_conf.json (100%) rename {i18n => modules/web/i18n}/messages.xlf (100%) rename {i18n => modules/web/i18n}/zh-Hans/OWNERS (100%) rename {i18n => modules/web/i18n}/zh-Hans/messages.zh-Hans.xlf (100%) rename {i18n => modules/web/i18n}/zh-Hant-HK/OWNERS (100%) rename {i18n => modules/web/i18n}/zh-Hant-HK/messages.zh-Hant-HK.xlf (100%) rename {i18n => modules/web/i18n}/zh-Hant/OWNERS (100%) rename {i18n => modules/web/i18n}/zh-Hant/messages.zh-Hant.xlf (100%) rename {aio => modules/web}/jest.config.js (92%) rename package-lock.json => modules/web/package-lock.json (100%) rename package.json => modules/web/package.json (100%) rename aio/https-proxy.conf.json => modules/web/proxy-https.conf.json (100%) rename {aio => modules/web}/proxy.conf.json (100%) rename {src/app/frontend => modules/web/src}/_dark.scss (100%) rename {src/app/frontend => modules/web/src}/_light.scss (100%) rename {src/app/frontend => modules/web/src}/_mixins.scss (100%) rename {src/app/frontend => modules/web/src}/_theming.scss (100%) rename {src/app/frontend => modules/web/src}/_variables.scss (100%) rename {src/app/frontend => modules/web/src}/about/actionbar/component.ts (100%) rename {src/app/frontend => modules/web/src}/about/actionbar/template.html (100%) rename {src/app/frontend => modules/web/src}/about/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/about/component.ts (100%) rename {src/app/frontend => modules/web/src}/about/module.ts (100%) rename {src/app/frontend => modules/web/src}/about/routing.ts (100%) rename {src/app/frontend => modules/web/src}/about/style.scss (100%) rename {src/app/frontend => modules/web/src}/about/template.html (100%) rename {src/app/frontend => modules/web/src}/assets/config/config.json (100%) rename {src/app/frontend => modules/web/src}/assets/images/kubernetes-logo-text.svg (100%) rename {src/app/frontend => modules/web/src}/assets/images/kubernetes-logo.png (100%) rename {src/app/frontend => modules/web/src}/assets/images/kubernetes-logo.svg (100%) rename {src/app/frontend => modules/web/src}/assets/images/pin-crossed.svg (100%) rename {src/app/frontend => modules/web/src}/assets/images/pin.svg (100%) rename {src/app/frontend => modules/web/src}/assets/robots.txt (100%) rename {src/app/frontend => modules/web/src}/chrome/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/module.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/hamburger/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/hamburger/template.html (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/item/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/item/style.scss (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/item/template.html (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/module.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/pinner/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/pinner/template.html (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/style.scss (100%) rename {src/app/frontend => modules/web/src}/chrome/nav/template.html (100%) rename {src/app/frontend => modules/web/src}/chrome/notifications/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/notifications/style.scss (100%) rename {src/app/frontend => modules/web/src}/chrome/notifications/template.html (100%) rename {src/app/frontend => modules/web/src}/chrome/routing.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/search/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/search/style.scss (100%) rename {src/app/frontend => modules/web/src}/chrome/search/template.html (100%) rename {src/app/frontend => modules/web/src}/chrome/style.scss (100%) rename {src/app/frontend => modules/web/src}/chrome/template.html (100%) rename {src/app/frontend => modules/web/src}/chrome/userpanel/component.ts (100%) rename {src/app/frontend => modules/web/src}/chrome/userpanel/style.scss (100%) rename {src/app/frontend => modules/web/src}/chrome/userpanel/template.html (100%) rename {src/app/frontend => modules/web/src}/common/animations/animations.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/delete/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/delete/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/edit/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/edit/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/exec/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/exec/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/logs/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/logs/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/pin/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/pin/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/restart/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/restart/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/scale/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/scale/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/trigger/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/detailactions/trigger/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbar/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/default/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/default/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/logsdefault/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/logsdefault/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/logsexecdefault/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/logsexecdefault/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/logsscaledefault/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/logsscaledefault/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/pindefault/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/pindefault/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/routing.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/scaledefault/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/scaledefault/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/triggerdefault/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/actionbars/triggerdefault/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/breadcrumbs/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/breadcrumbs/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/breadcrumbs/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/card/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/card/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/card/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/card/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/chips/chipdialog/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/chips/chipdialog/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/chips/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/chips/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/chips/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/condition/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/condition/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/container/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/container/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/container/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/creator/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/creator/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/date/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/date/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/date/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/cardlist/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/cardlist/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/cardlist/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/external/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/external/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/external/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/internal/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/internal/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/endpoint/internal/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/graph/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/graph/helper.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/graph/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/graph/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/graphcard/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/graphcard/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/graphcard/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/graphmetrics/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/graphmetrics/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/hiddenproperty/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/hiddenproperty/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/hiddenproperty/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/ingressrulelist/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/ingressrulelist/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/limits/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/limits/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/list/column/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/list/column/menu/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/list/column/menu/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/list/column/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/list/filter/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/list/filter/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/list/filter/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/list/rowdetail/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/list/rowdetail/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/list/rowdetail/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/list/spinner/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/list/spinner/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/list/zerostate/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/list/zerostate/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/list/zerostate/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/namespace/changedialog/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/namespace/changedialog/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/namespace/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/namespace/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/namespace/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/objectmeta/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/objectmeta/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/objectmeta/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/podstatus/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/podstatus/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/policyrule/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/policyrule/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/probe/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/probe/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/property/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/property/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/property/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/proxy/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/quotas/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/quotas/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/clusterrole/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/clusterrole/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/clusterrolebinding/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/clusterrolebinding/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/configmap/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/configmap/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/crd/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/crd/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/crdobject/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/crdobject/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/crdversion/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/crdversion/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/cronjob/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/cronjob/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/daemonset/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/daemonset/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/deployment/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/deployment/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/event/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/event/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/groupids.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/horizontalpodautoscaler/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/horizontalpodautoscaler/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/ingress/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/ingress/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/ingress/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/job/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/job/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/namespace/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/namespace/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/networkpolicy/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/networkpolicy/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/node/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/node/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/persistentvolume/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/persistentvolume/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/persistentvolumeclaim/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/persistentvolumeclaim/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/plugin/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/plugin/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/pod/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/pod/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/replicaset/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/replicaset/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/replicationcontroller/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/replicationcontroller/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/role/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/role/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/rolebinding/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/rolebinding/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/secret/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/secret/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/service/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/service/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/serviceaccount/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/serviceaccount/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/statefulset/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/statefulset/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/statuses.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/storageclass/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/resourcelist/storageclass/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/securitycontext/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/securitycontext/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/sparkline/cpu/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/sparkline/cpu/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/sparkline/memory/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/sparkline/memory/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/sparkline/sparkline.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/subject/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/subject/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/textinput/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/textinput/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/textinput/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/uploadfile/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/uploadfile/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/uploadfile/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/volumemount/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/volumemount/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/workloadstatus/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/workloadstatus/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/workloadstatus/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/workloadstatus/template.html (100%) rename {src/app/frontend => modules/web/src}/common/components/zerostate/component.ts (100%) rename {src/app/frontend => modules/web/src}/common/components/zerostate/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/components/zerostate/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/alert/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/alert/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/config/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/config/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/deleteresource/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/deleteresource/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/download/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/download/style.scss (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/download/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/editresource/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/editresource/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/previewdeployment/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/previewdeployment/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/restartresource/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/restartresource/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/scaleresource/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/scaleresource/template.html (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/triggerresource/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/common/dialogs/triggerresource/template.html (100%) rename {src/app/frontend => modules/web/src}/common/directives/autofocus/directive.ts (100%) rename {src/app/frontend => modules/web/src}/common/directives/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/errors/errors.ts (100%) rename {src/app/frontend => modules/web/src}/common/interfaces/candeactivate.ts (100%) rename {src/app/frontend => modules/web/src}/common/params/params.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/commaseparated.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/coreformatter.spec.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/coreformatter.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/filterby.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/memoryformatter.spec.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/memoryformatter.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/relativetime.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/stripansi.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/trim.ts (100%) rename {src/app/frontend => modules/web/src}/common/pipes/untrim.ts (100%) rename {src/app/frontend => modules/web/src}/common/resources/groupedlist.ts (100%) rename {src/app/frontend => modules/web/src}/common/resources/list.ts (100%) rename {src/app/frontend => modules/web/src}/common/resources/rawresource.ts (100%) rename {src/app/frontend => modules/web/src}/common/resources/resource.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/create/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/create/service.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/actionbar.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/assets.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/authentication.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/authorizer.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/config.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/csrftoken.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/decoder.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/globalsettings.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/history.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/interceptor.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/loader.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/localsettings.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/logs.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/namespace.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/notifications.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/params.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/pinner.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/plugin.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/state.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/theme.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/title.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/global/verber.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/guard/auth.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/guard/candeactivate.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/guard/login.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/guard/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/guard/search.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/nav/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/nav/service.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/pluginloader/clientloader.service.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/pluginloader/pluginexternals.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/pluginloader/pluginloader.service.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/resource/endpoint.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/resource/module.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/resource/resource.ts (100%) rename {src/app/frontend => modules/web/src}/common/services/resource/utility.ts (100%) rename {src/app/frontend => modules/web/src}/core.module.ts (100%) rename {src/app/frontend => modules/web/src}/crd/crdobject/component.ts (100%) rename {src/app/frontend => modules/web/src}/crd/crdobject/template.html (100%) rename {src/app/frontend => modules/web/src}/crd/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/crd/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/crd/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/crd/module.ts (100%) rename {src/app/frontend => modules/web/src}/crd/routing.ts (100%) rename {src/app/frontend => modules/web/src}/create/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/file/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/file/style.scss (100%) rename {src/app/frontend => modules/web/src}/create/from/file/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/createnamespace/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/createnamespace/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/createsecret/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/createsecret/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/deploylabel/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/deploylabel/deploylabel.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/deploylabel/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/environmentvariables/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/environmentvariables/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/helpsection/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/helpsection/style.scss (100%) rename {src/app/frontend => modules/web/src}/create/from/form/helpsection/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/helpsection/userhelp/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/helpsection/userhelp/style.scss (100%) rename {src/app/frontend => modules/web/src}/create/from/form/helpsection/userhelp/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/module.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/portmappings/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/portmappings/style.scss (100%) rename {src/app/frontend => modules/web/src}/create/from/form/portmappings/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/style.scss (100%) rename {src/app/frontend => modules/web/src}/create/from/form/template.html (100%) rename {src/app/frontend => modules/web/src}/create/from/form/validator/uniquename.validator.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/validator/validators.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/validator/validimagereference.validator.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/validator/validprotocol.validator.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/form/validator/warnthreshold.validator.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/input/component.ts (100%) rename {src/app/frontend => modules/web/src}/create/from/input/style.scss (100%) rename {src/app/frontend => modules/web/src}/create/from/input/template.html (100%) rename {src/app/frontend => modules/web/src}/create/module.ts (100%) rename {src/app/frontend => modules/web/src}/create/routing.ts (100%) rename {src/app/frontend => modules/web/src}/create/style.scss (100%) rename {src/app/frontend => modules/web/src}/create/template.html (100%) rename {src/app/frontend => modules/web/src}/environments/environment.prod.ts (100%) rename {src/app/frontend => modules/web/src}/environments/environment.ts (100%) rename {src/app/frontend => modules/web/src}/error/component.ts (100%) rename {src/app/frontend => modules/web/src}/error/handler.ts (100%) rename {src/app/frontend => modules/web/src}/error/module.ts (100%) rename {src/app/frontend => modules/web/src}/error/routing.ts (100%) rename {src/app/frontend => modules/web/src}/error/style.scss (100%) rename {src/app/frontend => modules/web/src}/error/template.html (100%) rename {src/app/frontend => modules/web/src}/index.component.ts (100%) rename {src/app/frontend => modules/web/src}/index.config.ts (100%) rename {src/app/frontend => modules/web/src}/index.html (100%) rename {src/app/frontend => modules/web/src}/index.messages.ts (100%) rename {src/app/frontend => modules/web/src}/index.module.ts (100%) rename {src/app/frontend => modules/web/src}/index.routing.ts (100%) rename {src/app/frontend => modules/web/src}/index.scss (100%) rename {src/app/frontend => modules/web/src}/index.ts (100%) rename {src/app/frontend => modules/web/src}/login/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/login/component.ts (100%) rename {src/app/frontend => modules/web/src}/login/module.ts (100%) rename {src/app/frontend => modules/web/src}/login/style.scss (100%) rename {src/app/frontend => modules/web/src}/login/template.html (100%) rename {src/app/frontend => modules/web/src}/logs/component.ts (100%) rename {src/app/frontend => modules/web/src}/logs/module.ts (100%) rename {src/app/frontend => modules/web/src}/logs/routing.ts (100%) rename {src/app/frontend => modules/web/src}/logs/style.scss (100%) rename {src/app/frontend => modules/web/src}/logs/template.html (100%) rename {src/app/frontend => modules/web/src}/overview/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/overview/component.ts (100%) rename {src/app/frontend => modules/web/src}/overview/helper.ts (100%) rename {src/app/frontend => modules/web/src}/overview/module.ts (100%) rename {src/app/frontend => modules/web/src}/overview/routing.ts (100%) rename {src/app/frontend => modules/web/src}/overview/template.html (100%) rename {src/app/frontend => modules/web/src}/plugin/component.ts (100%) rename {src/app/frontend => modules/web/src}/plugin/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/plugin/holder.ts (100%) rename {src/app/frontend => modules/web/src}/plugin/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/plugin/module.ts (100%) rename {src/app/frontend => modules/web/src}/plugin/routing.ts (100%) rename {src/app/frontend => modules/web/src}/plugin/template.html (100%) rename {src/app/frontend => modules/web/src}/polyfills.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrole/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrole/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrole/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrole/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrole/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrolebinding/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrolebinding/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrolebinding/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrolebinding/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/clusterrolebinding/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/event/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/event/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/event/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/namespace/detail/actionbar/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/namespace/detail/actionbar/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/namespace/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/namespace/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/namespace/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/namespace/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/namespace/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/networkpolicy/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/networkpolicy/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/networkpolicy/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/networkpolicy/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/networkpolicy/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/node/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/node/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/node/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/node/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/node/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/detail/source/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/detail/source/style.scss (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/detail/source/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/persistentvolume/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/role/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/role/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/role/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/role/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/role/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/rolebinding/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/rolebinding/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/rolebinding/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/rolebinding/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/rolebinding/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/serviceaccount/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/serviceaccount/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/serviceaccount/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/serviceaccount/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/serviceaccount/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/cluster/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/config/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/configmap/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/configmap/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/config/configmap/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/configmap/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/configmap/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/persistentvolumeclaim/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/persistentvolumeclaim/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/config/persistentvolumeclaim/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/persistentvolumeclaim/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/persistentvolumeclaim/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/detail/edit/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/detail/edit/style.scss (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/detail/edit/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/list/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/secret/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/storageclass/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/storageclass/detail/style.scss (100%) rename {src/app/frontend => modules/web/src}/resource/config/storageclass/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/config/storageclass/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/storageclass/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/storageclass/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/config/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/ingress/detail/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/ingress/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/ingress/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/ingress/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/ingress/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/ingress/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/service/detail/component.spec.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/service/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/service/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/service/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/service/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/service/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/discovery/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/cronjob/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/cronjob/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/cronjob/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/cronjob/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/cronjob/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/daemonset/detail/actionbar/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/daemonset/detail/actionbar/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/daemonset/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/daemonset/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/daemonset/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/daemonset/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/daemonset/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/deployment/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/deployment/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/deployment/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/deployment/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/deployment/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/job/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/job/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/job/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/job/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/job/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/pod/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/pod/detail/style.scss (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/pod/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/pod/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/pod/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/pod/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicaset/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicaset/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicaset/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicaset/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicaset/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicationcontroller/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicationcontroller/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicationcontroller/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicationcontroller/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/replicationcontroller/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/statefulset/detail/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/statefulset/detail/template.html (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/statefulset/list/component.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/statefulset/module.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/statefulset/routing.ts (100%) rename {src/app/frontend => modules/web/src}/resource/workloads/template.html (100%) rename {src/app/frontend => modules/web/src}/search/component.ts (100%) rename {src/app/frontend => modules/web/src}/search/module.ts (100%) rename {src/app/frontend => modules/web/src}/search/routing.ts (100%) rename {src/app/frontend => modules/web/src}/search/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/component.ts (100%) rename {src/app/frontend => modules/web/src}/settings/entry/component.ts (100%) rename {src/app/frontend => modules/web/src}/settings/entry/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/global/component.ts (100%) rename {src/app/frontend => modules/web/src}/settings/global/namespace/adddialog/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/settings/global/namespace/adddialog/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/global/namespace/component.ts (100%) rename {src/app/frontend => modules/web/src}/settings/global/namespace/editdialog/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/settings/global/namespace/editdialog/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/global/namespace/style.scss (100%) rename {src/app/frontend => modules/web/src}/settings/global/namespace/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/global/saveanywaysdialog/dialog.ts (100%) rename {src/app/frontend => modules/web/src}/settings/global/saveanywaysdialog/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/global/service.ts (100%) rename {src/app/frontend => modules/web/src}/settings/global/style.scss (100%) rename {src/app/frontend => modules/web/src}/settings/global/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/local/component.ts (100%) rename {src/app/frontend => modules/web/src}/settings/local/style.scss (100%) rename {src/app/frontend => modules/web/src}/settings/local/template.html (100%) rename {src/app/frontend => modules/web/src}/settings/module.ts (100%) rename {src/app/frontend => modules/web/src}/settings/routing.ts (100%) rename {src/app/frontend => modules/web/src}/shared.module.ts (100%) rename {src/app/frontend => modules/web/src}/shell/component.ts (100%) rename {src/app/frontend => modules/web/src}/shell/module.ts (100%) rename {src/app/frontend => modules/web/src}/shell/routing.ts (100%) rename {src/app/frontend => modules/web/src}/shell/styles.scss (100%) rename {src/app/frontend => modules/web/src}/shell/template.html (100%) rename {src/app/frontend => modules/web/src}/systemjs.d.ts (100%) rename {src/app/frontend => modules/web/src}/test.base.mocks.ts (100%) rename {src/app/frontend => modules/web/src}/test.base.ts (100%) rename {src/app/frontend => modules/web/src}/typings/root.api.ts (100%) rename {src/app/frontend => modules/web/src}/typings/root.shared.ts (100%) rename {src/app/frontend => modules/web/src}/typings/root.ui.ts (100%) rename {src/app/frontend => modules/web/src}/typings/volume.api.ts (100%) rename {aio => modules/web}/tsconfig.app.json (100%) rename {aio => modules/web}/tsconfig.e2e.json (100%) rename tsconfig.json => modules/web/tsconfig.json (100%) rename {aio => modules/web}/tsconfig.spec.json (100%) diff --git a/.gitignore b/.gitignore index de3333bf300b..c4c08ee8540a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,13 @@ -# Version file that is autogenerated during each build: -src/app/frontend/environments/version.ts - # Temporary files: i18n/messages.new.xlf _tmp/ # Dependencies: -node_modules/ vendor/ # Build and test artifacts: .go_workspace/ -.sass-cache/ .tmp/ -.angular/ .cached_tools/ dist/ coverage/ @@ -29,8 +23,5 @@ cypress/videos *.swp .vscode -# npm debug log: -npm-debug.log - # Helm -aio/deploy/helm-chart/kubernetes-dashboard/charts \ No newline at end of file +aio/deploy/helm-chart/kubernetes-dashboard/charts diff --git a/.air.toml b/modules/api/.air.toml similarity index 100% rename from .air.toml rename to modules/api/.air.toml diff --git a/.golangci.yml b/modules/api/.golangci.yml similarity index 100% rename from .golangci.yml rename to modules/api/.golangci.yml diff --git a/go.mod b/modules/api/go.mod similarity index 100% rename from go.mod rename to modules/api/go.mod diff --git a/go.sum b/modules/api/go.sum similarity index 100% rename from go.sum rename to modules/api/go.sum diff --git a/src/app/backend/api/types.go b/modules/api/src/api/types.go similarity index 100% rename from src/app/backend/api/types.go rename to modules/api/src/api/types.go diff --git a/src/app/backend/api/types_test.go b/modules/api/src/api/types_test.go similarity index 100% rename from src/app/backend/api/types_test.go rename to modules/api/src/api/types_test.go diff --git a/src/app/backend/args/builder.go b/modules/api/src/args/builder.go similarity index 100% rename from src/app/backend/args/builder.go rename to modules/api/src/args/builder.go diff --git a/src/app/backend/args/holder.go b/modules/api/src/args/holder.go similarity index 100% rename from src/app/backend/args/holder.go rename to modules/api/src/args/holder.go diff --git a/src/app/backend/auth/api/common.go b/modules/api/src/auth/api/common.go similarity index 100% rename from src/app/backend/auth/api/common.go rename to modules/api/src/auth/api/common.go diff --git a/src/app/backend/auth/api/common_test.go b/modules/api/src/auth/api/common_test.go similarity index 100% rename from src/app/backend/auth/api/common_test.go rename to modules/api/src/auth/api/common_test.go diff --git a/src/app/backend/auth/api/types.go b/modules/api/src/auth/api/types.go similarity index 100% rename from src/app/backend/auth/api/types.go rename to modules/api/src/auth/api/types.go diff --git a/src/app/backend/auth/basic.go b/modules/api/src/auth/basic.go similarity index 100% rename from src/app/backend/auth/basic.go rename to modules/api/src/auth/basic.go diff --git a/src/app/backend/auth/handler.go b/modules/api/src/auth/handler.go similarity index 100% rename from src/app/backend/auth/handler.go rename to modules/api/src/auth/handler.go diff --git a/src/app/backend/auth/handler_test.go b/modules/api/src/auth/handler_test.go similarity index 100% rename from src/app/backend/auth/handler_test.go rename to modules/api/src/auth/handler_test.go diff --git a/src/app/backend/auth/jwe/keyholder.go b/modules/api/src/auth/jwe/keyholder.go similarity index 100% rename from src/app/backend/auth/jwe/keyholder.go rename to modules/api/src/auth/jwe/keyholder.go diff --git a/src/app/backend/auth/jwe/keyholder_test.go b/modules/api/src/auth/jwe/keyholder_test.go similarity index 100% rename from src/app/backend/auth/jwe/keyholder_test.go rename to modules/api/src/auth/jwe/keyholder_test.go diff --git a/src/app/backend/auth/jwe/manager.go b/modules/api/src/auth/jwe/manager.go similarity index 100% rename from src/app/backend/auth/jwe/manager.go rename to modules/api/src/auth/jwe/manager.go diff --git a/src/app/backend/auth/jwe/manager_test.go b/modules/api/src/auth/jwe/manager_test.go similarity index 100% rename from src/app/backend/auth/jwe/manager_test.go rename to modules/api/src/auth/jwe/manager_test.go diff --git a/src/app/backend/auth/jwe/util.go b/modules/api/src/auth/jwe/util.go similarity index 100% rename from src/app/backend/auth/jwe/util.go rename to modules/api/src/auth/jwe/util.go diff --git a/src/app/backend/auth/kubeconfig.go b/modules/api/src/auth/kubeconfig.go similarity index 100% rename from src/app/backend/auth/kubeconfig.go rename to modules/api/src/auth/kubeconfig.go diff --git a/src/app/backend/auth/kubeconfig_test.go b/modules/api/src/auth/kubeconfig_test.go similarity index 100% rename from src/app/backend/auth/kubeconfig_test.go rename to modules/api/src/auth/kubeconfig_test.go diff --git a/src/app/backend/auth/manager.go b/modules/api/src/auth/manager.go similarity index 100% rename from src/app/backend/auth/manager.go rename to modules/api/src/auth/manager.go diff --git a/src/app/backend/auth/manager_test.go b/modules/api/src/auth/manager_test.go similarity index 100% rename from src/app/backend/auth/manager_test.go rename to modules/api/src/auth/manager_test.go diff --git a/src/app/backend/auth/token.go b/modules/api/src/auth/token.go similarity index 100% rename from src/app/backend/auth/token.go rename to modules/api/src/auth/token.go diff --git a/src/app/backend/cert/api/types.go b/modules/api/src/cert/api/types.go similarity index 100% rename from src/app/backend/cert/api/types.go rename to modules/api/src/cert/api/types.go diff --git a/src/app/backend/cert/ecdsa/creator.go b/modules/api/src/cert/ecdsa/creator.go similarity index 100% rename from src/app/backend/cert/ecdsa/creator.go rename to modules/api/src/cert/ecdsa/creator.go diff --git a/src/app/backend/cert/ecdsa/creator_test.go b/modules/api/src/cert/ecdsa/creator_test.go similarity index 100% rename from src/app/backend/cert/ecdsa/creator_test.go rename to modules/api/src/cert/ecdsa/creator_test.go diff --git a/src/app/backend/cert/manager.go b/modules/api/src/cert/manager.go similarity index 100% rename from src/app/backend/cert/manager.go rename to modules/api/src/cert/manager.go diff --git a/src/app/backend/client/api/common.go b/modules/api/src/client/api/common.go similarity index 100% rename from src/app/backend/client/api/common.go rename to modules/api/src/client/api/common.go diff --git a/src/app/backend/client/api/common_test.go b/modules/api/src/client/api/common_test.go similarity index 100% rename from src/app/backend/client/api/common_test.go rename to modules/api/src/client/api/common_test.go diff --git a/src/app/backend/client/api/types.go b/modules/api/src/client/api/types.go similarity index 100% rename from src/app/backend/client/api/types.go rename to modules/api/src/client/api/types.go diff --git a/src/app/backend/client/csrf/manager.go b/modules/api/src/client/csrf/manager.go similarity index 100% rename from src/app/backend/client/csrf/manager.go rename to modules/api/src/client/csrf/manager.go diff --git a/src/app/backend/client/csrf/manager_test.go b/modules/api/src/client/csrf/manager_test.go similarity index 100% rename from src/app/backend/client/csrf/manager_test.go rename to modules/api/src/client/csrf/manager_test.go diff --git a/src/app/backend/client/manager.go b/modules/api/src/client/manager.go similarity index 100% rename from src/app/backend/client/manager.go rename to modules/api/src/client/manager.go diff --git a/src/app/backend/client/manager_test.go b/modules/api/src/client/manager_test.go similarity index 100% rename from src/app/backend/client/manager_test.go rename to modules/api/src/client/manager_test.go diff --git a/src/app/backend/client/verber.go b/modules/api/src/client/verber.go similarity index 100% rename from src/app/backend/client/verber.go rename to modules/api/src/client/verber.go diff --git a/src/app/backend/client/verber_test.go b/modules/api/src/client/verber_test.go similarity index 100% rename from src/app/backend/client/verber_test.go rename to modules/api/src/client/verber_test.go diff --git a/src/app/backend/dashboard.go b/modules/api/src/dashboard.go similarity index 100% rename from src/app/backend/dashboard.go rename to modules/api/src/dashboard.go diff --git a/src/app/backend/errors/errors.go b/modules/api/src/errors/errors.go similarity index 100% rename from src/app/backend/errors/errors.go rename to modules/api/src/errors/errors.go diff --git a/src/app/backend/errors/handler.go b/modules/api/src/errors/handler.go similarity index 100% rename from src/app/backend/errors/handler.go rename to modules/api/src/errors/handler.go diff --git a/src/app/backend/errors/handler_test.go b/modules/api/src/errors/handler_test.go similarity index 100% rename from src/app/backend/errors/handler_test.go rename to modules/api/src/errors/handler_test.go diff --git a/src/app/backend/errors/localizer.go b/modules/api/src/errors/localizer.go similarity index 100% rename from src/app/backend/errors/localizer.go rename to modules/api/src/errors/localizer.go diff --git a/src/app/backend/errors/localizer_test.go b/modules/api/src/errors/localizer_test.go similarity index 100% rename from src/app/backend/errors/localizer_test.go rename to modules/api/src/errors/localizer_test.go diff --git a/src/app/backend/handler/apihandler.go b/modules/api/src/handler/apihandler.go similarity index 100% rename from src/app/backend/handler/apihandler.go rename to modules/api/src/handler/apihandler.go diff --git a/src/app/backend/handler/apihandler_test.go b/modules/api/src/handler/apihandler_test.go similarity index 100% rename from src/app/backend/handler/apihandler_test.go rename to modules/api/src/handler/apihandler_test.go diff --git a/src/app/backend/handler/confighandler.go b/modules/api/src/handler/confighandler.go similarity index 100% rename from src/app/backend/handler/confighandler.go rename to modules/api/src/handler/confighandler.go diff --git a/src/app/backend/handler/download.go b/modules/api/src/handler/download.go similarity index 100% rename from src/app/backend/handler/download.go rename to modules/api/src/handler/download.go diff --git a/src/app/backend/handler/filter.go b/modules/api/src/handler/filter.go similarity index 100% rename from src/app/backend/handler/filter.go rename to modules/api/src/handler/filter.go diff --git a/src/app/backend/handler/gziphandler.go b/modules/api/src/handler/gziphandler.go similarity index 100% rename from src/app/backend/handler/gziphandler.go rename to modules/api/src/handler/gziphandler.go diff --git a/src/app/backend/handler/localehandler.go b/modules/api/src/handler/localehandler.go similarity index 100% rename from src/app/backend/handler/localehandler.go rename to modules/api/src/handler/localehandler.go diff --git a/src/app/backend/handler/localehandler_test.go b/modules/api/src/handler/localehandler_test.go similarity index 100% rename from src/app/backend/handler/localehandler_test.go rename to modules/api/src/handler/localehandler_test.go diff --git a/src/app/backend/handler/metrics.go b/modules/api/src/handler/metrics.go similarity index 100% rename from src/app/backend/handler/metrics.go rename to modules/api/src/handler/metrics.go diff --git a/src/app/backend/handler/parser/parser.go b/modules/api/src/handler/parser/parser.go similarity index 100% rename from src/app/backend/handler/parser/parser.go rename to modules/api/src/handler/parser/parser.go diff --git a/src/app/backend/handler/terminal.go b/modules/api/src/handler/terminal.go similarity index 100% rename from src/app/backend/handler/terminal.go rename to modules/api/src/handler/terminal.go diff --git a/src/app/backend/integration/api/types.go b/modules/api/src/integration/api/types.go similarity index 100% rename from src/app/backend/integration/api/types.go rename to modules/api/src/integration/api/types.go diff --git a/src/app/backend/integration/handler.go b/modules/api/src/integration/handler.go similarity index 100% rename from src/app/backend/integration/handler.go rename to modules/api/src/integration/handler.go diff --git a/src/app/backend/integration/handler_test.go b/modules/api/src/integration/handler_test.go similarity index 100% rename from src/app/backend/integration/handler_test.go rename to modules/api/src/integration/handler_test.go diff --git a/src/app/backend/integration/list.go b/modules/api/src/integration/list.go similarity index 100% rename from src/app/backend/integration/list.go rename to modules/api/src/integration/list.go diff --git a/src/app/backend/integration/manager.go b/modules/api/src/integration/manager.go similarity index 100% rename from src/app/backend/integration/manager.go rename to modules/api/src/integration/manager.go diff --git a/src/app/backend/integration/manager_test.go b/modules/api/src/integration/manager_test.go similarity index 100% rename from src/app/backend/integration/manager_test.go rename to modules/api/src/integration/manager_test.go diff --git a/src/app/backend/integration/metric/api/types.go b/modules/api/src/integration/metric/api/types.go similarity index 100% rename from src/app/backend/integration/metric/api/types.go rename to modules/api/src/integration/metric/api/types.go diff --git a/src/app/backend/integration/metric/common/aggregation.go b/modules/api/src/integration/metric/common/aggregation.go similarity index 100% rename from src/app/backend/integration/metric/common/aggregation.go rename to modules/api/src/integration/metric/common/aggregation.go diff --git a/src/app/backend/integration/metric/common/aggregation_test.go b/modules/api/src/integration/metric/common/aggregation_test.go similarity index 100% rename from src/app/backend/integration/metric/common/aggregation_test.go rename to modules/api/src/integration/metric/common/aggregation_test.go diff --git a/src/app/backend/integration/metric/heapster/client.go b/modules/api/src/integration/metric/heapster/client.go similarity index 100% rename from src/app/backend/integration/metric/heapster/client.go rename to modules/api/src/integration/metric/heapster/client.go diff --git a/src/app/backend/integration/metric/heapster/client_test.go b/modules/api/src/integration/metric/heapster/client_test.go similarity index 100% rename from src/app/backend/integration/metric/heapster/client_test.go rename to modules/api/src/integration/metric/heapster/client_test.go diff --git a/src/app/backend/integration/metric/heapster/common.go b/modules/api/src/integration/metric/heapster/common.go similarity index 100% rename from src/app/backend/integration/metric/heapster/common.go rename to modules/api/src/integration/metric/heapster/common.go diff --git a/src/app/backend/integration/metric/heapster/model.go b/modules/api/src/integration/metric/heapster/model.go similarity index 100% rename from src/app/backend/integration/metric/heapster/model.go rename to modules/api/src/integration/metric/heapster/model.go diff --git a/src/app/backend/integration/metric/heapster/restclient.go b/modules/api/src/integration/metric/heapster/restclient.go similarity index 100% rename from src/app/backend/integration/metric/heapster/restclient.go rename to modules/api/src/integration/metric/heapster/restclient.go diff --git a/src/app/backend/integration/metric/heapster/selector.go b/modules/api/src/integration/metric/heapster/selector.go similarity index 100% rename from src/app/backend/integration/metric/heapster/selector.go rename to modules/api/src/integration/metric/heapster/selector.go diff --git a/src/app/backend/integration/metric/heapster/selector_test.go b/modules/api/src/integration/metric/heapster/selector_test.go similarity index 100% rename from src/app/backend/integration/metric/heapster/selector_test.go rename to modules/api/src/integration/metric/heapster/selector_test.go diff --git a/src/app/backend/integration/metric/manager.go b/modules/api/src/integration/metric/manager.go similarity index 100% rename from src/app/backend/integration/metric/manager.go rename to modules/api/src/integration/metric/manager.go diff --git a/src/app/backend/integration/metric/manager_test.go b/modules/api/src/integration/metric/manager_test.go similarity index 100% rename from src/app/backend/integration/metric/manager_test.go rename to modules/api/src/integration/metric/manager_test.go diff --git a/src/app/backend/integration/metric/sidecar/client.go b/modules/api/src/integration/metric/sidecar/client.go similarity index 100% rename from src/app/backend/integration/metric/sidecar/client.go rename to modules/api/src/integration/metric/sidecar/client.go diff --git a/src/app/backend/integration/metric/sidecar/client_test.go b/modules/api/src/integration/metric/sidecar/client_test.go similarity index 100% rename from src/app/backend/integration/metric/sidecar/client_test.go rename to modules/api/src/integration/metric/sidecar/client_test.go diff --git a/src/app/backend/integration/metric/sidecar/common.go b/modules/api/src/integration/metric/sidecar/common.go similarity index 100% rename from src/app/backend/integration/metric/sidecar/common.go rename to modules/api/src/integration/metric/sidecar/common.go diff --git a/src/app/backend/integration/metric/sidecar/model.go b/modules/api/src/integration/metric/sidecar/model.go similarity index 100% rename from src/app/backend/integration/metric/sidecar/model.go rename to modules/api/src/integration/metric/sidecar/model.go diff --git a/src/app/backend/integration/metric/sidecar/restclient.go b/modules/api/src/integration/metric/sidecar/restclient.go similarity index 100% rename from src/app/backend/integration/metric/sidecar/restclient.go rename to modules/api/src/integration/metric/sidecar/restclient.go diff --git a/src/app/backend/integration/metric/sidecar/selector.go b/modules/api/src/integration/metric/sidecar/selector.go similarity index 100% rename from src/app/backend/integration/metric/sidecar/selector.go rename to modules/api/src/integration/metric/sidecar/selector.go diff --git a/src/app/backend/integration/metric/sidecar/selector_test.go b/modules/api/src/integration/metric/sidecar/selector_test.go similarity index 100% rename from src/app/backend/integration/metric/sidecar/selector_test.go rename to modules/api/src/integration/metric/sidecar/selector_test.go diff --git a/src/app/backend/plugin/apis/register.go b/modules/api/src/plugin/apis/register.go similarity index 100% rename from src/app/backend/plugin/apis/register.go rename to modules/api/src/plugin/apis/register.go diff --git a/src/app/backend/plugin/apis/v1alpha1/doc.go b/modules/api/src/plugin/apis/v1alpha1/doc.go similarity index 100% rename from src/app/backend/plugin/apis/v1alpha1/doc.go rename to modules/api/src/plugin/apis/v1alpha1/doc.go diff --git a/src/app/backend/plugin/apis/v1alpha1/register.go b/modules/api/src/plugin/apis/v1alpha1/register.go similarity index 100% rename from src/app/backend/plugin/apis/v1alpha1/register.go rename to modules/api/src/plugin/apis/v1alpha1/register.go diff --git a/src/app/backend/plugin/apis/v1alpha1/types.go b/modules/api/src/plugin/apis/v1alpha1/types.go similarity index 100% rename from src/app/backend/plugin/apis/v1alpha1/types.go rename to modules/api/src/plugin/apis/v1alpha1/types.go diff --git a/src/app/backend/plugin/apis/v1alpha1/zz_generated.deepcopy.go b/modules/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go similarity index 100% rename from src/app/backend/plugin/apis/v1alpha1/zz_generated.deepcopy.go rename to modules/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go diff --git a/src/app/backend/plugin/client/clientset/versioned/clientset.go b/modules/api/src/plugin/client/clientset/versioned/clientset.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/clientset.go rename to modules/api/src/plugin/client/clientset/versioned/clientset.go diff --git a/src/app/backend/plugin/client/clientset/versioned/doc.go b/modules/api/src/plugin/client/clientset/versioned/doc.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/doc.go rename to modules/api/src/plugin/client/clientset/versioned/doc.go diff --git a/src/app/backend/plugin/client/clientset/versioned/fake/clientset_generated.go b/modules/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/fake/clientset_generated.go rename to modules/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go diff --git a/src/app/backend/plugin/client/clientset/versioned/fake/doc.go b/modules/api/src/plugin/client/clientset/versioned/fake/doc.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/fake/doc.go rename to modules/api/src/plugin/client/clientset/versioned/fake/doc.go diff --git a/src/app/backend/plugin/client/clientset/versioned/fake/register.go b/modules/api/src/plugin/client/clientset/versioned/fake/register.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/fake/register.go rename to modules/api/src/plugin/client/clientset/versioned/fake/register.go diff --git a/src/app/backend/plugin/client/clientset/versioned/scheme/doc.go b/modules/api/src/plugin/client/clientset/versioned/scheme/doc.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/scheme/doc.go rename to modules/api/src/plugin/client/clientset/versioned/scheme/doc.go diff --git a/src/app/backend/plugin/client/clientset/versioned/scheme/register.go b/modules/api/src/plugin/client/clientset/versioned/scheme/register.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/scheme/register.go rename to modules/api/src/plugin/client/clientset/versioned/scheme/register.go diff --git a/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go b/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go rename to modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go diff --git a/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go b/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go rename to modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go diff --git a/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go b/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go rename to modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go diff --git a/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go b/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go rename to modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go diff --git a/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go b/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go rename to modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go diff --git a/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go b/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go rename to modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go diff --git a/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go b/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go similarity index 100% rename from src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go rename to modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go diff --git a/src/app/backend/plugin/client/informers/externalversions/apis/interface.go b/modules/api/src/plugin/client/informers/externalversions/apis/interface.go similarity index 100% rename from src/app/backend/plugin/client/informers/externalversions/apis/interface.go rename to modules/api/src/plugin/client/informers/externalversions/apis/interface.go diff --git a/src/app/backend/plugin/client/informers/externalversions/apis/v1alpha1/interface.go b/modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go similarity index 100% rename from src/app/backend/plugin/client/informers/externalversions/apis/v1alpha1/interface.go rename to modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go diff --git a/src/app/backend/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go b/modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go similarity index 100% rename from src/app/backend/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go rename to modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go diff --git a/src/app/backend/plugin/client/informers/externalversions/factory.go b/modules/api/src/plugin/client/informers/externalversions/factory.go similarity index 100% rename from src/app/backend/plugin/client/informers/externalversions/factory.go rename to modules/api/src/plugin/client/informers/externalversions/factory.go diff --git a/src/app/backend/plugin/client/informers/externalversions/generic.go b/modules/api/src/plugin/client/informers/externalversions/generic.go similarity index 100% rename from src/app/backend/plugin/client/informers/externalversions/generic.go rename to modules/api/src/plugin/client/informers/externalversions/generic.go diff --git a/src/app/backend/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/modules/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go similarity index 100% rename from src/app/backend/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go rename to modules/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go diff --git a/src/app/backend/plugin/client/listers/apis/v1alpha1/expansion_generated.go b/modules/api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go similarity index 100% rename from src/app/backend/plugin/client/listers/apis/v1alpha1/expansion_generated.go rename to modules/api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go diff --git a/src/app/backend/plugin/client/listers/apis/v1alpha1/plugin.go b/modules/api/src/plugin/client/listers/apis/v1alpha1/plugin.go similarity index 100% rename from src/app/backend/plugin/client/listers/apis/v1alpha1/plugin.go rename to modules/api/src/plugin/client/listers/apis/v1alpha1/plugin.go diff --git a/src/app/backend/plugin/config.go b/modules/api/src/plugin/config.go similarity index 100% rename from src/app/backend/plugin/config.go rename to modules/api/src/plugin/config.go diff --git a/src/app/backend/plugin/config_test.go b/modules/api/src/plugin/config_test.go similarity index 100% rename from src/app/backend/plugin/config_test.go rename to modules/api/src/plugin/config_test.go diff --git a/src/app/backend/plugin/detail.go b/modules/api/src/plugin/detail.go similarity index 100% rename from src/app/backend/plugin/detail.go rename to modules/api/src/plugin/detail.go diff --git a/src/app/backend/plugin/detail_test.go b/modules/api/src/plugin/detail_test.go similarity index 100% rename from src/app/backend/plugin/detail_test.go rename to modules/api/src/plugin/detail_test.go diff --git a/src/app/backend/plugin/handler.go b/modules/api/src/plugin/handler.go similarity index 100% rename from src/app/backend/plugin/handler.go rename to modules/api/src/plugin/handler.go diff --git a/src/app/backend/plugin/handler_test.go b/modules/api/src/plugin/handler_test.go similarity index 100% rename from src/app/backend/plugin/handler_test.go rename to modules/api/src/plugin/handler_test.go diff --git a/src/app/backend/plugin/list.go b/modules/api/src/plugin/list.go similarity index 100% rename from src/app/backend/plugin/list.go rename to modules/api/src/plugin/list.go diff --git a/src/app/backend/plugin/list_test.go b/modules/api/src/plugin/list_test.go similarity index 100% rename from src/app/backend/plugin/list_test.go rename to modules/api/src/plugin/list_test.go diff --git a/src/app/backend/resource/clusterrole/common.go b/modules/api/src/resource/clusterrole/common.go similarity index 100% rename from src/app/backend/resource/clusterrole/common.go rename to modules/api/src/resource/clusterrole/common.go diff --git a/src/app/backend/resource/clusterrole/detail.go b/modules/api/src/resource/clusterrole/detail.go similarity index 100% rename from src/app/backend/resource/clusterrole/detail.go rename to modules/api/src/resource/clusterrole/detail.go diff --git a/src/app/backend/resource/clusterrole/list.go b/modules/api/src/resource/clusterrole/list.go similarity index 100% rename from src/app/backend/resource/clusterrole/list.go rename to modules/api/src/resource/clusterrole/list.go diff --git a/src/app/backend/resource/clusterrole/list_test.go b/modules/api/src/resource/clusterrole/list_test.go similarity index 100% rename from src/app/backend/resource/clusterrole/list_test.go rename to modules/api/src/resource/clusterrole/list_test.go diff --git a/src/app/backend/resource/clusterrolebinding/common.go b/modules/api/src/resource/clusterrolebinding/common.go similarity index 100% rename from src/app/backend/resource/clusterrolebinding/common.go rename to modules/api/src/resource/clusterrolebinding/common.go diff --git a/src/app/backend/resource/clusterrolebinding/detail.go b/modules/api/src/resource/clusterrolebinding/detail.go similarity index 100% rename from src/app/backend/resource/clusterrolebinding/detail.go rename to modules/api/src/resource/clusterrolebinding/detail.go diff --git a/src/app/backend/resource/clusterrolebinding/list.go b/modules/api/src/resource/clusterrolebinding/list.go similarity index 100% rename from src/app/backend/resource/clusterrolebinding/list.go rename to modules/api/src/resource/clusterrolebinding/list.go diff --git a/src/app/backend/resource/clusterrolebinding/list_test.go b/modules/api/src/resource/clusterrolebinding/list_test.go similarity index 100% rename from src/app/backend/resource/clusterrolebinding/list_test.go rename to modules/api/src/resource/clusterrolebinding/list_test.go diff --git a/src/app/backend/resource/common/condition.go b/modules/api/src/resource/common/condition.go similarity index 100% rename from src/app/backend/resource/common/condition.go rename to modules/api/src/resource/common/condition.go diff --git a/src/app/backend/resource/common/endpoint.go b/modules/api/src/resource/common/endpoint.go similarity index 100% rename from src/app/backend/resource/common/endpoint.go rename to modules/api/src/resource/common/endpoint.go diff --git a/src/app/backend/resource/common/endpoint_test.go b/modules/api/src/resource/common/endpoint_test.go similarity index 100% rename from src/app/backend/resource/common/endpoint_test.go rename to modules/api/src/resource/common/endpoint_test.go diff --git a/src/app/backend/resource/common/event.go b/modules/api/src/resource/common/event.go similarity index 100% rename from src/app/backend/resource/common/event.go rename to modules/api/src/resource/common/event.go diff --git a/src/app/backend/resource/common/namespace.go b/modules/api/src/resource/common/namespace.go similarity index 100% rename from src/app/backend/resource/common/namespace.go rename to modules/api/src/resource/common/namespace.go diff --git a/src/app/backend/resource/common/namespace_test.go b/modules/api/src/resource/common/namespace_test.go similarity index 100% rename from src/app/backend/resource/common/namespace_test.go rename to modules/api/src/resource/common/namespace_test.go diff --git a/src/app/backend/resource/common/pod.go b/modules/api/src/resource/common/pod.go similarity index 100% rename from src/app/backend/resource/common/pod.go rename to modules/api/src/resource/common/pod.go diff --git a/src/app/backend/resource/common/pod_test.go b/modules/api/src/resource/common/pod_test.go similarity index 100% rename from src/app/backend/resource/common/pod_test.go rename to modules/api/src/resource/common/pod_test.go diff --git a/src/app/backend/resource/common/podinfo.go b/modules/api/src/resource/common/podinfo.go similarity index 100% rename from src/app/backend/resource/common/podinfo.go rename to modules/api/src/resource/common/podinfo.go diff --git a/src/app/backend/resource/common/podinfo_test.go b/modules/api/src/resource/common/podinfo_test.go similarity index 100% rename from src/app/backend/resource/common/podinfo_test.go rename to modules/api/src/resource/common/podinfo_test.go diff --git a/src/app/backend/resource/common/resourcechannels.go b/modules/api/src/resource/common/resourcechannels.go similarity index 100% rename from src/app/backend/resource/common/resourcechannels.go rename to modules/api/src/resource/common/resourcechannels.go diff --git a/src/app/backend/resource/common/resourcestatus.go b/modules/api/src/resource/common/resourcestatus.go similarity index 100% rename from src/app/backend/resource/common/resourcestatus.go rename to modules/api/src/resource/common/resourcestatus.go diff --git a/src/app/backend/resource/common/service.go b/modules/api/src/resource/common/service.go similarity index 100% rename from src/app/backend/resource/common/service.go rename to modules/api/src/resource/common/service.go diff --git a/src/app/backend/resource/common/service_test.go b/modules/api/src/resource/common/service_test.go similarity index 100% rename from src/app/backend/resource/common/service_test.go rename to modules/api/src/resource/common/service_test.go diff --git a/src/app/backend/resource/common/serviceport.go b/modules/api/src/resource/common/serviceport.go similarity index 100% rename from src/app/backend/resource/common/serviceport.go rename to modules/api/src/resource/common/serviceport.go diff --git a/src/app/backend/resource/common/serviceport_test.go b/modules/api/src/resource/common/serviceport_test.go similarity index 100% rename from src/app/backend/resource/common/serviceport_test.go rename to modules/api/src/resource/common/serviceport_test.go diff --git a/src/app/backend/resource/configmap/common.go b/modules/api/src/resource/configmap/common.go similarity index 100% rename from src/app/backend/resource/configmap/common.go rename to modules/api/src/resource/configmap/common.go diff --git a/src/app/backend/resource/configmap/detail.go b/modules/api/src/resource/configmap/detail.go similarity index 100% rename from src/app/backend/resource/configmap/detail.go rename to modules/api/src/resource/configmap/detail.go diff --git a/src/app/backend/resource/configmap/detail_test.go b/modules/api/src/resource/configmap/detail_test.go similarity index 100% rename from src/app/backend/resource/configmap/detail_test.go rename to modules/api/src/resource/configmap/detail_test.go diff --git a/src/app/backend/resource/configmap/list.go b/modules/api/src/resource/configmap/list.go similarity index 100% rename from src/app/backend/resource/configmap/list.go rename to modules/api/src/resource/configmap/list.go diff --git a/src/app/backend/resource/configmap/list_test.go b/modules/api/src/resource/configmap/list_test.go similarity index 100% rename from src/app/backend/resource/configmap/list_test.go rename to modules/api/src/resource/configmap/list_test.go diff --git a/src/app/backend/resource/container/logs.go b/modules/api/src/resource/container/logs.go similarity index 100% rename from src/app/backend/resource/container/logs.go rename to modules/api/src/resource/container/logs.go diff --git a/src/app/backend/resource/container/logs_test.go b/modules/api/src/resource/container/logs_test.go similarity index 100% rename from src/app/backend/resource/container/logs_test.go rename to modules/api/src/resource/container/logs_test.go diff --git a/src/app/backend/resource/controller/controller.go b/modules/api/src/resource/controller/controller.go similarity index 100% rename from src/app/backend/resource/controller/controller.go rename to modules/api/src/resource/controller/controller.go diff --git a/src/app/backend/resource/controller/controller_test.go b/modules/api/src/resource/controller/controller_test.go similarity index 100% rename from src/app/backend/resource/controller/controller_test.go rename to modules/api/src/resource/controller/controller_test.go diff --git a/src/app/backend/resource/cronjob/common.go b/modules/api/src/resource/cronjob/common.go similarity index 100% rename from src/app/backend/resource/cronjob/common.go rename to modules/api/src/resource/cronjob/common.go diff --git a/src/app/backend/resource/cronjob/common_test.go b/modules/api/src/resource/cronjob/common_test.go similarity index 100% rename from src/app/backend/resource/cronjob/common_test.go rename to modules/api/src/resource/cronjob/common_test.go diff --git a/src/app/backend/resource/cronjob/detail.go b/modules/api/src/resource/cronjob/detail.go similarity index 100% rename from src/app/backend/resource/cronjob/detail.go rename to modules/api/src/resource/cronjob/detail.go diff --git a/src/app/backend/resource/cronjob/detail_test.go b/modules/api/src/resource/cronjob/detail_test.go similarity index 100% rename from src/app/backend/resource/cronjob/detail_test.go rename to modules/api/src/resource/cronjob/detail_test.go diff --git a/src/app/backend/resource/cronjob/events.go b/modules/api/src/resource/cronjob/events.go similarity index 100% rename from src/app/backend/resource/cronjob/events.go rename to modules/api/src/resource/cronjob/events.go diff --git a/src/app/backend/resource/cronjob/events_test.go b/modules/api/src/resource/cronjob/events_test.go similarity index 100% rename from src/app/backend/resource/cronjob/events_test.go rename to modules/api/src/resource/cronjob/events_test.go diff --git a/src/app/backend/resource/cronjob/jobs.go b/modules/api/src/resource/cronjob/jobs.go similarity index 100% rename from src/app/backend/resource/cronjob/jobs.go rename to modules/api/src/resource/cronjob/jobs.go diff --git a/src/app/backend/resource/cronjob/jobs_test.go b/modules/api/src/resource/cronjob/jobs_test.go similarity index 100% rename from src/app/backend/resource/cronjob/jobs_test.go rename to modules/api/src/resource/cronjob/jobs_test.go diff --git a/src/app/backend/resource/cronjob/list.go b/modules/api/src/resource/cronjob/list.go similarity index 100% rename from src/app/backend/resource/cronjob/list.go rename to modules/api/src/resource/cronjob/list.go diff --git a/src/app/backend/resource/cronjob/list_test.go b/modules/api/src/resource/cronjob/list_test.go similarity index 100% rename from src/app/backend/resource/cronjob/list_test.go rename to modules/api/src/resource/cronjob/list_test.go diff --git a/src/app/backend/resource/customresourcedefinition/common.go b/modules/api/src/resource/customresourcedefinition/common.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/common.go rename to modules/api/src/resource/customresourcedefinition/common.go diff --git a/src/app/backend/resource/customresourcedefinition/events.go b/modules/api/src/resource/customresourcedefinition/events.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/events.go rename to modules/api/src/resource/customresourcedefinition/events.go diff --git a/src/app/backend/resource/customresourcedefinition/events_test.go b/modules/api/src/resource/customresourcedefinition/events_test.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/events_test.go rename to modules/api/src/resource/customresourcedefinition/events_test.go diff --git a/src/app/backend/resource/customresourcedefinition/types/types.go b/modules/api/src/resource/customresourcedefinition/types/types.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/types/types.go rename to modules/api/src/resource/customresourcedefinition/types/types.go diff --git a/src/app/backend/resource/customresourcedefinition/v1/client.go b/modules/api/src/resource/customresourcedefinition/v1/client.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/v1/client.go rename to modules/api/src/resource/customresourcedefinition/v1/client.go diff --git a/src/app/backend/resource/customresourcedefinition/v1/common.go b/modules/api/src/resource/customresourcedefinition/v1/common.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/v1/common.go rename to modules/api/src/resource/customresourcedefinition/v1/common.go diff --git a/src/app/backend/resource/customresourcedefinition/v1/detail.go b/modules/api/src/resource/customresourcedefinition/v1/detail.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/v1/detail.go rename to modules/api/src/resource/customresourcedefinition/v1/detail.go diff --git a/src/app/backend/resource/customresourcedefinition/v1/list.go b/modules/api/src/resource/customresourcedefinition/v1/list.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/v1/list.go rename to modules/api/src/resource/customresourcedefinition/v1/list.go diff --git a/src/app/backend/resource/customresourcedefinition/v1/list_test.go b/modules/api/src/resource/customresourcedefinition/v1/list_test.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/v1/list_test.go rename to modules/api/src/resource/customresourcedefinition/v1/list_test.go diff --git a/src/app/backend/resource/customresourcedefinition/v1/objects.go b/modules/api/src/resource/customresourcedefinition/v1/objects.go similarity index 100% rename from src/app/backend/resource/customresourcedefinition/v1/objects.go rename to modules/api/src/resource/customresourcedefinition/v1/objects.go diff --git a/src/app/backend/resource/daemonset/common.go b/modules/api/src/resource/daemonset/common.go similarity index 100% rename from src/app/backend/resource/daemonset/common.go rename to modules/api/src/resource/daemonset/common.go diff --git a/src/app/backend/resource/daemonset/common_test.go b/modules/api/src/resource/daemonset/common_test.go similarity index 100% rename from src/app/backend/resource/daemonset/common_test.go rename to modules/api/src/resource/daemonset/common_test.go diff --git a/src/app/backend/resource/daemonset/detail.go b/modules/api/src/resource/daemonset/detail.go similarity index 100% rename from src/app/backend/resource/daemonset/detail.go rename to modules/api/src/resource/daemonset/detail.go diff --git a/src/app/backend/resource/daemonset/list.go b/modules/api/src/resource/daemonset/list.go similarity index 100% rename from src/app/backend/resource/daemonset/list.go rename to modules/api/src/resource/daemonset/list.go diff --git a/src/app/backend/resource/daemonset/list_test.go b/modules/api/src/resource/daemonset/list_test.go similarity index 100% rename from src/app/backend/resource/daemonset/list_test.go rename to modules/api/src/resource/daemonset/list_test.go diff --git a/src/app/backend/resource/daemonset/pods.go b/modules/api/src/resource/daemonset/pods.go similarity index 100% rename from src/app/backend/resource/daemonset/pods.go rename to modules/api/src/resource/daemonset/pods.go diff --git a/src/app/backend/resource/daemonset/services.go b/modules/api/src/resource/daemonset/services.go similarity index 100% rename from src/app/backend/resource/daemonset/services.go rename to modules/api/src/resource/daemonset/services.go diff --git a/src/app/backend/resource/dataselect/dataselect.go b/modules/api/src/resource/dataselect/dataselect.go similarity index 100% rename from src/app/backend/resource/dataselect/dataselect.go rename to modules/api/src/resource/dataselect/dataselect.go diff --git a/src/app/backend/resource/dataselect/dataselect_test.go b/modules/api/src/resource/dataselect/dataselect_test.go similarity index 100% rename from src/app/backend/resource/dataselect/dataselect_test.go rename to modules/api/src/resource/dataselect/dataselect_test.go diff --git a/src/app/backend/resource/dataselect/dataselectquery.go b/modules/api/src/resource/dataselect/dataselectquery.go similarity index 100% rename from src/app/backend/resource/dataselect/dataselectquery.go rename to modules/api/src/resource/dataselect/dataselectquery.go diff --git a/src/app/backend/resource/dataselect/pagination.go b/modules/api/src/resource/dataselect/pagination.go similarity index 100% rename from src/app/backend/resource/dataselect/pagination.go rename to modules/api/src/resource/dataselect/pagination.go diff --git a/src/app/backend/resource/dataselect/pagination_test.go b/modules/api/src/resource/dataselect/pagination_test.go similarity index 100% rename from src/app/backend/resource/dataselect/pagination_test.go rename to modules/api/src/resource/dataselect/pagination_test.go diff --git a/src/app/backend/resource/dataselect/propertyname.go b/modules/api/src/resource/dataselect/propertyname.go similarity index 100% rename from src/app/backend/resource/dataselect/propertyname.go rename to modules/api/src/resource/dataselect/propertyname.go diff --git a/src/app/backend/resource/dataselect/stdcomparabletypes.go b/modules/api/src/resource/dataselect/stdcomparabletypes.go similarity index 100% rename from src/app/backend/resource/dataselect/stdcomparabletypes.go rename to modules/api/src/resource/dataselect/stdcomparabletypes.go diff --git a/src/app/backend/resource/dataselect/stdcomparabletypes_test.go b/modules/api/src/resource/dataselect/stdcomparabletypes_test.go similarity index 100% rename from src/app/backend/resource/dataselect/stdcomparabletypes_test.go rename to modules/api/src/resource/dataselect/stdcomparabletypes_test.go diff --git a/src/app/backend/resource/deployment/common.go b/modules/api/src/resource/deployment/common.go similarity index 100% rename from src/app/backend/resource/deployment/common.go rename to modules/api/src/resource/deployment/common.go diff --git a/src/app/backend/resource/deployment/deploy.go b/modules/api/src/resource/deployment/deploy.go similarity index 100% rename from src/app/backend/resource/deployment/deploy.go rename to modules/api/src/resource/deployment/deploy.go diff --git a/src/app/backend/resource/deployment/deploy_test.go b/modules/api/src/resource/deployment/deploy_test.go similarity index 100% rename from src/app/backend/resource/deployment/deploy_test.go rename to modules/api/src/resource/deployment/deploy_test.go diff --git a/src/app/backend/resource/deployment/detail.go b/modules/api/src/resource/deployment/detail.go similarity index 100% rename from src/app/backend/resource/deployment/detail.go rename to modules/api/src/resource/deployment/detail.go diff --git a/src/app/backend/resource/deployment/detail_test.go b/modules/api/src/resource/deployment/detail_test.go similarity index 100% rename from src/app/backend/resource/deployment/detail_test.go rename to modules/api/src/resource/deployment/detail_test.go diff --git a/src/app/backend/resource/deployment/list.go b/modules/api/src/resource/deployment/list.go similarity index 100% rename from src/app/backend/resource/deployment/list.go rename to modules/api/src/resource/deployment/list.go diff --git a/src/app/backend/resource/deployment/list_test.go b/modules/api/src/resource/deployment/list_test.go similarity index 100% rename from src/app/backend/resource/deployment/list_test.go rename to modules/api/src/resource/deployment/list_test.go diff --git a/src/app/backend/resource/deployment/newreplicasets.go b/modules/api/src/resource/deployment/newreplicasets.go similarity index 100% rename from src/app/backend/resource/deployment/newreplicasets.go rename to modules/api/src/resource/deployment/newreplicasets.go diff --git a/src/app/backend/resource/deployment/oldreplicasets.go b/modules/api/src/resource/deployment/oldreplicasets.go similarity index 100% rename from src/app/backend/resource/deployment/oldreplicasets.go rename to modules/api/src/resource/deployment/oldreplicasets.go diff --git a/src/app/backend/resource/deployment/pods.go b/modules/api/src/resource/deployment/pods.go similarity index 100% rename from src/app/backend/resource/deployment/pods.go rename to modules/api/src/resource/deployment/pods.go diff --git a/src/app/backend/resource/deployment/rollout.go b/modules/api/src/resource/deployment/rollout.go similarity index 100% rename from src/app/backend/resource/deployment/rollout.go rename to modules/api/src/resource/deployment/rollout.go diff --git a/src/app/backend/resource/deployment/util.go b/modules/api/src/resource/deployment/util.go similarity index 100% rename from src/app/backend/resource/deployment/util.go rename to modules/api/src/resource/deployment/util.go diff --git a/src/app/backend/resource/endpoint/endpoint.go b/modules/api/src/resource/endpoint/endpoint.go similarity index 100% rename from src/app/backend/resource/endpoint/endpoint.go rename to modules/api/src/resource/endpoint/endpoint.go diff --git a/src/app/backend/resource/endpoint/list.go b/modules/api/src/resource/endpoint/list.go similarity index 100% rename from src/app/backend/resource/endpoint/list.go rename to modules/api/src/resource/endpoint/list.go diff --git a/src/app/backend/resource/event/common.go b/modules/api/src/resource/event/common.go similarity index 100% rename from src/app/backend/resource/event/common.go rename to modules/api/src/resource/event/common.go diff --git a/src/app/backend/resource/event/common_test.go b/modules/api/src/resource/event/common_test.go similarity index 100% rename from src/app/backend/resource/event/common_test.go rename to modules/api/src/resource/event/common_test.go diff --git a/src/app/backend/resource/event/event.go b/modules/api/src/resource/event/event.go similarity index 100% rename from src/app/backend/resource/event/event.go rename to modules/api/src/resource/event/event.go diff --git a/src/app/backend/resource/event/event_test.go b/modules/api/src/resource/event/event_test.go similarity index 100% rename from src/app/backend/resource/event/event_test.go rename to modules/api/src/resource/event/event_test.go diff --git a/src/app/backend/resource/event/list.go b/modules/api/src/resource/event/list.go similarity index 100% rename from src/app/backend/resource/event/list.go rename to modules/api/src/resource/event/list.go diff --git a/src/app/backend/resource/horizontalpodautoscaler/common.go b/modules/api/src/resource/horizontalpodautoscaler/common.go similarity index 100% rename from src/app/backend/resource/horizontalpodautoscaler/common.go rename to modules/api/src/resource/horizontalpodautoscaler/common.go diff --git a/src/app/backend/resource/horizontalpodautoscaler/detail.go b/modules/api/src/resource/horizontalpodautoscaler/detail.go similarity index 100% rename from src/app/backend/resource/horizontalpodautoscaler/detail.go rename to modules/api/src/resource/horizontalpodautoscaler/detail.go diff --git a/src/app/backend/resource/horizontalpodautoscaler/detail_test.go b/modules/api/src/resource/horizontalpodautoscaler/detail_test.go similarity index 100% rename from src/app/backend/resource/horizontalpodautoscaler/detail_test.go rename to modules/api/src/resource/horizontalpodautoscaler/detail_test.go diff --git a/src/app/backend/resource/horizontalpodautoscaler/list.go b/modules/api/src/resource/horizontalpodautoscaler/list.go similarity index 100% rename from src/app/backend/resource/horizontalpodautoscaler/list.go rename to modules/api/src/resource/horizontalpodautoscaler/list.go diff --git a/src/app/backend/resource/horizontalpodautoscaler/list_test.go b/modules/api/src/resource/horizontalpodautoscaler/list_test.go similarity index 100% rename from src/app/backend/resource/horizontalpodautoscaler/list_test.go rename to modules/api/src/resource/horizontalpodautoscaler/list_test.go diff --git a/src/app/backend/resource/ingress/common.go b/modules/api/src/resource/ingress/common.go similarity index 100% rename from src/app/backend/resource/ingress/common.go rename to modules/api/src/resource/ingress/common.go diff --git a/src/app/backend/resource/ingress/detail.go b/modules/api/src/resource/ingress/detail.go similarity index 100% rename from src/app/backend/resource/ingress/detail.go rename to modules/api/src/resource/ingress/detail.go diff --git a/src/app/backend/resource/ingress/filter.go b/modules/api/src/resource/ingress/filter.go similarity index 100% rename from src/app/backend/resource/ingress/filter.go rename to modules/api/src/resource/ingress/filter.go diff --git a/src/app/backend/resource/ingress/list.go b/modules/api/src/resource/ingress/list.go similarity index 100% rename from src/app/backend/resource/ingress/list.go rename to modules/api/src/resource/ingress/list.go diff --git a/src/app/backend/resource/job/common.go b/modules/api/src/resource/job/common.go similarity index 100% rename from src/app/backend/resource/job/common.go rename to modules/api/src/resource/job/common.go diff --git a/src/app/backend/resource/job/detail.go b/modules/api/src/resource/job/detail.go similarity index 100% rename from src/app/backend/resource/job/detail.go rename to modules/api/src/resource/job/detail.go diff --git a/src/app/backend/resource/job/detail_test.go b/modules/api/src/resource/job/detail_test.go similarity index 100% rename from src/app/backend/resource/job/detail_test.go rename to modules/api/src/resource/job/detail_test.go diff --git a/src/app/backend/resource/job/events.go b/modules/api/src/resource/job/events.go similarity index 100% rename from src/app/backend/resource/job/events.go rename to modules/api/src/resource/job/events.go diff --git a/src/app/backend/resource/job/events_test.go b/modules/api/src/resource/job/events_test.go similarity index 100% rename from src/app/backend/resource/job/events_test.go rename to modules/api/src/resource/job/events_test.go diff --git a/src/app/backend/resource/job/list.go b/modules/api/src/resource/job/list.go similarity index 100% rename from src/app/backend/resource/job/list.go rename to modules/api/src/resource/job/list.go diff --git a/src/app/backend/resource/job/list_test.go b/modules/api/src/resource/job/list_test.go similarity index 100% rename from src/app/backend/resource/job/list_test.go rename to modules/api/src/resource/job/list_test.go diff --git a/src/app/backend/resource/job/pods.go b/modules/api/src/resource/job/pods.go similarity index 100% rename from src/app/backend/resource/job/pods.go rename to modules/api/src/resource/job/pods.go diff --git a/src/app/backend/resource/limitrange/detail.go b/modules/api/src/resource/limitrange/detail.go similarity index 100% rename from src/app/backend/resource/limitrange/detail.go rename to modules/api/src/resource/limitrange/detail.go diff --git a/src/app/backend/resource/limitrange/detail_test.go b/modules/api/src/resource/limitrange/detail_test.go similarity index 100% rename from src/app/backend/resource/limitrange/detail_test.go rename to modules/api/src/resource/limitrange/detail_test.go diff --git a/src/app/backend/resource/logs/logs.go b/modules/api/src/resource/logs/logs.go similarity index 100% rename from src/app/backend/resource/logs/logs.go rename to modules/api/src/resource/logs/logs.go diff --git a/src/app/backend/resource/logs/source.go b/modules/api/src/resource/logs/source.go similarity index 100% rename from src/app/backend/resource/logs/source.go rename to modules/api/src/resource/logs/source.go diff --git a/src/app/backend/resource/namespace/common.go b/modules/api/src/resource/namespace/common.go similarity index 100% rename from src/app/backend/resource/namespace/common.go rename to modules/api/src/resource/namespace/common.go diff --git a/src/app/backend/resource/namespace/detail.go b/modules/api/src/resource/namespace/detail.go similarity index 100% rename from src/app/backend/resource/namespace/detail.go rename to modules/api/src/resource/namespace/detail.go diff --git a/src/app/backend/resource/namespace/detail_test.go b/modules/api/src/resource/namespace/detail_test.go similarity index 100% rename from src/app/backend/resource/namespace/detail_test.go rename to modules/api/src/resource/namespace/detail_test.go diff --git a/src/app/backend/resource/namespace/list.go b/modules/api/src/resource/namespace/list.go similarity index 100% rename from src/app/backend/resource/namespace/list.go rename to modules/api/src/resource/namespace/list.go diff --git a/src/app/backend/resource/namespace/list_test.go b/modules/api/src/resource/namespace/list_test.go similarity index 100% rename from src/app/backend/resource/namespace/list_test.go rename to modules/api/src/resource/namespace/list_test.go diff --git a/src/app/backend/resource/networkpolicy/common.go b/modules/api/src/resource/networkpolicy/common.go similarity index 100% rename from src/app/backend/resource/networkpolicy/common.go rename to modules/api/src/resource/networkpolicy/common.go diff --git a/src/app/backend/resource/networkpolicy/detail.go b/modules/api/src/resource/networkpolicy/detail.go similarity index 100% rename from src/app/backend/resource/networkpolicy/detail.go rename to modules/api/src/resource/networkpolicy/detail.go diff --git a/src/app/backend/resource/networkpolicy/list.go b/modules/api/src/resource/networkpolicy/list.go similarity index 100% rename from src/app/backend/resource/networkpolicy/list.go rename to modules/api/src/resource/networkpolicy/list.go diff --git a/src/app/backend/resource/node/common.go b/modules/api/src/resource/node/common.go similarity index 100% rename from src/app/backend/resource/node/common.go rename to modules/api/src/resource/node/common.go diff --git a/src/app/backend/resource/node/detail.go b/modules/api/src/resource/node/detail.go similarity index 100% rename from src/app/backend/resource/node/detail.go rename to modules/api/src/resource/node/detail.go diff --git a/src/app/backend/resource/node/detail_test.go b/modules/api/src/resource/node/detail_test.go similarity index 100% rename from src/app/backend/resource/node/detail_test.go rename to modules/api/src/resource/node/detail_test.go diff --git a/src/app/backend/resource/node/list.go b/modules/api/src/resource/node/list.go similarity index 100% rename from src/app/backend/resource/node/list.go rename to modules/api/src/resource/node/list.go diff --git a/src/app/backend/resource/node/list_test.go b/modules/api/src/resource/node/list_test.go similarity index 100% rename from src/app/backend/resource/node/list_test.go rename to modules/api/src/resource/node/list_test.go diff --git a/src/app/backend/resource/persistentvolume/common.go b/modules/api/src/resource/persistentvolume/common.go similarity index 100% rename from src/app/backend/resource/persistentvolume/common.go rename to modules/api/src/resource/persistentvolume/common.go diff --git a/src/app/backend/resource/persistentvolume/common_test.go b/modules/api/src/resource/persistentvolume/common_test.go similarity index 100% rename from src/app/backend/resource/persistentvolume/common_test.go rename to modules/api/src/resource/persistentvolume/common_test.go diff --git a/src/app/backend/resource/persistentvolume/detail.go b/modules/api/src/resource/persistentvolume/detail.go similarity index 100% rename from src/app/backend/resource/persistentvolume/detail.go rename to modules/api/src/resource/persistentvolume/detail.go diff --git a/src/app/backend/resource/persistentvolume/detail_test.go b/modules/api/src/resource/persistentvolume/detail_test.go similarity index 100% rename from src/app/backend/resource/persistentvolume/detail_test.go rename to modules/api/src/resource/persistentvolume/detail_test.go diff --git a/src/app/backend/resource/persistentvolume/list.go b/modules/api/src/resource/persistentvolume/list.go similarity index 100% rename from src/app/backend/resource/persistentvolume/list.go rename to modules/api/src/resource/persistentvolume/list.go diff --git a/src/app/backend/resource/persistentvolume/list_test.go b/modules/api/src/resource/persistentvolume/list_test.go similarity index 100% rename from src/app/backend/resource/persistentvolume/list_test.go rename to modules/api/src/resource/persistentvolume/list_test.go diff --git a/src/app/backend/resource/persistentvolumeclaim/common.go b/modules/api/src/resource/persistentvolumeclaim/common.go similarity index 100% rename from src/app/backend/resource/persistentvolumeclaim/common.go rename to modules/api/src/resource/persistentvolumeclaim/common.go diff --git a/src/app/backend/resource/persistentvolumeclaim/common_test.go b/modules/api/src/resource/persistentvolumeclaim/common_test.go similarity index 100% rename from src/app/backend/resource/persistentvolumeclaim/common_test.go rename to modules/api/src/resource/persistentvolumeclaim/common_test.go diff --git a/src/app/backend/resource/persistentvolumeclaim/detail.go b/modules/api/src/resource/persistentvolumeclaim/detail.go similarity index 100% rename from src/app/backend/resource/persistentvolumeclaim/detail.go rename to modules/api/src/resource/persistentvolumeclaim/detail.go diff --git a/src/app/backend/resource/persistentvolumeclaim/detail_test.go b/modules/api/src/resource/persistentvolumeclaim/detail_test.go similarity index 100% rename from src/app/backend/resource/persistentvolumeclaim/detail_test.go rename to modules/api/src/resource/persistentvolumeclaim/detail_test.go diff --git a/src/app/backend/resource/persistentvolumeclaim/list.go b/modules/api/src/resource/persistentvolumeclaim/list.go similarity index 100% rename from src/app/backend/resource/persistentvolumeclaim/list.go rename to modules/api/src/resource/persistentvolumeclaim/list.go diff --git a/src/app/backend/resource/persistentvolumeclaim/list_test.go b/modules/api/src/resource/persistentvolumeclaim/list_test.go similarity index 100% rename from src/app/backend/resource/persistentvolumeclaim/list_test.go rename to modules/api/src/resource/persistentvolumeclaim/list_test.go diff --git a/src/app/backend/resource/pod/common.go b/modules/api/src/resource/pod/common.go similarity index 100% rename from src/app/backend/resource/pod/common.go rename to modules/api/src/resource/pod/common.go diff --git a/src/app/backend/resource/pod/common_test.go b/modules/api/src/resource/pod/common_test.go similarity index 100% rename from src/app/backend/resource/pod/common_test.go rename to modules/api/src/resource/pod/common_test.go diff --git a/src/app/backend/resource/pod/detail.go b/modules/api/src/resource/pod/detail.go similarity index 100% rename from src/app/backend/resource/pod/detail.go rename to modules/api/src/resource/pod/detail.go diff --git a/src/app/backend/resource/pod/detail_test.go b/modules/api/src/resource/pod/detail_test.go similarity index 100% rename from src/app/backend/resource/pod/detail_test.go rename to modules/api/src/resource/pod/detail_test.go diff --git a/src/app/backend/resource/pod/events.go b/modules/api/src/resource/pod/events.go similarity index 100% rename from src/app/backend/resource/pod/events.go rename to modules/api/src/resource/pod/events.go diff --git a/src/app/backend/resource/pod/events_test.go b/modules/api/src/resource/pod/events_test.go similarity index 100% rename from src/app/backend/resource/pod/events_test.go rename to modules/api/src/resource/pod/events_test.go diff --git a/src/app/backend/resource/pod/fieldpath.go b/modules/api/src/resource/pod/fieldpath.go similarity index 100% rename from src/app/backend/resource/pod/fieldpath.go rename to modules/api/src/resource/pod/fieldpath.go diff --git a/src/app/backend/resource/pod/fieldpath_test.go b/modules/api/src/resource/pod/fieldpath_test.go similarity index 100% rename from src/app/backend/resource/pod/fieldpath_test.go rename to modules/api/src/resource/pod/fieldpath_test.go diff --git a/src/app/backend/resource/pod/list.go b/modules/api/src/resource/pod/list.go similarity index 100% rename from src/app/backend/resource/pod/list.go rename to modules/api/src/resource/pod/list.go diff --git a/src/app/backend/resource/pod/list_test.go b/modules/api/src/resource/pod/list_test.go similarity index 100% rename from src/app/backend/resource/pod/list_test.go rename to modules/api/src/resource/pod/list_test.go diff --git a/src/app/backend/resource/pod/metrics.go b/modules/api/src/resource/pod/metrics.go similarity index 100% rename from src/app/backend/resource/pod/metrics.go rename to modules/api/src/resource/pod/metrics.go diff --git a/src/app/backend/resource/replicaset/common.go b/modules/api/src/resource/replicaset/common.go similarity index 100% rename from src/app/backend/resource/replicaset/common.go rename to modules/api/src/resource/replicaset/common.go diff --git a/src/app/backend/resource/replicaset/common_test.go b/modules/api/src/resource/replicaset/common_test.go similarity index 100% rename from src/app/backend/resource/replicaset/common_test.go rename to modules/api/src/resource/replicaset/common_test.go diff --git a/src/app/backend/resource/replicaset/detail.go b/modules/api/src/resource/replicaset/detail.go similarity index 100% rename from src/app/backend/resource/replicaset/detail.go rename to modules/api/src/resource/replicaset/detail.go diff --git a/src/app/backend/resource/replicaset/detail_test.go b/modules/api/src/resource/replicaset/detail_test.go similarity index 100% rename from src/app/backend/resource/replicaset/detail_test.go rename to modules/api/src/resource/replicaset/detail_test.go diff --git a/src/app/backend/resource/replicaset/list.go b/modules/api/src/resource/replicaset/list.go similarity index 100% rename from src/app/backend/resource/replicaset/list.go rename to modules/api/src/resource/replicaset/list.go diff --git a/src/app/backend/resource/replicaset/list_test.go b/modules/api/src/resource/replicaset/list_test.go similarity index 100% rename from src/app/backend/resource/replicaset/list_test.go rename to modules/api/src/resource/replicaset/list_test.go diff --git a/src/app/backend/resource/replicaset/pods.go b/modules/api/src/resource/replicaset/pods.go similarity index 100% rename from src/app/backend/resource/replicaset/pods.go rename to modules/api/src/resource/replicaset/pods.go diff --git a/src/app/backend/resource/replicaset/services.go b/modules/api/src/resource/replicaset/services.go similarity index 100% rename from src/app/backend/resource/replicaset/services.go rename to modules/api/src/resource/replicaset/services.go diff --git a/src/app/backend/resource/replicationcontroller/common.go b/modules/api/src/resource/replicationcontroller/common.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/common.go rename to modules/api/src/resource/replicationcontroller/common.go diff --git a/src/app/backend/resource/replicationcontroller/common_test.go b/modules/api/src/resource/replicationcontroller/common_test.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/common_test.go rename to modules/api/src/resource/replicationcontroller/common_test.go diff --git a/src/app/backend/resource/replicationcontroller/detail.go b/modules/api/src/resource/replicationcontroller/detail.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/detail.go rename to modules/api/src/resource/replicationcontroller/detail.go diff --git a/src/app/backend/resource/replicationcontroller/detail_test.go b/modules/api/src/resource/replicationcontroller/detail_test.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/detail_test.go rename to modules/api/src/resource/replicationcontroller/detail_test.go diff --git a/src/app/backend/resource/replicationcontroller/list.go b/modules/api/src/resource/replicationcontroller/list.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/list.go rename to modules/api/src/resource/replicationcontroller/list.go diff --git a/src/app/backend/resource/replicationcontroller/list_test.go b/modules/api/src/resource/replicationcontroller/list_test.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/list_test.go rename to modules/api/src/resource/replicationcontroller/list_test.go diff --git a/src/app/backend/resource/replicationcontroller/pods.go b/modules/api/src/resource/replicationcontroller/pods.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/pods.go rename to modules/api/src/resource/replicationcontroller/pods.go diff --git a/src/app/backend/resource/replicationcontroller/services.go b/modules/api/src/resource/replicationcontroller/services.go similarity index 100% rename from src/app/backend/resource/replicationcontroller/services.go rename to modules/api/src/resource/replicationcontroller/services.go diff --git a/src/app/backend/resource/resourcequota/detail.go b/modules/api/src/resource/resourcequota/detail.go similarity index 100% rename from src/app/backend/resource/resourcequota/detail.go rename to modules/api/src/resource/resourcequota/detail.go diff --git a/src/app/backend/resource/resourcequota/detail_test.go b/modules/api/src/resource/resourcequota/detail_test.go similarity index 100% rename from src/app/backend/resource/resourcequota/detail_test.go rename to modules/api/src/resource/resourcequota/detail_test.go diff --git a/src/app/backend/resource/role/common.go b/modules/api/src/resource/role/common.go similarity index 100% rename from src/app/backend/resource/role/common.go rename to modules/api/src/resource/role/common.go diff --git a/src/app/backend/resource/role/detail.go b/modules/api/src/resource/role/detail.go similarity index 100% rename from src/app/backend/resource/role/detail.go rename to modules/api/src/resource/role/detail.go diff --git a/src/app/backend/resource/role/list.go b/modules/api/src/resource/role/list.go similarity index 100% rename from src/app/backend/resource/role/list.go rename to modules/api/src/resource/role/list.go diff --git a/src/app/backend/resource/role/list_test.go b/modules/api/src/resource/role/list_test.go similarity index 100% rename from src/app/backend/resource/role/list_test.go rename to modules/api/src/resource/role/list_test.go diff --git a/src/app/backend/resource/rolebinding/common.go b/modules/api/src/resource/rolebinding/common.go similarity index 100% rename from src/app/backend/resource/rolebinding/common.go rename to modules/api/src/resource/rolebinding/common.go diff --git a/src/app/backend/resource/rolebinding/detail.go b/modules/api/src/resource/rolebinding/detail.go similarity index 100% rename from src/app/backend/resource/rolebinding/detail.go rename to modules/api/src/resource/rolebinding/detail.go diff --git a/src/app/backend/resource/rolebinding/list.go b/modules/api/src/resource/rolebinding/list.go similarity index 100% rename from src/app/backend/resource/rolebinding/list.go rename to modules/api/src/resource/rolebinding/list.go diff --git a/src/app/backend/resource/rolebinding/list_test.go b/modules/api/src/resource/rolebinding/list_test.go similarity index 100% rename from src/app/backend/resource/rolebinding/list_test.go rename to modules/api/src/resource/rolebinding/list_test.go diff --git a/src/app/backend/resource/secret/common.go b/modules/api/src/resource/secret/common.go similarity index 100% rename from src/app/backend/resource/secret/common.go rename to modules/api/src/resource/secret/common.go diff --git a/src/app/backend/resource/secret/detail.go b/modules/api/src/resource/secret/detail.go similarity index 100% rename from src/app/backend/resource/secret/detail.go rename to modules/api/src/resource/secret/detail.go diff --git a/src/app/backend/resource/secret/detail_test.go b/modules/api/src/resource/secret/detail_test.go similarity index 100% rename from src/app/backend/resource/secret/detail_test.go rename to modules/api/src/resource/secret/detail_test.go diff --git a/src/app/backend/resource/secret/list.go b/modules/api/src/resource/secret/list.go similarity index 100% rename from src/app/backend/resource/secret/list.go rename to modules/api/src/resource/secret/list.go diff --git a/src/app/backend/resource/secret/list_test.go b/modules/api/src/resource/secret/list_test.go similarity index 100% rename from src/app/backend/resource/secret/list_test.go rename to modules/api/src/resource/secret/list_test.go diff --git a/src/app/backend/resource/service/common.go b/modules/api/src/resource/service/common.go similarity index 100% rename from src/app/backend/resource/service/common.go rename to modules/api/src/resource/service/common.go diff --git a/src/app/backend/resource/service/detail.go b/modules/api/src/resource/service/detail.go similarity index 100% rename from src/app/backend/resource/service/detail.go rename to modules/api/src/resource/service/detail.go diff --git a/src/app/backend/resource/service/detail_test.go b/modules/api/src/resource/service/detail_test.go similarity index 100% rename from src/app/backend/resource/service/detail_test.go rename to modules/api/src/resource/service/detail_test.go diff --git a/src/app/backend/resource/service/events.go b/modules/api/src/resource/service/events.go similarity index 100% rename from src/app/backend/resource/service/events.go rename to modules/api/src/resource/service/events.go diff --git a/src/app/backend/resource/service/events_test.go b/modules/api/src/resource/service/events_test.go similarity index 100% rename from src/app/backend/resource/service/events_test.go rename to modules/api/src/resource/service/events_test.go diff --git a/src/app/backend/resource/service/ingress.go b/modules/api/src/resource/service/ingress.go similarity index 100% rename from src/app/backend/resource/service/ingress.go rename to modules/api/src/resource/service/ingress.go diff --git a/src/app/backend/resource/service/list.go b/modules/api/src/resource/service/list.go similarity index 100% rename from src/app/backend/resource/service/list.go rename to modules/api/src/resource/service/list.go diff --git a/src/app/backend/resource/service/list_test.go b/modules/api/src/resource/service/list_test.go similarity index 100% rename from src/app/backend/resource/service/list_test.go rename to modules/api/src/resource/service/list_test.go diff --git a/src/app/backend/resource/service/pods.go b/modules/api/src/resource/service/pods.go similarity index 100% rename from src/app/backend/resource/service/pods.go rename to modules/api/src/resource/service/pods.go diff --git a/src/app/backend/resource/service/pods_test.go b/modules/api/src/resource/service/pods_test.go similarity index 100% rename from src/app/backend/resource/service/pods_test.go rename to modules/api/src/resource/service/pods_test.go diff --git a/src/app/backend/resource/serviceaccount/common.go b/modules/api/src/resource/serviceaccount/common.go similarity index 100% rename from src/app/backend/resource/serviceaccount/common.go rename to modules/api/src/resource/serviceaccount/common.go diff --git a/src/app/backend/resource/serviceaccount/detail.go b/modules/api/src/resource/serviceaccount/detail.go similarity index 100% rename from src/app/backend/resource/serviceaccount/detail.go rename to modules/api/src/resource/serviceaccount/detail.go diff --git a/src/app/backend/resource/serviceaccount/list.go b/modules/api/src/resource/serviceaccount/list.go similarity index 100% rename from src/app/backend/resource/serviceaccount/list.go rename to modules/api/src/resource/serviceaccount/list.go diff --git a/src/app/backend/resource/serviceaccount/secrets.go b/modules/api/src/resource/serviceaccount/secrets.go similarity index 100% rename from src/app/backend/resource/serviceaccount/secrets.go rename to modules/api/src/resource/serviceaccount/secrets.go diff --git a/src/app/backend/resource/statefulset/common.go b/modules/api/src/resource/statefulset/common.go similarity index 100% rename from src/app/backend/resource/statefulset/common.go rename to modules/api/src/resource/statefulset/common.go diff --git a/src/app/backend/resource/statefulset/detail.go b/modules/api/src/resource/statefulset/detail.go similarity index 100% rename from src/app/backend/resource/statefulset/detail.go rename to modules/api/src/resource/statefulset/detail.go diff --git a/src/app/backend/resource/statefulset/list.go b/modules/api/src/resource/statefulset/list.go similarity index 100% rename from src/app/backend/resource/statefulset/list.go rename to modules/api/src/resource/statefulset/list.go diff --git a/src/app/backend/resource/statefulset/list_test.go b/modules/api/src/resource/statefulset/list_test.go similarity index 100% rename from src/app/backend/resource/statefulset/list_test.go rename to modules/api/src/resource/statefulset/list_test.go diff --git a/src/app/backend/resource/statefulset/pods.go b/modules/api/src/resource/statefulset/pods.go similarity index 100% rename from src/app/backend/resource/statefulset/pods.go rename to modules/api/src/resource/statefulset/pods.go diff --git a/src/app/backend/resource/storageclass/common.go b/modules/api/src/resource/storageclass/common.go similarity index 100% rename from src/app/backend/resource/storageclass/common.go rename to modules/api/src/resource/storageclass/common.go diff --git a/src/app/backend/resource/storageclass/detail.go b/modules/api/src/resource/storageclass/detail.go similarity index 100% rename from src/app/backend/resource/storageclass/detail.go rename to modules/api/src/resource/storageclass/detail.go diff --git a/src/app/backend/resource/storageclass/detail_test.go b/modules/api/src/resource/storageclass/detail_test.go similarity index 100% rename from src/app/backend/resource/storageclass/detail_test.go rename to modules/api/src/resource/storageclass/detail_test.go diff --git a/src/app/backend/resource/storageclass/list.go b/modules/api/src/resource/storageclass/list.go similarity index 100% rename from src/app/backend/resource/storageclass/list.go rename to modules/api/src/resource/storageclass/list.go diff --git a/src/app/backend/resource/storageclass/list_test.go b/modules/api/src/resource/storageclass/list_test.go similarity index 100% rename from src/app/backend/resource/storageclass/list_test.go rename to modules/api/src/resource/storageclass/list_test.go diff --git a/src/app/backend/scaling/scale.go b/modules/api/src/scaling/scale.go similarity index 100% rename from src/app/backend/scaling/scale.go rename to modules/api/src/scaling/scale.go diff --git a/src/app/backend/settings/api/types.go b/modules/api/src/settings/api/types.go similarity index 100% rename from src/app/backend/settings/api/types.go rename to modules/api/src/settings/api/types.go diff --git a/src/app/backend/settings/handler.go b/modules/api/src/settings/handler.go similarity index 100% rename from src/app/backend/settings/handler.go rename to modules/api/src/settings/handler.go diff --git a/src/app/backend/settings/handler_test.go b/modules/api/src/settings/handler_test.go similarity index 100% rename from src/app/backend/settings/handler_test.go rename to modules/api/src/settings/handler_test.go diff --git a/src/app/backend/settings/manager.go b/modules/api/src/settings/manager.go similarity index 100% rename from src/app/backend/settings/manager.go rename to modules/api/src/settings/manager.go diff --git a/src/app/backend/settings/manager_test.go b/modules/api/src/settings/manager_test.go similarity index 100% rename from src/app/backend/settings/manager_test.go rename to modules/api/src/settings/manager_test.go diff --git a/src/app/backend/sync/api/types.go b/modules/api/src/sync/api/types.go similarity index 100% rename from src/app/backend/sync/api/types.go rename to modules/api/src/sync/api/types.go diff --git a/src/app/backend/sync/manager.go b/modules/api/src/sync/manager.go similarity index 100% rename from src/app/backend/sync/manager.go rename to modules/api/src/sync/manager.go diff --git a/src/app/backend/sync/manager_test.go b/modules/api/src/sync/manager_test.go similarity index 100% rename from src/app/backend/sync/manager_test.go rename to modules/api/src/sync/manager_test.go diff --git a/src/app/backend/sync/overwatch.go b/modules/api/src/sync/overwatch.go similarity index 100% rename from src/app/backend/sync/overwatch.go rename to modules/api/src/sync/overwatch.go diff --git a/src/app/backend/sync/poll/secret.go b/modules/api/src/sync/poll/secret.go similarity index 100% rename from src/app/backend/sync/poll/secret.go rename to modules/api/src/sync/poll/secret.go diff --git a/src/app/backend/sync/poll/secret_test.go b/modules/api/src/sync/poll/secret_test.go similarity index 100% rename from src/app/backend/sync/poll/secret_test.go rename to modules/api/src/sync/poll/secret_test.go diff --git a/src/app/backend/sync/poll/watcher.go b/modules/api/src/sync/poll/watcher.go similarity index 100% rename from src/app/backend/sync/poll/watcher.go rename to modules/api/src/sync/poll/watcher.go diff --git a/src/app/backend/sync/poll/watcher_test.go b/modules/api/src/sync/poll/watcher_test.go similarity index 100% rename from src/app/backend/sync/poll/watcher_test.go rename to modules/api/src/sync/poll/watcher_test.go diff --git a/src/app/backend/sync/secret.go b/modules/api/src/sync/secret.go similarity index 100% rename from src/app/backend/sync/secret.go rename to modules/api/src/sync/secret.go diff --git a/src/app/backend/sync/secret_test.go b/modules/api/src/sync/secret_test.go similarity index 100% rename from src/app/backend/sync/secret_test.go rename to modules/api/src/sync/secret_test.go diff --git a/src/app/backend/systembanner/api/types.go b/modules/api/src/systembanner/api/types.go similarity index 100% rename from src/app/backend/systembanner/api/types.go rename to modules/api/src/systembanner/api/types.go diff --git a/src/app/backend/systembanner/handler.go b/modules/api/src/systembanner/handler.go similarity index 100% rename from src/app/backend/systembanner/handler.go rename to modules/api/src/systembanner/handler.go diff --git a/src/app/backend/systembanner/manager.go b/modules/api/src/systembanner/manager.go similarity index 100% rename from src/app/backend/systembanner/manager.go rename to modules/api/src/systembanner/manager.go diff --git a/src/app/backend/validation/validateappname.go b/modules/api/src/validation/validateappname.go similarity index 100% rename from src/app/backend/validation/validateappname.go rename to modules/api/src/validation/validateappname.go diff --git a/src/app/backend/validation/validateappname_test.go b/modules/api/src/validation/validateappname_test.go similarity index 100% rename from src/app/backend/validation/validateappname_test.go rename to modules/api/src/validation/validateappname_test.go diff --git a/src/app/backend/validation/validateimagereference.go b/modules/api/src/validation/validateimagereference.go similarity index 100% rename from src/app/backend/validation/validateimagereference.go rename to modules/api/src/validation/validateimagereference.go diff --git a/src/app/backend/validation/validateimagereference_test.go b/modules/api/src/validation/validateimagereference_test.go similarity index 100% rename from src/app/backend/validation/validateimagereference_test.go rename to modules/api/src/validation/validateimagereference_test.go diff --git a/src/app/backend/validation/validateloginstatus.go b/modules/api/src/validation/validateloginstatus.go similarity index 100% rename from src/app/backend/validation/validateloginstatus.go rename to modules/api/src/validation/validateloginstatus.go diff --git a/src/app/backend/validation/validateloginstatus_test.go b/modules/api/src/validation/validateloginstatus_test.go similarity index 100% rename from src/app/backend/validation/validateloginstatus_test.go rename to modules/api/src/validation/validateloginstatus_test.go diff --git a/src/app/backend/validation/validateprotocol.go b/modules/api/src/validation/validateprotocol.go similarity index 100% rename from src/app/backend/validation/validateprotocol.go rename to modules/api/src/validation/validateprotocol.go diff --git a/src/app/backend/validation/validateprotocol_test.go b/modules/api/src/validation/validateprotocol_test.go similarity index 100% rename from src/app/backend/validation/validateprotocol_test.go rename to modules/api/src/validation/validateprotocol_test.go diff --git a/src/app/backend/validation/validaterbacstatus.go b/modules/api/src/validation/validaterbacstatus.go similarity index 100% rename from src/app/backend/validation/validaterbacstatus.go rename to modules/api/src/validation/validaterbacstatus.go diff --git a/src/app/backend/validation/validaterbacstatus_test.go b/modules/api/src/validation/validaterbacstatus_test.go similarity index 100% rename from src/app/backend/validation/validaterbacstatus_test.go rename to modules/api/src/validation/validaterbacstatus_test.go diff --git a/.babelrc b/modules/web/.babelrc similarity index 100% rename from .babelrc rename to modules/web/.babelrc diff --git a/.browserslistrc b/modules/web/.browserslistrc similarity index 100% rename from .browserslistrc rename to modules/web/.browserslistrc diff --git a/.eslintignore b/modules/web/.eslintignore similarity index 71% rename from .eslintignore rename to modules/web/.eslintignore index a241637ce2f7..8d87b1d267ea 100644 --- a/.eslintignore +++ b/modules/web/.eslintignore @@ -1,2 +1 @@ node_modules/* -aio/* diff --git a/.eslintrc.yaml b/modules/web/.eslintrc.yaml similarity index 100% rename from .eslintrc.yaml rename to modules/web/.eslintrc.yaml diff --git a/modules/web/.gitignore b/modules/web/.gitignore new file mode 100644 index 000000000000..07630fcb528c --- /dev/null +++ b/modules/web/.gitignore @@ -0,0 +1,5 @@ +.angular/ +.sass-cache/ +node_modules/ +npm-debug.log +src/environments/version.ts diff --git a/.jsbeautifyrc b/modules/web/.jsbeautifyrc similarity index 100% rename from .jsbeautifyrc rename to modules/web/.jsbeautifyrc diff --git a/.npmrc b/modules/web/.npmrc similarity index 100% rename from .npmrc rename to modules/web/.npmrc diff --git a/.prettierrc.cjs b/modules/web/.prettierrc.cjs similarity index 100% rename from .prettierrc.cjs rename to modules/web/.prettierrc.cjs diff --git a/.stylelintrc.yaml b/modules/web/.stylelintrc.yaml similarity index 100% rename from .stylelintrc.yaml rename to modules/web/.stylelintrc.yaml diff --git a/angular.json b/modules/web/angular.json similarity index 100% rename from angular.json rename to modules/web/angular.json diff --git a/cypress.json b/modules/web/cypress.json similarity index 100% rename from cypress.json rename to modules/web/cypress.json diff --git a/cypress/fixtures/crd.yaml b/modules/web/cypress/fixtures/crd.yaml similarity index 100% rename from cypress/fixtures/crd.yaml rename to modules/web/cypress/fixtures/crd.yaml diff --git a/cypress/fixtures/example-foo.yaml b/modules/web/cypress/fixtures/example-foo.yaml similarity index 100% rename from cypress/fixtures/example-foo.yaml rename to modules/web/cypress/fixtures/example-foo.yaml diff --git a/cypress/integration/specs/nav.spec.ts b/modules/web/cypress/integration/specs/nav.spec.ts similarity index 100% rename from cypress/integration/specs/nav.spec.ts rename to modules/web/cypress/integration/specs/nav.spec.ts diff --git a/cypress/integration/specs/userpanel.spec.ts b/modules/web/cypress/integration/specs/userpanel.spec.ts similarity index 100% rename from cypress/integration/specs/userpanel.spec.ts rename to modules/web/cypress/integration/specs/userpanel.spec.ts diff --git a/cypress/pages/abstractPage.ts b/modules/web/cypress/pages/abstractPage.ts similarity index 100% rename from cypress/pages/abstractPage.ts rename to modules/web/cypress/pages/abstractPage.ts diff --git a/cypress/pages/navbarPage.ts b/modules/web/cypress/pages/navbarPage.ts similarity index 100% rename from cypress/pages/navbarPage.ts rename to modules/web/cypress/pages/navbarPage.ts diff --git a/cypress/pages/userpanelPage.ts b/modules/web/cypress/pages/userpanelPage.ts similarity index 100% rename from cypress/pages/userpanelPage.ts rename to modules/web/cypress/pages/userpanelPage.ts diff --git a/cypress/plugins/cy-ts-preprocessor.ts b/modules/web/cypress/plugins/cy-ts-preprocessor.ts similarity index 100% rename from cypress/plugins/cy-ts-preprocessor.ts rename to modules/web/cypress/plugins/cy-ts-preprocessor.ts diff --git a/cypress/plugins/index.ts b/modules/web/cypress/plugins/index.ts similarity index 100% rename from cypress/plugins/index.ts rename to modules/web/cypress/plugins/index.ts diff --git a/cypress/support/index.ts b/modules/web/cypress/support/index.ts similarity index 100% rename from cypress/support/index.ts rename to modules/web/cypress/support/index.ts diff --git a/i18n/de/OWNERS b/modules/web/i18n/de/OWNERS similarity index 100% rename from i18n/de/OWNERS rename to modules/web/i18n/de/OWNERS diff --git a/i18n/de/messages.de.xlf b/modules/web/i18n/de/messages.de.xlf similarity index 100% rename from i18n/de/messages.de.xlf rename to modules/web/i18n/de/messages.de.xlf diff --git a/i18n/es/OWNERS b/modules/web/i18n/es/OWNERS similarity index 100% rename from i18n/es/OWNERS rename to modules/web/i18n/es/OWNERS diff --git a/i18n/es/messages.es.xlf b/modules/web/i18n/es/messages.es.xlf similarity index 100% rename from i18n/es/messages.es.xlf rename to modules/web/i18n/es/messages.es.xlf diff --git a/i18n/fr/OWNERS b/modules/web/i18n/fr/OWNERS similarity index 100% rename from i18n/fr/OWNERS rename to modules/web/i18n/fr/OWNERS diff --git a/i18n/fr/messages.fr.xlf b/modules/web/i18n/fr/messages.fr.xlf similarity index 100% rename from i18n/fr/messages.fr.xlf rename to modules/web/i18n/fr/messages.fr.xlf diff --git a/i18n/ja/OWNERS b/modules/web/i18n/ja/OWNERS similarity index 100% rename from i18n/ja/OWNERS rename to modules/web/i18n/ja/OWNERS diff --git a/i18n/ja/README.md b/modules/web/i18n/ja/README.md similarity index 100% rename from i18n/ja/README.md rename to modules/web/i18n/ja/README.md diff --git a/i18n/ja/messages.ja.xlf b/modules/web/i18n/ja/messages.ja.xlf similarity index 100% rename from i18n/ja/messages.ja.xlf rename to modules/web/i18n/ja/messages.ja.xlf diff --git a/i18n/ko/OWNERS b/modules/web/i18n/ko/OWNERS similarity index 100% rename from i18n/ko/OWNERS rename to modules/web/i18n/ko/OWNERS diff --git a/i18n/ko/messages.ko.xlf b/modules/web/i18n/ko/messages.ko.xlf similarity index 100% rename from i18n/ko/messages.ko.xlf rename to modules/web/i18n/ko/messages.ko.xlf diff --git a/i18n/locale_conf.json b/modules/web/i18n/locale_conf.json similarity index 100% rename from i18n/locale_conf.json rename to modules/web/i18n/locale_conf.json diff --git a/i18n/messages.xlf b/modules/web/i18n/messages.xlf similarity index 100% rename from i18n/messages.xlf rename to modules/web/i18n/messages.xlf diff --git a/i18n/zh-Hans/OWNERS b/modules/web/i18n/zh-Hans/OWNERS similarity index 100% rename from i18n/zh-Hans/OWNERS rename to modules/web/i18n/zh-Hans/OWNERS diff --git a/i18n/zh-Hans/messages.zh-Hans.xlf b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf similarity index 100% rename from i18n/zh-Hans/messages.zh-Hans.xlf rename to modules/web/i18n/zh-Hans/messages.zh-Hans.xlf diff --git a/i18n/zh-Hant-HK/OWNERS b/modules/web/i18n/zh-Hant-HK/OWNERS similarity index 100% rename from i18n/zh-Hant-HK/OWNERS rename to modules/web/i18n/zh-Hant-HK/OWNERS diff --git a/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf similarity index 100% rename from i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf rename to modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf diff --git a/i18n/zh-Hant/OWNERS b/modules/web/i18n/zh-Hant/OWNERS similarity index 100% rename from i18n/zh-Hant/OWNERS rename to modules/web/i18n/zh-Hant/OWNERS diff --git a/i18n/zh-Hant/messages.zh-Hant.xlf b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf similarity index 100% rename from i18n/zh-Hant/messages.zh-Hant.xlf rename to modules/web/i18n/zh-Hant/messages.zh-Hant.xlf diff --git a/aio/jest.config.js b/modules/web/jest.config.js similarity index 92% rename from aio/jest.config.js rename to modules/web/jest.config.js index 8c40e587407b..5deb3237d93a 100644 --- a/aio/jest.config.js +++ b/modules/web/jest.config.js @@ -13,13 +13,13 @@ // limitations under the License. const config = { - rootDir: '../src/app/frontend', + rootDir: '../src', coverageDirectory: '../../../coverage', preset: "jest-preset-angular/presets/defaults", setupFilesAfterEnv: ["/test.base.ts"], globals: { 'ts-jest': { - tsconfig: 'aio/tsconfig.spec.json', + tsconfig: './tsconfig.spec.json', }, }, moduleNameMapper: { diff --git a/package-lock.json b/modules/web/package-lock.json similarity index 100% rename from package-lock.json rename to modules/web/package-lock.json diff --git a/package.json b/modules/web/package.json similarity index 100% rename from package.json rename to modules/web/package.json diff --git a/aio/https-proxy.conf.json b/modules/web/proxy-https.conf.json similarity index 100% rename from aio/https-proxy.conf.json rename to modules/web/proxy-https.conf.json diff --git a/aio/proxy.conf.json b/modules/web/proxy.conf.json similarity index 100% rename from aio/proxy.conf.json rename to modules/web/proxy.conf.json diff --git a/src/app/frontend/_dark.scss b/modules/web/src/_dark.scss similarity index 100% rename from src/app/frontend/_dark.scss rename to modules/web/src/_dark.scss diff --git a/src/app/frontend/_light.scss b/modules/web/src/_light.scss similarity index 100% rename from src/app/frontend/_light.scss rename to modules/web/src/_light.scss diff --git a/src/app/frontend/_mixins.scss b/modules/web/src/_mixins.scss similarity index 100% rename from src/app/frontend/_mixins.scss rename to modules/web/src/_mixins.scss diff --git a/src/app/frontend/_theming.scss b/modules/web/src/_theming.scss similarity index 100% rename from src/app/frontend/_theming.scss rename to modules/web/src/_theming.scss diff --git a/src/app/frontend/_variables.scss b/modules/web/src/_variables.scss similarity index 100% rename from src/app/frontend/_variables.scss rename to modules/web/src/_variables.scss diff --git a/src/app/frontend/about/actionbar/component.ts b/modules/web/src/about/actionbar/component.ts similarity index 100% rename from src/app/frontend/about/actionbar/component.ts rename to modules/web/src/about/actionbar/component.ts diff --git a/src/app/frontend/about/actionbar/template.html b/modules/web/src/about/actionbar/template.html similarity index 100% rename from src/app/frontend/about/actionbar/template.html rename to modules/web/src/about/actionbar/template.html diff --git a/src/app/frontend/about/component.spec.ts b/modules/web/src/about/component.spec.ts similarity index 100% rename from src/app/frontend/about/component.spec.ts rename to modules/web/src/about/component.spec.ts diff --git a/src/app/frontend/about/component.ts b/modules/web/src/about/component.ts similarity index 100% rename from src/app/frontend/about/component.ts rename to modules/web/src/about/component.ts diff --git a/src/app/frontend/about/module.ts b/modules/web/src/about/module.ts similarity index 100% rename from src/app/frontend/about/module.ts rename to modules/web/src/about/module.ts diff --git a/src/app/frontend/about/routing.ts b/modules/web/src/about/routing.ts similarity index 100% rename from src/app/frontend/about/routing.ts rename to modules/web/src/about/routing.ts diff --git a/src/app/frontend/about/style.scss b/modules/web/src/about/style.scss similarity index 100% rename from src/app/frontend/about/style.scss rename to modules/web/src/about/style.scss diff --git a/src/app/frontend/about/template.html b/modules/web/src/about/template.html similarity index 100% rename from src/app/frontend/about/template.html rename to modules/web/src/about/template.html diff --git a/src/app/frontend/assets/config/config.json b/modules/web/src/assets/config/config.json similarity index 100% rename from src/app/frontend/assets/config/config.json rename to modules/web/src/assets/config/config.json diff --git a/src/app/frontend/assets/images/kubernetes-logo-text.svg b/modules/web/src/assets/images/kubernetes-logo-text.svg similarity index 100% rename from src/app/frontend/assets/images/kubernetes-logo-text.svg rename to modules/web/src/assets/images/kubernetes-logo-text.svg diff --git a/src/app/frontend/assets/images/kubernetes-logo.png b/modules/web/src/assets/images/kubernetes-logo.png similarity index 100% rename from src/app/frontend/assets/images/kubernetes-logo.png rename to modules/web/src/assets/images/kubernetes-logo.png diff --git a/src/app/frontend/assets/images/kubernetes-logo.svg b/modules/web/src/assets/images/kubernetes-logo.svg similarity index 100% rename from src/app/frontend/assets/images/kubernetes-logo.svg rename to modules/web/src/assets/images/kubernetes-logo.svg diff --git a/src/app/frontend/assets/images/pin-crossed.svg b/modules/web/src/assets/images/pin-crossed.svg similarity index 100% rename from src/app/frontend/assets/images/pin-crossed.svg rename to modules/web/src/assets/images/pin-crossed.svg diff --git a/src/app/frontend/assets/images/pin.svg b/modules/web/src/assets/images/pin.svg similarity index 100% rename from src/app/frontend/assets/images/pin.svg rename to modules/web/src/assets/images/pin.svg diff --git a/src/app/frontend/assets/robots.txt b/modules/web/src/assets/robots.txt similarity index 100% rename from src/app/frontend/assets/robots.txt rename to modules/web/src/assets/robots.txt diff --git a/src/app/frontend/chrome/component.ts b/modules/web/src/chrome/component.ts similarity index 100% rename from src/app/frontend/chrome/component.ts rename to modules/web/src/chrome/component.ts diff --git a/src/app/frontend/chrome/module.ts b/modules/web/src/chrome/module.ts similarity index 100% rename from src/app/frontend/chrome/module.ts rename to modules/web/src/chrome/module.ts diff --git a/src/app/frontend/chrome/nav/component.ts b/modules/web/src/chrome/nav/component.ts similarity index 100% rename from src/app/frontend/chrome/nav/component.ts rename to modules/web/src/chrome/nav/component.ts diff --git a/src/app/frontend/chrome/nav/hamburger/component.ts b/modules/web/src/chrome/nav/hamburger/component.ts similarity index 100% rename from src/app/frontend/chrome/nav/hamburger/component.ts rename to modules/web/src/chrome/nav/hamburger/component.ts diff --git a/src/app/frontend/chrome/nav/hamburger/template.html b/modules/web/src/chrome/nav/hamburger/template.html similarity index 100% rename from src/app/frontend/chrome/nav/hamburger/template.html rename to modules/web/src/chrome/nav/hamburger/template.html diff --git a/src/app/frontend/chrome/nav/item/component.ts b/modules/web/src/chrome/nav/item/component.ts similarity index 100% rename from src/app/frontend/chrome/nav/item/component.ts rename to modules/web/src/chrome/nav/item/component.ts diff --git a/src/app/frontend/chrome/nav/item/style.scss b/modules/web/src/chrome/nav/item/style.scss similarity index 100% rename from src/app/frontend/chrome/nav/item/style.scss rename to modules/web/src/chrome/nav/item/style.scss diff --git a/src/app/frontend/chrome/nav/item/template.html b/modules/web/src/chrome/nav/item/template.html similarity index 100% rename from src/app/frontend/chrome/nav/item/template.html rename to modules/web/src/chrome/nav/item/template.html diff --git a/src/app/frontend/chrome/nav/module.ts b/modules/web/src/chrome/nav/module.ts similarity index 100% rename from src/app/frontend/chrome/nav/module.ts rename to modules/web/src/chrome/nav/module.ts diff --git a/src/app/frontend/chrome/nav/pinner/component.ts b/modules/web/src/chrome/nav/pinner/component.ts similarity index 100% rename from src/app/frontend/chrome/nav/pinner/component.ts rename to modules/web/src/chrome/nav/pinner/component.ts diff --git a/src/app/frontend/chrome/nav/pinner/template.html b/modules/web/src/chrome/nav/pinner/template.html similarity index 100% rename from src/app/frontend/chrome/nav/pinner/template.html rename to modules/web/src/chrome/nav/pinner/template.html diff --git a/src/app/frontend/chrome/nav/style.scss b/modules/web/src/chrome/nav/style.scss similarity index 100% rename from src/app/frontend/chrome/nav/style.scss rename to modules/web/src/chrome/nav/style.scss diff --git a/src/app/frontend/chrome/nav/template.html b/modules/web/src/chrome/nav/template.html similarity index 100% rename from src/app/frontend/chrome/nav/template.html rename to modules/web/src/chrome/nav/template.html diff --git a/src/app/frontend/chrome/notifications/component.ts b/modules/web/src/chrome/notifications/component.ts similarity index 100% rename from src/app/frontend/chrome/notifications/component.ts rename to modules/web/src/chrome/notifications/component.ts diff --git a/src/app/frontend/chrome/notifications/style.scss b/modules/web/src/chrome/notifications/style.scss similarity index 100% rename from src/app/frontend/chrome/notifications/style.scss rename to modules/web/src/chrome/notifications/style.scss diff --git a/src/app/frontend/chrome/notifications/template.html b/modules/web/src/chrome/notifications/template.html similarity index 100% rename from src/app/frontend/chrome/notifications/template.html rename to modules/web/src/chrome/notifications/template.html diff --git a/src/app/frontend/chrome/routing.ts b/modules/web/src/chrome/routing.ts similarity index 100% rename from src/app/frontend/chrome/routing.ts rename to modules/web/src/chrome/routing.ts diff --git a/src/app/frontend/chrome/search/component.ts b/modules/web/src/chrome/search/component.ts similarity index 100% rename from src/app/frontend/chrome/search/component.ts rename to modules/web/src/chrome/search/component.ts diff --git a/src/app/frontend/chrome/search/style.scss b/modules/web/src/chrome/search/style.scss similarity index 100% rename from src/app/frontend/chrome/search/style.scss rename to modules/web/src/chrome/search/style.scss diff --git a/src/app/frontend/chrome/search/template.html b/modules/web/src/chrome/search/template.html similarity index 100% rename from src/app/frontend/chrome/search/template.html rename to modules/web/src/chrome/search/template.html diff --git a/src/app/frontend/chrome/style.scss b/modules/web/src/chrome/style.scss similarity index 100% rename from src/app/frontend/chrome/style.scss rename to modules/web/src/chrome/style.scss diff --git a/src/app/frontend/chrome/template.html b/modules/web/src/chrome/template.html similarity index 100% rename from src/app/frontend/chrome/template.html rename to modules/web/src/chrome/template.html diff --git a/src/app/frontend/chrome/userpanel/component.ts b/modules/web/src/chrome/userpanel/component.ts similarity index 100% rename from src/app/frontend/chrome/userpanel/component.ts rename to modules/web/src/chrome/userpanel/component.ts diff --git a/src/app/frontend/chrome/userpanel/style.scss b/modules/web/src/chrome/userpanel/style.scss similarity index 100% rename from src/app/frontend/chrome/userpanel/style.scss rename to modules/web/src/chrome/userpanel/style.scss diff --git a/src/app/frontend/chrome/userpanel/template.html b/modules/web/src/chrome/userpanel/template.html similarity index 100% rename from src/app/frontend/chrome/userpanel/template.html rename to modules/web/src/chrome/userpanel/template.html diff --git a/src/app/frontend/common/animations/animations.ts b/modules/web/src/common/animations/animations.ts similarity index 100% rename from src/app/frontend/common/animations/animations.ts rename to modules/web/src/common/animations/animations.ts diff --git a/src/app/frontend/common/components/actionbar/component.ts b/modules/web/src/common/components/actionbar/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/component.ts rename to modules/web/src/common/components/actionbar/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/component.ts b/modules/web/src/common/components/actionbar/detailactions/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/component.ts rename to modules/web/src/common/components/actionbar/detailactions/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/delete/component.ts b/modules/web/src/common/components/actionbar/detailactions/delete/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/delete/component.ts rename to modules/web/src/common/components/actionbar/detailactions/delete/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/delete/template.html b/modules/web/src/common/components/actionbar/detailactions/delete/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/delete/template.html rename to modules/web/src/common/components/actionbar/detailactions/delete/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/edit/component.ts b/modules/web/src/common/components/actionbar/detailactions/edit/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/edit/component.ts rename to modules/web/src/common/components/actionbar/detailactions/edit/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/edit/template.html b/modules/web/src/common/components/actionbar/detailactions/edit/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/edit/template.html rename to modules/web/src/common/components/actionbar/detailactions/edit/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/exec/component.ts b/modules/web/src/common/components/actionbar/detailactions/exec/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/exec/component.ts rename to modules/web/src/common/components/actionbar/detailactions/exec/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/exec/template.html b/modules/web/src/common/components/actionbar/detailactions/exec/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/exec/template.html rename to modules/web/src/common/components/actionbar/detailactions/exec/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/logs/component.ts b/modules/web/src/common/components/actionbar/detailactions/logs/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/logs/component.ts rename to modules/web/src/common/components/actionbar/detailactions/logs/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/logs/template.html b/modules/web/src/common/components/actionbar/detailactions/logs/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/logs/template.html rename to modules/web/src/common/components/actionbar/detailactions/logs/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/pin/component.ts b/modules/web/src/common/components/actionbar/detailactions/pin/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/pin/component.ts rename to modules/web/src/common/components/actionbar/detailactions/pin/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/pin/template.html b/modules/web/src/common/components/actionbar/detailactions/pin/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/pin/template.html rename to modules/web/src/common/components/actionbar/detailactions/pin/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/restart/component.ts b/modules/web/src/common/components/actionbar/detailactions/restart/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/restart/component.ts rename to modules/web/src/common/components/actionbar/detailactions/restart/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/restart/template.html b/modules/web/src/common/components/actionbar/detailactions/restart/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/restart/template.html rename to modules/web/src/common/components/actionbar/detailactions/restart/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/scale/component.ts b/modules/web/src/common/components/actionbar/detailactions/scale/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/scale/component.ts rename to modules/web/src/common/components/actionbar/detailactions/scale/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/scale/template.html b/modules/web/src/common/components/actionbar/detailactions/scale/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/scale/template.html rename to modules/web/src/common/components/actionbar/detailactions/scale/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/template.html b/modules/web/src/common/components/actionbar/detailactions/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/template.html rename to modules/web/src/common/components/actionbar/detailactions/template.html diff --git a/src/app/frontend/common/components/actionbar/detailactions/trigger/component.ts b/modules/web/src/common/components/actionbar/detailactions/trigger/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/trigger/component.ts rename to modules/web/src/common/components/actionbar/detailactions/trigger/component.ts diff --git a/src/app/frontend/common/components/actionbar/detailactions/trigger/template.html b/modules/web/src/common/components/actionbar/detailactions/trigger/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/detailactions/trigger/template.html rename to modules/web/src/common/components/actionbar/detailactions/trigger/template.html diff --git a/src/app/frontend/common/components/actionbar/template.html b/modules/web/src/common/components/actionbar/template.html similarity index 100% rename from src/app/frontend/common/components/actionbar/template.html rename to modules/web/src/common/components/actionbar/template.html diff --git a/src/app/frontend/common/components/actionbars/default/component.ts b/modules/web/src/common/components/actionbars/default/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/default/component.ts rename to modules/web/src/common/components/actionbars/default/component.ts diff --git a/src/app/frontend/common/components/actionbars/default/template.html b/modules/web/src/common/components/actionbars/default/template.html similarity index 100% rename from src/app/frontend/common/components/actionbars/default/template.html rename to modules/web/src/common/components/actionbars/default/template.html diff --git a/src/app/frontend/common/components/actionbars/logsdefault/component.ts b/modules/web/src/common/components/actionbars/logsdefault/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/logsdefault/component.ts rename to modules/web/src/common/components/actionbars/logsdefault/component.ts diff --git a/src/app/frontend/common/components/actionbars/logsdefault/template.html b/modules/web/src/common/components/actionbars/logsdefault/template.html similarity index 100% rename from src/app/frontend/common/components/actionbars/logsdefault/template.html rename to modules/web/src/common/components/actionbars/logsdefault/template.html diff --git a/src/app/frontend/common/components/actionbars/logsexecdefault/component.ts b/modules/web/src/common/components/actionbars/logsexecdefault/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/logsexecdefault/component.ts rename to modules/web/src/common/components/actionbars/logsexecdefault/component.ts diff --git a/src/app/frontend/common/components/actionbars/logsexecdefault/template.html b/modules/web/src/common/components/actionbars/logsexecdefault/template.html similarity index 100% rename from src/app/frontend/common/components/actionbars/logsexecdefault/template.html rename to modules/web/src/common/components/actionbars/logsexecdefault/template.html diff --git a/src/app/frontend/common/components/actionbars/logsscaledefault/component.ts b/modules/web/src/common/components/actionbars/logsscaledefault/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/logsscaledefault/component.ts rename to modules/web/src/common/components/actionbars/logsscaledefault/component.ts diff --git a/src/app/frontend/common/components/actionbars/logsscaledefault/template.html b/modules/web/src/common/components/actionbars/logsscaledefault/template.html similarity index 100% rename from src/app/frontend/common/components/actionbars/logsscaledefault/template.html rename to modules/web/src/common/components/actionbars/logsscaledefault/template.html diff --git a/src/app/frontend/common/components/actionbars/pindefault/component.ts b/modules/web/src/common/components/actionbars/pindefault/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/pindefault/component.ts rename to modules/web/src/common/components/actionbars/pindefault/component.ts diff --git a/src/app/frontend/common/components/actionbars/pindefault/template.html b/modules/web/src/common/components/actionbars/pindefault/template.html similarity index 100% rename from src/app/frontend/common/components/actionbars/pindefault/template.html rename to modules/web/src/common/components/actionbars/pindefault/template.html diff --git a/src/app/frontend/common/components/actionbars/routing.ts b/modules/web/src/common/components/actionbars/routing.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/routing.ts rename to modules/web/src/common/components/actionbars/routing.ts diff --git a/src/app/frontend/common/components/actionbars/scaledefault/component.ts b/modules/web/src/common/components/actionbars/scaledefault/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/scaledefault/component.ts rename to modules/web/src/common/components/actionbars/scaledefault/component.ts diff --git a/src/app/frontend/common/components/actionbars/scaledefault/template.html b/modules/web/src/common/components/actionbars/scaledefault/template.html similarity index 100% rename from src/app/frontend/common/components/actionbars/scaledefault/template.html rename to modules/web/src/common/components/actionbars/scaledefault/template.html diff --git a/src/app/frontend/common/components/actionbars/triggerdefault/component.ts b/modules/web/src/common/components/actionbars/triggerdefault/component.ts similarity index 100% rename from src/app/frontend/common/components/actionbars/triggerdefault/component.ts rename to modules/web/src/common/components/actionbars/triggerdefault/component.ts diff --git a/src/app/frontend/common/components/actionbars/triggerdefault/template.html b/modules/web/src/common/components/actionbars/triggerdefault/template.html similarity index 100% rename from src/app/frontend/common/components/actionbars/triggerdefault/template.html rename to modules/web/src/common/components/actionbars/triggerdefault/template.html diff --git a/src/app/frontend/common/components/breadcrumbs/component.ts b/modules/web/src/common/components/breadcrumbs/component.ts similarity index 100% rename from src/app/frontend/common/components/breadcrumbs/component.ts rename to modules/web/src/common/components/breadcrumbs/component.ts diff --git a/src/app/frontend/common/components/breadcrumbs/style.scss b/modules/web/src/common/components/breadcrumbs/style.scss similarity index 100% rename from src/app/frontend/common/components/breadcrumbs/style.scss rename to modules/web/src/common/components/breadcrumbs/style.scss diff --git a/src/app/frontend/common/components/breadcrumbs/template.html b/modules/web/src/common/components/breadcrumbs/template.html similarity index 100% rename from src/app/frontend/common/components/breadcrumbs/template.html rename to modules/web/src/common/components/breadcrumbs/template.html diff --git a/src/app/frontend/common/components/card/component.spec.ts b/modules/web/src/common/components/card/component.spec.ts similarity index 100% rename from src/app/frontend/common/components/card/component.spec.ts rename to modules/web/src/common/components/card/component.spec.ts diff --git a/src/app/frontend/common/components/card/component.ts b/modules/web/src/common/components/card/component.ts similarity index 100% rename from src/app/frontend/common/components/card/component.ts rename to modules/web/src/common/components/card/component.ts diff --git a/src/app/frontend/common/components/card/style.scss b/modules/web/src/common/components/card/style.scss similarity index 100% rename from src/app/frontend/common/components/card/style.scss rename to modules/web/src/common/components/card/style.scss diff --git a/src/app/frontend/common/components/card/template.html b/modules/web/src/common/components/card/template.html similarity index 100% rename from src/app/frontend/common/components/card/template.html rename to modules/web/src/common/components/card/template.html diff --git a/src/app/frontend/common/components/chips/chipdialog/dialog.ts b/modules/web/src/common/components/chips/chipdialog/dialog.ts similarity index 100% rename from src/app/frontend/common/components/chips/chipdialog/dialog.ts rename to modules/web/src/common/components/chips/chipdialog/dialog.ts diff --git a/src/app/frontend/common/components/chips/chipdialog/template.html b/modules/web/src/common/components/chips/chipdialog/template.html similarity index 100% rename from src/app/frontend/common/components/chips/chipdialog/template.html rename to modules/web/src/common/components/chips/chipdialog/template.html diff --git a/src/app/frontend/common/components/chips/component.ts b/modules/web/src/common/components/chips/component.ts similarity index 100% rename from src/app/frontend/common/components/chips/component.ts rename to modules/web/src/common/components/chips/component.ts diff --git a/src/app/frontend/common/components/chips/style.scss b/modules/web/src/common/components/chips/style.scss similarity index 100% rename from src/app/frontend/common/components/chips/style.scss rename to modules/web/src/common/components/chips/style.scss diff --git a/src/app/frontend/common/components/chips/template.html b/modules/web/src/common/components/chips/template.html similarity index 100% rename from src/app/frontend/common/components/chips/template.html rename to modules/web/src/common/components/chips/template.html diff --git a/src/app/frontend/common/components/condition/component.ts b/modules/web/src/common/components/condition/component.ts similarity index 100% rename from src/app/frontend/common/components/condition/component.ts rename to modules/web/src/common/components/condition/component.ts diff --git a/src/app/frontend/common/components/condition/template.html b/modules/web/src/common/components/condition/template.html similarity index 100% rename from src/app/frontend/common/components/condition/template.html rename to modules/web/src/common/components/condition/template.html diff --git a/src/app/frontend/common/components/container/component.ts b/modules/web/src/common/components/container/component.ts similarity index 100% rename from src/app/frontend/common/components/container/component.ts rename to modules/web/src/common/components/container/component.ts diff --git a/src/app/frontend/common/components/container/style.scss b/modules/web/src/common/components/container/style.scss similarity index 100% rename from src/app/frontend/common/components/container/style.scss rename to modules/web/src/common/components/container/style.scss diff --git a/src/app/frontend/common/components/container/template.html b/modules/web/src/common/components/container/template.html similarity index 100% rename from src/app/frontend/common/components/container/template.html rename to modules/web/src/common/components/container/template.html diff --git a/src/app/frontend/common/components/creator/component.ts b/modules/web/src/common/components/creator/component.ts similarity index 100% rename from src/app/frontend/common/components/creator/component.ts rename to modules/web/src/common/components/creator/component.ts diff --git a/src/app/frontend/common/components/creator/template.html b/modules/web/src/common/components/creator/template.html similarity index 100% rename from src/app/frontend/common/components/creator/template.html rename to modules/web/src/common/components/creator/template.html diff --git a/src/app/frontend/common/components/date/component.ts b/modules/web/src/common/components/date/component.ts similarity index 100% rename from src/app/frontend/common/components/date/component.ts rename to modules/web/src/common/components/date/component.ts diff --git a/src/app/frontend/common/components/date/style.scss b/modules/web/src/common/components/date/style.scss similarity index 100% rename from src/app/frontend/common/components/date/style.scss rename to modules/web/src/common/components/date/style.scss diff --git a/src/app/frontend/common/components/date/template.html b/modules/web/src/common/components/date/template.html similarity index 100% rename from src/app/frontend/common/components/date/template.html rename to modules/web/src/common/components/date/template.html diff --git a/src/app/frontend/common/components/endpoint/cardlist/component.ts b/modules/web/src/common/components/endpoint/cardlist/component.ts similarity index 100% rename from src/app/frontend/common/components/endpoint/cardlist/component.ts rename to modules/web/src/common/components/endpoint/cardlist/component.ts diff --git a/src/app/frontend/common/components/endpoint/cardlist/style.scss b/modules/web/src/common/components/endpoint/cardlist/style.scss similarity index 100% rename from src/app/frontend/common/components/endpoint/cardlist/style.scss rename to modules/web/src/common/components/endpoint/cardlist/style.scss diff --git a/src/app/frontend/common/components/endpoint/cardlist/template.html b/modules/web/src/common/components/endpoint/cardlist/template.html similarity index 100% rename from src/app/frontend/common/components/endpoint/cardlist/template.html rename to modules/web/src/common/components/endpoint/cardlist/template.html diff --git a/src/app/frontend/common/components/endpoint/external/component.ts b/modules/web/src/common/components/endpoint/external/component.ts similarity index 100% rename from src/app/frontend/common/components/endpoint/external/component.ts rename to modules/web/src/common/components/endpoint/external/component.ts diff --git a/src/app/frontend/common/components/endpoint/external/style.scss b/modules/web/src/common/components/endpoint/external/style.scss similarity index 100% rename from src/app/frontend/common/components/endpoint/external/style.scss rename to modules/web/src/common/components/endpoint/external/style.scss diff --git a/src/app/frontend/common/components/endpoint/external/template.html b/modules/web/src/common/components/endpoint/external/template.html similarity index 100% rename from src/app/frontend/common/components/endpoint/external/template.html rename to modules/web/src/common/components/endpoint/external/template.html diff --git a/src/app/frontend/common/components/endpoint/internal/component.ts b/modules/web/src/common/components/endpoint/internal/component.ts similarity index 100% rename from src/app/frontend/common/components/endpoint/internal/component.ts rename to modules/web/src/common/components/endpoint/internal/component.ts diff --git a/src/app/frontend/common/components/endpoint/internal/style.scss b/modules/web/src/common/components/endpoint/internal/style.scss similarity index 100% rename from src/app/frontend/common/components/endpoint/internal/style.scss rename to modules/web/src/common/components/endpoint/internal/style.scss diff --git a/src/app/frontend/common/components/endpoint/internal/template.html b/modules/web/src/common/components/endpoint/internal/template.html similarity index 100% rename from src/app/frontend/common/components/endpoint/internal/template.html rename to modules/web/src/common/components/endpoint/internal/template.html diff --git a/src/app/frontend/common/components/graph/component.ts b/modules/web/src/common/components/graph/component.ts similarity index 100% rename from src/app/frontend/common/components/graph/component.ts rename to modules/web/src/common/components/graph/component.ts diff --git a/src/app/frontend/common/components/graph/helper.ts b/modules/web/src/common/components/graph/helper.ts similarity index 100% rename from src/app/frontend/common/components/graph/helper.ts rename to modules/web/src/common/components/graph/helper.ts diff --git a/src/app/frontend/common/components/graph/style.scss b/modules/web/src/common/components/graph/style.scss similarity index 100% rename from src/app/frontend/common/components/graph/style.scss rename to modules/web/src/common/components/graph/style.scss diff --git a/src/app/frontend/common/components/graph/template.html b/modules/web/src/common/components/graph/template.html similarity index 100% rename from src/app/frontend/common/components/graph/template.html rename to modules/web/src/common/components/graph/template.html diff --git a/src/app/frontend/common/components/graphcard/component.spec.ts b/modules/web/src/common/components/graphcard/component.spec.ts similarity index 100% rename from src/app/frontend/common/components/graphcard/component.spec.ts rename to modules/web/src/common/components/graphcard/component.spec.ts diff --git a/src/app/frontend/common/components/graphcard/component.ts b/modules/web/src/common/components/graphcard/component.ts similarity index 100% rename from src/app/frontend/common/components/graphcard/component.ts rename to modules/web/src/common/components/graphcard/component.ts diff --git a/src/app/frontend/common/components/graphcard/template.html b/modules/web/src/common/components/graphcard/template.html similarity index 100% rename from src/app/frontend/common/components/graphcard/template.html rename to modules/web/src/common/components/graphcard/template.html diff --git a/src/app/frontend/common/components/graphmetrics/component.ts b/modules/web/src/common/components/graphmetrics/component.ts similarity index 100% rename from src/app/frontend/common/components/graphmetrics/component.ts rename to modules/web/src/common/components/graphmetrics/component.ts diff --git a/src/app/frontend/common/components/graphmetrics/template.html b/modules/web/src/common/components/graphmetrics/template.html similarity index 100% rename from src/app/frontend/common/components/graphmetrics/template.html rename to modules/web/src/common/components/graphmetrics/template.html diff --git a/src/app/frontend/common/components/hiddenproperty/component.ts b/modules/web/src/common/components/hiddenproperty/component.ts similarity index 100% rename from src/app/frontend/common/components/hiddenproperty/component.ts rename to modules/web/src/common/components/hiddenproperty/component.ts diff --git a/src/app/frontend/common/components/hiddenproperty/style.scss b/modules/web/src/common/components/hiddenproperty/style.scss similarity index 100% rename from src/app/frontend/common/components/hiddenproperty/style.scss rename to modules/web/src/common/components/hiddenproperty/style.scss diff --git a/src/app/frontend/common/components/hiddenproperty/template.html b/modules/web/src/common/components/hiddenproperty/template.html similarity index 100% rename from src/app/frontend/common/components/hiddenproperty/template.html rename to modules/web/src/common/components/hiddenproperty/template.html diff --git a/src/app/frontend/common/components/ingressrulelist/component.ts b/modules/web/src/common/components/ingressrulelist/component.ts similarity index 100% rename from src/app/frontend/common/components/ingressrulelist/component.ts rename to modules/web/src/common/components/ingressrulelist/component.ts diff --git a/src/app/frontend/common/components/ingressrulelist/template.html b/modules/web/src/common/components/ingressrulelist/template.html similarity index 100% rename from src/app/frontend/common/components/ingressrulelist/template.html rename to modules/web/src/common/components/ingressrulelist/template.html diff --git a/src/app/frontend/common/components/limits/component.ts b/modules/web/src/common/components/limits/component.ts similarity index 100% rename from src/app/frontend/common/components/limits/component.ts rename to modules/web/src/common/components/limits/component.ts diff --git a/src/app/frontend/common/components/limits/template.html b/modules/web/src/common/components/limits/template.html similarity index 100% rename from src/app/frontend/common/components/limits/template.html rename to modules/web/src/common/components/limits/template.html diff --git a/src/app/frontend/common/components/list/column/component.ts b/modules/web/src/common/components/list/column/component.ts similarity index 100% rename from src/app/frontend/common/components/list/column/component.ts rename to modules/web/src/common/components/list/column/component.ts diff --git a/src/app/frontend/common/components/list/column/menu/component.ts b/modules/web/src/common/components/list/column/menu/component.ts similarity index 100% rename from src/app/frontend/common/components/list/column/menu/component.ts rename to modules/web/src/common/components/list/column/menu/component.ts diff --git a/src/app/frontend/common/components/list/column/menu/template.html b/modules/web/src/common/components/list/column/menu/template.html similarity index 100% rename from src/app/frontend/common/components/list/column/menu/template.html rename to modules/web/src/common/components/list/column/menu/template.html diff --git a/src/app/frontend/common/components/list/column/template.html b/modules/web/src/common/components/list/column/template.html similarity index 100% rename from src/app/frontend/common/components/list/column/template.html rename to modules/web/src/common/components/list/column/template.html diff --git a/src/app/frontend/common/components/list/filter/component.ts b/modules/web/src/common/components/list/filter/component.ts similarity index 100% rename from src/app/frontend/common/components/list/filter/component.ts rename to modules/web/src/common/components/list/filter/component.ts diff --git a/src/app/frontend/common/components/list/filter/style.scss b/modules/web/src/common/components/list/filter/style.scss similarity index 100% rename from src/app/frontend/common/components/list/filter/style.scss rename to modules/web/src/common/components/list/filter/style.scss diff --git a/src/app/frontend/common/components/list/filter/template.html b/modules/web/src/common/components/list/filter/template.html similarity index 100% rename from src/app/frontend/common/components/list/filter/template.html rename to modules/web/src/common/components/list/filter/template.html diff --git a/src/app/frontend/common/components/list/rowdetail/component.ts b/modules/web/src/common/components/list/rowdetail/component.ts similarity index 100% rename from src/app/frontend/common/components/list/rowdetail/component.ts rename to modules/web/src/common/components/list/rowdetail/component.ts diff --git a/src/app/frontend/common/components/list/rowdetail/style.scss b/modules/web/src/common/components/list/rowdetail/style.scss similarity index 100% rename from src/app/frontend/common/components/list/rowdetail/style.scss rename to modules/web/src/common/components/list/rowdetail/style.scss diff --git a/src/app/frontend/common/components/list/rowdetail/template.html b/modules/web/src/common/components/list/rowdetail/template.html similarity index 100% rename from src/app/frontend/common/components/list/rowdetail/template.html rename to modules/web/src/common/components/list/rowdetail/template.html diff --git a/src/app/frontend/common/components/list/spinner/component.ts b/modules/web/src/common/components/list/spinner/component.ts similarity index 100% rename from src/app/frontend/common/components/list/spinner/component.ts rename to modules/web/src/common/components/list/spinner/component.ts diff --git a/src/app/frontend/common/components/list/spinner/template.html b/modules/web/src/common/components/list/spinner/template.html similarity index 100% rename from src/app/frontend/common/components/list/spinner/template.html rename to modules/web/src/common/components/list/spinner/template.html diff --git a/src/app/frontend/common/components/list/zerostate/component.ts b/modules/web/src/common/components/list/zerostate/component.ts similarity index 100% rename from src/app/frontend/common/components/list/zerostate/component.ts rename to modules/web/src/common/components/list/zerostate/component.ts diff --git a/src/app/frontend/common/components/list/zerostate/style.scss b/modules/web/src/common/components/list/zerostate/style.scss similarity index 100% rename from src/app/frontend/common/components/list/zerostate/style.scss rename to modules/web/src/common/components/list/zerostate/style.scss diff --git a/src/app/frontend/common/components/list/zerostate/template.html b/modules/web/src/common/components/list/zerostate/template.html similarity index 100% rename from src/app/frontend/common/components/list/zerostate/template.html rename to modules/web/src/common/components/list/zerostate/template.html diff --git a/src/app/frontend/common/components/module.ts b/modules/web/src/common/components/module.ts similarity index 100% rename from src/app/frontend/common/components/module.ts rename to modules/web/src/common/components/module.ts diff --git a/src/app/frontend/common/components/namespace/changedialog/dialog.ts b/modules/web/src/common/components/namespace/changedialog/dialog.ts similarity index 100% rename from src/app/frontend/common/components/namespace/changedialog/dialog.ts rename to modules/web/src/common/components/namespace/changedialog/dialog.ts diff --git a/src/app/frontend/common/components/namespace/changedialog/template.html b/modules/web/src/common/components/namespace/changedialog/template.html similarity index 100% rename from src/app/frontend/common/components/namespace/changedialog/template.html rename to modules/web/src/common/components/namespace/changedialog/template.html diff --git a/src/app/frontend/common/components/namespace/component.ts b/modules/web/src/common/components/namespace/component.ts similarity index 100% rename from src/app/frontend/common/components/namespace/component.ts rename to modules/web/src/common/components/namespace/component.ts diff --git a/src/app/frontend/common/components/namespace/style.scss b/modules/web/src/common/components/namespace/style.scss similarity index 100% rename from src/app/frontend/common/components/namespace/style.scss rename to modules/web/src/common/components/namespace/style.scss diff --git a/src/app/frontend/common/components/namespace/template.html b/modules/web/src/common/components/namespace/template.html similarity index 100% rename from src/app/frontend/common/components/namespace/template.html rename to modules/web/src/common/components/namespace/template.html diff --git a/src/app/frontend/common/components/objectmeta/component.spec.ts b/modules/web/src/common/components/objectmeta/component.spec.ts similarity index 100% rename from src/app/frontend/common/components/objectmeta/component.spec.ts rename to modules/web/src/common/components/objectmeta/component.spec.ts diff --git a/src/app/frontend/common/components/objectmeta/component.ts b/modules/web/src/common/components/objectmeta/component.ts similarity index 100% rename from src/app/frontend/common/components/objectmeta/component.ts rename to modules/web/src/common/components/objectmeta/component.ts diff --git a/src/app/frontend/common/components/objectmeta/template.html b/modules/web/src/common/components/objectmeta/template.html similarity index 100% rename from src/app/frontend/common/components/objectmeta/template.html rename to modules/web/src/common/components/objectmeta/template.html diff --git a/src/app/frontend/common/components/podstatus/component.ts b/modules/web/src/common/components/podstatus/component.ts similarity index 100% rename from src/app/frontend/common/components/podstatus/component.ts rename to modules/web/src/common/components/podstatus/component.ts diff --git a/src/app/frontend/common/components/podstatus/template.html b/modules/web/src/common/components/podstatus/template.html similarity index 100% rename from src/app/frontend/common/components/podstatus/template.html rename to modules/web/src/common/components/podstatus/template.html diff --git a/src/app/frontend/common/components/policyrule/component.ts b/modules/web/src/common/components/policyrule/component.ts similarity index 100% rename from src/app/frontend/common/components/policyrule/component.ts rename to modules/web/src/common/components/policyrule/component.ts diff --git a/src/app/frontend/common/components/policyrule/template.html b/modules/web/src/common/components/policyrule/template.html similarity index 100% rename from src/app/frontend/common/components/policyrule/template.html rename to modules/web/src/common/components/policyrule/template.html diff --git a/src/app/frontend/common/components/probe/component.ts b/modules/web/src/common/components/probe/component.ts similarity index 100% rename from src/app/frontend/common/components/probe/component.ts rename to modules/web/src/common/components/probe/component.ts diff --git a/src/app/frontend/common/components/probe/template.html b/modules/web/src/common/components/probe/template.html similarity index 100% rename from src/app/frontend/common/components/probe/template.html rename to modules/web/src/common/components/probe/template.html diff --git a/src/app/frontend/common/components/property/component.ts b/modules/web/src/common/components/property/component.ts similarity index 100% rename from src/app/frontend/common/components/property/component.ts rename to modules/web/src/common/components/property/component.ts diff --git a/src/app/frontend/common/components/property/style.scss b/modules/web/src/common/components/property/style.scss similarity index 100% rename from src/app/frontend/common/components/property/style.scss rename to modules/web/src/common/components/property/style.scss diff --git a/src/app/frontend/common/components/property/template.html b/modules/web/src/common/components/property/template.html similarity index 100% rename from src/app/frontend/common/components/property/template.html rename to modules/web/src/common/components/property/template.html diff --git a/src/app/frontend/common/components/proxy/component.ts b/modules/web/src/common/components/proxy/component.ts similarity index 100% rename from src/app/frontend/common/components/proxy/component.ts rename to modules/web/src/common/components/proxy/component.ts diff --git a/src/app/frontend/common/components/quotas/component.ts b/modules/web/src/common/components/quotas/component.ts similarity index 100% rename from src/app/frontend/common/components/quotas/component.ts rename to modules/web/src/common/components/quotas/component.ts diff --git a/src/app/frontend/common/components/quotas/template.html b/modules/web/src/common/components/quotas/template.html similarity index 100% rename from src/app/frontend/common/components/quotas/template.html rename to modules/web/src/common/components/quotas/template.html diff --git a/src/app/frontend/common/components/resourcelist/clusterrole/component.ts b/modules/web/src/common/components/resourcelist/clusterrole/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/clusterrole/component.ts rename to modules/web/src/common/components/resourcelist/clusterrole/component.ts diff --git a/src/app/frontend/common/components/resourcelist/clusterrole/template.html b/modules/web/src/common/components/resourcelist/clusterrole/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/clusterrole/template.html rename to modules/web/src/common/components/resourcelist/clusterrole/template.html diff --git a/src/app/frontend/common/components/resourcelist/clusterrolebinding/component.ts b/modules/web/src/common/components/resourcelist/clusterrolebinding/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/clusterrolebinding/component.ts rename to modules/web/src/common/components/resourcelist/clusterrolebinding/component.ts diff --git a/src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html b/modules/web/src/common/components/resourcelist/clusterrolebinding/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html rename to modules/web/src/common/components/resourcelist/clusterrolebinding/template.html diff --git a/src/app/frontend/common/components/resourcelist/configmap/component.ts b/modules/web/src/common/components/resourcelist/configmap/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/configmap/component.ts rename to modules/web/src/common/components/resourcelist/configmap/component.ts diff --git a/src/app/frontend/common/components/resourcelist/configmap/template.html b/modules/web/src/common/components/resourcelist/configmap/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/configmap/template.html rename to modules/web/src/common/components/resourcelist/configmap/template.html diff --git a/src/app/frontend/common/components/resourcelist/crd/component.ts b/modules/web/src/common/components/resourcelist/crd/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/crd/component.ts rename to modules/web/src/common/components/resourcelist/crd/component.ts diff --git a/src/app/frontend/common/components/resourcelist/crd/template.html b/modules/web/src/common/components/resourcelist/crd/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/crd/template.html rename to modules/web/src/common/components/resourcelist/crd/template.html diff --git a/src/app/frontend/common/components/resourcelist/crdobject/component.ts b/modules/web/src/common/components/resourcelist/crdobject/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/crdobject/component.ts rename to modules/web/src/common/components/resourcelist/crdobject/component.ts diff --git a/src/app/frontend/common/components/resourcelist/crdobject/template.html b/modules/web/src/common/components/resourcelist/crdobject/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/crdobject/template.html rename to modules/web/src/common/components/resourcelist/crdobject/template.html diff --git a/src/app/frontend/common/components/resourcelist/crdversion/component.ts b/modules/web/src/common/components/resourcelist/crdversion/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/crdversion/component.ts rename to modules/web/src/common/components/resourcelist/crdversion/component.ts diff --git a/src/app/frontend/common/components/resourcelist/crdversion/template.html b/modules/web/src/common/components/resourcelist/crdversion/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/crdversion/template.html rename to modules/web/src/common/components/resourcelist/crdversion/template.html diff --git a/src/app/frontend/common/components/resourcelist/cronjob/component.ts b/modules/web/src/common/components/resourcelist/cronjob/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/cronjob/component.ts rename to modules/web/src/common/components/resourcelist/cronjob/component.ts diff --git a/src/app/frontend/common/components/resourcelist/cronjob/template.html b/modules/web/src/common/components/resourcelist/cronjob/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/cronjob/template.html rename to modules/web/src/common/components/resourcelist/cronjob/template.html diff --git a/src/app/frontend/common/components/resourcelist/daemonset/component.ts b/modules/web/src/common/components/resourcelist/daemonset/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/daemonset/component.ts rename to modules/web/src/common/components/resourcelist/daemonset/component.ts diff --git a/src/app/frontend/common/components/resourcelist/daemonset/template.html b/modules/web/src/common/components/resourcelist/daemonset/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/daemonset/template.html rename to modules/web/src/common/components/resourcelist/daemonset/template.html diff --git a/src/app/frontend/common/components/resourcelist/deployment/component.ts b/modules/web/src/common/components/resourcelist/deployment/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/deployment/component.ts rename to modules/web/src/common/components/resourcelist/deployment/component.ts diff --git a/src/app/frontend/common/components/resourcelist/deployment/template.html b/modules/web/src/common/components/resourcelist/deployment/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/deployment/template.html rename to modules/web/src/common/components/resourcelist/deployment/template.html diff --git a/src/app/frontend/common/components/resourcelist/event/component.ts b/modules/web/src/common/components/resourcelist/event/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/event/component.ts rename to modules/web/src/common/components/resourcelist/event/component.ts diff --git a/src/app/frontend/common/components/resourcelist/event/template.html b/modules/web/src/common/components/resourcelist/event/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/event/template.html rename to modules/web/src/common/components/resourcelist/event/template.html diff --git a/src/app/frontend/common/components/resourcelist/groupids.ts b/modules/web/src/common/components/resourcelist/groupids.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/groupids.ts rename to modules/web/src/common/components/resourcelist/groupids.ts diff --git a/src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/component.ts b/modules/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/component.ts rename to modules/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts diff --git a/src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html b/modules/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html rename to modules/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html diff --git a/src/app/frontend/common/components/resourcelist/ingress/component.ts b/modules/web/src/common/components/resourcelist/ingress/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/ingress/component.ts rename to modules/web/src/common/components/resourcelist/ingress/component.ts diff --git a/src/app/frontend/common/components/resourcelist/ingress/style.scss b/modules/web/src/common/components/resourcelist/ingress/style.scss similarity index 100% rename from src/app/frontend/common/components/resourcelist/ingress/style.scss rename to modules/web/src/common/components/resourcelist/ingress/style.scss diff --git a/src/app/frontend/common/components/resourcelist/ingress/template.html b/modules/web/src/common/components/resourcelist/ingress/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/ingress/template.html rename to modules/web/src/common/components/resourcelist/ingress/template.html diff --git a/src/app/frontend/common/components/resourcelist/job/component.ts b/modules/web/src/common/components/resourcelist/job/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/job/component.ts rename to modules/web/src/common/components/resourcelist/job/component.ts diff --git a/src/app/frontend/common/components/resourcelist/job/template.html b/modules/web/src/common/components/resourcelist/job/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/job/template.html rename to modules/web/src/common/components/resourcelist/job/template.html diff --git a/src/app/frontend/common/components/resourcelist/namespace/component.ts b/modules/web/src/common/components/resourcelist/namespace/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/namespace/component.ts rename to modules/web/src/common/components/resourcelist/namespace/component.ts diff --git a/src/app/frontend/common/components/resourcelist/namespace/template.html b/modules/web/src/common/components/resourcelist/namespace/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/namespace/template.html rename to modules/web/src/common/components/resourcelist/namespace/template.html diff --git a/src/app/frontend/common/components/resourcelist/networkpolicy/component.ts b/modules/web/src/common/components/resourcelist/networkpolicy/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/networkpolicy/component.ts rename to modules/web/src/common/components/resourcelist/networkpolicy/component.ts diff --git a/src/app/frontend/common/components/resourcelist/networkpolicy/template.html b/modules/web/src/common/components/resourcelist/networkpolicy/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/networkpolicy/template.html rename to modules/web/src/common/components/resourcelist/networkpolicy/template.html diff --git a/src/app/frontend/common/components/resourcelist/node/component.ts b/modules/web/src/common/components/resourcelist/node/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/node/component.ts rename to modules/web/src/common/components/resourcelist/node/component.ts diff --git a/src/app/frontend/common/components/resourcelist/node/template.html b/modules/web/src/common/components/resourcelist/node/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/node/template.html rename to modules/web/src/common/components/resourcelist/node/template.html diff --git a/src/app/frontend/common/components/resourcelist/persistentvolume/component.ts b/modules/web/src/common/components/resourcelist/persistentvolume/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/persistentvolume/component.ts rename to modules/web/src/common/components/resourcelist/persistentvolume/component.ts diff --git a/src/app/frontend/common/components/resourcelist/persistentvolume/template.html b/modules/web/src/common/components/resourcelist/persistentvolume/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/persistentvolume/template.html rename to modules/web/src/common/components/resourcelist/persistentvolume/template.html diff --git a/src/app/frontend/common/components/resourcelist/persistentvolumeclaim/component.ts b/modules/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/persistentvolumeclaim/component.ts rename to modules/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts diff --git a/src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html b/modules/web/src/common/components/resourcelist/persistentvolumeclaim/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html rename to modules/web/src/common/components/resourcelist/persistentvolumeclaim/template.html diff --git a/src/app/frontend/common/components/resourcelist/plugin/component.ts b/modules/web/src/common/components/resourcelist/plugin/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/plugin/component.ts rename to modules/web/src/common/components/resourcelist/plugin/component.ts diff --git a/src/app/frontend/common/components/resourcelist/plugin/template.html b/modules/web/src/common/components/resourcelist/plugin/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/plugin/template.html rename to modules/web/src/common/components/resourcelist/plugin/template.html diff --git a/src/app/frontend/common/components/resourcelist/pod/component.ts b/modules/web/src/common/components/resourcelist/pod/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/pod/component.ts rename to modules/web/src/common/components/resourcelist/pod/component.ts diff --git a/src/app/frontend/common/components/resourcelist/pod/template.html b/modules/web/src/common/components/resourcelist/pod/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/pod/template.html rename to modules/web/src/common/components/resourcelist/pod/template.html diff --git a/src/app/frontend/common/components/resourcelist/replicaset/component.ts b/modules/web/src/common/components/resourcelist/replicaset/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/replicaset/component.ts rename to modules/web/src/common/components/resourcelist/replicaset/component.ts diff --git a/src/app/frontend/common/components/resourcelist/replicaset/template.html b/modules/web/src/common/components/resourcelist/replicaset/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/replicaset/template.html rename to modules/web/src/common/components/resourcelist/replicaset/template.html diff --git a/src/app/frontend/common/components/resourcelist/replicationcontroller/component.ts b/modules/web/src/common/components/resourcelist/replicationcontroller/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/replicationcontroller/component.ts rename to modules/web/src/common/components/resourcelist/replicationcontroller/component.ts diff --git a/src/app/frontend/common/components/resourcelist/replicationcontroller/template.html b/modules/web/src/common/components/resourcelist/replicationcontroller/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/replicationcontroller/template.html rename to modules/web/src/common/components/resourcelist/replicationcontroller/template.html diff --git a/src/app/frontend/common/components/resourcelist/role/component.ts b/modules/web/src/common/components/resourcelist/role/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/role/component.ts rename to modules/web/src/common/components/resourcelist/role/component.ts diff --git a/src/app/frontend/common/components/resourcelist/role/template.html b/modules/web/src/common/components/resourcelist/role/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/role/template.html rename to modules/web/src/common/components/resourcelist/role/template.html diff --git a/src/app/frontend/common/components/resourcelist/rolebinding/component.ts b/modules/web/src/common/components/resourcelist/rolebinding/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/rolebinding/component.ts rename to modules/web/src/common/components/resourcelist/rolebinding/component.ts diff --git a/src/app/frontend/common/components/resourcelist/rolebinding/template.html b/modules/web/src/common/components/resourcelist/rolebinding/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/rolebinding/template.html rename to modules/web/src/common/components/resourcelist/rolebinding/template.html diff --git a/src/app/frontend/common/components/resourcelist/secret/component.ts b/modules/web/src/common/components/resourcelist/secret/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/secret/component.ts rename to modules/web/src/common/components/resourcelist/secret/component.ts diff --git a/src/app/frontend/common/components/resourcelist/secret/template.html b/modules/web/src/common/components/resourcelist/secret/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/secret/template.html rename to modules/web/src/common/components/resourcelist/secret/template.html diff --git a/src/app/frontend/common/components/resourcelist/service/component.ts b/modules/web/src/common/components/resourcelist/service/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/service/component.ts rename to modules/web/src/common/components/resourcelist/service/component.ts diff --git a/src/app/frontend/common/components/resourcelist/service/template.html b/modules/web/src/common/components/resourcelist/service/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/service/template.html rename to modules/web/src/common/components/resourcelist/service/template.html diff --git a/src/app/frontend/common/components/resourcelist/serviceaccount/component.ts b/modules/web/src/common/components/resourcelist/serviceaccount/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/serviceaccount/component.ts rename to modules/web/src/common/components/resourcelist/serviceaccount/component.ts diff --git a/src/app/frontend/common/components/resourcelist/serviceaccount/template.html b/modules/web/src/common/components/resourcelist/serviceaccount/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/serviceaccount/template.html rename to modules/web/src/common/components/resourcelist/serviceaccount/template.html diff --git a/src/app/frontend/common/components/resourcelist/statefulset/component.ts b/modules/web/src/common/components/resourcelist/statefulset/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/statefulset/component.ts rename to modules/web/src/common/components/resourcelist/statefulset/component.ts diff --git a/src/app/frontend/common/components/resourcelist/statefulset/template.html b/modules/web/src/common/components/resourcelist/statefulset/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/statefulset/template.html rename to modules/web/src/common/components/resourcelist/statefulset/template.html diff --git a/src/app/frontend/common/components/resourcelist/statuses.ts b/modules/web/src/common/components/resourcelist/statuses.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/statuses.ts rename to modules/web/src/common/components/resourcelist/statuses.ts diff --git a/src/app/frontend/common/components/resourcelist/storageclass/component.ts b/modules/web/src/common/components/resourcelist/storageclass/component.ts similarity index 100% rename from src/app/frontend/common/components/resourcelist/storageclass/component.ts rename to modules/web/src/common/components/resourcelist/storageclass/component.ts diff --git a/src/app/frontend/common/components/resourcelist/storageclass/template.html b/modules/web/src/common/components/resourcelist/storageclass/template.html similarity index 100% rename from src/app/frontend/common/components/resourcelist/storageclass/template.html rename to modules/web/src/common/components/resourcelist/storageclass/template.html diff --git a/src/app/frontend/common/components/securitycontext/component.ts b/modules/web/src/common/components/securitycontext/component.ts similarity index 100% rename from src/app/frontend/common/components/securitycontext/component.ts rename to modules/web/src/common/components/securitycontext/component.ts diff --git a/src/app/frontend/common/components/securitycontext/template.html b/modules/web/src/common/components/securitycontext/template.html similarity index 100% rename from src/app/frontend/common/components/securitycontext/template.html rename to modules/web/src/common/components/securitycontext/template.html diff --git a/src/app/frontend/common/components/sparkline/cpu/component.ts b/modules/web/src/common/components/sparkline/cpu/component.ts similarity index 100% rename from src/app/frontend/common/components/sparkline/cpu/component.ts rename to modules/web/src/common/components/sparkline/cpu/component.ts diff --git a/src/app/frontend/common/components/sparkline/cpu/template.html b/modules/web/src/common/components/sparkline/cpu/template.html similarity index 100% rename from src/app/frontend/common/components/sparkline/cpu/template.html rename to modules/web/src/common/components/sparkline/cpu/template.html diff --git a/src/app/frontend/common/components/sparkline/memory/component.ts b/modules/web/src/common/components/sparkline/memory/component.ts similarity index 100% rename from src/app/frontend/common/components/sparkline/memory/component.ts rename to modules/web/src/common/components/sparkline/memory/component.ts diff --git a/src/app/frontend/common/components/sparkline/memory/template.html b/modules/web/src/common/components/sparkline/memory/template.html similarity index 100% rename from src/app/frontend/common/components/sparkline/memory/template.html rename to modules/web/src/common/components/sparkline/memory/template.html diff --git a/src/app/frontend/common/components/sparkline/sparkline.ts b/modules/web/src/common/components/sparkline/sparkline.ts similarity index 100% rename from src/app/frontend/common/components/sparkline/sparkline.ts rename to modules/web/src/common/components/sparkline/sparkline.ts diff --git a/src/app/frontend/common/components/subject/component.ts b/modules/web/src/common/components/subject/component.ts similarity index 100% rename from src/app/frontend/common/components/subject/component.ts rename to modules/web/src/common/components/subject/component.ts diff --git a/src/app/frontend/common/components/subject/template.html b/modules/web/src/common/components/subject/template.html similarity index 100% rename from src/app/frontend/common/components/subject/template.html rename to modules/web/src/common/components/subject/template.html diff --git a/src/app/frontend/common/components/textinput/component.ts b/modules/web/src/common/components/textinput/component.ts similarity index 100% rename from src/app/frontend/common/components/textinput/component.ts rename to modules/web/src/common/components/textinput/component.ts diff --git a/src/app/frontend/common/components/textinput/style.scss b/modules/web/src/common/components/textinput/style.scss similarity index 100% rename from src/app/frontend/common/components/textinput/style.scss rename to modules/web/src/common/components/textinput/style.scss diff --git a/src/app/frontend/common/components/textinput/template.html b/modules/web/src/common/components/textinput/template.html similarity index 100% rename from src/app/frontend/common/components/textinput/template.html rename to modules/web/src/common/components/textinput/template.html diff --git a/src/app/frontend/common/components/uploadfile/component.ts b/modules/web/src/common/components/uploadfile/component.ts similarity index 100% rename from src/app/frontend/common/components/uploadfile/component.ts rename to modules/web/src/common/components/uploadfile/component.ts diff --git a/src/app/frontend/common/components/uploadfile/style.scss b/modules/web/src/common/components/uploadfile/style.scss similarity index 100% rename from src/app/frontend/common/components/uploadfile/style.scss rename to modules/web/src/common/components/uploadfile/style.scss diff --git a/src/app/frontend/common/components/uploadfile/template.html b/modules/web/src/common/components/uploadfile/template.html similarity index 100% rename from src/app/frontend/common/components/uploadfile/template.html rename to modules/web/src/common/components/uploadfile/template.html diff --git a/src/app/frontend/common/components/volumemount/component.ts b/modules/web/src/common/components/volumemount/component.ts similarity index 100% rename from src/app/frontend/common/components/volumemount/component.ts rename to modules/web/src/common/components/volumemount/component.ts diff --git a/src/app/frontend/common/components/volumemount/template.html b/modules/web/src/common/components/volumemount/template.html similarity index 100% rename from src/app/frontend/common/components/volumemount/template.html rename to modules/web/src/common/components/volumemount/template.html diff --git a/src/app/frontend/common/components/workloadstatus/component.spec.ts b/modules/web/src/common/components/workloadstatus/component.spec.ts similarity index 100% rename from src/app/frontend/common/components/workloadstatus/component.spec.ts rename to modules/web/src/common/components/workloadstatus/component.spec.ts diff --git a/src/app/frontend/common/components/workloadstatus/component.ts b/modules/web/src/common/components/workloadstatus/component.ts similarity index 100% rename from src/app/frontend/common/components/workloadstatus/component.ts rename to modules/web/src/common/components/workloadstatus/component.ts diff --git a/src/app/frontend/common/components/workloadstatus/style.scss b/modules/web/src/common/components/workloadstatus/style.scss similarity index 100% rename from src/app/frontend/common/components/workloadstatus/style.scss rename to modules/web/src/common/components/workloadstatus/style.scss diff --git a/src/app/frontend/common/components/workloadstatus/template.html b/modules/web/src/common/components/workloadstatus/template.html similarity index 100% rename from src/app/frontend/common/components/workloadstatus/template.html rename to modules/web/src/common/components/workloadstatus/template.html diff --git a/src/app/frontend/common/components/zerostate/component.ts b/modules/web/src/common/components/zerostate/component.ts similarity index 100% rename from src/app/frontend/common/components/zerostate/component.ts rename to modules/web/src/common/components/zerostate/component.ts diff --git a/src/app/frontend/common/components/zerostate/style.scss b/modules/web/src/common/components/zerostate/style.scss similarity index 100% rename from src/app/frontend/common/components/zerostate/style.scss rename to modules/web/src/common/components/zerostate/style.scss diff --git a/src/app/frontend/common/components/zerostate/template.html b/modules/web/src/common/components/zerostate/template.html similarity index 100% rename from src/app/frontend/common/components/zerostate/template.html rename to modules/web/src/common/components/zerostate/template.html diff --git a/src/app/frontend/common/dialogs/alert/dialog.ts b/modules/web/src/common/dialogs/alert/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/alert/dialog.ts rename to modules/web/src/common/dialogs/alert/dialog.ts diff --git a/src/app/frontend/common/dialogs/alert/template.html b/modules/web/src/common/dialogs/alert/template.html similarity index 100% rename from src/app/frontend/common/dialogs/alert/template.html rename to modules/web/src/common/dialogs/alert/template.html diff --git a/src/app/frontend/common/dialogs/config/dialog.ts b/modules/web/src/common/dialogs/config/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/config/dialog.ts rename to modules/web/src/common/dialogs/config/dialog.ts diff --git a/src/app/frontend/common/dialogs/config/template.html b/modules/web/src/common/dialogs/config/template.html similarity index 100% rename from src/app/frontend/common/dialogs/config/template.html rename to modules/web/src/common/dialogs/config/template.html diff --git a/src/app/frontend/common/dialogs/deleteresource/dialog.ts b/modules/web/src/common/dialogs/deleteresource/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/deleteresource/dialog.ts rename to modules/web/src/common/dialogs/deleteresource/dialog.ts diff --git a/src/app/frontend/common/dialogs/deleteresource/template.html b/modules/web/src/common/dialogs/deleteresource/template.html similarity index 100% rename from src/app/frontend/common/dialogs/deleteresource/template.html rename to modules/web/src/common/dialogs/deleteresource/template.html diff --git a/src/app/frontend/common/dialogs/download/dialog.ts b/modules/web/src/common/dialogs/download/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/download/dialog.ts rename to modules/web/src/common/dialogs/download/dialog.ts diff --git a/src/app/frontend/common/dialogs/download/style.scss b/modules/web/src/common/dialogs/download/style.scss similarity index 100% rename from src/app/frontend/common/dialogs/download/style.scss rename to modules/web/src/common/dialogs/download/style.scss diff --git a/src/app/frontend/common/dialogs/download/template.html b/modules/web/src/common/dialogs/download/template.html similarity index 100% rename from src/app/frontend/common/dialogs/download/template.html rename to modules/web/src/common/dialogs/download/template.html diff --git a/src/app/frontend/common/dialogs/editresource/dialog.ts b/modules/web/src/common/dialogs/editresource/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/editresource/dialog.ts rename to modules/web/src/common/dialogs/editresource/dialog.ts diff --git a/src/app/frontend/common/dialogs/editresource/template.html b/modules/web/src/common/dialogs/editresource/template.html similarity index 100% rename from src/app/frontend/common/dialogs/editresource/template.html rename to modules/web/src/common/dialogs/editresource/template.html diff --git a/src/app/frontend/common/dialogs/module.ts b/modules/web/src/common/dialogs/module.ts similarity index 100% rename from src/app/frontend/common/dialogs/module.ts rename to modules/web/src/common/dialogs/module.ts diff --git a/src/app/frontend/common/dialogs/previewdeployment/dialog.ts b/modules/web/src/common/dialogs/previewdeployment/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/previewdeployment/dialog.ts rename to modules/web/src/common/dialogs/previewdeployment/dialog.ts diff --git a/src/app/frontend/common/dialogs/previewdeployment/template.html b/modules/web/src/common/dialogs/previewdeployment/template.html similarity index 100% rename from src/app/frontend/common/dialogs/previewdeployment/template.html rename to modules/web/src/common/dialogs/previewdeployment/template.html diff --git a/src/app/frontend/common/dialogs/restartresource/dialog.ts b/modules/web/src/common/dialogs/restartresource/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/restartresource/dialog.ts rename to modules/web/src/common/dialogs/restartresource/dialog.ts diff --git a/src/app/frontend/common/dialogs/restartresource/template.html b/modules/web/src/common/dialogs/restartresource/template.html similarity index 100% rename from src/app/frontend/common/dialogs/restartresource/template.html rename to modules/web/src/common/dialogs/restartresource/template.html diff --git a/src/app/frontend/common/dialogs/scaleresource/dialog.ts b/modules/web/src/common/dialogs/scaleresource/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/scaleresource/dialog.ts rename to modules/web/src/common/dialogs/scaleresource/dialog.ts diff --git a/src/app/frontend/common/dialogs/scaleresource/template.html b/modules/web/src/common/dialogs/scaleresource/template.html similarity index 100% rename from src/app/frontend/common/dialogs/scaleresource/template.html rename to modules/web/src/common/dialogs/scaleresource/template.html diff --git a/src/app/frontend/common/dialogs/triggerresource/dialog.ts b/modules/web/src/common/dialogs/triggerresource/dialog.ts similarity index 100% rename from src/app/frontend/common/dialogs/triggerresource/dialog.ts rename to modules/web/src/common/dialogs/triggerresource/dialog.ts diff --git a/src/app/frontend/common/dialogs/triggerresource/template.html b/modules/web/src/common/dialogs/triggerresource/template.html similarity index 100% rename from src/app/frontend/common/dialogs/triggerresource/template.html rename to modules/web/src/common/dialogs/triggerresource/template.html diff --git a/src/app/frontend/common/directives/autofocus/directive.ts b/modules/web/src/common/directives/autofocus/directive.ts similarity index 100% rename from src/app/frontend/common/directives/autofocus/directive.ts rename to modules/web/src/common/directives/autofocus/directive.ts diff --git a/src/app/frontend/common/directives/module.ts b/modules/web/src/common/directives/module.ts similarity index 100% rename from src/app/frontend/common/directives/module.ts rename to modules/web/src/common/directives/module.ts diff --git a/src/app/frontend/common/errors/errors.ts b/modules/web/src/common/errors/errors.ts similarity index 100% rename from src/app/frontend/common/errors/errors.ts rename to modules/web/src/common/errors/errors.ts diff --git a/src/app/frontend/common/interfaces/candeactivate.ts b/modules/web/src/common/interfaces/candeactivate.ts similarity index 100% rename from src/app/frontend/common/interfaces/candeactivate.ts rename to modules/web/src/common/interfaces/candeactivate.ts diff --git a/src/app/frontend/common/params/params.ts b/modules/web/src/common/params/params.ts similarity index 100% rename from src/app/frontend/common/params/params.ts rename to modules/web/src/common/params/params.ts diff --git a/src/app/frontend/common/pipes/commaseparated.ts b/modules/web/src/common/pipes/commaseparated.ts similarity index 100% rename from src/app/frontend/common/pipes/commaseparated.ts rename to modules/web/src/common/pipes/commaseparated.ts diff --git a/src/app/frontend/common/pipes/coreformatter.spec.ts b/modules/web/src/common/pipes/coreformatter.spec.ts similarity index 100% rename from src/app/frontend/common/pipes/coreformatter.spec.ts rename to modules/web/src/common/pipes/coreformatter.spec.ts diff --git a/src/app/frontend/common/pipes/coreformatter.ts b/modules/web/src/common/pipes/coreformatter.ts similarity index 100% rename from src/app/frontend/common/pipes/coreformatter.ts rename to modules/web/src/common/pipes/coreformatter.ts diff --git a/src/app/frontend/common/pipes/filterby.ts b/modules/web/src/common/pipes/filterby.ts similarity index 100% rename from src/app/frontend/common/pipes/filterby.ts rename to modules/web/src/common/pipes/filterby.ts diff --git a/src/app/frontend/common/pipes/memoryformatter.spec.ts b/modules/web/src/common/pipes/memoryformatter.spec.ts similarity index 100% rename from src/app/frontend/common/pipes/memoryformatter.spec.ts rename to modules/web/src/common/pipes/memoryformatter.spec.ts diff --git a/src/app/frontend/common/pipes/memoryformatter.ts b/modules/web/src/common/pipes/memoryformatter.ts similarity index 100% rename from src/app/frontend/common/pipes/memoryformatter.ts rename to modules/web/src/common/pipes/memoryformatter.ts diff --git a/src/app/frontend/common/pipes/module.ts b/modules/web/src/common/pipes/module.ts similarity index 100% rename from src/app/frontend/common/pipes/module.ts rename to modules/web/src/common/pipes/module.ts diff --git a/src/app/frontend/common/pipes/relativetime.ts b/modules/web/src/common/pipes/relativetime.ts similarity index 100% rename from src/app/frontend/common/pipes/relativetime.ts rename to modules/web/src/common/pipes/relativetime.ts diff --git a/src/app/frontend/common/pipes/stripansi.ts b/modules/web/src/common/pipes/stripansi.ts similarity index 100% rename from src/app/frontend/common/pipes/stripansi.ts rename to modules/web/src/common/pipes/stripansi.ts diff --git a/src/app/frontend/common/pipes/trim.ts b/modules/web/src/common/pipes/trim.ts similarity index 100% rename from src/app/frontend/common/pipes/trim.ts rename to modules/web/src/common/pipes/trim.ts diff --git a/src/app/frontend/common/pipes/untrim.ts b/modules/web/src/common/pipes/untrim.ts similarity index 100% rename from src/app/frontend/common/pipes/untrim.ts rename to modules/web/src/common/pipes/untrim.ts diff --git a/src/app/frontend/common/resources/groupedlist.ts b/modules/web/src/common/resources/groupedlist.ts similarity index 100% rename from src/app/frontend/common/resources/groupedlist.ts rename to modules/web/src/common/resources/groupedlist.ts diff --git a/src/app/frontend/common/resources/list.ts b/modules/web/src/common/resources/list.ts similarity index 100% rename from src/app/frontend/common/resources/list.ts rename to modules/web/src/common/resources/list.ts diff --git a/src/app/frontend/common/resources/rawresource.ts b/modules/web/src/common/resources/rawresource.ts similarity index 100% rename from src/app/frontend/common/resources/rawresource.ts rename to modules/web/src/common/resources/rawresource.ts diff --git a/src/app/frontend/common/resources/resource.ts b/modules/web/src/common/resources/resource.ts similarity index 100% rename from src/app/frontend/common/resources/resource.ts rename to modules/web/src/common/resources/resource.ts diff --git a/src/app/frontend/common/services/create/module.ts b/modules/web/src/common/services/create/module.ts similarity index 100% rename from src/app/frontend/common/services/create/module.ts rename to modules/web/src/common/services/create/module.ts diff --git a/src/app/frontend/common/services/create/service.ts b/modules/web/src/common/services/create/service.ts similarity index 100% rename from src/app/frontend/common/services/create/service.ts rename to modules/web/src/common/services/create/service.ts diff --git a/src/app/frontend/common/services/global/actionbar.ts b/modules/web/src/common/services/global/actionbar.ts similarity index 100% rename from src/app/frontend/common/services/global/actionbar.ts rename to modules/web/src/common/services/global/actionbar.ts diff --git a/src/app/frontend/common/services/global/assets.ts b/modules/web/src/common/services/global/assets.ts similarity index 100% rename from src/app/frontend/common/services/global/assets.ts rename to modules/web/src/common/services/global/assets.ts diff --git a/src/app/frontend/common/services/global/authentication.ts b/modules/web/src/common/services/global/authentication.ts similarity index 100% rename from src/app/frontend/common/services/global/authentication.ts rename to modules/web/src/common/services/global/authentication.ts diff --git a/src/app/frontend/common/services/global/authorizer.ts b/modules/web/src/common/services/global/authorizer.ts similarity index 100% rename from src/app/frontend/common/services/global/authorizer.ts rename to modules/web/src/common/services/global/authorizer.ts diff --git a/src/app/frontend/common/services/global/config.ts b/modules/web/src/common/services/global/config.ts similarity index 100% rename from src/app/frontend/common/services/global/config.ts rename to modules/web/src/common/services/global/config.ts diff --git a/src/app/frontend/common/services/global/csrftoken.ts b/modules/web/src/common/services/global/csrftoken.ts similarity index 100% rename from src/app/frontend/common/services/global/csrftoken.ts rename to modules/web/src/common/services/global/csrftoken.ts diff --git a/src/app/frontend/common/services/global/decoder.ts b/modules/web/src/common/services/global/decoder.ts similarity index 100% rename from src/app/frontend/common/services/global/decoder.ts rename to modules/web/src/common/services/global/decoder.ts diff --git a/src/app/frontend/common/services/global/globalsettings.ts b/modules/web/src/common/services/global/globalsettings.ts similarity index 100% rename from src/app/frontend/common/services/global/globalsettings.ts rename to modules/web/src/common/services/global/globalsettings.ts diff --git a/src/app/frontend/common/services/global/history.ts b/modules/web/src/common/services/global/history.ts similarity index 100% rename from src/app/frontend/common/services/global/history.ts rename to modules/web/src/common/services/global/history.ts diff --git a/src/app/frontend/common/services/global/interceptor.ts b/modules/web/src/common/services/global/interceptor.ts similarity index 100% rename from src/app/frontend/common/services/global/interceptor.ts rename to modules/web/src/common/services/global/interceptor.ts diff --git a/src/app/frontend/common/services/global/loader.ts b/modules/web/src/common/services/global/loader.ts similarity index 100% rename from src/app/frontend/common/services/global/loader.ts rename to modules/web/src/common/services/global/loader.ts diff --git a/src/app/frontend/common/services/global/localsettings.ts b/modules/web/src/common/services/global/localsettings.ts similarity index 100% rename from src/app/frontend/common/services/global/localsettings.ts rename to modules/web/src/common/services/global/localsettings.ts diff --git a/src/app/frontend/common/services/global/logs.ts b/modules/web/src/common/services/global/logs.ts similarity index 100% rename from src/app/frontend/common/services/global/logs.ts rename to modules/web/src/common/services/global/logs.ts diff --git a/src/app/frontend/common/services/global/module.ts b/modules/web/src/common/services/global/module.ts similarity index 100% rename from src/app/frontend/common/services/global/module.ts rename to modules/web/src/common/services/global/module.ts diff --git a/src/app/frontend/common/services/global/namespace.ts b/modules/web/src/common/services/global/namespace.ts similarity index 100% rename from src/app/frontend/common/services/global/namespace.ts rename to modules/web/src/common/services/global/namespace.ts diff --git a/src/app/frontend/common/services/global/notifications.ts b/modules/web/src/common/services/global/notifications.ts similarity index 100% rename from src/app/frontend/common/services/global/notifications.ts rename to modules/web/src/common/services/global/notifications.ts diff --git a/src/app/frontend/common/services/global/params.ts b/modules/web/src/common/services/global/params.ts similarity index 100% rename from src/app/frontend/common/services/global/params.ts rename to modules/web/src/common/services/global/params.ts diff --git a/src/app/frontend/common/services/global/pinner.ts b/modules/web/src/common/services/global/pinner.ts similarity index 100% rename from src/app/frontend/common/services/global/pinner.ts rename to modules/web/src/common/services/global/pinner.ts diff --git a/src/app/frontend/common/services/global/plugin.ts b/modules/web/src/common/services/global/plugin.ts similarity index 100% rename from src/app/frontend/common/services/global/plugin.ts rename to modules/web/src/common/services/global/plugin.ts diff --git a/src/app/frontend/common/services/global/state.ts b/modules/web/src/common/services/global/state.ts similarity index 100% rename from src/app/frontend/common/services/global/state.ts rename to modules/web/src/common/services/global/state.ts diff --git a/src/app/frontend/common/services/global/theme.ts b/modules/web/src/common/services/global/theme.ts similarity index 100% rename from src/app/frontend/common/services/global/theme.ts rename to modules/web/src/common/services/global/theme.ts diff --git a/src/app/frontend/common/services/global/title.ts b/modules/web/src/common/services/global/title.ts similarity index 100% rename from src/app/frontend/common/services/global/title.ts rename to modules/web/src/common/services/global/title.ts diff --git a/src/app/frontend/common/services/global/verber.ts b/modules/web/src/common/services/global/verber.ts similarity index 100% rename from src/app/frontend/common/services/global/verber.ts rename to modules/web/src/common/services/global/verber.ts diff --git a/src/app/frontend/common/services/guard/auth.ts b/modules/web/src/common/services/guard/auth.ts similarity index 100% rename from src/app/frontend/common/services/guard/auth.ts rename to modules/web/src/common/services/guard/auth.ts diff --git a/src/app/frontend/common/services/guard/candeactivate.ts b/modules/web/src/common/services/guard/candeactivate.ts similarity index 100% rename from src/app/frontend/common/services/guard/candeactivate.ts rename to modules/web/src/common/services/guard/candeactivate.ts diff --git a/src/app/frontend/common/services/guard/login.ts b/modules/web/src/common/services/guard/login.ts similarity index 100% rename from src/app/frontend/common/services/guard/login.ts rename to modules/web/src/common/services/guard/login.ts diff --git a/src/app/frontend/common/services/guard/module.ts b/modules/web/src/common/services/guard/module.ts similarity index 100% rename from src/app/frontend/common/services/guard/module.ts rename to modules/web/src/common/services/guard/module.ts diff --git a/src/app/frontend/common/services/guard/search.ts b/modules/web/src/common/services/guard/search.ts similarity index 100% rename from src/app/frontend/common/services/guard/search.ts rename to modules/web/src/common/services/guard/search.ts diff --git a/src/app/frontend/common/services/nav/module.ts b/modules/web/src/common/services/nav/module.ts similarity index 100% rename from src/app/frontend/common/services/nav/module.ts rename to modules/web/src/common/services/nav/module.ts diff --git a/src/app/frontend/common/services/nav/service.ts b/modules/web/src/common/services/nav/service.ts similarity index 100% rename from src/app/frontend/common/services/nav/service.ts rename to modules/web/src/common/services/nav/service.ts diff --git a/src/app/frontend/common/services/pluginloader/clientloader.service.ts b/modules/web/src/common/services/pluginloader/clientloader.service.ts similarity index 100% rename from src/app/frontend/common/services/pluginloader/clientloader.service.ts rename to modules/web/src/common/services/pluginloader/clientloader.service.ts diff --git a/src/app/frontend/common/services/pluginloader/pluginexternals.ts b/modules/web/src/common/services/pluginloader/pluginexternals.ts similarity index 100% rename from src/app/frontend/common/services/pluginloader/pluginexternals.ts rename to modules/web/src/common/services/pluginloader/pluginexternals.ts diff --git a/src/app/frontend/common/services/pluginloader/pluginloader.service.ts b/modules/web/src/common/services/pluginloader/pluginloader.service.ts similarity index 100% rename from src/app/frontend/common/services/pluginloader/pluginloader.service.ts rename to modules/web/src/common/services/pluginloader/pluginloader.service.ts diff --git a/src/app/frontend/common/services/resource/endpoint.ts b/modules/web/src/common/services/resource/endpoint.ts similarity index 100% rename from src/app/frontend/common/services/resource/endpoint.ts rename to modules/web/src/common/services/resource/endpoint.ts diff --git a/src/app/frontend/common/services/resource/module.ts b/modules/web/src/common/services/resource/module.ts similarity index 100% rename from src/app/frontend/common/services/resource/module.ts rename to modules/web/src/common/services/resource/module.ts diff --git a/src/app/frontend/common/services/resource/resource.ts b/modules/web/src/common/services/resource/resource.ts similarity index 100% rename from src/app/frontend/common/services/resource/resource.ts rename to modules/web/src/common/services/resource/resource.ts diff --git a/src/app/frontend/common/services/resource/utility.ts b/modules/web/src/common/services/resource/utility.ts similarity index 100% rename from src/app/frontend/common/services/resource/utility.ts rename to modules/web/src/common/services/resource/utility.ts diff --git a/src/app/frontend/core.module.ts b/modules/web/src/core.module.ts similarity index 100% rename from src/app/frontend/core.module.ts rename to modules/web/src/core.module.ts diff --git a/src/app/frontend/crd/crdobject/component.ts b/modules/web/src/crd/crdobject/component.ts similarity index 100% rename from src/app/frontend/crd/crdobject/component.ts rename to modules/web/src/crd/crdobject/component.ts diff --git a/src/app/frontend/crd/crdobject/template.html b/modules/web/src/crd/crdobject/template.html similarity index 100% rename from src/app/frontend/crd/crdobject/template.html rename to modules/web/src/crd/crdobject/template.html diff --git a/src/app/frontend/crd/detail/component.ts b/modules/web/src/crd/detail/component.ts similarity index 100% rename from src/app/frontend/crd/detail/component.ts rename to modules/web/src/crd/detail/component.ts diff --git a/src/app/frontend/crd/detail/template.html b/modules/web/src/crd/detail/template.html similarity index 100% rename from src/app/frontend/crd/detail/template.html rename to modules/web/src/crd/detail/template.html diff --git a/src/app/frontend/crd/list/component.ts b/modules/web/src/crd/list/component.ts similarity index 100% rename from src/app/frontend/crd/list/component.ts rename to modules/web/src/crd/list/component.ts diff --git a/src/app/frontend/crd/module.ts b/modules/web/src/crd/module.ts similarity index 100% rename from src/app/frontend/crd/module.ts rename to modules/web/src/crd/module.ts diff --git a/src/app/frontend/crd/routing.ts b/modules/web/src/crd/routing.ts similarity index 100% rename from src/app/frontend/crd/routing.ts rename to modules/web/src/crd/routing.ts diff --git a/src/app/frontend/create/component.ts b/modules/web/src/create/component.ts similarity index 100% rename from src/app/frontend/create/component.ts rename to modules/web/src/create/component.ts diff --git a/src/app/frontend/create/from/file/component.ts b/modules/web/src/create/from/file/component.ts similarity index 100% rename from src/app/frontend/create/from/file/component.ts rename to modules/web/src/create/from/file/component.ts diff --git a/src/app/frontend/create/from/file/style.scss b/modules/web/src/create/from/file/style.scss similarity index 100% rename from src/app/frontend/create/from/file/style.scss rename to modules/web/src/create/from/file/style.scss diff --git a/src/app/frontend/create/from/file/template.html b/modules/web/src/create/from/file/template.html similarity index 100% rename from src/app/frontend/create/from/file/template.html rename to modules/web/src/create/from/file/template.html diff --git a/src/app/frontend/create/from/form/component.ts b/modules/web/src/create/from/form/component.ts similarity index 100% rename from src/app/frontend/create/from/form/component.ts rename to modules/web/src/create/from/form/component.ts diff --git a/src/app/frontend/create/from/form/createnamespace/dialog.ts b/modules/web/src/create/from/form/createnamespace/dialog.ts similarity index 100% rename from src/app/frontend/create/from/form/createnamespace/dialog.ts rename to modules/web/src/create/from/form/createnamespace/dialog.ts diff --git a/src/app/frontend/create/from/form/createnamespace/template.html b/modules/web/src/create/from/form/createnamespace/template.html similarity index 100% rename from src/app/frontend/create/from/form/createnamespace/template.html rename to modules/web/src/create/from/form/createnamespace/template.html diff --git a/src/app/frontend/create/from/form/createsecret/dialog.ts b/modules/web/src/create/from/form/createsecret/dialog.ts similarity index 100% rename from src/app/frontend/create/from/form/createsecret/dialog.ts rename to modules/web/src/create/from/form/createsecret/dialog.ts diff --git a/src/app/frontend/create/from/form/createsecret/template.html b/modules/web/src/create/from/form/createsecret/template.html similarity index 100% rename from src/app/frontend/create/from/form/createsecret/template.html rename to modules/web/src/create/from/form/createsecret/template.html diff --git a/src/app/frontend/create/from/form/deploylabel/component.ts b/modules/web/src/create/from/form/deploylabel/component.ts similarity index 100% rename from src/app/frontend/create/from/form/deploylabel/component.ts rename to modules/web/src/create/from/form/deploylabel/component.ts diff --git a/src/app/frontend/create/from/form/deploylabel/deploylabel.ts b/modules/web/src/create/from/form/deploylabel/deploylabel.ts similarity index 100% rename from src/app/frontend/create/from/form/deploylabel/deploylabel.ts rename to modules/web/src/create/from/form/deploylabel/deploylabel.ts diff --git a/src/app/frontend/create/from/form/deploylabel/template.html b/modules/web/src/create/from/form/deploylabel/template.html similarity index 100% rename from src/app/frontend/create/from/form/deploylabel/template.html rename to modules/web/src/create/from/form/deploylabel/template.html diff --git a/src/app/frontend/create/from/form/environmentvariables/component.ts b/modules/web/src/create/from/form/environmentvariables/component.ts similarity index 100% rename from src/app/frontend/create/from/form/environmentvariables/component.ts rename to modules/web/src/create/from/form/environmentvariables/component.ts diff --git a/src/app/frontend/create/from/form/environmentvariables/template.html b/modules/web/src/create/from/form/environmentvariables/template.html similarity index 100% rename from src/app/frontend/create/from/form/environmentvariables/template.html rename to modules/web/src/create/from/form/environmentvariables/template.html diff --git a/src/app/frontend/create/from/form/helpsection/component.ts b/modules/web/src/create/from/form/helpsection/component.ts similarity index 100% rename from src/app/frontend/create/from/form/helpsection/component.ts rename to modules/web/src/create/from/form/helpsection/component.ts diff --git a/src/app/frontend/create/from/form/helpsection/style.scss b/modules/web/src/create/from/form/helpsection/style.scss similarity index 100% rename from src/app/frontend/create/from/form/helpsection/style.scss rename to modules/web/src/create/from/form/helpsection/style.scss diff --git a/src/app/frontend/create/from/form/helpsection/template.html b/modules/web/src/create/from/form/helpsection/template.html similarity index 100% rename from src/app/frontend/create/from/form/helpsection/template.html rename to modules/web/src/create/from/form/helpsection/template.html diff --git a/src/app/frontend/create/from/form/helpsection/userhelp/component.ts b/modules/web/src/create/from/form/helpsection/userhelp/component.ts similarity index 100% rename from src/app/frontend/create/from/form/helpsection/userhelp/component.ts rename to modules/web/src/create/from/form/helpsection/userhelp/component.ts diff --git a/src/app/frontend/create/from/form/helpsection/userhelp/style.scss b/modules/web/src/create/from/form/helpsection/userhelp/style.scss similarity index 100% rename from src/app/frontend/create/from/form/helpsection/userhelp/style.scss rename to modules/web/src/create/from/form/helpsection/userhelp/style.scss diff --git a/src/app/frontend/create/from/form/helpsection/userhelp/template.html b/modules/web/src/create/from/form/helpsection/userhelp/template.html similarity index 100% rename from src/app/frontend/create/from/form/helpsection/userhelp/template.html rename to modules/web/src/create/from/form/helpsection/userhelp/template.html diff --git a/src/app/frontend/create/from/form/module.ts b/modules/web/src/create/from/form/module.ts similarity index 100% rename from src/app/frontend/create/from/form/module.ts rename to modules/web/src/create/from/form/module.ts diff --git a/src/app/frontend/create/from/form/portmappings/component.ts b/modules/web/src/create/from/form/portmappings/component.ts similarity index 100% rename from src/app/frontend/create/from/form/portmappings/component.ts rename to modules/web/src/create/from/form/portmappings/component.ts diff --git a/src/app/frontend/create/from/form/portmappings/style.scss b/modules/web/src/create/from/form/portmappings/style.scss similarity index 100% rename from src/app/frontend/create/from/form/portmappings/style.scss rename to modules/web/src/create/from/form/portmappings/style.scss diff --git a/src/app/frontend/create/from/form/portmappings/template.html b/modules/web/src/create/from/form/portmappings/template.html similarity index 100% rename from src/app/frontend/create/from/form/portmappings/template.html rename to modules/web/src/create/from/form/portmappings/template.html diff --git a/src/app/frontend/create/from/form/style.scss b/modules/web/src/create/from/form/style.scss similarity index 100% rename from src/app/frontend/create/from/form/style.scss rename to modules/web/src/create/from/form/style.scss diff --git a/src/app/frontend/create/from/form/template.html b/modules/web/src/create/from/form/template.html similarity index 100% rename from src/app/frontend/create/from/form/template.html rename to modules/web/src/create/from/form/template.html diff --git a/src/app/frontend/create/from/form/validator/uniquename.validator.ts b/modules/web/src/create/from/form/validator/uniquename.validator.ts similarity index 100% rename from src/app/frontend/create/from/form/validator/uniquename.validator.ts rename to modules/web/src/create/from/form/validator/uniquename.validator.ts diff --git a/src/app/frontend/create/from/form/validator/validators.ts b/modules/web/src/create/from/form/validator/validators.ts similarity index 100% rename from src/app/frontend/create/from/form/validator/validators.ts rename to modules/web/src/create/from/form/validator/validators.ts diff --git a/src/app/frontend/create/from/form/validator/validimagereference.validator.ts b/modules/web/src/create/from/form/validator/validimagereference.validator.ts similarity index 100% rename from src/app/frontend/create/from/form/validator/validimagereference.validator.ts rename to modules/web/src/create/from/form/validator/validimagereference.validator.ts diff --git a/src/app/frontend/create/from/form/validator/validprotocol.validator.ts b/modules/web/src/create/from/form/validator/validprotocol.validator.ts similarity index 100% rename from src/app/frontend/create/from/form/validator/validprotocol.validator.ts rename to modules/web/src/create/from/form/validator/validprotocol.validator.ts diff --git a/src/app/frontend/create/from/form/validator/warnthreshold.validator.ts b/modules/web/src/create/from/form/validator/warnthreshold.validator.ts similarity index 100% rename from src/app/frontend/create/from/form/validator/warnthreshold.validator.ts rename to modules/web/src/create/from/form/validator/warnthreshold.validator.ts diff --git a/src/app/frontend/create/from/input/component.ts b/modules/web/src/create/from/input/component.ts similarity index 100% rename from src/app/frontend/create/from/input/component.ts rename to modules/web/src/create/from/input/component.ts diff --git a/src/app/frontend/create/from/input/style.scss b/modules/web/src/create/from/input/style.scss similarity index 100% rename from src/app/frontend/create/from/input/style.scss rename to modules/web/src/create/from/input/style.scss diff --git a/src/app/frontend/create/from/input/template.html b/modules/web/src/create/from/input/template.html similarity index 100% rename from src/app/frontend/create/from/input/template.html rename to modules/web/src/create/from/input/template.html diff --git a/src/app/frontend/create/module.ts b/modules/web/src/create/module.ts similarity index 100% rename from src/app/frontend/create/module.ts rename to modules/web/src/create/module.ts diff --git a/src/app/frontend/create/routing.ts b/modules/web/src/create/routing.ts similarity index 100% rename from src/app/frontend/create/routing.ts rename to modules/web/src/create/routing.ts diff --git a/src/app/frontend/create/style.scss b/modules/web/src/create/style.scss similarity index 100% rename from src/app/frontend/create/style.scss rename to modules/web/src/create/style.scss diff --git a/src/app/frontend/create/template.html b/modules/web/src/create/template.html similarity index 100% rename from src/app/frontend/create/template.html rename to modules/web/src/create/template.html diff --git a/src/app/frontend/environments/environment.prod.ts b/modules/web/src/environments/environment.prod.ts similarity index 100% rename from src/app/frontend/environments/environment.prod.ts rename to modules/web/src/environments/environment.prod.ts diff --git a/src/app/frontend/environments/environment.ts b/modules/web/src/environments/environment.ts similarity index 100% rename from src/app/frontend/environments/environment.ts rename to modules/web/src/environments/environment.ts diff --git a/src/app/frontend/error/component.ts b/modules/web/src/error/component.ts similarity index 100% rename from src/app/frontend/error/component.ts rename to modules/web/src/error/component.ts diff --git a/src/app/frontend/error/handler.ts b/modules/web/src/error/handler.ts similarity index 100% rename from src/app/frontend/error/handler.ts rename to modules/web/src/error/handler.ts diff --git a/src/app/frontend/error/module.ts b/modules/web/src/error/module.ts similarity index 100% rename from src/app/frontend/error/module.ts rename to modules/web/src/error/module.ts diff --git a/src/app/frontend/error/routing.ts b/modules/web/src/error/routing.ts similarity index 100% rename from src/app/frontend/error/routing.ts rename to modules/web/src/error/routing.ts diff --git a/src/app/frontend/error/style.scss b/modules/web/src/error/style.scss similarity index 100% rename from src/app/frontend/error/style.scss rename to modules/web/src/error/style.scss diff --git a/src/app/frontend/error/template.html b/modules/web/src/error/template.html similarity index 100% rename from src/app/frontend/error/template.html rename to modules/web/src/error/template.html diff --git a/src/app/frontend/index.component.ts b/modules/web/src/index.component.ts similarity index 100% rename from src/app/frontend/index.component.ts rename to modules/web/src/index.component.ts diff --git a/src/app/frontend/index.config.ts b/modules/web/src/index.config.ts similarity index 100% rename from src/app/frontend/index.config.ts rename to modules/web/src/index.config.ts diff --git a/src/app/frontend/index.html b/modules/web/src/index.html similarity index 100% rename from src/app/frontend/index.html rename to modules/web/src/index.html diff --git a/src/app/frontend/index.messages.ts b/modules/web/src/index.messages.ts similarity index 100% rename from src/app/frontend/index.messages.ts rename to modules/web/src/index.messages.ts diff --git a/src/app/frontend/index.module.ts b/modules/web/src/index.module.ts similarity index 100% rename from src/app/frontend/index.module.ts rename to modules/web/src/index.module.ts diff --git a/src/app/frontend/index.routing.ts b/modules/web/src/index.routing.ts similarity index 100% rename from src/app/frontend/index.routing.ts rename to modules/web/src/index.routing.ts diff --git a/src/app/frontend/index.scss b/modules/web/src/index.scss similarity index 100% rename from src/app/frontend/index.scss rename to modules/web/src/index.scss diff --git a/src/app/frontend/index.ts b/modules/web/src/index.ts similarity index 100% rename from src/app/frontend/index.ts rename to modules/web/src/index.ts diff --git a/src/app/frontend/login/component.spec.ts b/modules/web/src/login/component.spec.ts similarity index 100% rename from src/app/frontend/login/component.spec.ts rename to modules/web/src/login/component.spec.ts diff --git a/src/app/frontend/login/component.ts b/modules/web/src/login/component.ts similarity index 100% rename from src/app/frontend/login/component.ts rename to modules/web/src/login/component.ts diff --git a/src/app/frontend/login/module.ts b/modules/web/src/login/module.ts similarity index 100% rename from src/app/frontend/login/module.ts rename to modules/web/src/login/module.ts diff --git a/src/app/frontend/login/style.scss b/modules/web/src/login/style.scss similarity index 100% rename from src/app/frontend/login/style.scss rename to modules/web/src/login/style.scss diff --git a/src/app/frontend/login/template.html b/modules/web/src/login/template.html similarity index 100% rename from src/app/frontend/login/template.html rename to modules/web/src/login/template.html diff --git a/src/app/frontend/logs/component.ts b/modules/web/src/logs/component.ts similarity index 100% rename from src/app/frontend/logs/component.ts rename to modules/web/src/logs/component.ts diff --git a/src/app/frontend/logs/module.ts b/modules/web/src/logs/module.ts similarity index 100% rename from src/app/frontend/logs/module.ts rename to modules/web/src/logs/module.ts diff --git a/src/app/frontend/logs/routing.ts b/modules/web/src/logs/routing.ts similarity index 100% rename from src/app/frontend/logs/routing.ts rename to modules/web/src/logs/routing.ts diff --git a/src/app/frontend/logs/style.scss b/modules/web/src/logs/style.scss similarity index 100% rename from src/app/frontend/logs/style.scss rename to modules/web/src/logs/style.scss diff --git a/src/app/frontend/logs/template.html b/modules/web/src/logs/template.html similarity index 100% rename from src/app/frontend/logs/template.html rename to modules/web/src/logs/template.html diff --git a/src/app/frontend/overview/component.spec.ts b/modules/web/src/overview/component.spec.ts similarity index 100% rename from src/app/frontend/overview/component.spec.ts rename to modules/web/src/overview/component.spec.ts diff --git a/src/app/frontend/overview/component.ts b/modules/web/src/overview/component.ts similarity index 100% rename from src/app/frontend/overview/component.ts rename to modules/web/src/overview/component.ts diff --git a/src/app/frontend/overview/helper.ts b/modules/web/src/overview/helper.ts similarity index 100% rename from src/app/frontend/overview/helper.ts rename to modules/web/src/overview/helper.ts diff --git a/src/app/frontend/overview/module.ts b/modules/web/src/overview/module.ts similarity index 100% rename from src/app/frontend/overview/module.ts rename to modules/web/src/overview/module.ts diff --git a/src/app/frontend/overview/routing.ts b/modules/web/src/overview/routing.ts similarity index 100% rename from src/app/frontend/overview/routing.ts rename to modules/web/src/overview/routing.ts diff --git a/src/app/frontend/overview/template.html b/modules/web/src/overview/template.html similarity index 100% rename from src/app/frontend/overview/template.html rename to modules/web/src/overview/template.html diff --git a/src/app/frontend/plugin/component.ts b/modules/web/src/plugin/component.ts similarity index 100% rename from src/app/frontend/plugin/component.ts rename to modules/web/src/plugin/component.ts diff --git a/src/app/frontend/plugin/detail/component.ts b/modules/web/src/plugin/detail/component.ts similarity index 100% rename from src/app/frontend/plugin/detail/component.ts rename to modules/web/src/plugin/detail/component.ts diff --git a/src/app/frontend/plugin/holder.ts b/modules/web/src/plugin/holder.ts similarity index 100% rename from src/app/frontend/plugin/holder.ts rename to modules/web/src/plugin/holder.ts diff --git a/src/app/frontend/plugin/list/component.ts b/modules/web/src/plugin/list/component.ts similarity index 100% rename from src/app/frontend/plugin/list/component.ts rename to modules/web/src/plugin/list/component.ts diff --git a/src/app/frontend/plugin/module.ts b/modules/web/src/plugin/module.ts similarity index 100% rename from src/app/frontend/plugin/module.ts rename to modules/web/src/plugin/module.ts diff --git a/src/app/frontend/plugin/routing.ts b/modules/web/src/plugin/routing.ts similarity index 100% rename from src/app/frontend/plugin/routing.ts rename to modules/web/src/plugin/routing.ts diff --git a/src/app/frontend/plugin/template.html b/modules/web/src/plugin/template.html similarity index 100% rename from src/app/frontend/plugin/template.html rename to modules/web/src/plugin/template.html diff --git a/src/app/frontend/polyfills.ts b/modules/web/src/polyfills.ts similarity index 100% rename from src/app/frontend/polyfills.ts rename to modules/web/src/polyfills.ts diff --git a/src/app/frontend/resource/cluster/clusterrole/detail/component.ts b/modules/web/src/resource/cluster/clusterrole/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrole/detail/component.ts rename to modules/web/src/resource/cluster/clusterrole/detail/component.ts diff --git a/src/app/frontend/resource/cluster/clusterrole/detail/template.html b/modules/web/src/resource/cluster/clusterrole/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/clusterrole/detail/template.html rename to modules/web/src/resource/cluster/clusterrole/detail/template.html diff --git a/src/app/frontend/resource/cluster/clusterrole/list/component.ts b/modules/web/src/resource/cluster/clusterrole/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrole/list/component.ts rename to modules/web/src/resource/cluster/clusterrole/list/component.ts diff --git a/src/app/frontend/resource/cluster/clusterrole/module.ts b/modules/web/src/resource/cluster/clusterrole/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrole/module.ts rename to modules/web/src/resource/cluster/clusterrole/module.ts diff --git a/src/app/frontend/resource/cluster/clusterrole/routing.ts b/modules/web/src/resource/cluster/clusterrole/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrole/routing.ts rename to modules/web/src/resource/cluster/clusterrole/routing.ts diff --git a/src/app/frontend/resource/cluster/clusterrolebinding/detail/component.ts b/modules/web/src/resource/cluster/clusterrolebinding/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrolebinding/detail/component.ts rename to modules/web/src/resource/cluster/clusterrolebinding/detail/component.ts diff --git a/src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html b/modules/web/src/resource/cluster/clusterrolebinding/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html rename to modules/web/src/resource/cluster/clusterrolebinding/detail/template.html diff --git a/src/app/frontend/resource/cluster/clusterrolebinding/list/component.ts b/modules/web/src/resource/cluster/clusterrolebinding/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrolebinding/list/component.ts rename to modules/web/src/resource/cluster/clusterrolebinding/list/component.ts diff --git a/src/app/frontend/resource/cluster/clusterrolebinding/module.ts b/modules/web/src/resource/cluster/clusterrolebinding/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrolebinding/module.ts rename to modules/web/src/resource/cluster/clusterrolebinding/module.ts diff --git a/src/app/frontend/resource/cluster/clusterrolebinding/routing.ts b/modules/web/src/resource/cluster/clusterrolebinding/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/clusterrolebinding/routing.ts rename to modules/web/src/resource/cluster/clusterrolebinding/routing.ts diff --git a/src/app/frontend/resource/cluster/component.ts b/modules/web/src/resource/cluster/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/component.ts rename to modules/web/src/resource/cluster/component.ts diff --git a/src/app/frontend/resource/cluster/event/list/component.ts b/modules/web/src/resource/cluster/event/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/event/list/component.ts rename to modules/web/src/resource/cluster/event/list/component.ts diff --git a/src/app/frontend/resource/cluster/event/module.ts b/modules/web/src/resource/cluster/event/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/event/module.ts rename to modules/web/src/resource/cluster/event/module.ts diff --git a/src/app/frontend/resource/cluster/event/routing.ts b/modules/web/src/resource/cluster/event/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/event/routing.ts rename to modules/web/src/resource/cluster/event/routing.ts diff --git a/src/app/frontend/resource/cluster/module.ts b/modules/web/src/resource/cluster/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/module.ts rename to modules/web/src/resource/cluster/module.ts diff --git a/src/app/frontend/resource/cluster/namespace/detail/actionbar/component.ts b/modules/web/src/resource/cluster/namespace/detail/actionbar/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/namespace/detail/actionbar/component.ts rename to modules/web/src/resource/cluster/namespace/detail/actionbar/component.ts diff --git a/src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html b/modules/web/src/resource/cluster/namespace/detail/actionbar/template.html similarity index 100% rename from src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html rename to modules/web/src/resource/cluster/namespace/detail/actionbar/template.html diff --git a/src/app/frontend/resource/cluster/namespace/detail/component.ts b/modules/web/src/resource/cluster/namespace/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/namespace/detail/component.ts rename to modules/web/src/resource/cluster/namespace/detail/component.ts diff --git a/src/app/frontend/resource/cluster/namespace/detail/template.html b/modules/web/src/resource/cluster/namespace/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/namespace/detail/template.html rename to modules/web/src/resource/cluster/namespace/detail/template.html diff --git a/src/app/frontend/resource/cluster/namespace/list/component.ts b/modules/web/src/resource/cluster/namespace/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/namespace/list/component.ts rename to modules/web/src/resource/cluster/namespace/list/component.ts diff --git a/src/app/frontend/resource/cluster/namespace/module.ts b/modules/web/src/resource/cluster/namespace/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/namespace/module.ts rename to modules/web/src/resource/cluster/namespace/module.ts diff --git a/src/app/frontend/resource/cluster/namespace/routing.ts b/modules/web/src/resource/cluster/namespace/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/namespace/routing.ts rename to modules/web/src/resource/cluster/namespace/routing.ts diff --git a/src/app/frontend/resource/cluster/networkpolicy/detail/component.ts b/modules/web/src/resource/cluster/networkpolicy/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/networkpolicy/detail/component.ts rename to modules/web/src/resource/cluster/networkpolicy/detail/component.ts diff --git a/src/app/frontend/resource/cluster/networkpolicy/detail/template.html b/modules/web/src/resource/cluster/networkpolicy/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/networkpolicy/detail/template.html rename to modules/web/src/resource/cluster/networkpolicy/detail/template.html diff --git a/src/app/frontend/resource/cluster/networkpolicy/list/component.ts b/modules/web/src/resource/cluster/networkpolicy/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/networkpolicy/list/component.ts rename to modules/web/src/resource/cluster/networkpolicy/list/component.ts diff --git a/src/app/frontend/resource/cluster/networkpolicy/module.ts b/modules/web/src/resource/cluster/networkpolicy/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/networkpolicy/module.ts rename to modules/web/src/resource/cluster/networkpolicy/module.ts diff --git a/src/app/frontend/resource/cluster/networkpolicy/routing.ts b/modules/web/src/resource/cluster/networkpolicy/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/networkpolicy/routing.ts rename to modules/web/src/resource/cluster/networkpolicy/routing.ts diff --git a/src/app/frontend/resource/cluster/node/detail/component.ts b/modules/web/src/resource/cluster/node/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/node/detail/component.ts rename to modules/web/src/resource/cluster/node/detail/component.ts diff --git a/src/app/frontend/resource/cluster/node/detail/template.html b/modules/web/src/resource/cluster/node/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/node/detail/template.html rename to modules/web/src/resource/cluster/node/detail/template.html diff --git a/src/app/frontend/resource/cluster/node/list/component.ts b/modules/web/src/resource/cluster/node/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/node/list/component.ts rename to modules/web/src/resource/cluster/node/list/component.ts diff --git a/src/app/frontend/resource/cluster/node/module.ts b/modules/web/src/resource/cluster/node/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/node/module.ts rename to modules/web/src/resource/cluster/node/module.ts diff --git a/src/app/frontend/resource/cluster/node/routing.ts b/modules/web/src/resource/cluster/node/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/node/routing.ts rename to modules/web/src/resource/cluster/node/routing.ts diff --git a/src/app/frontend/resource/cluster/persistentvolume/detail/component.ts b/modules/web/src/resource/cluster/persistentvolume/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/detail/component.ts rename to modules/web/src/resource/cluster/persistentvolume/detail/component.ts diff --git a/src/app/frontend/resource/cluster/persistentvolume/detail/source/component.ts b/modules/web/src/resource/cluster/persistentvolume/detail/source/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/detail/source/component.ts rename to modules/web/src/resource/cluster/persistentvolume/detail/source/component.ts diff --git a/src/app/frontend/resource/cluster/persistentvolume/detail/source/style.scss b/modules/web/src/resource/cluster/persistentvolume/detail/source/style.scss similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/detail/source/style.scss rename to modules/web/src/resource/cluster/persistentvolume/detail/source/style.scss diff --git a/src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html b/modules/web/src/resource/cluster/persistentvolume/detail/source/template.html similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html rename to modules/web/src/resource/cluster/persistentvolume/detail/source/template.html diff --git a/src/app/frontend/resource/cluster/persistentvolume/detail/template.html b/modules/web/src/resource/cluster/persistentvolume/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/detail/template.html rename to modules/web/src/resource/cluster/persistentvolume/detail/template.html diff --git a/src/app/frontend/resource/cluster/persistentvolume/list/component.ts b/modules/web/src/resource/cluster/persistentvolume/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/list/component.ts rename to modules/web/src/resource/cluster/persistentvolume/list/component.ts diff --git a/src/app/frontend/resource/cluster/persistentvolume/module.ts b/modules/web/src/resource/cluster/persistentvolume/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/module.ts rename to modules/web/src/resource/cluster/persistentvolume/module.ts diff --git a/src/app/frontend/resource/cluster/persistentvolume/routing.ts b/modules/web/src/resource/cluster/persistentvolume/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/persistentvolume/routing.ts rename to modules/web/src/resource/cluster/persistentvolume/routing.ts diff --git a/src/app/frontend/resource/cluster/role/detail/component.ts b/modules/web/src/resource/cluster/role/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/role/detail/component.ts rename to modules/web/src/resource/cluster/role/detail/component.ts diff --git a/src/app/frontend/resource/cluster/role/detail/template.html b/modules/web/src/resource/cluster/role/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/role/detail/template.html rename to modules/web/src/resource/cluster/role/detail/template.html diff --git a/src/app/frontend/resource/cluster/role/list/component.ts b/modules/web/src/resource/cluster/role/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/role/list/component.ts rename to modules/web/src/resource/cluster/role/list/component.ts diff --git a/src/app/frontend/resource/cluster/role/module.ts b/modules/web/src/resource/cluster/role/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/role/module.ts rename to modules/web/src/resource/cluster/role/module.ts diff --git a/src/app/frontend/resource/cluster/role/routing.ts b/modules/web/src/resource/cluster/role/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/role/routing.ts rename to modules/web/src/resource/cluster/role/routing.ts diff --git a/src/app/frontend/resource/cluster/rolebinding/detail/component.ts b/modules/web/src/resource/cluster/rolebinding/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/rolebinding/detail/component.ts rename to modules/web/src/resource/cluster/rolebinding/detail/component.ts diff --git a/src/app/frontend/resource/cluster/rolebinding/detail/template.html b/modules/web/src/resource/cluster/rolebinding/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/rolebinding/detail/template.html rename to modules/web/src/resource/cluster/rolebinding/detail/template.html diff --git a/src/app/frontend/resource/cluster/rolebinding/list/component.ts b/modules/web/src/resource/cluster/rolebinding/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/rolebinding/list/component.ts rename to modules/web/src/resource/cluster/rolebinding/list/component.ts diff --git a/src/app/frontend/resource/cluster/rolebinding/module.ts b/modules/web/src/resource/cluster/rolebinding/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/rolebinding/module.ts rename to modules/web/src/resource/cluster/rolebinding/module.ts diff --git a/src/app/frontend/resource/cluster/rolebinding/routing.ts b/modules/web/src/resource/cluster/rolebinding/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/rolebinding/routing.ts rename to modules/web/src/resource/cluster/rolebinding/routing.ts diff --git a/src/app/frontend/resource/cluster/routing.ts b/modules/web/src/resource/cluster/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/routing.ts rename to modules/web/src/resource/cluster/routing.ts diff --git a/src/app/frontend/resource/cluster/serviceaccount/detail/component.ts b/modules/web/src/resource/cluster/serviceaccount/detail/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/serviceaccount/detail/component.ts rename to modules/web/src/resource/cluster/serviceaccount/detail/component.ts diff --git a/src/app/frontend/resource/cluster/serviceaccount/detail/template.html b/modules/web/src/resource/cluster/serviceaccount/detail/template.html similarity index 100% rename from src/app/frontend/resource/cluster/serviceaccount/detail/template.html rename to modules/web/src/resource/cluster/serviceaccount/detail/template.html diff --git a/src/app/frontend/resource/cluster/serviceaccount/list/component.ts b/modules/web/src/resource/cluster/serviceaccount/list/component.ts similarity index 100% rename from src/app/frontend/resource/cluster/serviceaccount/list/component.ts rename to modules/web/src/resource/cluster/serviceaccount/list/component.ts diff --git a/src/app/frontend/resource/cluster/serviceaccount/module.ts b/modules/web/src/resource/cluster/serviceaccount/module.ts similarity index 100% rename from src/app/frontend/resource/cluster/serviceaccount/module.ts rename to modules/web/src/resource/cluster/serviceaccount/module.ts diff --git a/src/app/frontend/resource/cluster/serviceaccount/routing.ts b/modules/web/src/resource/cluster/serviceaccount/routing.ts similarity index 100% rename from src/app/frontend/resource/cluster/serviceaccount/routing.ts rename to modules/web/src/resource/cluster/serviceaccount/routing.ts diff --git a/src/app/frontend/resource/cluster/template.html b/modules/web/src/resource/cluster/template.html similarity index 100% rename from src/app/frontend/resource/cluster/template.html rename to modules/web/src/resource/cluster/template.html diff --git a/src/app/frontend/resource/config/component.ts b/modules/web/src/resource/config/component.ts similarity index 100% rename from src/app/frontend/resource/config/component.ts rename to modules/web/src/resource/config/component.ts diff --git a/src/app/frontend/resource/config/configmap/detail/component.ts b/modules/web/src/resource/config/configmap/detail/component.ts similarity index 100% rename from src/app/frontend/resource/config/configmap/detail/component.ts rename to modules/web/src/resource/config/configmap/detail/component.ts diff --git a/src/app/frontend/resource/config/configmap/detail/template.html b/modules/web/src/resource/config/configmap/detail/template.html similarity index 100% rename from src/app/frontend/resource/config/configmap/detail/template.html rename to modules/web/src/resource/config/configmap/detail/template.html diff --git a/src/app/frontend/resource/config/configmap/list/component.ts b/modules/web/src/resource/config/configmap/list/component.ts similarity index 100% rename from src/app/frontend/resource/config/configmap/list/component.ts rename to modules/web/src/resource/config/configmap/list/component.ts diff --git a/src/app/frontend/resource/config/configmap/module.ts b/modules/web/src/resource/config/configmap/module.ts similarity index 100% rename from src/app/frontend/resource/config/configmap/module.ts rename to modules/web/src/resource/config/configmap/module.ts diff --git a/src/app/frontend/resource/config/configmap/routing.ts b/modules/web/src/resource/config/configmap/routing.ts similarity index 100% rename from src/app/frontend/resource/config/configmap/routing.ts rename to modules/web/src/resource/config/configmap/routing.ts diff --git a/src/app/frontend/resource/config/module.ts b/modules/web/src/resource/config/module.ts similarity index 100% rename from src/app/frontend/resource/config/module.ts rename to modules/web/src/resource/config/module.ts diff --git a/src/app/frontend/resource/config/persistentvolumeclaim/detail/component.ts b/modules/web/src/resource/config/persistentvolumeclaim/detail/component.ts similarity index 100% rename from src/app/frontend/resource/config/persistentvolumeclaim/detail/component.ts rename to modules/web/src/resource/config/persistentvolumeclaim/detail/component.ts diff --git a/src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html b/modules/web/src/resource/config/persistentvolumeclaim/detail/template.html similarity index 100% rename from src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html rename to modules/web/src/resource/config/persistentvolumeclaim/detail/template.html diff --git a/src/app/frontend/resource/config/persistentvolumeclaim/list/component.ts b/modules/web/src/resource/config/persistentvolumeclaim/list/component.ts similarity index 100% rename from src/app/frontend/resource/config/persistentvolumeclaim/list/component.ts rename to modules/web/src/resource/config/persistentvolumeclaim/list/component.ts diff --git a/src/app/frontend/resource/config/persistentvolumeclaim/module.ts b/modules/web/src/resource/config/persistentvolumeclaim/module.ts similarity index 100% rename from src/app/frontend/resource/config/persistentvolumeclaim/module.ts rename to modules/web/src/resource/config/persistentvolumeclaim/module.ts diff --git a/src/app/frontend/resource/config/persistentvolumeclaim/routing.ts b/modules/web/src/resource/config/persistentvolumeclaim/routing.ts similarity index 100% rename from src/app/frontend/resource/config/persistentvolumeclaim/routing.ts rename to modules/web/src/resource/config/persistentvolumeclaim/routing.ts diff --git a/src/app/frontend/resource/config/routing.ts b/modules/web/src/resource/config/routing.ts similarity index 100% rename from src/app/frontend/resource/config/routing.ts rename to modules/web/src/resource/config/routing.ts diff --git a/src/app/frontend/resource/config/secret/detail/component.ts b/modules/web/src/resource/config/secret/detail/component.ts similarity index 100% rename from src/app/frontend/resource/config/secret/detail/component.ts rename to modules/web/src/resource/config/secret/detail/component.ts diff --git a/src/app/frontend/resource/config/secret/detail/edit/component.ts b/modules/web/src/resource/config/secret/detail/edit/component.ts similarity index 100% rename from src/app/frontend/resource/config/secret/detail/edit/component.ts rename to modules/web/src/resource/config/secret/detail/edit/component.ts diff --git a/src/app/frontend/resource/config/secret/detail/edit/style.scss b/modules/web/src/resource/config/secret/detail/edit/style.scss similarity index 100% rename from src/app/frontend/resource/config/secret/detail/edit/style.scss rename to modules/web/src/resource/config/secret/detail/edit/style.scss diff --git a/src/app/frontend/resource/config/secret/detail/edit/template.html b/modules/web/src/resource/config/secret/detail/edit/template.html similarity index 100% rename from src/app/frontend/resource/config/secret/detail/edit/template.html rename to modules/web/src/resource/config/secret/detail/edit/template.html diff --git a/src/app/frontend/resource/config/secret/detail/template.html b/modules/web/src/resource/config/secret/detail/template.html similarity index 100% rename from src/app/frontend/resource/config/secret/detail/template.html rename to modules/web/src/resource/config/secret/detail/template.html diff --git a/src/app/frontend/resource/config/secret/list/component.ts b/modules/web/src/resource/config/secret/list/component.ts similarity index 100% rename from src/app/frontend/resource/config/secret/list/component.ts rename to modules/web/src/resource/config/secret/list/component.ts diff --git a/src/app/frontend/resource/config/secret/list/template.html b/modules/web/src/resource/config/secret/list/template.html similarity index 100% rename from src/app/frontend/resource/config/secret/list/template.html rename to modules/web/src/resource/config/secret/list/template.html diff --git a/src/app/frontend/resource/config/secret/module.ts b/modules/web/src/resource/config/secret/module.ts similarity index 100% rename from src/app/frontend/resource/config/secret/module.ts rename to modules/web/src/resource/config/secret/module.ts diff --git a/src/app/frontend/resource/config/secret/routing.ts b/modules/web/src/resource/config/secret/routing.ts similarity index 100% rename from src/app/frontend/resource/config/secret/routing.ts rename to modules/web/src/resource/config/secret/routing.ts diff --git a/src/app/frontend/resource/config/storageclass/detail/component.ts b/modules/web/src/resource/config/storageclass/detail/component.ts similarity index 100% rename from src/app/frontend/resource/config/storageclass/detail/component.ts rename to modules/web/src/resource/config/storageclass/detail/component.ts diff --git a/src/app/frontend/resource/config/storageclass/detail/style.scss b/modules/web/src/resource/config/storageclass/detail/style.scss similarity index 100% rename from src/app/frontend/resource/config/storageclass/detail/style.scss rename to modules/web/src/resource/config/storageclass/detail/style.scss diff --git a/src/app/frontend/resource/config/storageclass/detail/template.html b/modules/web/src/resource/config/storageclass/detail/template.html similarity index 100% rename from src/app/frontend/resource/config/storageclass/detail/template.html rename to modules/web/src/resource/config/storageclass/detail/template.html diff --git a/src/app/frontend/resource/config/storageclass/list/component.ts b/modules/web/src/resource/config/storageclass/list/component.ts similarity index 100% rename from src/app/frontend/resource/config/storageclass/list/component.ts rename to modules/web/src/resource/config/storageclass/list/component.ts diff --git a/src/app/frontend/resource/config/storageclass/module.ts b/modules/web/src/resource/config/storageclass/module.ts similarity index 100% rename from src/app/frontend/resource/config/storageclass/module.ts rename to modules/web/src/resource/config/storageclass/module.ts diff --git a/src/app/frontend/resource/config/storageclass/routing.ts b/modules/web/src/resource/config/storageclass/routing.ts similarity index 100% rename from src/app/frontend/resource/config/storageclass/routing.ts rename to modules/web/src/resource/config/storageclass/routing.ts diff --git a/src/app/frontend/resource/config/template.html b/modules/web/src/resource/config/template.html similarity index 100% rename from src/app/frontend/resource/config/template.html rename to modules/web/src/resource/config/template.html diff --git a/src/app/frontend/resource/discovery/component.ts b/modules/web/src/resource/discovery/component.ts similarity index 100% rename from src/app/frontend/resource/discovery/component.ts rename to modules/web/src/resource/discovery/component.ts diff --git a/src/app/frontend/resource/discovery/ingress/detail/component.spec.ts b/modules/web/src/resource/discovery/ingress/detail/component.spec.ts similarity index 100% rename from src/app/frontend/resource/discovery/ingress/detail/component.spec.ts rename to modules/web/src/resource/discovery/ingress/detail/component.spec.ts diff --git a/src/app/frontend/resource/discovery/ingress/detail/component.ts b/modules/web/src/resource/discovery/ingress/detail/component.ts similarity index 100% rename from src/app/frontend/resource/discovery/ingress/detail/component.ts rename to modules/web/src/resource/discovery/ingress/detail/component.ts diff --git a/src/app/frontend/resource/discovery/ingress/detail/template.html b/modules/web/src/resource/discovery/ingress/detail/template.html similarity index 100% rename from src/app/frontend/resource/discovery/ingress/detail/template.html rename to modules/web/src/resource/discovery/ingress/detail/template.html diff --git a/src/app/frontend/resource/discovery/ingress/list/component.ts b/modules/web/src/resource/discovery/ingress/list/component.ts similarity index 100% rename from src/app/frontend/resource/discovery/ingress/list/component.ts rename to modules/web/src/resource/discovery/ingress/list/component.ts diff --git a/src/app/frontend/resource/discovery/ingress/module.ts b/modules/web/src/resource/discovery/ingress/module.ts similarity index 100% rename from src/app/frontend/resource/discovery/ingress/module.ts rename to modules/web/src/resource/discovery/ingress/module.ts diff --git a/src/app/frontend/resource/discovery/ingress/routing.ts b/modules/web/src/resource/discovery/ingress/routing.ts similarity index 100% rename from src/app/frontend/resource/discovery/ingress/routing.ts rename to modules/web/src/resource/discovery/ingress/routing.ts diff --git a/src/app/frontend/resource/discovery/module.ts b/modules/web/src/resource/discovery/module.ts similarity index 100% rename from src/app/frontend/resource/discovery/module.ts rename to modules/web/src/resource/discovery/module.ts diff --git a/src/app/frontend/resource/discovery/routing.ts b/modules/web/src/resource/discovery/routing.ts similarity index 100% rename from src/app/frontend/resource/discovery/routing.ts rename to modules/web/src/resource/discovery/routing.ts diff --git a/src/app/frontend/resource/discovery/service/detail/component.spec.ts b/modules/web/src/resource/discovery/service/detail/component.spec.ts similarity index 100% rename from src/app/frontend/resource/discovery/service/detail/component.spec.ts rename to modules/web/src/resource/discovery/service/detail/component.spec.ts diff --git a/src/app/frontend/resource/discovery/service/detail/component.ts b/modules/web/src/resource/discovery/service/detail/component.ts similarity index 100% rename from src/app/frontend/resource/discovery/service/detail/component.ts rename to modules/web/src/resource/discovery/service/detail/component.ts diff --git a/src/app/frontend/resource/discovery/service/detail/template.html b/modules/web/src/resource/discovery/service/detail/template.html similarity index 100% rename from src/app/frontend/resource/discovery/service/detail/template.html rename to modules/web/src/resource/discovery/service/detail/template.html diff --git a/src/app/frontend/resource/discovery/service/list/component.ts b/modules/web/src/resource/discovery/service/list/component.ts similarity index 100% rename from src/app/frontend/resource/discovery/service/list/component.ts rename to modules/web/src/resource/discovery/service/list/component.ts diff --git a/src/app/frontend/resource/discovery/service/module.ts b/modules/web/src/resource/discovery/service/module.ts similarity index 100% rename from src/app/frontend/resource/discovery/service/module.ts rename to modules/web/src/resource/discovery/service/module.ts diff --git a/src/app/frontend/resource/discovery/service/routing.ts b/modules/web/src/resource/discovery/service/routing.ts similarity index 100% rename from src/app/frontend/resource/discovery/service/routing.ts rename to modules/web/src/resource/discovery/service/routing.ts diff --git a/src/app/frontend/resource/discovery/template.html b/modules/web/src/resource/discovery/template.html similarity index 100% rename from src/app/frontend/resource/discovery/template.html rename to modules/web/src/resource/discovery/template.html diff --git a/src/app/frontend/resource/workloads/component.ts b/modules/web/src/resource/workloads/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/component.ts rename to modules/web/src/resource/workloads/component.ts diff --git a/src/app/frontend/resource/workloads/cronjob/detail/component.ts b/modules/web/src/resource/workloads/cronjob/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/cronjob/detail/component.ts rename to modules/web/src/resource/workloads/cronjob/detail/component.ts diff --git a/src/app/frontend/resource/workloads/cronjob/detail/template.html b/modules/web/src/resource/workloads/cronjob/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/cronjob/detail/template.html rename to modules/web/src/resource/workloads/cronjob/detail/template.html diff --git a/src/app/frontend/resource/workloads/cronjob/list/component.ts b/modules/web/src/resource/workloads/cronjob/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/cronjob/list/component.ts rename to modules/web/src/resource/workloads/cronjob/list/component.ts diff --git a/src/app/frontend/resource/workloads/cronjob/module.ts b/modules/web/src/resource/workloads/cronjob/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/cronjob/module.ts rename to modules/web/src/resource/workloads/cronjob/module.ts diff --git a/src/app/frontend/resource/workloads/cronjob/routing.ts b/modules/web/src/resource/workloads/cronjob/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/cronjob/routing.ts rename to modules/web/src/resource/workloads/cronjob/routing.ts diff --git a/src/app/frontend/resource/workloads/daemonset/detail/actionbar/component.ts b/modules/web/src/resource/workloads/daemonset/detail/actionbar/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/daemonset/detail/actionbar/component.ts rename to modules/web/src/resource/workloads/daemonset/detail/actionbar/component.ts diff --git a/src/app/frontend/resource/workloads/daemonset/detail/actionbar/template.html b/modules/web/src/resource/workloads/daemonset/detail/actionbar/template.html similarity index 100% rename from src/app/frontend/resource/workloads/daemonset/detail/actionbar/template.html rename to modules/web/src/resource/workloads/daemonset/detail/actionbar/template.html diff --git a/src/app/frontend/resource/workloads/daemonset/detail/component.ts b/modules/web/src/resource/workloads/daemonset/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/daemonset/detail/component.ts rename to modules/web/src/resource/workloads/daemonset/detail/component.ts diff --git a/src/app/frontend/resource/workloads/daemonset/detail/template.html b/modules/web/src/resource/workloads/daemonset/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/daemonset/detail/template.html rename to modules/web/src/resource/workloads/daemonset/detail/template.html diff --git a/src/app/frontend/resource/workloads/daemonset/list/component.ts b/modules/web/src/resource/workloads/daemonset/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/daemonset/list/component.ts rename to modules/web/src/resource/workloads/daemonset/list/component.ts diff --git a/src/app/frontend/resource/workloads/daemonset/module.ts b/modules/web/src/resource/workloads/daemonset/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/daemonset/module.ts rename to modules/web/src/resource/workloads/daemonset/module.ts diff --git a/src/app/frontend/resource/workloads/daemonset/routing.ts b/modules/web/src/resource/workloads/daemonset/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/daemonset/routing.ts rename to modules/web/src/resource/workloads/daemonset/routing.ts diff --git a/src/app/frontend/resource/workloads/deployment/detail/component.ts b/modules/web/src/resource/workloads/deployment/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/deployment/detail/component.ts rename to modules/web/src/resource/workloads/deployment/detail/component.ts diff --git a/src/app/frontend/resource/workloads/deployment/detail/template.html b/modules/web/src/resource/workloads/deployment/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/deployment/detail/template.html rename to modules/web/src/resource/workloads/deployment/detail/template.html diff --git a/src/app/frontend/resource/workloads/deployment/list/component.ts b/modules/web/src/resource/workloads/deployment/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/deployment/list/component.ts rename to modules/web/src/resource/workloads/deployment/list/component.ts diff --git a/src/app/frontend/resource/workloads/deployment/module.ts b/modules/web/src/resource/workloads/deployment/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/deployment/module.ts rename to modules/web/src/resource/workloads/deployment/module.ts diff --git a/src/app/frontend/resource/workloads/deployment/routing.ts b/modules/web/src/resource/workloads/deployment/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/deployment/routing.ts rename to modules/web/src/resource/workloads/deployment/routing.ts diff --git a/src/app/frontend/resource/workloads/job/detail/component.ts b/modules/web/src/resource/workloads/job/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/job/detail/component.ts rename to modules/web/src/resource/workloads/job/detail/component.ts diff --git a/src/app/frontend/resource/workloads/job/detail/template.html b/modules/web/src/resource/workloads/job/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/job/detail/template.html rename to modules/web/src/resource/workloads/job/detail/template.html diff --git a/src/app/frontend/resource/workloads/job/list/component.ts b/modules/web/src/resource/workloads/job/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/job/list/component.ts rename to modules/web/src/resource/workloads/job/list/component.ts diff --git a/src/app/frontend/resource/workloads/job/module.ts b/modules/web/src/resource/workloads/job/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/job/module.ts rename to modules/web/src/resource/workloads/job/module.ts diff --git a/src/app/frontend/resource/workloads/job/routing.ts b/modules/web/src/resource/workloads/job/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/job/routing.ts rename to modules/web/src/resource/workloads/job/routing.ts diff --git a/src/app/frontend/resource/workloads/module.ts b/modules/web/src/resource/workloads/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/module.ts rename to modules/web/src/resource/workloads/module.ts diff --git a/src/app/frontend/resource/workloads/pod/detail/component.ts b/modules/web/src/resource/workloads/pod/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/pod/detail/component.ts rename to modules/web/src/resource/workloads/pod/detail/component.ts diff --git a/src/app/frontend/resource/workloads/pod/detail/style.scss b/modules/web/src/resource/workloads/pod/detail/style.scss similarity index 100% rename from src/app/frontend/resource/workloads/pod/detail/style.scss rename to modules/web/src/resource/workloads/pod/detail/style.scss diff --git a/src/app/frontend/resource/workloads/pod/detail/template.html b/modules/web/src/resource/workloads/pod/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/pod/detail/template.html rename to modules/web/src/resource/workloads/pod/detail/template.html diff --git a/src/app/frontend/resource/workloads/pod/list/component.ts b/modules/web/src/resource/workloads/pod/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/pod/list/component.ts rename to modules/web/src/resource/workloads/pod/list/component.ts diff --git a/src/app/frontend/resource/workloads/pod/module.ts b/modules/web/src/resource/workloads/pod/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/pod/module.ts rename to modules/web/src/resource/workloads/pod/module.ts diff --git a/src/app/frontend/resource/workloads/pod/routing.ts b/modules/web/src/resource/workloads/pod/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/pod/routing.ts rename to modules/web/src/resource/workloads/pod/routing.ts diff --git a/src/app/frontend/resource/workloads/replicaset/detail/component.ts b/modules/web/src/resource/workloads/replicaset/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicaset/detail/component.ts rename to modules/web/src/resource/workloads/replicaset/detail/component.ts diff --git a/src/app/frontend/resource/workloads/replicaset/detail/template.html b/modules/web/src/resource/workloads/replicaset/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/replicaset/detail/template.html rename to modules/web/src/resource/workloads/replicaset/detail/template.html diff --git a/src/app/frontend/resource/workloads/replicaset/list/component.ts b/modules/web/src/resource/workloads/replicaset/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicaset/list/component.ts rename to modules/web/src/resource/workloads/replicaset/list/component.ts diff --git a/src/app/frontend/resource/workloads/replicaset/module.ts b/modules/web/src/resource/workloads/replicaset/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicaset/module.ts rename to modules/web/src/resource/workloads/replicaset/module.ts diff --git a/src/app/frontend/resource/workloads/replicaset/routing.ts b/modules/web/src/resource/workloads/replicaset/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicaset/routing.ts rename to modules/web/src/resource/workloads/replicaset/routing.ts diff --git a/src/app/frontend/resource/workloads/replicationcontroller/detail/component.ts b/modules/web/src/resource/workloads/replicationcontroller/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicationcontroller/detail/component.ts rename to modules/web/src/resource/workloads/replicationcontroller/detail/component.ts diff --git a/src/app/frontend/resource/workloads/replicationcontroller/detail/template.html b/modules/web/src/resource/workloads/replicationcontroller/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/replicationcontroller/detail/template.html rename to modules/web/src/resource/workloads/replicationcontroller/detail/template.html diff --git a/src/app/frontend/resource/workloads/replicationcontroller/list/component.ts b/modules/web/src/resource/workloads/replicationcontroller/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicationcontroller/list/component.ts rename to modules/web/src/resource/workloads/replicationcontroller/list/component.ts diff --git a/src/app/frontend/resource/workloads/replicationcontroller/module.ts b/modules/web/src/resource/workloads/replicationcontroller/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicationcontroller/module.ts rename to modules/web/src/resource/workloads/replicationcontroller/module.ts diff --git a/src/app/frontend/resource/workloads/replicationcontroller/routing.ts b/modules/web/src/resource/workloads/replicationcontroller/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/replicationcontroller/routing.ts rename to modules/web/src/resource/workloads/replicationcontroller/routing.ts diff --git a/src/app/frontend/resource/workloads/routing.ts b/modules/web/src/resource/workloads/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/routing.ts rename to modules/web/src/resource/workloads/routing.ts diff --git a/src/app/frontend/resource/workloads/statefulset/detail/component.ts b/modules/web/src/resource/workloads/statefulset/detail/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/statefulset/detail/component.ts rename to modules/web/src/resource/workloads/statefulset/detail/component.ts diff --git a/src/app/frontend/resource/workloads/statefulset/detail/template.html b/modules/web/src/resource/workloads/statefulset/detail/template.html similarity index 100% rename from src/app/frontend/resource/workloads/statefulset/detail/template.html rename to modules/web/src/resource/workloads/statefulset/detail/template.html diff --git a/src/app/frontend/resource/workloads/statefulset/list/component.ts b/modules/web/src/resource/workloads/statefulset/list/component.ts similarity index 100% rename from src/app/frontend/resource/workloads/statefulset/list/component.ts rename to modules/web/src/resource/workloads/statefulset/list/component.ts diff --git a/src/app/frontend/resource/workloads/statefulset/module.ts b/modules/web/src/resource/workloads/statefulset/module.ts similarity index 100% rename from src/app/frontend/resource/workloads/statefulset/module.ts rename to modules/web/src/resource/workloads/statefulset/module.ts diff --git a/src/app/frontend/resource/workloads/statefulset/routing.ts b/modules/web/src/resource/workloads/statefulset/routing.ts similarity index 100% rename from src/app/frontend/resource/workloads/statefulset/routing.ts rename to modules/web/src/resource/workloads/statefulset/routing.ts diff --git a/src/app/frontend/resource/workloads/template.html b/modules/web/src/resource/workloads/template.html similarity index 100% rename from src/app/frontend/resource/workloads/template.html rename to modules/web/src/resource/workloads/template.html diff --git a/src/app/frontend/search/component.ts b/modules/web/src/search/component.ts similarity index 100% rename from src/app/frontend/search/component.ts rename to modules/web/src/search/component.ts diff --git a/src/app/frontend/search/module.ts b/modules/web/src/search/module.ts similarity index 100% rename from src/app/frontend/search/module.ts rename to modules/web/src/search/module.ts diff --git a/src/app/frontend/search/routing.ts b/modules/web/src/search/routing.ts similarity index 100% rename from src/app/frontend/search/routing.ts rename to modules/web/src/search/routing.ts diff --git a/src/app/frontend/search/template.html b/modules/web/src/search/template.html similarity index 100% rename from src/app/frontend/search/template.html rename to modules/web/src/search/template.html diff --git a/src/app/frontend/settings/component.ts b/modules/web/src/settings/component.ts similarity index 100% rename from src/app/frontend/settings/component.ts rename to modules/web/src/settings/component.ts diff --git a/src/app/frontend/settings/entry/component.ts b/modules/web/src/settings/entry/component.ts similarity index 100% rename from src/app/frontend/settings/entry/component.ts rename to modules/web/src/settings/entry/component.ts diff --git a/src/app/frontend/settings/entry/template.html b/modules/web/src/settings/entry/template.html similarity index 100% rename from src/app/frontend/settings/entry/template.html rename to modules/web/src/settings/entry/template.html diff --git a/src/app/frontend/settings/global/component.ts b/modules/web/src/settings/global/component.ts similarity index 100% rename from src/app/frontend/settings/global/component.ts rename to modules/web/src/settings/global/component.ts diff --git a/src/app/frontend/settings/global/namespace/adddialog/dialog.ts b/modules/web/src/settings/global/namespace/adddialog/dialog.ts similarity index 100% rename from src/app/frontend/settings/global/namespace/adddialog/dialog.ts rename to modules/web/src/settings/global/namespace/adddialog/dialog.ts diff --git a/src/app/frontend/settings/global/namespace/adddialog/template.html b/modules/web/src/settings/global/namespace/adddialog/template.html similarity index 100% rename from src/app/frontend/settings/global/namespace/adddialog/template.html rename to modules/web/src/settings/global/namespace/adddialog/template.html diff --git a/src/app/frontend/settings/global/namespace/component.ts b/modules/web/src/settings/global/namespace/component.ts similarity index 100% rename from src/app/frontend/settings/global/namespace/component.ts rename to modules/web/src/settings/global/namespace/component.ts diff --git a/src/app/frontend/settings/global/namespace/editdialog/dialog.ts b/modules/web/src/settings/global/namespace/editdialog/dialog.ts similarity index 100% rename from src/app/frontend/settings/global/namespace/editdialog/dialog.ts rename to modules/web/src/settings/global/namespace/editdialog/dialog.ts diff --git a/src/app/frontend/settings/global/namespace/editdialog/template.html b/modules/web/src/settings/global/namespace/editdialog/template.html similarity index 100% rename from src/app/frontend/settings/global/namespace/editdialog/template.html rename to modules/web/src/settings/global/namespace/editdialog/template.html diff --git a/src/app/frontend/settings/global/namespace/style.scss b/modules/web/src/settings/global/namespace/style.scss similarity index 100% rename from src/app/frontend/settings/global/namespace/style.scss rename to modules/web/src/settings/global/namespace/style.scss diff --git a/src/app/frontend/settings/global/namespace/template.html b/modules/web/src/settings/global/namespace/template.html similarity index 100% rename from src/app/frontend/settings/global/namespace/template.html rename to modules/web/src/settings/global/namespace/template.html diff --git a/src/app/frontend/settings/global/saveanywaysdialog/dialog.ts b/modules/web/src/settings/global/saveanywaysdialog/dialog.ts similarity index 100% rename from src/app/frontend/settings/global/saveanywaysdialog/dialog.ts rename to modules/web/src/settings/global/saveanywaysdialog/dialog.ts diff --git a/src/app/frontend/settings/global/saveanywaysdialog/template.html b/modules/web/src/settings/global/saveanywaysdialog/template.html similarity index 100% rename from src/app/frontend/settings/global/saveanywaysdialog/template.html rename to modules/web/src/settings/global/saveanywaysdialog/template.html diff --git a/src/app/frontend/settings/global/service.ts b/modules/web/src/settings/global/service.ts similarity index 100% rename from src/app/frontend/settings/global/service.ts rename to modules/web/src/settings/global/service.ts diff --git a/src/app/frontend/settings/global/style.scss b/modules/web/src/settings/global/style.scss similarity index 100% rename from src/app/frontend/settings/global/style.scss rename to modules/web/src/settings/global/style.scss diff --git a/src/app/frontend/settings/global/template.html b/modules/web/src/settings/global/template.html similarity index 100% rename from src/app/frontend/settings/global/template.html rename to modules/web/src/settings/global/template.html diff --git a/src/app/frontend/settings/local/component.ts b/modules/web/src/settings/local/component.ts similarity index 100% rename from src/app/frontend/settings/local/component.ts rename to modules/web/src/settings/local/component.ts diff --git a/src/app/frontend/settings/local/style.scss b/modules/web/src/settings/local/style.scss similarity index 100% rename from src/app/frontend/settings/local/style.scss rename to modules/web/src/settings/local/style.scss diff --git a/src/app/frontend/settings/local/template.html b/modules/web/src/settings/local/template.html similarity index 100% rename from src/app/frontend/settings/local/template.html rename to modules/web/src/settings/local/template.html diff --git a/src/app/frontend/settings/module.ts b/modules/web/src/settings/module.ts similarity index 100% rename from src/app/frontend/settings/module.ts rename to modules/web/src/settings/module.ts diff --git a/src/app/frontend/settings/routing.ts b/modules/web/src/settings/routing.ts similarity index 100% rename from src/app/frontend/settings/routing.ts rename to modules/web/src/settings/routing.ts diff --git a/src/app/frontend/shared.module.ts b/modules/web/src/shared.module.ts similarity index 100% rename from src/app/frontend/shared.module.ts rename to modules/web/src/shared.module.ts diff --git a/src/app/frontend/shell/component.ts b/modules/web/src/shell/component.ts similarity index 100% rename from src/app/frontend/shell/component.ts rename to modules/web/src/shell/component.ts diff --git a/src/app/frontend/shell/module.ts b/modules/web/src/shell/module.ts similarity index 100% rename from src/app/frontend/shell/module.ts rename to modules/web/src/shell/module.ts diff --git a/src/app/frontend/shell/routing.ts b/modules/web/src/shell/routing.ts similarity index 100% rename from src/app/frontend/shell/routing.ts rename to modules/web/src/shell/routing.ts diff --git a/src/app/frontend/shell/styles.scss b/modules/web/src/shell/styles.scss similarity index 100% rename from src/app/frontend/shell/styles.scss rename to modules/web/src/shell/styles.scss diff --git a/src/app/frontend/shell/template.html b/modules/web/src/shell/template.html similarity index 100% rename from src/app/frontend/shell/template.html rename to modules/web/src/shell/template.html diff --git a/src/app/frontend/systemjs.d.ts b/modules/web/src/systemjs.d.ts similarity index 100% rename from src/app/frontend/systemjs.d.ts rename to modules/web/src/systemjs.d.ts diff --git a/src/app/frontend/test.base.mocks.ts b/modules/web/src/test.base.mocks.ts similarity index 100% rename from src/app/frontend/test.base.mocks.ts rename to modules/web/src/test.base.mocks.ts diff --git a/src/app/frontend/test.base.ts b/modules/web/src/test.base.ts similarity index 100% rename from src/app/frontend/test.base.ts rename to modules/web/src/test.base.ts diff --git a/src/app/frontend/typings/root.api.ts b/modules/web/src/typings/root.api.ts similarity index 100% rename from src/app/frontend/typings/root.api.ts rename to modules/web/src/typings/root.api.ts diff --git a/src/app/frontend/typings/root.shared.ts b/modules/web/src/typings/root.shared.ts similarity index 100% rename from src/app/frontend/typings/root.shared.ts rename to modules/web/src/typings/root.shared.ts diff --git a/src/app/frontend/typings/root.ui.ts b/modules/web/src/typings/root.ui.ts similarity index 100% rename from src/app/frontend/typings/root.ui.ts rename to modules/web/src/typings/root.ui.ts diff --git a/src/app/frontend/typings/volume.api.ts b/modules/web/src/typings/volume.api.ts similarity index 100% rename from src/app/frontend/typings/volume.api.ts rename to modules/web/src/typings/volume.api.ts diff --git a/aio/tsconfig.app.json b/modules/web/tsconfig.app.json similarity index 100% rename from aio/tsconfig.app.json rename to modules/web/tsconfig.app.json diff --git a/aio/tsconfig.e2e.json b/modules/web/tsconfig.e2e.json similarity index 100% rename from aio/tsconfig.e2e.json rename to modules/web/tsconfig.e2e.json diff --git a/tsconfig.json b/modules/web/tsconfig.json similarity index 100% rename from tsconfig.json rename to modules/web/tsconfig.json diff --git a/aio/tsconfig.spec.json b/modules/web/tsconfig.spec.json similarity index 100% rename from aio/tsconfig.spec.json rename to modules/web/tsconfig.spec.json From e9461c04b8b203ef9728178c8abf0478b09bc90d Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 10:25:00 +0200 Subject: [PATCH 002/162] Move modules to the root dir --- {modules/api => api}/.air.toml | 0 {modules/api => api}/.golangci.yml | 0 {modules/api => api}/go.mod | 0 {modules/api => api}/go.sum | 0 {modules/api => api}/src/api/types.go | 0 {modules/api => api}/src/api/types_test.go | 0 {modules/api => api}/src/args/builder.go | 0 {modules/api => api}/src/args/holder.go | 0 {modules/api => api}/src/auth/api/common.go | 0 {modules/api => api}/src/auth/api/common_test.go | 0 {modules/api => api}/src/auth/api/types.go | 0 {modules/api => api}/src/auth/basic.go | 0 {modules/api => api}/src/auth/handler.go | 0 {modules/api => api}/src/auth/handler_test.go | 0 {modules/api => api}/src/auth/jwe/keyholder.go | 0 {modules/api => api}/src/auth/jwe/keyholder_test.go | 0 {modules/api => api}/src/auth/jwe/manager.go | 0 {modules/api => api}/src/auth/jwe/manager_test.go | 0 {modules/api => api}/src/auth/jwe/util.go | 0 {modules/api => api}/src/auth/kubeconfig.go | 0 {modules/api => api}/src/auth/kubeconfig_test.go | 0 {modules/api => api}/src/auth/manager.go | 0 {modules/api => api}/src/auth/manager_test.go | 0 {modules/api => api}/src/auth/token.go | 0 {modules/api => api}/src/cert/api/types.go | 0 {modules/api => api}/src/cert/ecdsa/creator.go | 0 {modules/api => api}/src/cert/ecdsa/creator_test.go | 0 {modules/api => api}/src/cert/manager.go | 0 {modules/api => api}/src/client/api/common.go | 0 {modules/api => api}/src/client/api/common_test.go | 0 {modules/api => api}/src/client/api/types.go | 0 {modules/api => api}/src/client/csrf/manager.go | 0 .../api => api}/src/client/csrf/manager_test.go | 0 {modules/api => api}/src/client/manager.go | 0 {modules/api => api}/src/client/manager_test.go | 0 {modules/api => api}/src/client/verber.go | 0 {modules/api => api}/src/client/verber_test.go | 0 {modules/api => api}/src/dashboard.go | 0 {modules/api => api}/src/errors/errors.go | 0 {modules/api => api}/src/errors/handler.go | 0 {modules/api => api}/src/errors/handler_test.go | 0 {modules/api => api}/src/errors/localizer.go | 0 {modules/api => api}/src/errors/localizer_test.go | 0 {modules/api => api}/src/handler/apihandler.go | 0 {modules/api => api}/src/handler/apihandler_test.go | 0 {modules/api => api}/src/handler/confighandler.go | 0 {modules/api => api}/src/handler/download.go | 0 {modules/api => api}/src/handler/filter.go | 0 {modules/api => api}/src/handler/gziphandler.go | 0 {modules/api => api}/src/handler/localehandler.go | 0 .../api => api}/src/handler/localehandler_test.go | 0 {modules/api => api}/src/handler/metrics.go | 0 {modules/api => api}/src/handler/parser/parser.go | 0 {modules/api => api}/src/handler/terminal.go | 0 {modules/api => api}/src/integration/api/types.go | 0 {modules/api => api}/src/integration/handler.go | 0 .../api => api}/src/integration/handler_test.go | 0 {modules/api => api}/src/integration/list.go | 0 {modules/api => api}/src/integration/manager.go | 0 .../api => api}/src/integration/manager_test.go | 0 .../api => api}/src/integration/metric/api/types.go | 0 .../src/integration/metric/common/aggregation.go | 0 .../integration/metric/common/aggregation_test.go | 0 .../src/integration/metric/heapster/client.go | 0 .../src/integration/metric/heapster/client_test.go | 0 .../src/integration/metric/heapster/common.go | 0 .../src/integration/metric/heapster/model.go | 0 .../src/integration/metric/heapster/restclient.go | 0 .../src/integration/metric/heapster/selector.go | 0 .../integration/metric/heapster/selector_test.go | 0 .../api => api}/src/integration/metric/manager.go | 0 .../src/integration/metric/manager_test.go | 0 .../src/integration/metric/sidecar/client.go | 0 .../src/integration/metric/sidecar/client_test.go | 0 .../src/integration/metric/sidecar/common.go | 0 .../src/integration/metric/sidecar/model.go | 0 .../src/integration/metric/sidecar/restclient.go | 0 .../src/integration/metric/sidecar/selector.go | 0 .../src/integration/metric/sidecar/selector_test.go | 0 {modules/api => api}/src/plugin/apis/register.go | 0 .../api => api}/src/plugin/apis/v1alpha1/doc.go | 0 .../src/plugin/apis/v1alpha1/register.go | 0 .../api => api}/src/plugin/apis/v1alpha1/types.go | 0 .../plugin/apis/v1alpha1/zz_generated.deepcopy.go | 0 .../plugin/client/clientset/versioned/clientset.go | 0 .../src/plugin/client/clientset/versioned/doc.go | 0 .../clientset/versioned/fake/clientset_generated.go | 0 .../plugin/client/clientset/versioned/fake/doc.go | 0 .../client/clientset/versioned/fake/register.go | 0 .../plugin/client/clientset/versioned/scheme/doc.go | 0 .../client/clientset/versioned/scheme/register.go | 0 .../versioned/typed/apis/v1alpha1/apis_client.go | 0 .../clientset/versioned/typed/apis/v1alpha1/doc.go | 0 .../versioned/typed/apis/v1alpha1/fake/doc.go | 0 .../typed/apis/v1alpha1/fake/fake_apis_client.go | 0 .../typed/apis/v1alpha1/fake/fake_plugin.go | 0 .../typed/apis/v1alpha1/generated_expansion.go | 0 .../versioned/typed/apis/v1alpha1/plugin.go | 0 .../informers/externalversions/apis/interface.go | 0 .../externalversions/apis/v1alpha1/interface.go | 0 .../externalversions/apis/v1alpha1/plugin.go | 0 .../client/informers/externalversions/factory.go | 0 .../client/informers/externalversions/generic.go | 0 .../internalinterfaces/factory_interfaces.go | 0 .../listers/apis/v1alpha1/expansion_generated.go | 0 .../plugin/client/listers/apis/v1alpha1/plugin.go | 0 {modules/api => api}/src/plugin/config.go | 0 {modules/api => api}/src/plugin/config_test.go | 0 {modules/api => api}/src/plugin/detail.go | 0 {modules/api => api}/src/plugin/detail_test.go | 0 {modules/api => api}/src/plugin/handler.go | 0 {modules/api => api}/src/plugin/handler_test.go | 0 {modules/api => api}/src/plugin/list.go | 0 {modules/api => api}/src/plugin/list_test.go | 0 .../api => api}/src/resource/clusterrole/common.go | 0 .../api => api}/src/resource/clusterrole/detail.go | 0 .../api => api}/src/resource/clusterrole/list.go | 0 .../src/resource/clusterrole/list_test.go | 0 .../src/resource/clusterrolebinding/common.go | 0 .../src/resource/clusterrolebinding/detail.go | 0 .../src/resource/clusterrolebinding/list.go | 0 .../src/resource/clusterrolebinding/list_test.go | 0 .../api => api}/src/resource/common/condition.go | 0 .../api => api}/src/resource/common/endpoint.go | 0 .../src/resource/common/endpoint_test.go | 0 {modules/api => api}/src/resource/common/event.go | 0 .../api => api}/src/resource/common/namespace.go | 0 .../src/resource/common/namespace_test.go | 0 {modules/api => api}/src/resource/common/pod.go | 0 .../api => api}/src/resource/common/pod_test.go | 0 {modules/api => api}/src/resource/common/podinfo.go | 0 .../api => api}/src/resource/common/podinfo_test.go | 0 .../src/resource/common/resourcechannels.go | 0 .../src/resource/common/resourcestatus.go | 0 {modules/api => api}/src/resource/common/service.go | 0 .../api => api}/src/resource/common/service_test.go | 0 .../api => api}/src/resource/common/serviceport.go | 0 .../src/resource/common/serviceport_test.go | 0 .../api => api}/src/resource/configmap/common.go | 0 .../api => api}/src/resource/configmap/detail.go | 0 .../src/resource/configmap/detail_test.go | 0 {modules/api => api}/src/resource/configmap/list.go | 0 .../api => api}/src/resource/configmap/list_test.go | 0 {modules/api => api}/src/resource/container/logs.go | 0 .../api => api}/src/resource/container/logs_test.go | 0 .../src/resource/controller/controller.go | 0 .../src/resource/controller/controller_test.go | 0 {modules/api => api}/src/resource/cronjob/common.go | 0 .../api => api}/src/resource/cronjob/common_test.go | 0 {modules/api => api}/src/resource/cronjob/detail.go | 0 .../api => api}/src/resource/cronjob/detail_test.go | 0 {modules/api => api}/src/resource/cronjob/events.go | 0 .../api => api}/src/resource/cronjob/events_test.go | 0 {modules/api => api}/src/resource/cronjob/jobs.go | 0 .../api => api}/src/resource/cronjob/jobs_test.go | 0 {modules/api => api}/src/resource/cronjob/list.go | 0 .../api => api}/src/resource/cronjob/list_test.go | 0 .../src/resource/customresourcedefinition/common.go | 0 .../src/resource/customresourcedefinition/events.go | 0 .../customresourcedefinition/events_test.go | 0 .../customresourcedefinition/types/types.go | 0 .../resource/customresourcedefinition/v1/client.go | 0 .../resource/customresourcedefinition/v1/common.go | 0 .../resource/customresourcedefinition/v1/detail.go | 0 .../resource/customresourcedefinition/v1/list.go | 0 .../customresourcedefinition/v1/list_test.go | 0 .../resource/customresourcedefinition/v1/objects.go | 0 .../api => api}/src/resource/daemonset/common.go | 0 .../src/resource/daemonset/common_test.go | 0 .../api => api}/src/resource/daemonset/detail.go | 0 {modules/api => api}/src/resource/daemonset/list.go | 0 .../api => api}/src/resource/daemonset/list_test.go | 0 {modules/api => api}/src/resource/daemonset/pods.go | 0 .../api => api}/src/resource/daemonset/services.go | 0 .../src/resource/dataselect/dataselect.go | 0 .../src/resource/dataselect/dataselect_test.go | 0 .../src/resource/dataselect/dataselectquery.go | 0 .../src/resource/dataselect/pagination.go | 0 .../src/resource/dataselect/pagination_test.go | 0 .../src/resource/dataselect/propertyname.go | 0 .../src/resource/dataselect/stdcomparabletypes.go | 0 .../resource/dataselect/stdcomparabletypes_test.go | 0 .../api => api}/src/resource/deployment/common.go | 0 .../api => api}/src/resource/deployment/deploy.go | 0 .../src/resource/deployment/deploy_test.go | 0 .../api => api}/src/resource/deployment/detail.go | 0 .../src/resource/deployment/detail_test.go | 0 .../api => api}/src/resource/deployment/list.go | 0 .../src/resource/deployment/list_test.go | 0 .../src/resource/deployment/newreplicasets.go | 0 .../src/resource/deployment/oldreplicasets.go | 0 .../api => api}/src/resource/deployment/pods.go | 0 .../api => api}/src/resource/deployment/rollout.go | 0 .../api => api}/src/resource/deployment/util.go | 0 .../api => api}/src/resource/endpoint/endpoint.go | 0 {modules/api => api}/src/resource/endpoint/list.go | 0 {modules/api => api}/src/resource/event/common.go | 0 .../api => api}/src/resource/event/common_test.go | 0 {modules/api => api}/src/resource/event/event.go | 0 .../api => api}/src/resource/event/event_test.go | 0 {modules/api => api}/src/resource/event/list.go | 0 .../src/resource/horizontalpodautoscaler/common.go | 0 .../src/resource/horizontalpodautoscaler/detail.go | 0 .../resource/horizontalpodautoscaler/detail_test.go | 0 .../src/resource/horizontalpodautoscaler/list.go | 0 .../resource/horizontalpodautoscaler/list_test.go | 0 {modules/api => api}/src/resource/ingress/common.go | 0 {modules/api => api}/src/resource/ingress/detail.go | 0 {modules/api => api}/src/resource/ingress/filter.go | 0 {modules/api => api}/src/resource/ingress/list.go | 0 {modules/api => api}/src/resource/job/common.go | 0 {modules/api => api}/src/resource/job/detail.go | 0 .../api => api}/src/resource/job/detail_test.go | 0 {modules/api => api}/src/resource/job/events.go | 0 .../api => api}/src/resource/job/events_test.go | 0 {modules/api => api}/src/resource/job/list.go | 0 {modules/api => api}/src/resource/job/list_test.go | 0 {modules/api => api}/src/resource/job/pods.go | 0 .../api => api}/src/resource/limitrange/detail.go | 0 .../src/resource/limitrange/detail_test.go | 0 {modules/api => api}/src/resource/logs/logs.go | 0 {modules/api => api}/src/resource/logs/source.go | 0 .../api => api}/src/resource/namespace/common.go | 0 .../api => api}/src/resource/namespace/detail.go | 0 .../src/resource/namespace/detail_test.go | 0 {modules/api => api}/src/resource/namespace/list.go | 0 .../api => api}/src/resource/namespace/list_test.go | 0 .../src/resource/networkpolicy/common.go | 0 .../src/resource/networkpolicy/detail.go | 0 .../api => api}/src/resource/networkpolicy/list.go | 0 {modules/api => api}/src/resource/node/common.go | 0 {modules/api => api}/src/resource/node/detail.go | 0 .../api => api}/src/resource/node/detail_test.go | 0 {modules/api => api}/src/resource/node/list.go | 0 {modules/api => api}/src/resource/node/list_test.go | 0 .../src/resource/persistentvolume/common.go | 0 .../src/resource/persistentvolume/common_test.go | 0 .../src/resource/persistentvolume/detail.go | 0 .../src/resource/persistentvolume/detail_test.go | 0 .../src/resource/persistentvolume/list.go | 0 .../src/resource/persistentvolume/list_test.go | 0 .../src/resource/persistentvolumeclaim/common.go | 0 .../resource/persistentvolumeclaim/common_test.go | 0 .../src/resource/persistentvolumeclaim/detail.go | 0 .../resource/persistentvolumeclaim/detail_test.go | 0 .../src/resource/persistentvolumeclaim/list.go | 0 .../src/resource/persistentvolumeclaim/list_test.go | 0 {modules/api => api}/src/resource/pod/common.go | 0 .../api => api}/src/resource/pod/common_test.go | 0 {modules/api => api}/src/resource/pod/detail.go | 0 .../api => api}/src/resource/pod/detail_test.go | 0 {modules/api => api}/src/resource/pod/events.go | 0 .../api => api}/src/resource/pod/events_test.go | 0 {modules/api => api}/src/resource/pod/fieldpath.go | 0 .../api => api}/src/resource/pod/fieldpath_test.go | 0 {modules/api => api}/src/resource/pod/list.go | 0 {modules/api => api}/src/resource/pod/list_test.go | 0 {modules/api => api}/src/resource/pod/metrics.go | 0 .../api => api}/src/resource/replicaset/common.go | 0 .../src/resource/replicaset/common_test.go | 0 .../api => api}/src/resource/replicaset/detail.go | 0 .../src/resource/replicaset/detail_test.go | 0 .../api => api}/src/resource/replicaset/list.go | 0 .../src/resource/replicaset/list_test.go | 0 .../api => api}/src/resource/replicaset/pods.go | 0 .../api => api}/src/resource/replicaset/services.go | 0 .../src/resource/replicationcontroller/common.go | 0 .../resource/replicationcontroller/common_test.go | 0 .../src/resource/replicationcontroller/detail.go | 0 .../resource/replicationcontroller/detail_test.go | 0 .../src/resource/replicationcontroller/list.go | 0 .../src/resource/replicationcontroller/list_test.go | 0 .../src/resource/replicationcontroller/pods.go | 0 .../src/resource/replicationcontroller/services.go | 0 .../src/resource/resourcequota/detail.go | 0 .../src/resource/resourcequota/detail_test.go | 0 {modules/api => api}/src/resource/role/common.go | 0 {modules/api => api}/src/resource/role/detail.go | 0 {modules/api => api}/src/resource/role/list.go | 0 {modules/api => api}/src/resource/role/list_test.go | 0 .../api => api}/src/resource/rolebinding/common.go | 0 .../api => api}/src/resource/rolebinding/detail.go | 0 .../api => api}/src/resource/rolebinding/list.go | 0 .../src/resource/rolebinding/list_test.go | 0 {modules/api => api}/src/resource/secret/common.go | 0 {modules/api => api}/src/resource/secret/detail.go | 0 .../api => api}/src/resource/secret/detail_test.go | 0 {modules/api => api}/src/resource/secret/list.go | 0 .../api => api}/src/resource/secret/list_test.go | 0 {modules/api => api}/src/resource/service/common.go | 0 {modules/api => api}/src/resource/service/detail.go | 0 .../api => api}/src/resource/service/detail_test.go | 0 {modules/api => api}/src/resource/service/events.go | 0 .../api => api}/src/resource/service/events_test.go | 0 .../api => api}/src/resource/service/ingress.go | 0 {modules/api => api}/src/resource/service/list.go | 0 .../api => api}/src/resource/service/list_test.go | 0 {modules/api => api}/src/resource/service/pods.go | 0 .../api => api}/src/resource/service/pods_test.go | 0 .../src/resource/serviceaccount/common.go | 0 .../src/resource/serviceaccount/detail.go | 0 .../api => api}/src/resource/serviceaccount/list.go | 0 .../src/resource/serviceaccount/secrets.go | 0 .../api => api}/src/resource/statefulset/common.go | 0 .../api => api}/src/resource/statefulset/detail.go | 0 .../api => api}/src/resource/statefulset/list.go | 0 .../src/resource/statefulset/list_test.go | 0 .../api => api}/src/resource/statefulset/pods.go | 0 .../api => api}/src/resource/storageclass/common.go | 0 .../api => api}/src/resource/storageclass/detail.go | 0 .../src/resource/storageclass/detail_test.go | 0 .../api => api}/src/resource/storageclass/list.go | 0 .../src/resource/storageclass/list_test.go | 0 {modules/api => api}/src/scaling/scale.go | 0 {modules/api => api}/src/settings/api/types.go | 0 {modules/api => api}/src/settings/handler.go | 0 {modules/api => api}/src/settings/handler_test.go | 0 {modules/api => api}/src/settings/manager.go | 0 {modules/api => api}/src/settings/manager_test.go | 0 {modules/api => api}/src/sync/api/types.go | 0 {modules/api => api}/src/sync/manager.go | 0 {modules/api => api}/src/sync/manager_test.go | 0 {modules/api => api}/src/sync/overwatch.go | 0 {modules/api => api}/src/sync/poll/secret.go | 0 {modules/api => api}/src/sync/poll/secret_test.go | 0 {modules/api => api}/src/sync/poll/watcher.go | 0 {modules/api => api}/src/sync/poll/watcher_test.go | 0 {modules/api => api}/src/sync/secret.go | 0 {modules/api => api}/src/sync/secret_test.go | 0 {modules/api => api}/src/systembanner/api/types.go | 0 {modules/api => api}/src/systembanner/handler.go | 0 {modules/api => api}/src/systembanner/manager.go | 0 .../api => api}/src/validation/validateappname.go | 0 .../src/validation/validateappname_test.go | 0 .../src/validation/validateimagereference.go | 0 .../src/validation/validateimagereference_test.go | 0 .../src/validation/validateloginstatus.go | 0 .../src/validation/validateloginstatus_test.go | 0 .../api => api}/src/validation/validateprotocol.go | 0 .../src/validation/validateprotocol_test.go | 0 .../src/validation/validaterbacstatus.go | 0 .../src/validation/validaterbacstatus_test.go | 0 {modules/web => web}/.babelrc | 0 {modules/web => web}/.browserslistrc | 0 {modules/web => web}/.eslintignore | 0 {modules/web => web}/.eslintrc.yaml | 0 {modules/web => web}/.gitignore | 0 {modules/web => web}/.jsbeautifyrc | 0 {modules/web => web}/.npmrc | 0 {modules/web => web}/.prettierrc.cjs | 0 {modules/web => web}/.stylelintrc.yaml | 0 {modules/web => web}/angular.json | 0 {modules/web => web}/cypress.json | 0 {modules/web => web}/cypress/fixtures/crd.yaml | 0 .../web => web}/cypress/fixtures/example-foo.yaml | 0 .../cypress/integration/specs/nav.spec.ts | 0 .../cypress/integration/specs/userpanel.spec.ts | 0 {modules/web => web}/cypress/pages/abstractPage.ts | 0 {modules/web => web}/cypress/pages/navbarPage.ts | 0 {modules/web => web}/cypress/pages/userpanelPage.ts | 0 .../cypress/plugins/cy-ts-preprocessor.ts | 0 {modules/web => web}/cypress/plugins/index.ts | 0 {modules/web => web}/cypress/support/index.ts | 0 {modules/web => web}/i18n/de/OWNERS | 0 {modules/web => web}/i18n/de/messages.de.xlf | 0 {modules/web => web}/i18n/es/OWNERS | 0 {modules/web => web}/i18n/es/messages.es.xlf | 0 {modules/web => web}/i18n/fr/OWNERS | 0 {modules/web => web}/i18n/fr/messages.fr.xlf | 0 {modules/web => web}/i18n/ja/OWNERS | 0 {modules/web => web}/i18n/ja/README.md | 0 {modules/web => web}/i18n/ja/messages.ja.xlf | 0 {modules/web => web}/i18n/ko/OWNERS | 0 {modules/web => web}/i18n/ko/messages.ko.xlf | 0 {modules/web => web}/i18n/locale_conf.json | 0 {modules/web => web}/i18n/messages.xlf | 0 {modules/web => web}/i18n/zh-Hans/OWNERS | 0 .../web => web}/i18n/zh-Hans/messages.zh-Hans.xlf | 0 {modules/web => web}/i18n/zh-Hant-HK/OWNERS | 0 .../i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf | 0 {modules/web => web}/i18n/zh-Hant/OWNERS | 0 .../web => web}/i18n/zh-Hant/messages.zh-Hant.xlf | 0 {modules/web => web}/jest.config.js | 0 {modules/web => web}/package-lock.json | 0 {modules/web => web}/package.json | 0 {modules/web => web}/proxy-https.conf.json | 0 {modules/web => web}/proxy.conf.json | 0 {modules/web => web}/src/_dark.scss | 0 {modules/web => web}/src/_light.scss | 0 {modules/web => web}/src/_mixins.scss | 0 {modules/web => web}/src/_theming.scss | 0 {modules/web => web}/src/_variables.scss | 0 .../web => web}/src/about/actionbar/component.ts | 0 .../web => web}/src/about/actionbar/template.html | 0 {modules/web => web}/src/about/component.spec.ts | 0 {modules/web => web}/src/about/component.ts | 0 {modules/web => web}/src/about/module.ts | 0 {modules/web => web}/src/about/routing.ts | 0 {modules/web => web}/src/about/style.scss | 0 {modules/web => web}/src/about/template.html | 0 {modules/web => web}/src/assets/config/config.json | 0 .../src/assets/images/kubernetes-logo-text.svg | 0 .../src/assets/images/kubernetes-logo.png | Bin .../src/assets/images/kubernetes-logo.svg | 0 .../web => web}/src/assets/images/pin-crossed.svg | 0 {modules/web => web}/src/assets/images/pin.svg | 0 {modules/web => web}/src/assets/robots.txt | 0 {modules/web => web}/src/chrome/component.ts | 0 {modules/web => web}/src/chrome/module.ts | 0 {modules/web => web}/src/chrome/nav/component.ts | 0 .../src/chrome/nav/hamburger/component.ts | 0 .../src/chrome/nav/hamburger/template.html | 0 .../web => web}/src/chrome/nav/item/component.ts | 0 {modules/web => web}/src/chrome/nav/item/style.scss | 0 .../web => web}/src/chrome/nav/item/template.html | 0 {modules/web => web}/src/chrome/nav/module.ts | 0 .../web => web}/src/chrome/nav/pinner/component.ts | 0 .../web => web}/src/chrome/nav/pinner/template.html | 0 {modules/web => web}/src/chrome/nav/style.scss | 0 {modules/web => web}/src/chrome/nav/template.html | 0 .../src/chrome/notifications/component.ts | 0 .../web => web}/src/chrome/notifications/style.scss | 0 .../src/chrome/notifications/template.html | 0 {modules/web => web}/src/chrome/routing.ts | 0 {modules/web => web}/src/chrome/search/component.ts | 0 {modules/web => web}/src/chrome/search/style.scss | 0 .../web => web}/src/chrome/search/template.html | 0 {modules/web => web}/src/chrome/style.scss | 0 {modules/web => web}/src/chrome/template.html | 0 .../web => web}/src/chrome/userpanel/component.ts | 0 .../web => web}/src/chrome/userpanel/style.scss | 0 .../web => web}/src/chrome/userpanel/template.html | 0 .../web => web}/src/common/animations/animations.ts | 0 .../src/common/components/actionbar/component.ts | 0 .../components/actionbar/detailactions/component.ts | 0 .../actionbar/detailactions/delete/component.ts | 0 .../actionbar/detailactions/delete/template.html | 0 .../actionbar/detailactions/edit/component.ts | 0 .../actionbar/detailactions/edit/template.html | 0 .../actionbar/detailactions/exec/component.ts | 0 .../actionbar/detailactions/exec/template.html | 0 .../actionbar/detailactions/logs/component.ts | 0 .../actionbar/detailactions/logs/template.html | 0 .../actionbar/detailactions/pin/component.ts | 0 .../actionbar/detailactions/pin/template.html | 0 .../actionbar/detailactions/restart/component.ts | 0 .../actionbar/detailactions/restart/template.html | 0 .../actionbar/detailactions/scale/component.ts | 0 .../actionbar/detailactions/scale/template.html | 0 .../actionbar/detailactions/template.html | 0 .../actionbar/detailactions/trigger/component.ts | 0 .../actionbar/detailactions/trigger/template.html | 0 .../src/common/components/actionbar/template.html | 0 .../components/actionbars/default/component.ts | 0 .../components/actionbars/default/template.html | 0 .../components/actionbars/logsdefault/component.ts | 0 .../components/actionbars/logsdefault/template.html | 0 .../actionbars/logsexecdefault/component.ts | 0 .../actionbars/logsexecdefault/template.html | 0 .../actionbars/logsscaledefault/component.ts | 0 .../actionbars/logsscaledefault/template.html | 0 .../components/actionbars/pindefault/component.ts | 0 .../components/actionbars/pindefault/template.html | 0 .../src/common/components/actionbars/routing.ts | 0 .../components/actionbars/scaledefault/component.ts | 0 .../actionbars/scaledefault/template.html | 0 .../actionbars/triggerdefault/component.ts | 0 .../actionbars/triggerdefault/template.html | 0 .../src/common/components/breadcrumbs/component.ts | 0 .../src/common/components/breadcrumbs/style.scss | 0 .../src/common/components/breadcrumbs/template.html | 0 .../src/common/components/card/component.spec.ts | 0 .../src/common/components/card/component.ts | 0 .../src/common/components/card/style.scss | 0 .../src/common/components/card/template.html | 0 .../common/components/chips/chipdialog/dialog.ts | 0 .../components/chips/chipdialog/template.html | 0 .../src/common/components/chips/component.ts | 0 .../src/common/components/chips/style.scss | 0 .../src/common/components/chips/template.html | 0 .../src/common/components/condition/component.ts | 0 .../src/common/components/condition/template.html | 0 .../src/common/components/container/component.ts | 0 .../src/common/components/container/style.scss | 0 .../src/common/components/container/template.html | 0 .../src/common/components/creator/component.ts | 0 .../src/common/components/creator/template.html | 0 .../src/common/components/date/component.ts | 0 .../src/common/components/date/style.scss | 0 .../src/common/components/date/template.html | 0 .../components/endpoint/cardlist/component.ts | 0 .../common/components/endpoint/cardlist/style.scss | 0 .../components/endpoint/cardlist/template.html | 0 .../components/endpoint/external/component.ts | 0 .../common/components/endpoint/external/style.scss | 0 .../components/endpoint/external/template.html | 0 .../components/endpoint/internal/component.ts | 0 .../common/components/endpoint/internal/style.scss | 0 .../components/endpoint/internal/template.html | 0 .../src/common/components/graph/component.ts | 0 .../src/common/components/graph/helper.ts | 0 .../src/common/components/graph/style.scss | 0 .../src/common/components/graph/template.html | 0 .../common/components/graphcard/component.spec.ts | 0 .../src/common/components/graphcard/component.ts | 0 .../src/common/components/graphcard/template.html | 0 .../src/common/components/graphmetrics/component.ts | 0 .../common/components/graphmetrics/template.html | 0 .../common/components/hiddenproperty/component.ts | 0 .../src/common/components/hiddenproperty/style.scss | 0 .../common/components/hiddenproperty/template.html | 0 .../common/components/ingressrulelist/component.ts | 0 .../common/components/ingressrulelist/template.html | 0 .../src/common/components/limits/component.ts | 0 .../src/common/components/limits/template.html | 0 .../src/common/components/list/column/component.ts | 0 .../common/components/list/column/menu/component.ts | 0 .../components/list/column/menu/template.html | 0 .../src/common/components/list/column/template.html | 0 .../src/common/components/list/filter/component.ts | 0 .../src/common/components/list/filter/style.scss | 0 .../src/common/components/list/filter/template.html | 0 .../common/components/list/rowdetail/component.ts | 0 .../src/common/components/list/rowdetail/style.scss | 0 .../common/components/list/rowdetail/template.html | 0 .../src/common/components/list/spinner/component.ts | 0 .../common/components/list/spinner/template.html | 0 .../common/components/list/zerostate/component.ts | 0 .../src/common/components/list/zerostate/style.scss | 0 .../common/components/list/zerostate/template.html | 0 .../web => web}/src/common/components/module.ts | 0 .../components/namespace/changedialog/dialog.ts | 0 .../components/namespace/changedialog/template.html | 0 .../src/common/components/namespace/component.ts | 0 .../src/common/components/namespace/style.scss | 0 .../src/common/components/namespace/template.html | 0 .../common/components/objectmeta/component.spec.ts | 0 .../src/common/components/objectmeta/component.ts | 0 .../src/common/components/objectmeta/template.html | 0 .../src/common/components/podstatus/component.ts | 0 .../src/common/components/podstatus/template.html | 0 .../src/common/components/policyrule/component.ts | 0 .../src/common/components/policyrule/template.html | 0 .../src/common/components/probe/component.ts | 0 .../src/common/components/probe/template.html | 0 .../src/common/components/property/component.ts | 0 .../src/common/components/property/style.scss | 0 .../src/common/components/property/template.html | 0 .../src/common/components/proxy/component.ts | 0 .../src/common/components/quotas/component.ts | 0 .../src/common/components/quotas/template.html | 0 .../resourcelist/clusterrole/component.ts | 0 .../resourcelist/clusterrole/template.html | 0 .../resourcelist/clusterrolebinding/component.ts | 0 .../resourcelist/clusterrolebinding/template.html | 0 .../components/resourcelist/configmap/component.ts | 0 .../components/resourcelist/configmap/template.html | 0 .../common/components/resourcelist/crd/component.ts | 0 .../components/resourcelist/crd/template.html | 0 .../components/resourcelist/crdobject/component.ts | 0 .../components/resourcelist/crdobject/template.html | 0 .../components/resourcelist/crdversion/component.ts | 0 .../resourcelist/crdversion/template.html | 0 .../components/resourcelist/cronjob/component.ts | 0 .../components/resourcelist/cronjob/template.html | 0 .../components/resourcelist/daemonset/component.ts | 0 .../components/resourcelist/daemonset/template.html | 0 .../components/resourcelist/deployment/component.ts | 0 .../resourcelist/deployment/template.html | 0 .../components/resourcelist/event/component.ts | 0 .../components/resourcelist/event/template.html | 0 .../src/common/components/resourcelist/groupids.ts | 0 .../horizontalpodautoscaler/component.ts | 0 .../horizontalpodautoscaler/template.html | 0 .../components/resourcelist/ingress/component.ts | 0 .../components/resourcelist/ingress/style.scss | 0 .../components/resourcelist/ingress/template.html | 0 .../common/components/resourcelist/job/component.ts | 0 .../components/resourcelist/job/template.html | 0 .../components/resourcelist/namespace/component.ts | 0 .../components/resourcelist/namespace/template.html | 0 .../resourcelist/networkpolicy/component.ts | 0 .../resourcelist/networkpolicy/template.html | 0 .../components/resourcelist/node/component.ts | 0 .../components/resourcelist/node/template.html | 0 .../resourcelist/persistentvolume/component.ts | 0 .../resourcelist/persistentvolume/template.html | 0 .../resourcelist/persistentvolumeclaim/component.ts | 0 .../persistentvolumeclaim/template.html | 0 .../components/resourcelist/plugin/component.ts | 0 .../components/resourcelist/plugin/template.html | 0 .../common/components/resourcelist/pod/component.ts | 0 .../components/resourcelist/pod/template.html | 0 .../components/resourcelist/replicaset/component.ts | 0 .../resourcelist/replicaset/template.html | 0 .../resourcelist/replicationcontroller/component.ts | 0 .../replicationcontroller/template.html | 0 .../components/resourcelist/role/component.ts | 0 .../components/resourcelist/role/template.html | 0 .../resourcelist/rolebinding/component.ts | 0 .../resourcelist/rolebinding/template.html | 0 .../components/resourcelist/secret/component.ts | 0 .../components/resourcelist/secret/template.html | 0 .../components/resourcelist/service/component.ts | 0 .../components/resourcelist/service/template.html | 0 .../resourcelist/serviceaccount/component.ts | 0 .../resourcelist/serviceaccount/template.html | 0 .../resourcelist/statefulset/component.ts | 0 .../resourcelist/statefulset/template.html | 0 .../src/common/components/resourcelist/statuses.ts | 0 .../resourcelist/storageclass/component.ts | 0 .../resourcelist/storageclass/template.html | 0 .../common/components/securitycontext/component.ts | 0 .../common/components/securitycontext/template.html | 0 .../common/components/sparkline/cpu/component.ts | 0 .../common/components/sparkline/cpu/template.html | 0 .../common/components/sparkline/memory/component.ts | 0 .../components/sparkline/memory/template.html | 0 .../src/common/components/sparkline/sparkline.ts | 0 .../src/common/components/subject/component.ts | 0 .../src/common/components/subject/template.html | 0 .../src/common/components/textinput/component.ts | 0 .../src/common/components/textinput/style.scss | 0 .../src/common/components/textinput/template.html | 0 .../src/common/components/uploadfile/component.ts | 0 .../src/common/components/uploadfile/style.scss | 0 .../src/common/components/uploadfile/template.html | 0 .../src/common/components/volumemount/component.ts | 0 .../src/common/components/volumemount/template.html | 0 .../components/workloadstatus/component.spec.ts | 0 .../common/components/workloadstatus/component.ts | 0 .../src/common/components/workloadstatus/style.scss | 0 .../common/components/workloadstatus/template.html | 0 .../src/common/components/zerostate/component.ts | 0 .../src/common/components/zerostate/style.scss | 0 .../src/common/components/zerostate/template.html | 0 .../web => web}/src/common/dialogs/alert/dialog.ts | 0 .../src/common/dialogs/alert/template.html | 0 .../web => web}/src/common/dialogs/config/dialog.ts | 0 .../src/common/dialogs/config/template.html | 0 .../src/common/dialogs/deleteresource/dialog.ts | 0 .../src/common/dialogs/deleteresource/template.html | 0 .../src/common/dialogs/download/dialog.ts | 0 .../src/common/dialogs/download/style.scss | 0 .../src/common/dialogs/download/template.html | 0 .../src/common/dialogs/editresource/dialog.ts | 0 .../src/common/dialogs/editresource/template.html | 0 {modules/web => web}/src/common/dialogs/module.ts | 0 .../src/common/dialogs/previewdeployment/dialog.ts | 0 .../common/dialogs/previewdeployment/template.html | 0 .../src/common/dialogs/restartresource/dialog.ts | 0 .../common/dialogs/restartresource/template.html | 0 .../src/common/dialogs/scaleresource/dialog.ts | 0 .../src/common/dialogs/scaleresource/template.html | 0 .../src/common/dialogs/triggerresource/dialog.ts | 0 .../common/dialogs/triggerresource/template.html | 0 .../src/common/directives/autofocus/directive.ts | 0 .../web => web}/src/common/directives/module.ts | 0 {modules/web => web}/src/common/errors/errors.ts | 0 .../src/common/interfaces/candeactivate.ts | 0 {modules/web => web}/src/common/params/params.ts | 0 .../web => web}/src/common/pipes/commaseparated.ts | 0 .../src/common/pipes/coreformatter.spec.ts | 0 .../web => web}/src/common/pipes/coreformatter.ts | 0 {modules/web => web}/src/common/pipes/filterby.ts | 0 .../src/common/pipes/memoryformatter.spec.ts | 0 .../web => web}/src/common/pipes/memoryformatter.ts | 0 {modules/web => web}/src/common/pipes/module.ts | 0 .../web => web}/src/common/pipes/relativetime.ts | 0 {modules/web => web}/src/common/pipes/stripansi.ts | 0 {modules/web => web}/src/common/pipes/trim.ts | 0 {modules/web => web}/src/common/pipes/untrim.ts | 0 .../web => web}/src/common/resources/groupedlist.ts | 0 {modules/web => web}/src/common/resources/list.ts | 0 .../web => web}/src/common/resources/rawresource.ts | 0 .../web => web}/src/common/resources/resource.ts | 0 .../src/common/services/create/module.ts | 0 .../src/common/services/create/service.ts | 0 .../src/common/services/global/actionbar.ts | 0 .../src/common/services/global/assets.ts | 0 .../src/common/services/global/authentication.ts | 0 .../src/common/services/global/authorizer.ts | 0 .../src/common/services/global/config.ts | 0 .../src/common/services/global/csrftoken.ts | 0 .../src/common/services/global/decoder.ts | 0 .../src/common/services/global/globalsettings.ts | 0 .../src/common/services/global/history.ts | 0 .../src/common/services/global/interceptor.ts | 0 .../src/common/services/global/loader.ts | 0 .../src/common/services/global/localsettings.ts | 0 .../web => web}/src/common/services/global/logs.ts | 0 .../src/common/services/global/module.ts | 0 .../src/common/services/global/namespace.ts | 0 .../src/common/services/global/notifications.ts | 0 .../src/common/services/global/params.ts | 0 .../src/common/services/global/pinner.ts | 0 .../src/common/services/global/plugin.ts | 0 .../web => web}/src/common/services/global/state.ts | 0 .../web => web}/src/common/services/global/theme.ts | 0 .../web => web}/src/common/services/global/title.ts | 0 .../src/common/services/global/verber.ts | 0 .../web => web}/src/common/services/guard/auth.ts | 0 .../src/common/services/guard/candeactivate.ts | 0 .../web => web}/src/common/services/guard/login.ts | 0 .../web => web}/src/common/services/guard/module.ts | 0 .../web => web}/src/common/services/guard/search.ts | 0 .../web => web}/src/common/services/nav/module.ts | 0 .../web => web}/src/common/services/nav/service.ts | 0 .../services/pluginloader/clientloader.service.ts | 0 .../common/services/pluginloader/pluginexternals.ts | 0 .../services/pluginloader/pluginloader.service.ts | 0 .../src/common/services/resource/endpoint.ts | 0 .../src/common/services/resource/module.ts | 0 .../src/common/services/resource/resource.ts | 0 .../src/common/services/resource/utility.ts | 0 {modules/web => web}/src/core.module.ts | 0 {modules/web => web}/src/crd/crdobject/component.ts | 0 .../web => web}/src/crd/crdobject/template.html | 0 {modules/web => web}/src/crd/detail/component.ts | 0 {modules/web => web}/src/crd/detail/template.html | 0 {modules/web => web}/src/crd/list/component.ts | 0 {modules/web => web}/src/crd/module.ts | 0 {modules/web => web}/src/crd/routing.ts | 0 {modules/web => web}/src/create/component.ts | 0 .../web => web}/src/create/from/file/component.ts | 0 .../web => web}/src/create/from/file/style.scss | 0 .../web => web}/src/create/from/file/template.html | 0 .../web => web}/src/create/from/form/component.ts | 0 .../src/create/from/form/createnamespace/dialog.ts | 0 .../create/from/form/createnamespace/template.html | 0 .../src/create/from/form/createsecret/dialog.ts | 0 .../src/create/from/form/createsecret/template.html | 0 .../src/create/from/form/deploylabel/component.ts | 0 .../src/create/from/form/deploylabel/deploylabel.ts | 0 .../src/create/from/form/deploylabel/template.html | 0 .../from/form/environmentvariables/component.ts | 0 .../from/form/environmentvariables/template.html | 0 .../src/create/from/form/helpsection/component.ts | 0 .../src/create/from/form/helpsection/style.scss | 0 .../src/create/from/form/helpsection/template.html | 0 .../from/form/helpsection/userhelp/component.ts | 0 .../from/form/helpsection/userhelp/style.scss | 0 .../from/form/helpsection/userhelp/template.html | 0 {modules/web => web}/src/create/from/form/module.ts | 0 .../src/create/from/form/portmappings/component.ts | 0 .../src/create/from/form/portmappings/style.scss | 0 .../src/create/from/form/portmappings/template.html | 0 .../web => web}/src/create/from/form/style.scss | 0 .../web => web}/src/create/from/form/template.html | 0 .../from/form/validator/uniquename.validator.ts | 0 .../src/create/from/form/validator/validators.ts | 0 .../form/validator/validimagereference.validator.ts | 0 .../from/form/validator/validprotocol.validator.ts | 0 .../from/form/validator/warnthreshold.validator.ts | 0 .../web => web}/src/create/from/input/component.ts | 0 .../web => web}/src/create/from/input/style.scss | 0 .../web => web}/src/create/from/input/template.html | 0 {modules/web => web}/src/create/module.ts | 0 {modules/web => web}/src/create/routing.ts | 0 {modules/web => web}/src/create/style.scss | 0 {modules/web => web}/src/create/template.html | 0 .../src/environments/environment.prod.ts | 0 .../web => web}/src/environments/environment.ts | 0 {modules/web => web}/src/error/component.ts | 0 {modules/web => web}/src/error/handler.ts | 0 {modules/web => web}/src/error/module.ts | 0 {modules/web => web}/src/error/routing.ts | 0 {modules/web => web}/src/error/style.scss | 0 {modules/web => web}/src/error/template.html | 0 {modules/web => web}/src/index.component.ts | 0 {modules/web => web}/src/index.config.ts | 0 {modules/web => web}/src/index.html | 0 {modules/web => web}/src/index.messages.ts | 0 {modules/web => web}/src/index.module.ts | 0 {modules/web => web}/src/index.routing.ts | 0 {modules/web => web}/src/index.scss | 0 {modules/web => web}/src/index.ts | 0 {modules/web => web}/src/login/component.spec.ts | 0 {modules/web => web}/src/login/component.ts | 0 {modules/web => web}/src/login/module.ts | 0 {modules/web => web}/src/login/style.scss | 0 {modules/web => web}/src/login/template.html | 0 {modules/web => web}/src/logs/component.ts | 0 {modules/web => web}/src/logs/module.ts | 0 {modules/web => web}/src/logs/routing.ts | 0 {modules/web => web}/src/logs/style.scss | 0 {modules/web => web}/src/logs/template.html | 0 {modules/web => web}/src/overview/component.spec.ts | 0 {modules/web => web}/src/overview/component.ts | 0 {modules/web => web}/src/overview/helper.ts | 0 {modules/web => web}/src/overview/module.ts | 0 {modules/web => web}/src/overview/routing.ts | 0 {modules/web => web}/src/overview/template.html | 0 {modules/web => web}/src/plugin/component.ts | 0 {modules/web => web}/src/plugin/detail/component.ts | 0 {modules/web => web}/src/plugin/holder.ts | 0 {modules/web => web}/src/plugin/list/component.ts | 0 {modules/web => web}/src/plugin/module.ts | 0 {modules/web => web}/src/plugin/routing.ts | 0 {modules/web => web}/src/plugin/template.html | 0 {modules/web => web}/src/polyfills.ts | 0 .../cluster/clusterrole/detail/component.ts | 0 .../cluster/clusterrole/detail/template.html | 0 .../resource/cluster/clusterrole/list/component.ts | 0 .../src/resource/cluster/clusterrole/module.ts | 0 .../src/resource/cluster/clusterrole/routing.ts | 0 .../cluster/clusterrolebinding/detail/component.ts | 0 .../cluster/clusterrolebinding/detail/template.html | 0 .../cluster/clusterrolebinding/list/component.ts | 0 .../resource/cluster/clusterrolebinding/module.ts | 0 .../resource/cluster/clusterrolebinding/routing.ts | 0 .../web => web}/src/resource/cluster/component.ts | 0 .../src/resource/cluster/event/list/component.ts | 0 .../src/resource/cluster/event/module.ts | 0 .../src/resource/cluster/event/routing.ts | 0 {modules/web => web}/src/resource/cluster/module.ts | 0 .../cluster/namespace/detail/actionbar/component.ts | 0 .../namespace/detail/actionbar/template.html | 0 .../resource/cluster/namespace/detail/component.ts | 0 .../resource/cluster/namespace/detail/template.html | 0 .../resource/cluster/namespace/list/component.ts | 0 .../src/resource/cluster/namespace/module.ts | 0 .../src/resource/cluster/namespace/routing.ts | 0 .../cluster/networkpolicy/detail/component.ts | 0 .../cluster/networkpolicy/detail/template.html | 0 .../cluster/networkpolicy/list/component.ts | 0 .../src/resource/cluster/networkpolicy/module.ts | 0 .../src/resource/cluster/networkpolicy/routing.ts | 0 .../src/resource/cluster/node/detail/component.ts | 0 .../src/resource/cluster/node/detail/template.html | 0 .../src/resource/cluster/node/list/component.ts | 0 .../web => web}/src/resource/cluster/node/module.ts | 0 .../src/resource/cluster/node/routing.ts | 0 .../cluster/persistentvolume/detail/component.ts | 0 .../persistentvolume/detail/source/component.ts | 0 .../persistentvolume/detail/source/style.scss | 0 .../persistentvolume/detail/source/template.html | 0 .../cluster/persistentvolume/detail/template.html | 0 .../cluster/persistentvolume/list/component.ts | 0 .../src/resource/cluster/persistentvolume/module.ts | 0 .../resource/cluster/persistentvolume/routing.ts | 0 .../src/resource/cluster/role/detail/component.ts | 0 .../src/resource/cluster/role/detail/template.html | 0 .../src/resource/cluster/role/list/component.ts | 0 .../web => web}/src/resource/cluster/role/module.ts | 0 .../src/resource/cluster/role/routing.ts | 0 .../cluster/rolebinding/detail/component.ts | 0 .../cluster/rolebinding/detail/template.html | 0 .../resource/cluster/rolebinding/list/component.ts | 0 .../src/resource/cluster/rolebinding/module.ts | 0 .../src/resource/cluster/rolebinding/routing.ts | 0 .../web => web}/src/resource/cluster/routing.ts | 0 .../cluster/serviceaccount/detail/component.ts | 0 .../cluster/serviceaccount/detail/template.html | 0 .../cluster/serviceaccount/list/component.ts | 0 .../src/resource/cluster/serviceaccount/module.ts | 0 .../src/resource/cluster/serviceaccount/routing.ts | 0 .../web => web}/src/resource/cluster/template.html | 0 .../web => web}/src/resource/config/component.ts | 0 .../resource/config/configmap/detail/component.ts | 0 .../resource/config/configmap/detail/template.html | 0 .../src/resource/config/configmap/list/component.ts | 0 .../src/resource/config/configmap/module.ts | 0 .../src/resource/config/configmap/routing.ts | 0 {modules/web => web}/src/resource/config/module.ts | 0 .../persistentvolumeclaim/detail/component.ts | 0 .../persistentvolumeclaim/detail/template.html | 0 .../config/persistentvolumeclaim/list/component.ts | 0 .../resource/config/persistentvolumeclaim/module.ts | 0 .../config/persistentvolumeclaim/routing.ts | 0 {modules/web => web}/src/resource/config/routing.ts | 0 .../src/resource/config/secret/detail/component.ts | 0 .../resource/config/secret/detail/edit/component.ts | 0 .../resource/config/secret/detail/edit/style.scss | 0 .../config/secret/detail/edit/template.html | 0 .../src/resource/config/secret/detail/template.html | 0 .../src/resource/config/secret/list/component.ts | 0 .../src/resource/config/secret/list/template.html | 0 .../src/resource/config/secret/module.ts | 0 .../src/resource/config/secret/routing.ts | 0 .../config/storageclass/detail/component.ts | 0 .../resource/config/storageclass/detail/style.scss | 0 .../config/storageclass/detail/template.html | 0 .../resource/config/storageclass/list/component.ts | 0 .../src/resource/config/storageclass/module.ts | 0 .../src/resource/config/storageclass/routing.ts | 0 .../web => web}/src/resource/config/template.html | 0 .../web => web}/src/resource/discovery/component.ts | 0 .../discovery/ingress/detail/component.spec.ts | 0 .../resource/discovery/ingress/detail/component.ts | 0 .../resource/discovery/ingress/detail/template.html | 0 .../resource/discovery/ingress/list/component.ts | 0 .../src/resource/discovery/ingress/module.ts | 0 .../src/resource/discovery/ingress/routing.ts | 0 .../web => web}/src/resource/discovery/module.ts | 0 .../web => web}/src/resource/discovery/routing.ts | 0 .../discovery/service/detail/component.spec.ts | 0 .../resource/discovery/service/detail/component.ts | 0 .../resource/discovery/service/detail/template.html | 0 .../resource/discovery/service/list/component.ts | 0 .../src/resource/discovery/service/module.ts | 0 .../src/resource/discovery/service/routing.ts | 0 .../src/resource/discovery/template.html | 0 .../web => web}/src/resource/workloads/component.ts | 0 .../resource/workloads/cronjob/detail/component.ts | 0 .../resource/workloads/cronjob/detail/template.html | 0 .../resource/workloads/cronjob/list/component.ts | 0 .../src/resource/workloads/cronjob/module.ts | 0 .../src/resource/workloads/cronjob/routing.ts | 0 .../daemonset/detail/actionbar/component.ts | 0 .../daemonset/detail/actionbar/template.html | 0 .../workloads/daemonset/detail/component.ts | 0 .../workloads/daemonset/detail/template.html | 0 .../resource/workloads/daemonset/list/component.ts | 0 .../src/resource/workloads/daemonset/module.ts | 0 .../src/resource/workloads/daemonset/routing.ts | 0 .../workloads/deployment/detail/component.ts | 0 .../workloads/deployment/detail/template.html | 0 .../resource/workloads/deployment/list/component.ts | 0 .../src/resource/workloads/deployment/module.ts | 0 .../src/resource/workloads/deployment/routing.ts | 0 .../src/resource/workloads/job/detail/component.ts | 0 .../src/resource/workloads/job/detail/template.html | 0 .../src/resource/workloads/job/list/component.ts | 0 .../src/resource/workloads/job/module.ts | 0 .../src/resource/workloads/job/routing.ts | 0 .../web => web}/src/resource/workloads/module.ts | 0 .../src/resource/workloads/pod/detail/component.ts | 0 .../src/resource/workloads/pod/detail/style.scss | 0 .../src/resource/workloads/pod/detail/template.html | 0 .../src/resource/workloads/pod/list/component.ts | 0 .../src/resource/workloads/pod/module.ts | 0 .../src/resource/workloads/pod/routing.ts | 0 .../workloads/replicaset/detail/component.ts | 0 .../workloads/replicaset/detail/template.html | 0 .../resource/workloads/replicaset/list/component.ts | 0 .../src/resource/workloads/replicaset/module.ts | 0 .../src/resource/workloads/replicaset/routing.ts | 0 .../replicationcontroller/detail/component.ts | 0 .../replicationcontroller/detail/template.html | 0 .../replicationcontroller/list/component.ts | 0 .../workloads/replicationcontroller/module.ts | 0 .../workloads/replicationcontroller/routing.ts | 0 .../web => web}/src/resource/workloads/routing.ts | 0 .../workloads/statefulset/detail/component.ts | 0 .../workloads/statefulset/detail/template.html | 0 .../workloads/statefulset/list/component.ts | 0 .../src/resource/workloads/statefulset/module.ts | 0 .../src/resource/workloads/statefulset/routing.ts | 0 .../src/resource/workloads/template.html | 0 {modules/web => web}/src/search/component.ts | 0 {modules/web => web}/src/search/module.ts | 0 {modules/web => web}/src/search/routing.ts | 0 {modules/web => web}/src/search/template.html | 0 {modules/web => web}/src/settings/component.ts | 0 .../web => web}/src/settings/entry/component.ts | 0 .../web => web}/src/settings/entry/template.html | 0 .../web => web}/src/settings/global/component.ts | 0 .../settings/global/namespace/adddialog/dialog.ts | 0 .../global/namespace/adddialog/template.html | 0 .../src/settings/global/namespace/component.ts | 0 .../settings/global/namespace/editdialog/dialog.ts | 0 .../global/namespace/editdialog/template.html | 0 .../src/settings/global/namespace/style.scss | 0 .../src/settings/global/namespace/template.html | 0 .../src/settings/global/saveanywaysdialog/dialog.ts | 0 .../settings/global/saveanywaysdialog/template.html | 0 {modules/web => web}/src/settings/global/service.ts | 0 {modules/web => web}/src/settings/global/style.scss | 0 .../web => web}/src/settings/global/template.html | 0 .../web => web}/src/settings/local/component.ts | 0 {modules/web => web}/src/settings/local/style.scss | 0 .../web => web}/src/settings/local/template.html | 0 {modules/web => web}/src/settings/module.ts | 0 {modules/web => web}/src/settings/routing.ts | 0 {modules/web => web}/src/shared.module.ts | 0 {modules/web => web}/src/shell/component.ts | 0 {modules/web => web}/src/shell/module.ts | 0 {modules/web => web}/src/shell/routing.ts | 0 {modules/web => web}/src/shell/styles.scss | 0 {modules/web => web}/src/shell/template.html | 0 {modules/web => web}/src/systemjs.d.ts | 0 {modules/web => web}/src/test.base.mocks.ts | 0 {modules/web => web}/src/test.base.ts | 0 {modules/web => web}/src/typings/root.api.ts | 0 {modules/web => web}/src/typings/root.shared.ts | 0 {modules/web => web}/src/typings/root.ui.ts | 0 {modules/web => web}/src/typings/volume.api.ts | 0 {modules/web => web}/tsconfig.app.json | 0 {modules/web => web}/tsconfig.e2e.json | 0 {modules/web => web}/tsconfig.json | 0 {modules/web => web}/tsconfig.spec.json | 0 992 files changed, 0 insertions(+), 0 deletions(-) rename {modules/api => api}/.air.toml (100%) rename {modules/api => api}/.golangci.yml (100%) rename {modules/api => api}/go.mod (100%) rename {modules/api => api}/go.sum (100%) rename {modules/api => api}/src/api/types.go (100%) rename {modules/api => api}/src/api/types_test.go (100%) rename {modules/api => api}/src/args/builder.go (100%) rename {modules/api => api}/src/args/holder.go (100%) rename {modules/api => api}/src/auth/api/common.go (100%) rename {modules/api => api}/src/auth/api/common_test.go (100%) rename {modules/api => api}/src/auth/api/types.go (100%) rename {modules/api => api}/src/auth/basic.go (100%) rename {modules/api => api}/src/auth/handler.go (100%) rename {modules/api => api}/src/auth/handler_test.go (100%) rename {modules/api => api}/src/auth/jwe/keyholder.go (100%) rename {modules/api => api}/src/auth/jwe/keyholder_test.go (100%) rename {modules/api => api}/src/auth/jwe/manager.go (100%) rename {modules/api => api}/src/auth/jwe/manager_test.go (100%) rename {modules/api => api}/src/auth/jwe/util.go (100%) rename {modules/api => api}/src/auth/kubeconfig.go (100%) rename {modules/api => api}/src/auth/kubeconfig_test.go (100%) rename {modules/api => api}/src/auth/manager.go (100%) rename {modules/api => api}/src/auth/manager_test.go (100%) rename {modules/api => api}/src/auth/token.go (100%) rename {modules/api => api}/src/cert/api/types.go (100%) rename {modules/api => api}/src/cert/ecdsa/creator.go (100%) rename {modules/api => api}/src/cert/ecdsa/creator_test.go (100%) rename {modules/api => api}/src/cert/manager.go (100%) rename {modules/api => api}/src/client/api/common.go (100%) rename {modules/api => api}/src/client/api/common_test.go (100%) rename {modules/api => api}/src/client/api/types.go (100%) rename {modules/api => api}/src/client/csrf/manager.go (100%) rename {modules/api => api}/src/client/csrf/manager_test.go (100%) rename {modules/api => api}/src/client/manager.go (100%) rename {modules/api => api}/src/client/manager_test.go (100%) rename {modules/api => api}/src/client/verber.go (100%) rename {modules/api => api}/src/client/verber_test.go (100%) rename {modules/api => api}/src/dashboard.go (100%) rename {modules/api => api}/src/errors/errors.go (100%) rename {modules/api => api}/src/errors/handler.go (100%) rename {modules/api => api}/src/errors/handler_test.go (100%) rename {modules/api => api}/src/errors/localizer.go (100%) rename {modules/api => api}/src/errors/localizer_test.go (100%) rename {modules/api => api}/src/handler/apihandler.go (100%) rename {modules/api => api}/src/handler/apihandler_test.go (100%) rename {modules/api => api}/src/handler/confighandler.go (100%) rename {modules/api => api}/src/handler/download.go (100%) rename {modules/api => api}/src/handler/filter.go (100%) rename {modules/api => api}/src/handler/gziphandler.go (100%) rename {modules/api => api}/src/handler/localehandler.go (100%) rename {modules/api => api}/src/handler/localehandler_test.go (100%) rename {modules/api => api}/src/handler/metrics.go (100%) rename {modules/api => api}/src/handler/parser/parser.go (100%) rename {modules/api => api}/src/handler/terminal.go (100%) rename {modules/api => api}/src/integration/api/types.go (100%) rename {modules/api => api}/src/integration/handler.go (100%) rename {modules/api => api}/src/integration/handler_test.go (100%) rename {modules/api => api}/src/integration/list.go (100%) rename {modules/api => api}/src/integration/manager.go (100%) rename {modules/api => api}/src/integration/manager_test.go (100%) rename {modules/api => api}/src/integration/metric/api/types.go (100%) rename {modules/api => api}/src/integration/metric/common/aggregation.go (100%) rename {modules/api => api}/src/integration/metric/common/aggregation_test.go (100%) rename {modules/api => api}/src/integration/metric/heapster/client.go (100%) rename {modules/api => api}/src/integration/metric/heapster/client_test.go (100%) rename {modules/api => api}/src/integration/metric/heapster/common.go (100%) rename {modules/api => api}/src/integration/metric/heapster/model.go (100%) rename {modules/api => api}/src/integration/metric/heapster/restclient.go (100%) rename {modules/api => api}/src/integration/metric/heapster/selector.go (100%) rename {modules/api => api}/src/integration/metric/heapster/selector_test.go (100%) rename {modules/api => api}/src/integration/metric/manager.go (100%) rename {modules/api => api}/src/integration/metric/manager_test.go (100%) rename {modules/api => api}/src/integration/metric/sidecar/client.go (100%) rename {modules/api => api}/src/integration/metric/sidecar/client_test.go (100%) rename {modules/api => api}/src/integration/metric/sidecar/common.go (100%) rename {modules/api => api}/src/integration/metric/sidecar/model.go (100%) rename {modules/api => api}/src/integration/metric/sidecar/restclient.go (100%) rename {modules/api => api}/src/integration/metric/sidecar/selector.go (100%) rename {modules/api => api}/src/integration/metric/sidecar/selector_test.go (100%) rename {modules/api => api}/src/plugin/apis/register.go (100%) rename {modules/api => api}/src/plugin/apis/v1alpha1/doc.go (100%) rename {modules/api => api}/src/plugin/apis/v1alpha1/register.go (100%) rename {modules/api => api}/src/plugin/apis/v1alpha1/types.go (100%) rename {modules/api => api}/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/clientset.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/doc.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/fake/clientset_generated.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/fake/doc.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/fake/register.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/scheme/doc.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/scheme/register.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go (100%) rename {modules/api => api}/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go (100%) rename {modules/api => api}/src/plugin/client/informers/externalversions/apis/interface.go (100%) rename {modules/api => api}/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go (100%) rename {modules/api => api}/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go (100%) rename {modules/api => api}/src/plugin/client/informers/externalversions/factory.go (100%) rename {modules/api => api}/src/plugin/client/informers/externalversions/generic.go (100%) rename {modules/api => api}/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go (100%) rename {modules/api => api}/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go (100%) rename {modules/api => api}/src/plugin/client/listers/apis/v1alpha1/plugin.go (100%) rename {modules/api => api}/src/plugin/config.go (100%) rename {modules/api => api}/src/plugin/config_test.go (100%) rename {modules/api => api}/src/plugin/detail.go (100%) rename {modules/api => api}/src/plugin/detail_test.go (100%) rename {modules/api => api}/src/plugin/handler.go (100%) rename {modules/api => api}/src/plugin/handler_test.go (100%) rename {modules/api => api}/src/plugin/list.go (100%) rename {modules/api => api}/src/plugin/list_test.go (100%) rename {modules/api => api}/src/resource/clusterrole/common.go (100%) rename {modules/api => api}/src/resource/clusterrole/detail.go (100%) rename {modules/api => api}/src/resource/clusterrole/list.go (100%) rename {modules/api => api}/src/resource/clusterrole/list_test.go (100%) rename {modules/api => api}/src/resource/clusterrolebinding/common.go (100%) rename {modules/api => api}/src/resource/clusterrolebinding/detail.go (100%) rename {modules/api => api}/src/resource/clusterrolebinding/list.go (100%) rename {modules/api => api}/src/resource/clusterrolebinding/list_test.go (100%) rename {modules/api => api}/src/resource/common/condition.go (100%) rename {modules/api => api}/src/resource/common/endpoint.go (100%) rename {modules/api => api}/src/resource/common/endpoint_test.go (100%) rename {modules/api => api}/src/resource/common/event.go (100%) rename {modules/api => api}/src/resource/common/namespace.go (100%) rename {modules/api => api}/src/resource/common/namespace_test.go (100%) rename {modules/api => api}/src/resource/common/pod.go (100%) rename {modules/api => api}/src/resource/common/pod_test.go (100%) rename {modules/api => api}/src/resource/common/podinfo.go (100%) rename {modules/api => api}/src/resource/common/podinfo_test.go (100%) rename {modules/api => api}/src/resource/common/resourcechannels.go (100%) rename {modules/api => api}/src/resource/common/resourcestatus.go (100%) rename {modules/api => api}/src/resource/common/service.go (100%) rename {modules/api => api}/src/resource/common/service_test.go (100%) rename {modules/api => api}/src/resource/common/serviceport.go (100%) rename {modules/api => api}/src/resource/common/serviceport_test.go (100%) rename {modules/api => api}/src/resource/configmap/common.go (100%) rename {modules/api => api}/src/resource/configmap/detail.go (100%) rename {modules/api => api}/src/resource/configmap/detail_test.go (100%) rename {modules/api => api}/src/resource/configmap/list.go (100%) rename {modules/api => api}/src/resource/configmap/list_test.go (100%) rename {modules/api => api}/src/resource/container/logs.go (100%) rename {modules/api => api}/src/resource/container/logs_test.go (100%) rename {modules/api => api}/src/resource/controller/controller.go (100%) rename {modules/api => api}/src/resource/controller/controller_test.go (100%) rename {modules/api => api}/src/resource/cronjob/common.go (100%) rename {modules/api => api}/src/resource/cronjob/common_test.go (100%) rename {modules/api => api}/src/resource/cronjob/detail.go (100%) rename {modules/api => api}/src/resource/cronjob/detail_test.go (100%) rename {modules/api => api}/src/resource/cronjob/events.go (100%) rename {modules/api => api}/src/resource/cronjob/events_test.go (100%) rename {modules/api => api}/src/resource/cronjob/jobs.go (100%) rename {modules/api => api}/src/resource/cronjob/jobs_test.go (100%) rename {modules/api => api}/src/resource/cronjob/list.go (100%) rename {modules/api => api}/src/resource/cronjob/list_test.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/common.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/events.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/events_test.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/types/types.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/v1/client.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/v1/common.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/v1/detail.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/v1/list.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/v1/list_test.go (100%) rename {modules/api => api}/src/resource/customresourcedefinition/v1/objects.go (100%) rename {modules/api => api}/src/resource/daemonset/common.go (100%) rename {modules/api => api}/src/resource/daemonset/common_test.go (100%) rename {modules/api => api}/src/resource/daemonset/detail.go (100%) rename {modules/api => api}/src/resource/daemonset/list.go (100%) rename {modules/api => api}/src/resource/daemonset/list_test.go (100%) rename {modules/api => api}/src/resource/daemonset/pods.go (100%) rename {modules/api => api}/src/resource/daemonset/services.go (100%) rename {modules/api => api}/src/resource/dataselect/dataselect.go (100%) rename {modules/api => api}/src/resource/dataselect/dataselect_test.go (100%) rename {modules/api => api}/src/resource/dataselect/dataselectquery.go (100%) rename {modules/api => api}/src/resource/dataselect/pagination.go (100%) rename {modules/api => api}/src/resource/dataselect/pagination_test.go (100%) rename {modules/api => api}/src/resource/dataselect/propertyname.go (100%) rename {modules/api => api}/src/resource/dataselect/stdcomparabletypes.go (100%) rename {modules/api => api}/src/resource/dataselect/stdcomparabletypes_test.go (100%) rename {modules/api => api}/src/resource/deployment/common.go (100%) rename {modules/api => api}/src/resource/deployment/deploy.go (100%) rename {modules/api => api}/src/resource/deployment/deploy_test.go (100%) rename {modules/api => api}/src/resource/deployment/detail.go (100%) rename {modules/api => api}/src/resource/deployment/detail_test.go (100%) rename {modules/api => api}/src/resource/deployment/list.go (100%) rename {modules/api => api}/src/resource/deployment/list_test.go (100%) rename {modules/api => api}/src/resource/deployment/newreplicasets.go (100%) rename {modules/api => api}/src/resource/deployment/oldreplicasets.go (100%) rename {modules/api => api}/src/resource/deployment/pods.go (100%) rename {modules/api => api}/src/resource/deployment/rollout.go (100%) rename {modules/api => api}/src/resource/deployment/util.go (100%) rename {modules/api => api}/src/resource/endpoint/endpoint.go (100%) rename {modules/api => api}/src/resource/endpoint/list.go (100%) rename {modules/api => api}/src/resource/event/common.go (100%) rename {modules/api => api}/src/resource/event/common_test.go (100%) rename {modules/api => api}/src/resource/event/event.go (100%) rename {modules/api => api}/src/resource/event/event_test.go (100%) rename {modules/api => api}/src/resource/event/list.go (100%) rename {modules/api => api}/src/resource/horizontalpodautoscaler/common.go (100%) rename {modules/api => api}/src/resource/horizontalpodautoscaler/detail.go (100%) rename {modules/api => api}/src/resource/horizontalpodautoscaler/detail_test.go (100%) rename {modules/api => api}/src/resource/horizontalpodautoscaler/list.go (100%) rename {modules/api => api}/src/resource/horizontalpodautoscaler/list_test.go (100%) rename {modules/api => api}/src/resource/ingress/common.go (100%) rename {modules/api => api}/src/resource/ingress/detail.go (100%) rename {modules/api => api}/src/resource/ingress/filter.go (100%) rename {modules/api => api}/src/resource/ingress/list.go (100%) rename {modules/api => api}/src/resource/job/common.go (100%) rename {modules/api => api}/src/resource/job/detail.go (100%) rename {modules/api => api}/src/resource/job/detail_test.go (100%) rename {modules/api => api}/src/resource/job/events.go (100%) rename {modules/api => api}/src/resource/job/events_test.go (100%) rename {modules/api => api}/src/resource/job/list.go (100%) rename {modules/api => api}/src/resource/job/list_test.go (100%) rename {modules/api => api}/src/resource/job/pods.go (100%) rename {modules/api => api}/src/resource/limitrange/detail.go (100%) rename {modules/api => api}/src/resource/limitrange/detail_test.go (100%) rename {modules/api => api}/src/resource/logs/logs.go (100%) rename {modules/api => api}/src/resource/logs/source.go (100%) rename {modules/api => api}/src/resource/namespace/common.go (100%) rename {modules/api => api}/src/resource/namespace/detail.go (100%) rename {modules/api => api}/src/resource/namespace/detail_test.go (100%) rename {modules/api => api}/src/resource/namespace/list.go (100%) rename {modules/api => api}/src/resource/namespace/list_test.go (100%) rename {modules/api => api}/src/resource/networkpolicy/common.go (100%) rename {modules/api => api}/src/resource/networkpolicy/detail.go (100%) rename {modules/api => api}/src/resource/networkpolicy/list.go (100%) rename {modules/api => api}/src/resource/node/common.go (100%) rename {modules/api => api}/src/resource/node/detail.go (100%) rename {modules/api => api}/src/resource/node/detail_test.go (100%) rename {modules/api => api}/src/resource/node/list.go (100%) rename {modules/api => api}/src/resource/node/list_test.go (100%) rename {modules/api => api}/src/resource/persistentvolume/common.go (100%) rename {modules/api => api}/src/resource/persistentvolume/common_test.go (100%) rename {modules/api => api}/src/resource/persistentvolume/detail.go (100%) rename {modules/api => api}/src/resource/persistentvolume/detail_test.go (100%) rename {modules/api => api}/src/resource/persistentvolume/list.go (100%) rename {modules/api => api}/src/resource/persistentvolume/list_test.go (100%) rename {modules/api => api}/src/resource/persistentvolumeclaim/common.go (100%) rename {modules/api => api}/src/resource/persistentvolumeclaim/common_test.go (100%) rename {modules/api => api}/src/resource/persistentvolumeclaim/detail.go (100%) rename {modules/api => api}/src/resource/persistentvolumeclaim/detail_test.go (100%) rename {modules/api => api}/src/resource/persistentvolumeclaim/list.go (100%) rename {modules/api => api}/src/resource/persistentvolumeclaim/list_test.go (100%) rename {modules/api => api}/src/resource/pod/common.go (100%) rename {modules/api => api}/src/resource/pod/common_test.go (100%) rename {modules/api => api}/src/resource/pod/detail.go (100%) rename {modules/api => api}/src/resource/pod/detail_test.go (100%) rename {modules/api => api}/src/resource/pod/events.go (100%) rename {modules/api => api}/src/resource/pod/events_test.go (100%) rename {modules/api => api}/src/resource/pod/fieldpath.go (100%) rename {modules/api => api}/src/resource/pod/fieldpath_test.go (100%) rename {modules/api => api}/src/resource/pod/list.go (100%) rename {modules/api => api}/src/resource/pod/list_test.go (100%) rename {modules/api => api}/src/resource/pod/metrics.go (100%) rename {modules/api => api}/src/resource/replicaset/common.go (100%) rename {modules/api => api}/src/resource/replicaset/common_test.go (100%) rename {modules/api => api}/src/resource/replicaset/detail.go (100%) rename {modules/api => api}/src/resource/replicaset/detail_test.go (100%) rename {modules/api => api}/src/resource/replicaset/list.go (100%) rename {modules/api => api}/src/resource/replicaset/list_test.go (100%) rename {modules/api => api}/src/resource/replicaset/pods.go (100%) rename {modules/api => api}/src/resource/replicaset/services.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/common.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/common_test.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/detail.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/detail_test.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/list.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/list_test.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/pods.go (100%) rename {modules/api => api}/src/resource/replicationcontroller/services.go (100%) rename {modules/api => api}/src/resource/resourcequota/detail.go (100%) rename {modules/api => api}/src/resource/resourcequota/detail_test.go (100%) rename {modules/api => api}/src/resource/role/common.go (100%) rename {modules/api => api}/src/resource/role/detail.go (100%) rename {modules/api => api}/src/resource/role/list.go (100%) rename {modules/api => api}/src/resource/role/list_test.go (100%) rename {modules/api => api}/src/resource/rolebinding/common.go (100%) rename {modules/api => api}/src/resource/rolebinding/detail.go (100%) rename {modules/api => api}/src/resource/rolebinding/list.go (100%) rename {modules/api => api}/src/resource/rolebinding/list_test.go (100%) rename {modules/api => api}/src/resource/secret/common.go (100%) rename {modules/api => api}/src/resource/secret/detail.go (100%) rename {modules/api => api}/src/resource/secret/detail_test.go (100%) rename {modules/api => api}/src/resource/secret/list.go (100%) rename {modules/api => api}/src/resource/secret/list_test.go (100%) rename {modules/api => api}/src/resource/service/common.go (100%) rename {modules/api => api}/src/resource/service/detail.go (100%) rename {modules/api => api}/src/resource/service/detail_test.go (100%) rename {modules/api => api}/src/resource/service/events.go (100%) rename {modules/api => api}/src/resource/service/events_test.go (100%) rename {modules/api => api}/src/resource/service/ingress.go (100%) rename {modules/api => api}/src/resource/service/list.go (100%) rename {modules/api => api}/src/resource/service/list_test.go (100%) rename {modules/api => api}/src/resource/service/pods.go (100%) rename {modules/api => api}/src/resource/service/pods_test.go (100%) rename {modules/api => api}/src/resource/serviceaccount/common.go (100%) rename {modules/api => api}/src/resource/serviceaccount/detail.go (100%) rename {modules/api => api}/src/resource/serviceaccount/list.go (100%) rename {modules/api => api}/src/resource/serviceaccount/secrets.go (100%) rename {modules/api => api}/src/resource/statefulset/common.go (100%) rename {modules/api => api}/src/resource/statefulset/detail.go (100%) rename {modules/api => api}/src/resource/statefulset/list.go (100%) rename {modules/api => api}/src/resource/statefulset/list_test.go (100%) rename {modules/api => api}/src/resource/statefulset/pods.go (100%) rename {modules/api => api}/src/resource/storageclass/common.go (100%) rename {modules/api => api}/src/resource/storageclass/detail.go (100%) rename {modules/api => api}/src/resource/storageclass/detail_test.go (100%) rename {modules/api => api}/src/resource/storageclass/list.go (100%) rename {modules/api => api}/src/resource/storageclass/list_test.go (100%) rename {modules/api => api}/src/scaling/scale.go (100%) rename {modules/api => api}/src/settings/api/types.go (100%) rename {modules/api => api}/src/settings/handler.go (100%) rename {modules/api => api}/src/settings/handler_test.go (100%) rename {modules/api => api}/src/settings/manager.go (100%) rename {modules/api => api}/src/settings/manager_test.go (100%) rename {modules/api => api}/src/sync/api/types.go (100%) rename {modules/api => api}/src/sync/manager.go (100%) rename {modules/api => api}/src/sync/manager_test.go (100%) rename {modules/api => api}/src/sync/overwatch.go (100%) rename {modules/api => api}/src/sync/poll/secret.go (100%) rename {modules/api => api}/src/sync/poll/secret_test.go (100%) rename {modules/api => api}/src/sync/poll/watcher.go (100%) rename {modules/api => api}/src/sync/poll/watcher_test.go (100%) rename {modules/api => api}/src/sync/secret.go (100%) rename {modules/api => api}/src/sync/secret_test.go (100%) rename {modules/api => api}/src/systembanner/api/types.go (100%) rename {modules/api => api}/src/systembanner/handler.go (100%) rename {modules/api => api}/src/systembanner/manager.go (100%) rename {modules/api => api}/src/validation/validateappname.go (100%) rename {modules/api => api}/src/validation/validateappname_test.go (100%) rename {modules/api => api}/src/validation/validateimagereference.go (100%) rename {modules/api => api}/src/validation/validateimagereference_test.go (100%) rename {modules/api => api}/src/validation/validateloginstatus.go (100%) rename {modules/api => api}/src/validation/validateloginstatus_test.go (100%) rename {modules/api => api}/src/validation/validateprotocol.go (100%) rename {modules/api => api}/src/validation/validateprotocol_test.go (100%) rename {modules/api => api}/src/validation/validaterbacstatus.go (100%) rename {modules/api => api}/src/validation/validaterbacstatus_test.go (100%) rename {modules/web => web}/.babelrc (100%) rename {modules/web => web}/.browserslistrc (100%) rename {modules/web => web}/.eslintignore (100%) rename {modules/web => web}/.eslintrc.yaml (100%) rename {modules/web => web}/.gitignore (100%) rename {modules/web => web}/.jsbeautifyrc (100%) rename {modules/web => web}/.npmrc (100%) rename {modules/web => web}/.prettierrc.cjs (100%) rename {modules/web => web}/.stylelintrc.yaml (100%) rename {modules/web => web}/angular.json (100%) rename {modules/web => web}/cypress.json (100%) rename {modules/web => web}/cypress/fixtures/crd.yaml (100%) rename {modules/web => web}/cypress/fixtures/example-foo.yaml (100%) rename {modules/web => web}/cypress/integration/specs/nav.spec.ts (100%) rename {modules/web => web}/cypress/integration/specs/userpanel.spec.ts (100%) rename {modules/web => web}/cypress/pages/abstractPage.ts (100%) rename {modules/web => web}/cypress/pages/navbarPage.ts (100%) rename {modules/web => web}/cypress/pages/userpanelPage.ts (100%) rename {modules/web => web}/cypress/plugins/cy-ts-preprocessor.ts (100%) rename {modules/web => web}/cypress/plugins/index.ts (100%) rename {modules/web => web}/cypress/support/index.ts (100%) rename {modules/web => web}/i18n/de/OWNERS (100%) rename {modules/web => web}/i18n/de/messages.de.xlf (100%) rename {modules/web => web}/i18n/es/OWNERS (100%) rename {modules/web => web}/i18n/es/messages.es.xlf (100%) rename {modules/web => web}/i18n/fr/OWNERS (100%) rename {modules/web => web}/i18n/fr/messages.fr.xlf (100%) rename {modules/web => web}/i18n/ja/OWNERS (100%) rename {modules/web => web}/i18n/ja/README.md (100%) rename {modules/web => web}/i18n/ja/messages.ja.xlf (100%) rename {modules/web => web}/i18n/ko/OWNERS (100%) rename {modules/web => web}/i18n/ko/messages.ko.xlf (100%) rename {modules/web => web}/i18n/locale_conf.json (100%) rename {modules/web => web}/i18n/messages.xlf (100%) rename {modules/web => web}/i18n/zh-Hans/OWNERS (100%) rename {modules/web => web}/i18n/zh-Hans/messages.zh-Hans.xlf (100%) rename {modules/web => web}/i18n/zh-Hant-HK/OWNERS (100%) rename {modules/web => web}/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf (100%) rename {modules/web => web}/i18n/zh-Hant/OWNERS (100%) rename {modules/web => web}/i18n/zh-Hant/messages.zh-Hant.xlf (100%) rename {modules/web => web}/jest.config.js (100%) rename {modules/web => web}/package-lock.json (100%) rename {modules/web => web}/package.json (100%) rename {modules/web => web}/proxy-https.conf.json (100%) rename {modules/web => web}/proxy.conf.json (100%) rename {modules/web => web}/src/_dark.scss (100%) rename {modules/web => web}/src/_light.scss (100%) rename {modules/web => web}/src/_mixins.scss (100%) rename {modules/web => web}/src/_theming.scss (100%) rename {modules/web => web}/src/_variables.scss (100%) rename {modules/web => web}/src/about/actionbar/component.ts (100%) rename {modules/web => web}/src/about/actionbar/template.html (100%) rename {modules/web => web}/src/about/component.spec.ts (100%) rename {modules/web => web}/src/about/component.ts (100%) rename {modules/web => web}/src/about/module.ts (100%) rename {modules/web => web}/src/about/routing.ts (100%) rename {modules/web => web}/src/about/style.scss (100%) rename {modules/web => web}/src/about/template.html (100%) rename {modules/web => web}/src/assets/config/config.json (100%) rename {modules/web => web}/src/assets/images/kubernetes-logo-text.svg (100%) rename {modules/web => web}/src/assets/images/kubernetes-logo.png (100%) rename {modules/web => web}/src/assets/images/kubernetes-logo.svg (100%) rename {modules/web => web}/src/assets/images/pin-crossed.svg (100%) rename {modules/web => web}/src/assets/images/pin.svg (100%) rename {modules/web => web}/src/assets/robots.txt (100%) rename {modules/web => web}/src/chrome/component.ts (100%) rename {modules/web => web}/src/chrome/module.ts (100%) rename {modules/web => web}/src/chrome/nav/component.ts (100%) rename {modules/web => web}/src/chrome/nav/hamburger/component.ts (100%) rename {modules/web => web}/src/chrome/nav/hamburger/template.html (100%) rename {modules/web => web}/src/chrome/nav/item/component.ts (100%) rename {modules/web => web}/src/chrome/nav/item/style.scss (100%) rename {modules/web => web}/src/chrome/nav/item/template.html (100%) rename {modules/web => web}/src/chrome/nav/module.ts (100%) rename {modules/web => web}/src/chrome/nav/pinner/component.ts (100%) rename {modules/web => web}/src/chrome/nav/pinner/template.html (100%) rename {modules/web => web}/src/chrome/nav/style.scss (100%) rename {modules/web => web}/src/chrome/nav/template.html (100%) rename {modules/web => web}/src/chrome/notifications/component.ts (100%) rename {modules/web => web}/src/chrome/notifications/style.scss (100%) rename {modules/web => web}/src/chrome/notifications/template.html (100%) rename {modules/web => web}/src/chrome/routing.ts (100%) rename {modules/web => web}/src/chrome/search/component.ts (100%) rename {modules/web => web}/src/chrome/search/style.scss (100%) rename {modules/web => web}/src/chrome/search/template.html (100%) rename {modules/web => web}/src/chrome/style.scss (100%) rename {modules/web => web}/src/chrome/template.html (100%) rename {modules/web => web}/src/chrome/userpanel/component.ts (100%) rename {modules/web => web}/src/chrome/userpanel/style.scss (100%) rename {modules/web => web}/src/chrome/userpanel/template.html (100%) rename {modules/web => web}/src/common/animations/animations.ts (100%) rename {modules/web => web}/src/common/components/actionbar/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/delete/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/delete/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/edit/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/edit/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/exec/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/exec/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/logs/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/logs/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/pin/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/pin/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/restart/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/restart/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/scale/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/scale/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/trigger/component.ts (100%) rename {modules/web => web}/src/common/components/actionbar/detailactions/trigger/template.html (100%) rename {modules/web => web}/src/common/components/actionbar/template.html (100%) rename {modules/web => web}/src/common/components/actionbars/default/component.ts (100%) rename {modules/web => web}/src/common/components/actionbars/default/template.html (100%) rename {modules/web => web}/src/common/components/actionbars/logsdefault/component.ts (100%) rename {modules/web => web}/src/common/components/actionbars/logsdefault/template.html (100%) rename {modules/web => web}/src/common/components/actionbars/logsexecdefault/component.ts (100%) rename {modules/web => web}/src/common/components/actionbars/logsexecdefault/template.html (100%) rename {modules/web => web}/src/common/components/actionbars/logsscaledefault/component.ts (100%) rename {modules/web => web}/src/common/components/actionbars/logsscaledefault/template.html (100%) rename {modules/web => web}/src/common/components/actionbars/pindefault/component.ts (100%) rename {modules/web => web}/src/common/components/actionbars/pindefault/template.html (100%) rename {modules/web => web}/src/common/components/actionbars/routing.ts (100%) rename {modules/web => web}/src/common/components/actionbars/scaledefault/component.ts (100%) rename {modules/web => web}/src/common/components/actionbars/scaledefault/template.html (100%) rename {modules/web => web}/src/common/components/actionbars/triggerdefault/component.ts (100%) rename {modules/web => web}/src/common/components/actionbars/triggerdefault/template.html (100%) rename {modules/web => web}/src/common/components/breadcrumbs/component.ts (100%) rename {modules/web => web}/src/common/components/breadcrumbs/style.scss (100%) rename {modules/web => web}/src/common/components/breadcrumbs/template.html (100%) rename {modules/web => web}/src/common/components/card/component.spec.ts (100%) rename {modules/web => web}/src/common/components/card/component.ts (100%) rename {modules/web => web}/src/common/components/card/style.scss (100%) rename {modules/web => web}/src/common/components/card/template.html (100%) rename {modules/web => web}/src/common/components/chips/chipdialog/dialog.ts (100%) rename {modules/web => web}/src/common/components/chips/chipdialog/template.html (100%) rename {modules/web => web}/src/common/components/chips/component.ts (100%) rename {modules/web => web}/src/common/components/chips/style.scss (100%) rename {modules/web => web}/src/common/components/chips/template.html (100%) rename {modules/web => web}/src/common/components/condition/component.ts (100%) rename {modules/web => web}/src/common/components/condition/template.html (100%) rename {modules/web => web}/src/common/components/container/component.ts (100%) rename {modules/web => web}/src/common/components/container/style.scss (100%) rename {modules/web => web}/src/common/components/container/template.html (100%) rename {modules/web => web}/src/common/components/creator/component.ts (100%) rename {modules/web => web}/src/common/components/creator/template.html (100%) rename {modules/web => web}/src/common/components/date/component.ts (100%) rename {modules/web => web}/src/common/components/date/style.scss (100%) rename {modules/web => web}/src/common/components/date/template.html (100%) rename {modules/web => web}/src/common/components/endpoint/cardlist/component.ts (100%) rename {modules/web => web}/src/common/components/endpoint/cardlist/style.scss (100%) rename {modules/web => web}/src/common/components/endpoint/cardlist/template.html (100%) rename {modules/web => web}/src/common/components/endpoint/external/component.ts (100%) rename {modules/web => web}/src/common/components/endpoint/external/style.scss (100%) rename {modules/web => web}/src/common/components/endpoint/external/template.html (100%) rename {modules/web => web}/src/common/components/endpoint/internal/component.ts (100%) rename {modules/web => web}/src/common/components/endpoint/internal/style.scss (100%) rename {modules/web => web}/src/common/components/endpoint/internal/template.html (100%) rename {modules/web => web}/src/common/components/graph/component.ts (100%) rename {modules/web => web}/src/common/components/graph/helper.ts (100%) rename {modules/web => web}/src/common/components/graph/style.scss (100%) rename {modules/web => web}/src/common/components/graph/template.html (100%) rename {modules/web => web}/src/common/components/graphcard/component.spec.ts (100%) rename {modules/web => web}/src/common/components/graphcard/component.ts (100%) rename {modules/web => web}/src/common/components/graphcard/template.html (100%) rename {modules/web => web}/src/common/components/graphmetrics/component.ts (100%) rename {modules/web => web}/src/common/components/graphmetrics/template.html (100%) rename {modules/web => web}/src/common/components/hiddenproperty/component.ts (100%) rename {modules/web => web}/src/common/components/hiddenproperty/style.scss (100%) rename {modules/web => web}/src/common/components/hiddenproperty/template.html (100%) rename {modules/web => web}/src/common/components/ingressrulelist/component.ts (100%) rename {modules/web => web}/src/common/components/ingressrulelist/template.html (100%) rename {modules/web => web}/src/common/components/limits/component.ts (100%) rename {modules/web => web}/src/common/components/limits/template.html (100%) rename {modules/web => web}/src/common/components/list/column/component.ts (100%) rename {modules/web => web}/src/common/components/list/column/menu/component.ts (100%) rename {modules/web => web}/src/common/components/list/column/menu/template.html (100%) rename {modules/web => web}/src/common/components/list/column/template.html (100%) rename {modules/web => web}/src/common/components/list/filter/component.ts (100%) rename {modules/web => web}/src/common/components/list/filter/style.scss (100%) rename {modules/web => web}/src/common/components/list/filter/template.html (100%) rename {modules/web => web}/src/common/components/list/rowdetail/component.ts (100%) rename {modules/web => web}/src/common/components/list/rowdetail/style.scss (100%) rename {modules/web => web}/src/common/components/list/rowdetail/template.html (100%) rename {modules/web => web}/src/common/components/list/spinner/component.ts (100%) rename {modules/web => web}/src/common/components/list/spinner/template.html (100%) rename {modules/web => web}/src/common/components/list/zerostate/component.ts (100%) rename {modules/web => web}/src/common/components/list/zerostate/style.scss (100%) rename {modules/web => web}/src/common/components/list/zerostate/template.html (100%) rename {modules/web => web}/src/common/components/module.ts (100%) rename {modules/web => web}/src/common/components/namespace/changedialog/dialog.ts (100%) rename {modules/web => web}/src/common/components/namespace/changedialog/template.html (100%) rename {modules/web => web}/src/common/components/namespace/component.ts (100%) rename {modules/web => web}/src/common/components/namespace/style.scss (100%) rename {modules/web => web}/src/common/components/namespace/template.html (100%) rename {modules/web => web}/src/common/components/objectmeta/component.spec.ts (100%) rename {modules/web => web}/src/common/components/objectmeta/component.ts (100%) rename {modules/web => web}/src/common/components/objectmeta/template.html (100%) rename {modules/web => web}/src/common/components/podstatus/component.ts (100%) rename {modules/web => web}/src/common/components/podstatus/template.html (100%) rename {modules/web => web}/src/common/components/policyrule/component.ts (100%) rename {modules/web => web}/src/common/components/policyrule/template.html (100%) rename {modules/web => web}/src/common/components/probe/component.ts (100%) rename {modules/web => web}/src/common/components/probe/template.html (100%) rename {modules/web => web}/src/common/components/property/component.ts (100%) rename {modules/web => web}/src/common/components/property/style.scss (100%) rename {modules/web => web}/src/common/components/property/template.html (100%) rename {modules/web => web}/src/common/components/proxy/component.ts (100%) rename {modules/web => web}/src/common/components/quotas/component.ts (100%) rename {modules/web => web}/src/common/components/quotas/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/clusterrole/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/clusterrole/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/clusterrolebinding/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/clusterrolebinding/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/configmap/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/configmap/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/crd/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/crd/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/crdobject/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/crdobject/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/crdversion/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/crdversion/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/cronjob/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/cronjob/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/daemonset/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/daemonset/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/deployment/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/deployment/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/event/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/event/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/groupids.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/horizontalpodautoscaler/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/horizontalpodautoscaler/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/ingress/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/ingress/style.scss (100%) rename {modules/web => web}/src/common/components/resourcelist/ingress/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/job/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/job/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/namespace/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/namespace/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/networkpolicy/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/networkpolicy/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/node/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/node/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/persistentvolume/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/persistentvolume/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/persistentvolumeclaim/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/persistentvolumeclaim/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/plugin/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/plugin/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/pod/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/pod/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/replicaset/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/replicaset/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/replicationcontroller/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/replicationcontroller/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/role/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/role/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/rolebinding/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/rolebinding/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/secret/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/secret/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/service/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/service/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/serviceaccount/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/serviceaccount/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/statefulset/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/statefulset/template.html (100%) rename {modules/web => web}/src/common/components/resourcelist/statuses.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/storageclass/component.ts (100%) rename {modules/web => web}/src/common/components/resourcelist/storageclass/template.html (100%) rename {modules/web => web}/src/common/components/securitycontext/component.ts (100%) rename {modules/web => web}/src/common/components/securitycontext/template.html (100%) rename {modules/web => web}/src/common/components/sparkline/cpu/component.ts (100%) rename {modules/web => web}/src/common/components/sparkline/cpu/template.html (100%) rename {modules/web => web}/src/common/components/sparkline/memory/component.ts (100%) rename {modules/web => web}/src/common/components/sparkline/memory/template.html (100%) rename {modules/web => web}/src/common/components/sparkline/sparkline.ts (100%) rename {modules/web => web}/src/common/components/subject/component.ts (100%) rename {modules/web => web}/src/common/components/subject/template.html (100%) rename {modules/web => web}/src/common/components/textinput/component.ts (100%) rename {modules/web => web}/src/common/components/textinput/style.scss (100%) rename {modules/web => web}/src/common/components/textinput/template.html (100%) rename {modules/web => web}/src/common/components/uploadfile/component.ts (100%) rename {modules/web => web}/src/common/components/uploadfile/style.scss (100%) rename {modules/web => web}/src/common/components/uploadfile/template.html (100%) rename {modules/web => web}/src/common/components/volumemount/component.ts (100%) rename {modules/web => web}/src/common/components/volumemount/template.html (100%) rename {modules/web => web}/src/common/components/workloadstatus/component.spec.ts (100%) rename {modules/web => web}/src/common/components/workloadstatus/component.ts (100%) rename {modules/web => web}/src/common/components/workloadstatus/style.scss (100%) rename {modules/web => web}/src/common/components/workloadstatus/template.html (100%) rename {modules/web => web}/src/common/components/zerostate/component.ts (100%) rename {modules/web => web}/src/common/components/zerostate/style.scss (100%) rename {modules/web => web}/src/common/components/zerostate/template.html (100%) rename {modules/web => web}/src/common/dialogs/alert/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/alert/template.html (100%) rename {modules/web => web}/src/common/dialogs/config/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/config/template.html (100%) rename {modules/web => web}/src/common/dialogs/deleteresource/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/deleteresource/template.html (100%) rename {modules/web => web}/src/common/dialogs/download/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/download/style.scss (100%) rename {modules/web => web}/src/common/dialogs/download/template.html (100%) rename {modules/web => web}/src/common/dialogs/editresource/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/editresource/template.html (100%) rename {modules/web => web}/src/common/dialogs/module.ts (100%) rename {modules/web => web}/src/common/dialogs/previewdeployment/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/previewdeployment/template.html (100%) rename {modules/web => web}/src/common/dialogs/restartresource/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/restartresource/template.html (100%) rename {modules/web => web}/src/common/dialogs/scaleresource/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/scaleresource/template.html (100%) rename {modules/web => web}/src/common/dialogs/triggerresource/dialog.ts (100%) rename {modules/web => web}/src/common/dialogs/triggerresource/template.html (100%) rename {modules/web => web}/src/common/directives/autofocus/directive.ts (100%) rename {modules/web => web}/src/common/directives/module.ts (100%) rename {modules/web => web}/src/common/errors/errors.ts (100%) rename {modules/web => web}/src/common/interfaces/candeactivate.ts (100%) rename {modules/web => web}/src/common/params/params.ts (100%) rename {modules/web => web}/src/common/pipes/commaseparated.ts (100%) rename {modules/web => web}/src/common/pipes/coreformatter.spec.ts (100%) rename {modules/web => web}/src/common/pipes/coreformatter.ts (100%) rename {modules/web => web}/src/common/pipes/filterby.ts (100%) rename {modules/web => web}/src/common/pipes/memoryformatter.spec.ts (100%) rename {modules/web => web}/src/common/pipes/memoryformatter.ts (100%) rename {modules/web => web}/src/common/pipes/module.ts (100%) rename {modules/web => web}/src/common/pipes/relativetime.ts (100%) rename {modules/web => web}/src/common/pipes/stripansi.ts (100%) rename {modules/web => web}/src/common/pipes/trim.ts (100%) rename {modules/web => web}/src/common/pipes/untrim.ts (100%) rename {modules/web => web}/src/common/resources/groupedlist.ts (100%) rename {modules/web => web}/src/common/resources/list.ts (100%) rename {modules/web => web}/src/common/resources/rawresource.ts (100%) rename {modules/web => web}/src/common/resources/resource.ts (100%) rename {modules/web => web}/src/common/services/create/module.ts (100%) rename {modules/web => web}/src/common/services/create/service.ts (100%) rename {modules/web => web}/src/common/services/global/actionbar.ts (100%) rename {modules/web => web}/src/common/services/global/assets.ts (100%) rename {modules/web => web}/src/common/services/global/authentication.ts (100%) rename {modules/web => web}/src/common/services/global/authorizer.ts (100%) rename {modules/web => web}/src/common/services/global/config.ts (100%) rename {modules/web => web}/src/common/services/global/csrftoken.ts (100%) rename {modules/web => web}/src/common/services/global/decoder.ts (100%) rename {modules/web => web}/src/common/services/global/globalsettings.ts (100%) rename {modules/web => web}/src/common/services/global/history.ts (100%) rename {modules/web => web}/src/common/services/global/interceptor.ts (100%) rename {modules/web => web}/src/common/services/global/loader.ts (100%) rename {modules/web => web}/src/common/services/global/localsettings.ts (100%) rename {modules/web => web}/src/common/services/global/logs.ts (100%) rename {modules/web => web}/src/common/services/global/module.ts (100%) rename {modules/web => web}/src/common/services/global/namespace.ts (100%) rename {modules/web => web}/src/common/services/global/notifications.ts (100%) rename {modules/web => web}/src/common/services/global/params.ts (100%) rename {modules/web => web}/src/common/services/global/pinner.ts (100%) rename {modules/web => web}/src/common/services/global/plugin.ts (100%) rename {modules/web => web}/src/common/services/global/state.ts (100%) rename {modules/web => web}/src/common/services/global/theme.ts (100%) rename {modules/web => web}/src/common/services/global/title.ts (100%) rename {modules/web => web}/src/common/services/global/verber.ts (100%) rename {modules/web => web}/src/common/services/guard/auth.ts (100%) rename {modules/web => web}/src/common/services/guard/candeactivate.ts (100%) rename {modules/web => web}/src/common/services/guard/login.ts (100%) rename {modules/web => web}/src/common/services/guard/module.ts (100%) rename {modules/web => web}/src/common/services/guard/search.ts (100%) rename {modules/web => web}/src/common/services/nav/module.ts (100%) rename {modules/web => web}/src/common/services/nav/service.ts (100%) rename {modules/web => web}/src/common/services/pluginloader/clientloader.service.ts (100%) rename {modules/web => web}/src/common/services/pluginloader/pluginexternals.ts (100%) rename {modules/web => web}/src/common/services/pluginloader/pluginloader.service.ts (100%) rename {modules/web => web}/src/common/services/resource/endpoint.ts (100%) rename {modules/web => web}/src/common/services/resource/module.ts (100%) rename {modules/web => web}/src/common/services/resource/resource.ts (100%) rename {modules/web => web}/src/common/services/resource/utility.ts (100%) rename {modules/web => web}/src/core.module.ts (100%) rename {modules/web => web}/src/crd/crdobject/component.ts (100%) rename {modules/web => web}/src/crd/crdobject/template.html (100%) rename {modules/web => web}/src/crd/detail/component.ts (100%) rename {modules/web => web}/src/crd/detail/template.html (100%) rename {modules/web => web}/src/crd/list/component.ts (100%) rename {modules/web => web}/src/crd/module.ts (100%) rename {modules/web => web}/src/crd/routing.ts (100%) rename {modules/web => web}/src/create/component.ts (100%) rename {modules/web => web}/src/create/from/file/component.ts (100%) rename {modules/web => web}/src/create/from/file/style.scss (100%) rename {modules/web => web}/src/create/from/file/template.html (100%) rename {modules/web => web}/src/create/from/form/component.ts (100%) rename {modules/web => web}/src/create/from/form/createnamespace/dialog.ts (100%) rename {modules/web => web}/src/create/from/form/createnamespace/template.html (100%) rename {modules/web => web}/src/create/from/form/createsecret/dialog.ts (100%) rename {modules/web => web}/src/create/from/form/createsecret/template.html (100%) rename {modules/web => web}/src/create/from/form/deploylabel/component.ts (100%) rename {modules/web => web}/src/create/from/form/deploylabel/deploylabel.ts (100%) rename {modules/web => web}/src/create/from/form/deploylabel/template.html (100%) rename {modules/web => web}/src/create/from/form/environmentvariables/component.ts (100%) rename {modules/web => web}/src/create/from/form/environmentvariables/template.html (100%) rename {modules/web => web}/src/create/from/form/helpsection/component.ts (100%) rename {modules/web => web}/src/create/from/form/helpsection/style.scss (100%) rename {modules/web => web}/src/create/from/form/helpsection/template.html (100%) rename {modules/web => web}/src/create/from/form/helpsection/userhelp/component.ts (100%) rename {modules/web => web}/src/create/from/form/helpsection/userhelp/style.scss (100%) rename {modules/web => web}/src/create/from/form/helpsection/userhelp/template.html (100%) rename {modules/web => web}/src/create/from/form/module.ts (100%) rename {modules/web => web}/src/create/from/form/portmappings/component.ts (100%) rename {modules/web => web}/src/create/from/form/portmappings/style.scss (100%) rename {modules/web => web}/src/create/from/form/portmappings/template.html (100%) rename {modules/web => web}/src/create/from/form/style.scss (100%) rename {modules/web => web}/src/create/from/form/template.html (100%) rename {modules/web => web}/src/create/from/form/validator/uniquename.validator.ts (100%) rename {modules/web => web}/src/create/from/form/validator/validators.ts (100%) rename {modules/web => web}/src/create/from/form/validator/validimagereference.validator.ts (100%) rename {modules/web => web}/src/create/from/form/validator/validprotocol.validator.ts (100%) rename {modules/web => web}/src/create/from/form/validator/warnthreshold.validator.ts (100%) rename {modules/web => web}/src/create/from/input/component.ts (100%) rename {modules/web => web}/src/create/from/input/style.scss (100%) rename {modules/web => web}/src/create/from/input/template.html (100%) rename {modules/web => web}/src/create/module.ts (100%) rename {modules/web => web}/src/create/routing.ts (100%) rename {modules/web => web}/src/create/style.scss (100%) rename {modules/web => web}/src/create/template.html (100%) rename {modules/web => web}/src/environments/environment.prod.ts (100%) rename {modules/web => web}/src/environments/environment.ts (100%) rename {modules/web => web}/src/error/component.ts (100%) rename {modules/web => web}/src/error/handler.ts (100%) rename {modules/web => web}/src/error/module.ts (100%) rename {modules/web => web}/src/error/routing.ts (100%) rename {modules/web => web}/src/error/style.scss (100%) rename {modules/web => web}/src/error/template.html (100%) rename {modules/web => web}/src/index.component.ts (100%) rename {modules/web => web}/src/index.config.ts (100%) rename {modules/web => web}/src/index.html (100%) rename {modules/web => web}/src/index.messages.ts (100%) rename {modules/web => web}/src/index.module.ts (100%) rename {modules/web => web}/src/index.routing.ts (100%) rename {modules/web => web}/src/index.scss (100%) rename {modules/web => web}/src/index.ts (100%) rename {modules/web => web}/src/login/component.spec.ts (100%) rename {modules/web => web}/src/login/component.ts (100%) rename {modules/web => web}/src/login/module.ts (100%) rename {modules/web => web}/src/login/style.scss (100%) rename {modules/web => web}/src/login/template.html (100%) rename {modules/web => web}/src/logs/component.ts (100%) rename {modules/web => web}/src/logs/module.ts (100%) rename {modules/web => web}/src/logs/routing.ts (100%) rename {modules/web => web}/src/logs/style.scss (100%) rename {modules/web => web}/src/logs/template.html (100%) rename {modules/web => web}/src/overview/component.spec.ts (100%) rename {modules/web => web}/src/overview/component.ts (100%) rename {modules/web => web}/src/overview/helper.ts (100%) rename {modules/web => web}/src/overview/module.ts (100%) rename {modules/web => web}/src/overview/routing.ts (100%) rename {modules/web => web}/src/overview/template.html (100%) rename {modules/web => web}/src/plugin/component.ts (100%) rename {modules/web => web}/src/plugin/detail/component.ts (100%) rename {modules/web => web}/src/plugin/holder.ts (100%) rename {modules/web => web}/src/plugin/list/component.ts (100%) rename {modules/web => web}/src/plugin/module.ts (100%) rename {modules/web => web}/src/plugin/routing.ts (100%) rename {modules/web => web}/src/plugin/template.html (100%) rename {modules/web => web}/src/polyfills.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrole/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrole/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/clusterrole/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrole/module.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrole/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrolebinding/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrolebinding/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/clusterrolebinding/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrolebinding/module.ts (100%) rename {modules/web => web}/src/resource/cluster/clusterrolebinding/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/component.ts (100%) rename {modules/web => web}/src/resource/cluster/event/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/event/module.ts (100%) rename {modules/web => web}/src/resource/cluster/event/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/module.ts (100%) rename {modules/web => web}/src/resource/cluster/namespace/detail/actionbar/component.ts (100%) rename {modules/web => web}/src/resource/cluster/namespace/detail/actionbar/template.html (100%) rename {modules/web => web}/src/resource/cluster/namespace/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/namespace/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/namespace/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/namespace/module.ts (100%) rename {modules/web => web}/src/resource/cluster/namespace/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/networkpolicy/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/networkpolicy/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/networkpolicy/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/networkpolicy/module.ts (100%) rename {modules/web => web}/src/resource/cluster/networkpolicy/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/node/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/node/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/node/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/node/module.ts (100%) rename {modules/web => web}/src/resource/cluster/node/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/detail/source/component.ts (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/detail/source/style.scss (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/detail/source/template.html (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/module.ts (100%) rename {modules/web => web}/src/resource/cluster/persistentvolume/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/role/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/role/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/role/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/role/module.ts (100%) rename {modules/web => web}/src/resource/cluster/role/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/rolebinding/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/rolebinding/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/rolebinding/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/rolebinding/module.ts (100%) rename {modules/web => web}/src/resource/cluster/rolebinding/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/serviceaccount/detail/component.ts (100%) rename {modules/web => web}/src/resource/cluster/serviceaccount/detail/template.html (100%) rename {modules/web => web}/src/resource/cluster/serviceaccount/list/component.ts (100%) rename {modules/web => web}/src/resource/cluster/serviceaccount/module.ts (100%) rename {modules/web => web}/src/resource/cluster/serviceaccount/routing.ts (100%) rename {modules/web => web}/src/resource/cluster/template.html (100%) rename {modules/web => web}/src/resource/config/component.ts (100%) rename {modules/web => web}/src/resource/config/configmap/detail/component.ts (100%) rename {modules/web => web}/src/resource/config/configmap/detail/template.html (100%) rename {modules/web => web}/src/resource/config/configmap/list/component.ts (100%) rename {modules/web => web}/src/resource/config/configmap/module.ts (100%) rename {modules/web => web}/src/resource/config/configmap/routing.ts (100%) rename {modules/web => web}/src/resource/config/module.ts (100%) rename {modules/web => web}/src/resource/config/persistentvolumeclaim/detail/component.ts (100%) rename {modules/web => web}/src/resource/config/persistentvolumeclaim/detail/template.html (100%) rename {modules/web => web}/src/resource/config/persistentvolumeclaim/list/component.ts (100%) rename {modules/web => web}/src/resource/config/persistentvolumeclaim/module.ts (100%) rename {modules/web => web}/src/resource/config/persistentvolumeclaim/routing.ts (100%) rename {modules/web => web}/src/resource/config/routing.ts (100%) rename {modules/web => web}/src/resource/config/secret/detail/component.ts (100%) rename {modules/web => web}/src/resource/config/secret/detail/edit/component.ts (100%) rename {modules/web => web}/src/resource/config/secret/detail/edit/style.scss (100%) rename {modules/web => web}/src/resource/config/secret/detail/edit/template.html (100%) rename {modules/web => web}/src/resource/config/secret/detail/template.html (100%) rename {modules/web => web}/src/resource/config/secret/list/component.ts (100%) rename {modules/web => web}/src/resource/config/secret/list/template.html (100%) rename {modules/web => web}/src/resource/config/secret/module.ts (100%) rename {modules/web => web}/src/resource/config/secret/routing.ts (100%) rename {modules/web => web}/src/resource/config/storageclass/detail/component.ts (100%) rename {modules/web => web}/src/resource/config/storageclass/detail/style.scss (100%) rename {modules/web => web}/src/resource/config/storageclass/detail/template.html (100%) rename {modules/web => web}/src/resource/config/storageclass/list/component.ts (100%) rename {modules/web => web}/src/resource/config/storageclass/module.ts (100%) rename {modules/web => web}/src/resource/config/storageclass/routing.ts (100%) rename {modules/web => web}/src/resource/config/template.html (100%) rename {modules/web => web}/src/resource/discovery/component.ts (100%) rename {modules/web => web}/src/resource/discovery/ingress/detail/component.spec.ts (100%) rename {modules/web => web}/src/resource/discovery/ingress/detail/component.ts (100%) rename {modules/web => web}/src/resource/discovery/ingress/detail/template.html (100%) rename {modules/web => web}/src/resource/discovery/ingress/list/component.ts (100%) rename {modules/web => web}/src/resource/discovery/ingress/module.ts (100%) rename {modules/web => web}/src/resource/discovery/ingress/routing.ts (100%) rename {modules/web => web}/src/resource/discovery/module.ts (100%) rename {modules/web => web}/src/resource/discovery/routing.ts (100%) rename {modules/web => web}/src/resource/discovery/service/detail/component.spec.ts (100%) rename {modules/web => web}/src/resource/discovery/service/detail/component.ts (100%) rename {modules/web => web}/src/resource/discovery/service/detail/template.html (100%) rename {modules/web => web}/src/resource/discovery/service/list/component.ts (100%) rename {modules/web => web}/src/resource/discovery/service/module.ts (100%) rename {modules/web => web}/src/resource/discovery/service/routing.ts (100%) rename {modules/web => web}/src/resource/discovery/template.html (100%) rename {modules/web => web}/src/resource/workloads/component.ts (100%) rename {modules/web => web}/src/resource/workloads/cronjob/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/cronjob/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/cronjob/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/cronjob/module.ts (100%) rename {modules/web => web}/src/resource/workloads/cronjob/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/daemonset/detail/actionbar/component.ts (100%) rename {modules/web => web}/src/resource/workloads/daemonset/detail/actionbar/template.html (100%) rename {modules/web => web}/src/resource/workloads/daemonset/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/daemonset/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/daemonset/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/daemonset/module.ts (100%) rename {modules/web => web}/src/resource/workloads/daemonset/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/deployment/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/deployment/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/deployment/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/deployment/module.ts (100%) rename {modules/web => web}/src/resource/workloads/deployment/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/job/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/job/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/job/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/job/module.ts (100%) rename {modules/web => web}/src/resource/workloads/job/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/module.ts (100%) rename {modules/web => web}/src/resource/workloads/pod/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/pod/detail/style.scss (100%) rename {modules/web => web}/src/resource/workloads/pod/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/pod/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/pod/module.ts (100%) rename {modules/web => web}/src/resource/workloads/pod/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/replicaset/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/replicaset/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/replicaset/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/replicaset/module.ts (100%) rename {modules/web => web}/src/resource/workloads/replicaset/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/replicationcontroller/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/replicationcontroller/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/replicationcontroller/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/replicationcontroller/module.ts (100%) rename {modules/web => web}/src/resource/workloads/replicationcontroller/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/statefulset/detail/component.ts (100%) rename {modules/web => web}/src/resource/workloads/statefulset/detail/template.html (100%) rename {modules/web => web}/src/resource/workloads/statefulset/list/component.ts (100%) rename {modules/web => web}/src/resource/workloads/statefulset/module.ts (100%) rename {modules/web => web}/src/resource/workloads/statefulset/routing.ts (100%) rename {modules/web => web}/src/resource/workloads/template.html (100%) rename {modules/web => web}/src/search/component.ts (100%) rename {modules/web => web}/src/search/module.ts (100%) rename {modules/web => web}/src/search/routing.ts (100%) rename {modules/web => web}/src/search/template.html (100%) rename {modules/web => web}/src/settings/component.ts (100%) rename {modules/web => web}/src/settings/entry/component.ts (100%) rename {modules/web => web}/src/settings/entry/template.html (100%) rename {modules/web => web}/src/settings/global/component.ts (100%) rename {modules/web => web}/src/settings/global/namespace/adddialog/dialog.ts (100%) rename {modules/web => web}/src/settings/global/namespace/adddialog/template.html (100%) rename {modules/web => web}/src/settings/global/namespace/component.ts (100%) rename {modules/web => web}/src/settings/global/namespace/editdialog/dialog.ts (100%) rename {modules/web => web}/src/settings/global/namespace/editdialog/template.html (100%) rename {modules/web => web}/src/settings/global/namespace/style.scss (100%) rename {modules/web => web}/src/settings/global/namespace/template.html (100%) rename {modules/web => web}/src/settings/global/saveanywaysdialog/dialog.ts (100%) rename {modules/web => web}/src/settings/global/saveanywaysdialog/template.html (100%) rename {modules/web => web}/src/settings/global/service.ts (100%) rename {modules/web => web}/src/settings/global/style.scss (100%) rename {modules/web => web}/src/settings/global/template.html (100%) rename {modules/web => web}/src/settings/local/component.ts (100%) rename {modules/web => web}/src/settings/local/style.scss (100%) rename {modules/web => web}/src/settings/local/template.html (100%) rename {modules/web => web}/src/settings/module.ts (100%) rename {modules/web => web}/src/settings/routing.ts (100%) rename {modules/web => web}/src/shared.module.ts (100%) rename {modules/web => web}/src/shell/component.ts (100%) rename {modules/web => web}/src/shell/module.ts (100%) rename {modules/web => web}/src/shell/routing.ts (100%) rename {modules/web => web}/src/shell/styles.scss (100%) rename {modules/web => web}/src/shell/template.html (100%) rename {modules/web => web}/src/systemjs.d.ts (100%) rename {modules/web => web}/src/test.base.mocks.ts (100%) rename {modules/web => web}/src/test.base.ts (100%) rename {modules/web => web}/src/typings/root.api.ts (100%) rename {modules/web => web}/src/typings/root.shared.ts (100%) rename {modules/web => web}/src/typings/root.ui.ts (100%) rename {modules/web => web}/src/typings/volume.api.ts (100%) rename {modules/web => web}/tsconfig.app.json (100%) rename {modules/web => web}/tsconfig.e2e.json (100%) rename {modules/web => web}/tsconfig.json (100%) rename {modules/web => web}/tsconfig.spec.json (100%) diff --git a/modules/api/.air.toml b/api/.air.toml similarity index 100% rename from modules/api/.air.toml rename to api/.air.toml diff --git a/modules/api/.golangci.yml b/api/.golangci.yml similarity index 100% rename from modules/api/.golangci.yml rename to api/.golangci.yml diff --git a/modules/api/go.mod b/api/go.mod similarity index 100% rename from modules/api/go.mod rename to api/go.mod diff --git a/modules/api/go.sum b/api/go.sum similarity index 100% rename from modules/api/go.sum rename to api/go.sum diff --git a/modules/api/src/api/types.go b/api/src/api/types.go similarity index 100% rename from modules/api/src/api/types.go rename to api/src/api/types.go diff --git a/modules/api/src/api/types_test.go b/api/src/api/types_test.go similarity index 100% rename from modules/api/src/api/types_test.go rename to api/src/api/types_test.go diff --git a/modules/api/src/args/builder.go b/api/src/args/builder.go similarity index 100% rename from modules/api/src/args/builder.go rename to api/src/args/builder.go diff --git a/modules/api/src/args/holder.go b/api/src/args/holder.go similarity index 100% rename from modules/api/src/args/holder.go rename to api/src/args/holder.go diff --git a/modules/api/src/auth/api/common.go b/api/src/auth/api/common.go similarity index 100% rename from modules/api/src/auth/api/common.go rename to api/src/auth/api/common.go diff --git a/modules/api/src/auth/api/common_test.go b/api/src/auth/api/common_test.go similarity index 100% rename from modules/api/src/auth/api/common_test.go rename to api/src/auth/api/common_test.go diff --git a/modules/api/src/auth/api/types.go b/api/src/auth/api/types.go similarity index 100% rename from modules/api/src/auth/api/types.go rename to api/src/auth/api/types.go diff --git a/modules/api/src/auth/basic.go b/api/src/auth/basic.go similarity index 100% rename from modules/api/src/auth/basic.go rename to api/src/auth/basic.go diff --git a/modules/api/src/auth/handler.go b/api/src/auth/handler.go similarity index 100% rename from modules/api/src/auth/handler.go rename to api/src/auth/handler.go diff --git a/modules/api/src/auth/handler_test.go b/api/src/auth/handler_test.go similarity index 100% rename from modules/api/src/auth/handler_test.go rename to api/src/auth/handler_test.go diff --git a/modules/api/src/auth/jwe/keyholder.go b/api/src/auth/jwe/keyholder.go similarity index 100% rename from modules/api/src/auth/jwe/keyholder.go rename to api/src/auth/jwe/keyholder.go diff --git a/modules/api/src/auth/jwe/keyholder_test.go b/api/src/auth/jwe/keyholder_test.go similarity index 100% rename from modules/api/src/auth/jwe/keyholder_test.go rename to api/src/auth/jwe/keyholder_test.go diff --git a/modules/api/src/auth/jwe/manager.go b/api/src/auth/jwe/manager.go similarity index 100% rename from modules/api/src/auth/jwe/manager.go rename to api/src/auth/jwe/manager.go diff --git a/modules/api/src/auth/jwe/manager_test.go b/api/src/auth/jwe/manager_test.go similarity index 100% rename from modules/api/src/auth/jwe/manager_test.go rename to api/src/auth/jwe/manager_test.go diff --git a/modules/api/src/auth/jwe/util.go b/api/src/auth/jwe/util.go similarity index 100% rename from modules/api/src/auth/jwe/util.go rename to api/src/auth/jwe/util.go diff --git a/modules/api/src/auth/kubeconfig.go b/api/src/auth/kubeconfig.go similarity index 100% rename from modules/api/src/auth/kubeconfig.go rename to api/src/auth/kubeconfig.go diff --git a/modules/api/src/auth/kubeconfig_test.go b/api/src/auth/kubeconfig_test.go similarity index 100% rename from modules/api/src/auth/kubeconfig_test.go rename to api/src/auth/kubeconfig_test.go diff --git a/modules/api/src/auth/manager.go b/api/src/auth/manager.go similarity index 100% rename from modules/api/src/auth/manager.go rename to api/src/auth/manager.go diff --git a/modules/api/src/auth/manager_test.go b/api/src/auth/manager_test.go similarity index 100% rename from modules/api/src/auth/manager_test.go rename to api/src/auth/manager_test.go diff --git a/modules/api/src/auth/token.go b/api/src/auth/token.go similarity index 100% rename from modules/api/src/auth/token.go rename to api/src/auth/token.go diff --git a/modules/api/src/cert/api/types.go b/api/src/cert/api/types.go similarity index 100% rename from modules/api/src/cert/api/types.go rename to api/src/cert/api/types.go diff --git a/modules/api/src/cert/ecdsa/creator.go b/api/src/cert/ecdsa/creator.go similarity index 100% rename from modules/api/src/cert/ecdsa/creator.go rename to api/src/cert/ecdsa/creator.go diff --git a/modules/api/src/cert/ecdsa/creator_test.go b/api/src/cert/ecdsa/creator_test.go similarity index 100% rename from modules/api/src/cert/ecdsa/creator_test.go rename to api/src/cert/ecdsa/creator_test.go diff --git a/modules/api/src/cert/manager.go b/api/src/cert/manager.go similarity index 100% rename from modules/api/src/cert/manager.go rename to api/src/cert/manager.go diff --git a/modules/api/src/client/api/common.go b/api/src/client/api/common.go similarity index 100% rename from modules/api/src/client/api/common.go rename to api/src/client/api/common.go diff --git a/modules/api/src/client/api/common_test.go b/api/src/client/api/common_test.go similarity index 100% rename from modules/api/src/client/api/common_test.go rename to api/src/client/api/common_test.go diff --git a/modules/api/src/client/api/types.go b/api/src/client/api/types.go similarity index 100% rename from modules/api/src/client/api/types.go rename to api/src/client/api/types.go diff --git a/modules/api/src/client/csrf/manager.go b/api/src/client/csrf/manager.go similarity index 100% rename from modules/api/src/client/csrf/manager.go rename to api/src/client/csrf/manager.go diff --git a/modules/api/src/client/csrf/manager_test.go b/api/src/client/csrf/manager_test.go similarity index 100% rename from modules/api/src/client/csrf/manager_test.go rename to api/src/client/csrf/manager_test.go diff --git a/modules/api/src/client/manager.go b/api/src/client/manager.go similarity index 100% rename from modules/api/src/client/manager.go rename to api/src/client/manager.go diff --git a/modules/api/src/client/manager_test.go b/api/src/client/manager_test.go similarity index 100% rename from modules/api/src/client/manager_test.go rename to api/src/client/manager_test.go diff --git a/modules/api/src/client/verber.go b/api/src/client/verber.go similarity index 100% rename from modules/api/src/client/verber.go rename to api/src/client/verber.go diff --git a/modules/api/src/client/verber_test.go b/api/src/client/verber_test.go similarity index 100% rename from modules/api/src/client/verber_test.go rename to api/src/client/verber_test.go diff --git a/modules/api/src/dashboard.go b/api/src/dashboard.go similarity index 100% rename from modules/api/src/dashboard.go rename to api/src/dashboard.go diff --git a/modules/api/src/errors/errors.go b/api/src/errors/errors.go similarity index 100% rename from modules/api/src/errors/errors.go rename to api/src/errors/errors.go diff --git a/modules/api/src/errors/handler.go b/api/src/errors/handler.go similarity index 100% rename from modules/api/src/errors/handler.go rename to api/src/errors/handler.go diff --git a/modules/api/src/errors/handler_test.go b/api/src/errors/handler_test.go similarity index 100% rename from modules/api/src/errors/handler_test.go rename to api/src/errors/handler_test.go diff --git a/modules/api/src/errors/localizer.go b/api/src/errors/localizer.go similarity index 100% rename from modules/api/src/errors/localizer.go rename to api/src/errors/localizer.go diff --git a/modules/api/src/errors/localizer_test.go b/api/src/errors/localizer_test.go similarity index 100% rename from modules/api/src/errors/localizer_test.go rename to api/src/errors/localizer_test.go diff --git a/modules/api/src/handler/apihandler.go b/api/src/handler/apihandler.go similarity index 100% rename from modules/api/src/handler/apihandler.go rename to api/src/handler/apihandler.go diff --git a/modules/api/src/handler/apihandler_test.go b/api/src/handler/apihandler_test.go similarity index 100% rename from modules/api/src/handler/apihandler_test.go rename to api/src/handler/apihandler_test.go diff --git a/modules/api/src/handler/confighandler.go b/api/src/handler/confighandler.go similarity index 100% rename from modules/api/src/handler/confighandler.go rename to api/src/handler/confighandler.go diff --git a/modules/api/src/handler/download.go b/api/src/handler/download.go similarity index 100% rename from modules/api/src/handler/download.go rename to api/src/handler/download.go diff --git a/modules/api/src/handler/filter.go b/api/src/handler/filter.go similarity index 100% rename from modules/api/src/handler/filter.go rename to api/src/handler/filter.go diff --git a/modules/api/src/handler/gziphandler.go b/api/src/handler/gziphandler.go similarity index 100% rename from modules/api/src/handler/gziphandler.go rename to api/src/handler/gziphandler.go diff --git a/modules/api/src/handler/localehandler.go b/api/src/handler/localehandler.go similarity index 100% rename from modules/api/src/handler/localehandler.go rename to api/src/handler/localehandler.go diff --git a/modules/api/src/handler/localehandler_test.go b/api/src/handler/localehandler_test.go similarity index 100% rename from modules/api/src/handler/localehandler_test.go rename to api/src/handler/localehandler_test.go diff --git a/modules/api/src/handler/metrics.go b/api/src/handler/metrics.go similarity index 100% rename from modules/api/src/handler/metrics.go rename to api/src/handler/metrics.go diff --git a/modules/api/src/handler/parser/parser.go b/api/src/handler/parser/parser.go similarity index 100% rename from modules/api/src/handler/parser/parser.go rename to api/src/handler/parser/parser.go diff --git a/modules/api/src/handler/terminal.go b/api/src/handler/terminal.go similarity index 100% rename from modules/api/src/handler/terminal.go rename to api/src/handler/terminal.go diff --git a/modules/api/src/integration/api/types.go b/api/src/integration/api/types.go similarity index 100% rename from modules/api/src/integration/api/types.go rename to api/src/integration/api/types.go diff --git a/modules/api/src/integration/handler.go b/api/src/integration/handler.go similarity index 100% rename from modules/api/src/integration/handler.go rename to api/src/integration/handler.go diff --git a/modules/api/src/integration/handler_test.go b/api/src/integration/handler_test.go similarity index 100% rename from modules/api/src/integration/handler_test.go rename to api/src/integration/handler_test.go diff --git a/modules/api/src/integration/list.go b/api/src/integration/list.go similarity index 100% rename from modules/api/src/integration/list.go rename to api/src/integration/list.go diff --git a/modules/api/src/integration/manager.go b/api/src/integration/manager.go similarity index 100% rename from modules/api/src/integration/manager.go rename to api/src/integration/manager.go diff --git a/modules/api/src/integration/manager_test.go b/api/src/integration/manager_test.go similarity index 100% rename from modules/api/src/integration/manager_test.go rename to api/src/integration/manager_test.go diff --git a/modules/api/src/integration/metric/api/types.go b/api/src/integration/metric/api/types.go similarity index 100% rename from modules/api/src/integration/metric/api/types.go rename to api/src/integration/metric/api/types.go diff --git a/modules/api/src/integration/metric/common/aggregation.go b/api/src/integration/metric/common/aggregation.go similarity index 100% rename from modules/api/src/integration/metric/common/aggregation.go rename to api/src/integration/metric/common/aggregation.go diff --git a/modules/api/src/integration/metric/common/aggregation_test.go b/api/src/integration/metric/common/aggregation_test.go similarity index 100% rename from modules/api/src/integration/metric/common/aggregation_test.go rename to api/src/integration/metric/common/aggregation_test.go diff --git a/modules/api/src/integration/metric/heapster/client.go b/api/src/integration/metric/heapster/client.go similarity index 100% rename from modules/api/src/integration/metric/heapster/client.go rename to api/src/integration/metric/heapster/client.go diff --git a/modules/api/src/integration/metric/heapster/client_test.go b/api/src/integration/metric/heapster/client_test.go similarity index 100% rename from modules/api/src/integration/metric/heapster/client_test.go rename to api/src/integration/metric/heapster/client_test.go diff --git a/modules/api/src/integration/metric/heapster/common.go b/api/src/integration/metric/heapster/common.go similarity index 100% rename from modules/api/src/integration/metric/heapster/common.go rename to api/src/integration/metric/heapster/common.go diff --git a/modules/api/src/integration/metric/heapster/model.go b/api/src/integration/metric/heapster/model.go similarity index 100% rename from modules/api/src/integration/metric/heapster/model.go rename to api/src/integration/metric/heapster/model.go diff --git a/modules/api/src/integration/metric/heapster/restclient.go b/api/src/integration/metric/heapster/restclient.go similarity index 100% rename from modules/api/src/integration/metric/heapster/restclient.go rename to api/src/integration/metric/heapster/restclient.go diff --git a/modules/api/src/integration/metric/heapster/selector.go b/api/src/integration/metric/heapster/selector.go similarity index 100% rename from modules/api/src/integration/metric/heapster/selector.go rename to api/src/integration/metric/heapster/selector.go diff --git a/modules/api/src/integration/metric/heapster/selector_test.go b/api/src/integration/metric/heapster/selector_test.go similarity index 100% rename from modules/api/src/integration/metric/heapster/selector_test.go rename to api/src/integration/metric/heapster/selector_test.go diff --git a/modules/api/src/integration/metric/manager.go b/api/src/integration/metric/manager.go similarity index 100% rename from modules/api/src/integration/metric/manager.go rename to api/src/integration/metric/manager.go diff --git a/modules/api/src/integration/metric/manager_test.go b/api/src/integration/metric/manager_test.go similarity index 100% rename from modules/api/src/integration/metric/manager_test.go rename to api/src/integration/metric/manager_test.go diff --git a/modules/api/src/integration/metric/sidecar/client.go b/api/src/integration/metric/sidecar/client.go similarity index 100% rename from modules/api/src/integration/metric/sidecar/client.go rename to api/src/integration/metric/sidecar/client.go diff --git a/modules/api/src/integration/metric/sidecar/client_test.go b/api/src/integration/metric/sidecar/client_test.go similarity index 100% rename from modules/api/src/integration/metric/sidecar/client_test.go rename to api/src/integration/metric/sidecar/client_test.go diff --git a/modules/api/src/integration/metric/sidecar/common.go b/api/src/integration/metric/sidecar/common.go similarity index 100% rename from modules/api/src/integration/metric/sidecar/common.go rename to api/src/integration/metric/sidecar/common.go diff --git a/modules/api/src/integration/metric/sidecar/model.go b/api/src/integration/metric/sidecar/model.go similarity index 100% rename from modules/api/src/integration/metric/sidecar/model.go rename to api/src/integration/metric/sidecar/model.go diff --git a/modules/api/src/integration/metric/sidecar/restclient.go b/api/src/integration/metric/sidecar/restclient.go similarity index 100% rename from modules/api/src/integration/metric/sidecar/restclient.go rename to api/src/integration/metric/sidecar/restclient.go diff --git a/modules/api/src/integration/metric/sidecar/selector.go b/api/src/integration/metric/sidecar/selector.go similarity index 100% rename from modules/api/src/integration/metric/sidecar/selector.go rename to api/src/integration/metric/sidecar/selector.go diff --git a/modules/api/src/integration/metric/sidecar/selector_test.go b/api/src/integration/metric/sidecar/selector_test.go similarity index 100% rename from modules/api/src/integration/metric/sidecar/selector_test.go rename to api/src/integration/metric/sidecar/selector_test.go diff --git a/modules/api/src/plugin/apis/register.go b/api/src/plugin/apis/register.go similarity index 100% rename from modules/api/src/plugin/apis/register.go rename to api/src/plugin/apis/register.go diff --git a/modules/api/src/plugin/apis/v1alpha1/doc.go b/api/src/plugin/apis/v1alpha1/doc.go similarity index 100% rename from modules/api/src/plugin/apis/v1alpha1/doc.go rename to api/src/plugin/apis/v1alpha1/doc.go diff --git a/modules/api/src/plugin/apis/v1alpha1/register.go b/api/src/plugin/apis/v1alpha1/register.go similarity index 100% rename from modules/api/src/plugin/apis/v1alpha1/register.go rename to api/src/plugin/apis/v1alpha1/register.go diff --git a/modules/api/src/plugin/apis/v1alpha1/types.go b/api/src/plugin/apis/v1alpha1/types.go similarity index 100% rename from modules/api/src/plugin/apis/v1alpha1/types.go rename to api/src/plugin/apis/v1alpha1/types.go diff --git a/modules/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go b/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go similarity index 100% rename from modules/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go rename to api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go diff --git a/modules/api/src/plugin/client/clientset/versioned/clientset.go b/api/src/plugin/client/clientset/versioned/clientset.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/clientset.go rename to api/src/plugin/client/clientset/versioned/clientset.go diff --git a/modules/api/src/plugin/client/clientset/versioned/doc.go b/api/src/plugin/client/clientset/versioned/doc.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/doc.go rename to api/src/plugin/client/clientset/versioned/doc.go diff --git a/modules/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go b/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go rename to api/src/plugin/client/clientset/versioned/fake/clientset_generated.go diff --git a/modules/api/src/plugin/client/clientset/versioned/fake/doc.go b/api/src/plugin/client/clientset/versioned/fake/doc.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/fake/doc.go rename to api/src/plugin/client/clientset/versioned/fake/doc.go diff --git a/modules/api/src/plugin/client/clientset/versioned/fake/register.go b/api/src/plugin/client/clientset/versioned/fake/register.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/fake/register.go rename to api/src/plugin/client/clientset/versioned/fake/register.go diff --git a/modules/api/src/plugin/client/clientset/versioned/scheme/doc.go b/api/src/plugin/client/clientset/versioned/scheme/doc.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/scheme/doc.go rename to api/src/plugin/client/clientset/versioned/scheme/doc.go diff --git a/modules/api/src/plugin/client/clientset/versioned/scheme/register.go b/api/src/plugin/client/clientset/versioned/scheme/register.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/scheme/register.go rename to api/src/plugin/client/clientset/versioned/scheme/register.go diff --git a/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go rename to api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go diff --git a/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go rename to api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go diff --git a/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go rename to api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go diff --git a/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go rename to api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go diff --git a/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go rename to api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go diff --git a/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go rename to api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go diff --git a/modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go similarity index 100% rename from modules/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go rename to api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go diff --git a/modules/api/src/plugin/client/informers/externalversions/apis/interface.go b/api/src/plugin/client/informers/externalversions/apis/interface.go similarity index 100% rename from modules/api/src/plugin/client/informers/externalversions/apis/interface.go rename to api/src/plugin/client/informers/externalversions/apis/interface.go diff --git a/modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go b/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go similarity index 100% rename from modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go rename to api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go diff --git a/modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go b/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go similarity index 100% rename from modules/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go rename to api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go diff --git a/modules/api/src/plugin/client/informers/externalversions/factory.go b/api/src/plugin/client/informers/externalversions/factory.go similarity index 100% rename from modules/api/src/plugin/client/informers/externalversions/factory.go rename to api/src/plugin/client/informers/externalversions/factory.go diff --git a/modules/api/src/plugin/client/informers/externalversions/generic.go b/api/src/plugin/client/informers/externalversions/generic.go similarity index 100% rename from modules/api/src/plugin/client/informers/externalversions/generic.go rename to api/src/plugin/client/informers/externalversions/generic.go diff --git a/modules/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go similarity index 100% rename from modules/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go rename to api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go diff --git a/modules/api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go b/api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go similarity index 100% rename from modules/api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go rename to api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go diff --git a/modules/api/src/plugin/client/listers/apis/v1alpha1/plugin.go b/api/src/plugin/client/listers/apis/v1alpha1/plugin.go similarity index 100% rename from modules/api/src/plugin/client/listers/apis/v1alpha1/plugin.go rename to api/src/plugin/client/listers/apis/v1alpha1/plugin.go diff --git a/modules/api/src/plugin/config.go b/api/src/plugin/config.go similarity index 100% rename from modules/api/src/plugin/config.go rename to api/src/plugin/config.go diff --git a/modules/api/src/plugin/config_test.go b/api/src/plugin/config_test.go similarity index 100% rename from modules/api/src/plugin/config_test.go rename to api/src/plugin/config_test.go diff --git a/modules/api/src/plugin/detail.go b/api/src/plugin/detail.go similarity index 100% rename from modules/api/src/plugin/detail.go rename to api/src/plugin/detail.go diff --git a/modules/api/src/plugin/detail_test.go b/api/src/plugin/detail_test.go similarity index 100% rename from modules/api/src/plugin/detail_test.go rename to api/src/plugin/detail_test.go diff --git a/modules/api/src/plugin/handler.go b/api/src/plugin/handler.go similarity index 100% rename from modules/api/src/plugin/handler.go rename to api/src/plugin/handler.go diff --git a/modules/api/src/plugin/handler_test.go b/api/src/plugin/handler_test.go similarity index 100% rename from modules/api/src/plugin/handler_test.go rename to api/src/plugin/handler_test.go diff --git a/modules/api/src/plugin/list.go b/api/src/plugin/list.go similarity index 100% rename from modules/api/src/plugin/list.go rename to api/src/plugin/list.go diff --git a/modules/api/src/plugin/list_test.go b/api/src/plugin/list_test.go similarity index 100% rename from modules/api/src/plugin/list_test.go rename to api/src/plugin/list_test.go diff --git a/modules/api/src/resource/clusterrole/common.go b/api/src/resource/clusterrole/common.go similarity index 100% rename from modules/api/src/resource/clusterrole/common.go rename to api/src/resource/clusterrole/common.go diff --git a/modules/api/src/resource/clusterrole/detail.go b/api/src/resource/clusterrole/detail.go similarity index 100% rename from modules/api/src/resource/clusterrole/detail.go rename to api/src/resource/clusterrole/detail.go diff --git a/modules/api/src/resource/clusterrole/list.go b/api/src/resource/clusterrole/list.go similarity index 100% rename from modules/api/src/resource/clusterrole/list.go rename to api/src/resource/clusterrole/list.go diff --git a/modules/api/src/resource/clusterrole/list_test.go b/api/src/resource/clusterrole/list_test.go similarity index 100% rename from modules/api/src/resource/clusterrole/list_test.go rename to api/src/resource/clusterrole/list_test.go diff --git a/modules/api/src/resource/clusterrolebinding/common.go b/api/src/resource/clusterrolebinding/common.go similarity index 100% rename from modules/api/src/resource/clusterrolebinding/common.go rename to api/src/resource/clusterrolebinding/common.go diff --git a/modules/api/src/resource/clusterrolebinding/detail.go b/api/src/resource/clusterrolebinding/detail.go similarity index 100% rename from modules/api/src/resource/clusterrolebinding/detail.go rename to api/src/resource/clusterrolebinding/detail.go diff --git a/modules/api/src/resource/clusterrolebinding/list.go b/api/src/resource/clusterrolebinding/list.go similarity index 100% rename from modules/api/src/resource/clusterrolebinding/list.go rename to api/src/resource/clusterrolebinding/list.go diff --git a/modules/api/src/resource/clusterrolebinding/list_test.go b/api/src/resource/clusterrolebinding/list_test.go similarity index 100% rename from modules/api/src/resource/clusterrolebinding/list_test.go rename to api/src/resource/clusterrolebinding/list_test.go diff --git a/modules/api/src/resource/common/condition.go b/api/src/resource/common/condition.go similarity index 100% rename from modules/api/src/resource/common/condition.go rename to api/src/resource/common/condition.go diff --git a/modules/api/src/resource/common/endpoint.go b/api/src/resource/common/endpoint.go similarity index 100% rename from modules/api/src/resource/common/endpoint.go rename to api/src/resource/common/endpoint.go diff --git a/modules/api/src/resource/common/endpoint_test.go b/api/src/resource/common/endpoint_test.go similarity index 100% rename from modules/api/src/resource/common/endpoint_test.go rename to api/src/resource/common/endpoint_test.go diff --git a/modules/api/src/resource/common/event.go b/api/src/resource/common/event.go similarity index 100% rename from modules/api/src/resource/common/event.go rename to api/src/resource/common/event.go diff --git a/modules/api/src/resource/common/namespace.go b/api/src/resource/common/namespace.go similarity index 100% rename from modules/api/src/resource/common/namespace.go rename to api/src/resource/common/namespace.go diff --git a/modules/api/src/resource/common/namespace_test.go b/api/src/resource/common/namespace_test.go similarity index 100% rename from modules/api/src/resource/common/namespace_test.go rename to api/src/resource/common/namespace_test.go diff --git a/modules/api/src/resource/common/pod.go b/api/src/resource/common/pod.go similarity index 100% rename from modules/api/src/resource/common/pod.go rename to api/src/resource/common/pod.go diff --git a/modules/api/src/resource/common/pod_test.go b/api/src/resource/common/pod_test.go similarity index 100% rename from modules/api/src/resource/common/pod_test.go rename to api/src/resource/common/pod_test.go diff --git a/modules/api/src/resource/common/podinfo.go b/api/src/resource/common/podinfo.go similarity index 100% rename from modules/api/src/resource/common/podinfo.go rename to api/src/resource/common/podinfo.go diff --git a/modules/api/src/resource/common/podinfo_test.go b/api/src/resource/common/podinfo_test.go similarity index 100% rename from modules/api/src/resource/common/podinfo_test.go rename to api/src/resource/common/podinfo_test.go diff --git a/modules/api/src/resource/common/resourcechannels.go b/api/src/resource/common/resourcechannels.go similarity index 100% rename from modules/api/src/resource/common/resourcechannels.go rename to api/src/resource/common/resourcechannels.go diff --git a/modules/api/src/resource/common/resourcestatus.go b/api/src/resource/common/resourcestatus.go similarity index 100% rename from modules/api/src/resource/common/resourcestatus.go rename to api/src/resource/common/resourcestatus.go diff --git a/modules/api/src/resource/common/service.go b/api/src/resource/common/service.go similarity index 100% rename from modules/api/src/resource/common/service.go rename to api/src/resource/common/service.go diff --git a/modules/api/src/resource/common/service_test.go b/api/src/resource/common/service_test.go similarity index 100% rename from modules/api/src/resource/common/service_test.go rename to api/src/resource/common/service_test.go diff --git a/modules/api/src/resource/common/serviceport.go b/api/src/resource/common/serviceport.go similarity index 100% rename from modules/api/src/resource/common/serviceport.go rename to api/src/resource/common/serviceport.go diff --git a/modules/api/src/resource/common/serviceport_test.go b/api/src/resource/common/serviceport_test.go similarity index 100% rename from modules/api/src/resource/common/serviceport_test.go rename to api/src/resource/common/serviceport_test.go diff --git a/modules/api/src/resource/configmap/common.go b/api/src/resource/configmap/common.go similarity index 100% rename from modules/api/src/resource/configmap/common.go rename to api/src/resource/configmap/common.go diff --git a/modules/api/src/resource/configmap/detail.go b/api/src/resource/configmap/detail.go similarity index 100% rename from modules/api/src/resource/configmap/detail.go rename to api/src/resource/configmap/detail.go diff --git a/modules/api/src/resource/configmap/detail_test.go b/api/src/resource/configmap/detail_test.go similarity index 100% rename from modules/api/src/resource/configmap/detail_test.go rename to api/src/resource/configmap/detail_test.go diff --git a/modules/api/src/resource/configmap/list.go b/api/src/resource/configmap/list.go similarity index 100% rename from modules/api/src/resource/configmap/list.go rename to api/src/resource/configmap/list.go diff --git a/modules/api/src/resource/configmap/list_test.go b/api/src/resource/configmap/list_test.go similarity index 100% rename from modules/api/src/resource/configmap/list_test.go rename to api/src/resource/configmap/list_test.go diff --git a/modules/api/src/resource/container/logs.go b/api/src/resource/container/logs.go similarity index 100% rename from modules/api/src/resource/container/logs.go rename to api/src/resource/container/logs.go diff --git a/modules/api/src/resource/container/logs_test.go b/api/src/resource/container/logs_test.go similarity index 100% rename from modules/api/src/resource/container/logs_test.go rename to api/src/resource/container/logs_test.go diff --git a/modules/api/src/resource/controller/controller.go b/api/src/resource/controller/controller.go similarity index 100% rename from modules/api/src/resource/controller/controller.go rename to api/src/resource/controller/controller.go diff --git a/modules/api/src/resource/controller/controller_test.go b/api/src/resource/controller/controller_test.go similarity index 100% rename from modules/api/src/resource/controller/controller_test.go rename to api/src/resource/controller/controller_test.go diff --git a/modules/api/src/resource/cronjob/common.go b/api/src/resource/cronjob/common.go similarity index 100% rename from modules/api/src/resource/cronjob/common.go rename to api/src/resource/cronjob/common.go diff --git a/modules/api/src/resource/cronjob/common_test.go b/api/src/resource/cronjob/common_test.go similarity index 100% rename from modules/api/src/resource/cronjob/common_test.go rename to api/src/resource/cronjob/common_test.go diff --git a/modules/api/src/resource/cronjob/detail.go b/api/src/resource/cronjob/detail.go similarity index 100% rename from modules/api/src/resource/cronjob/detail.go rename to api/src/resource/cronjob/detail.go diff --git a/modules/api/src/resource/cronjob/detail_test.go b/api/src/resource/cronjob/detail_test.go similarity index 100% rename from modules/api/src/resource/cronjob/detail_test.go rename to api/src/resource/cronjob/detail_test.go diff --git a/modules/api/src/resource/cronjob/events.go b/api/src/resource/cronjob/events.go similarity index 100% rename from modules/api/src/resource/cronjob/events.go rename to api/src/resource/cronjob/events.go diff --git a/modules/api/src/resource/cronjob/events_test.go b/api/src/resource/cronjob/events_test.go similarity index 100% rename from modules/api/src/resource/cronjob/events_test.go rename to api/src/resource/cronjob/events_test.go diff --git a/modules/api/src/resource/cronjob/jobs.go b/api/src/resource/cronjob/jobs.go similarity index 100% rename from modules/api/src/resource/cronjob/jobs.go rename to api/src/resource/cronjob/jobs.go diff --git a/modules/api/src/resource/cronjob/jobs_test.go b/api/src/resource/cronjob/jobs_test.go similarity index 100% rename from modules/api/src/resource/cronjob/jobs_test.go rename to api/src/resource/cronjob/jobs_test.go diff --git a/modules/api/src/resource/cronjob/list.go b/api/src/resource/cronjob/list.go similarity index 100% rename from modules/api/src/resource/cronjob/list.go rename to api/src/resource/cronjob/list.go diff --git a/modules/api/src/resource/cronjob/list_test.go b/api/src/resource/cronjob/list_test.go similarity index 100% rename from modules/api/src/resource/cronjob/list_test.go rename to api/src/resource/cronjob/list_test.go diff --git a/modules/api/src/resource/customresourcedefinition/common.go b/api/src/resource/customresourcedefinition/common.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/common.go rename to api/src/resource/customresourcedefinition/common.go diff --git a/modules/api/src/resource/customresourcedefinition/events.go b/api/src/resource/customresourcedefinition/events.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/events.go rename to api/src/resource/customresourcedefinition/events.go diff --git a/modules/api/src/resource/customresourcedefinition/events_test.go b/api/src/resource/customresourcedefinition/events_test.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/events_test.go rename to api/src/resource/customresourcedefinition/events_test.go diff --git a/modules/api/src/resource/customresourcedefinition/types/types.go b/api/src/resource/customresourcedefinition/types/types.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/types/types.go rename to api/src/resource/customresourcedefinition/types/types.go diff --git a/modules/api/src/resource/customresourcedefinition/v1/client.go b/api/src/resource/customresourcedefinition/v1/client.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/v1/client.go rename to api/src/resource/customresourcedefinition/v1/client.go diff --git a/modules/api/src/resource/customresourcedefinition/v1/common.go b/api/src/resource/customresourcedefinition/v1/common.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/v1/common.go rename to api/src/resource/customresourcedefinition/v1/common.go diff --git a/modules/api/src/resource/customresourcedefinition/v1/detail.go b/api/src/resource/customresourcedefinition/v1/detail.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/v1/detail.go rename to api/src/resource/customresourcedefinition/v1/detail.go diff --git a/modules/api/src/resource/customresourcedefinition/v1/list.go b/api/src/resource/customresourcedefinition/v1/list.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/v1/list.go rename to api/src/resource/customresourcedefinition/v1/list.go diff --git a/modules/api/src/resource/customresourcedefinition/v1/list_test.go b/api/src/resource/customresourcedefinition/v1/list_test.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/v1/list_test.go rename to api/src/resource/customresourcedefinition/v1/list_test.go diff --git a/modules/api/src/resource/customresourcedefinition/v1/objects.go b/api/src/resource/customresourcedefinition/v1/objects.go similarity index 100% rename from modules/api/src/resource/customresourcedefinition/v1/objects.go rename to api/src/resource/customresourcedefinition/v1/objects.go diff --git a/modules/api/src/resource/daemonset/common.go b/api/src/resource/daemonset/common.go similarity index 100% rename from modules/api/src/resource/daemonset/common.go rename to api/src/resource/daemonset/common.go diff --git a/modules/api/src/resource/daemonset/common_test.go b/api/src/resource/daemonset/common_test.go similarity index 100% rename from modules/api/src/resource/daemonset/common_test.go rename to api/src/resource/daemonset/common_test.go diff --git a/modules/api/src/resource/daemonset/detail.go b/api/src/resource/daemonset/detail.go similarity index 100% rename from modules/api/src/resource/daemonset/detail.go rename to api/src/resource/daemonset/detail.go diff --git a/modules/api/src/resource/daemonset/list.go b/api/src/resource/daemonset/list.go similarity index 100% rename from modules/api/src/resource/daemonset/list.go rename to api/src/resource/daemonset/list.go diff --git a/modules/api/src/resource/daemonset/list_test.go b/api/src/resource/daemonset/list_test.go similarity index 100% rename from modules/api/src/resource/daemonset/list_test.go rename to api/src/resource/daemonset/list_test.go diff --git a/modules/api/src/resource/daemonset/pods.go b/api/src/resource/daemonset/pods.go similarity index 100% rename from modules/api/src/resource/daemonset/pods.go rename to api/src/resource/daemonset/pods.go diff --git a/modules/api/src/resource/daemonset/services.go b/api/src/resource/daemonset/services.go similarity index 100% rename from modules/api/src/resource/daemonset/services.go rename to api/src/resource/daemonset/services.go diff --git a/modules/api/src/resource/dataselect/dataselect.go b/api/src/resource/dataselect/dataselect.go similarity index 100% rename from modules/api/src/resource/dataselect/dataselect.go rename to api/src/resource/dataselect/dataselect.go diff --git a/modules/api/src/resource/dataselect/dataselect_test.go b/api/src/resource/dataselect/dataselect_test.go similarity index 100% rename from modules/api/src/resource/dataselect/dataselect_test.go rename to api/src/resource/dataselect/dataselect_test.go diff --git a/modules/api/src/resource/dataselect/dataselectquery.go b/api/src/resource/dataselect/dataselectquery.go similarity index 100% rename from modules/api/src/resource/dataselect/dataselectquery.go rename to api/src/resource/dataselect/dataselectquery.go diff --git a/modules/api/src/resource/dataselect/pagination.go b/api/src/resource/dataselect/pagination.go similarity index 100% rename from modules/api/src/resource/dataselect/pagination.go rename to api/src/resource/dataselect/pagination.go diff --git a/modules/api/src/resource/dataselect/pagination_test.go b/api/src/resource/dataselect/pagination_test.go similarity index 100% rename from modules/api/src/resource/dataselect/pagination_test.go rename to api/src/resource/dataselect/pagination_test.go diff --git a/modules/api/src/resource/dataselect/propertyname.go b/api/src/resource/dataselect/propertyname.go similarity index 100% rename from modules/api/src/resource/dataselect/propertyname.go rename to api/src/resource/dataselect/propertyname.go diff --git a/modules/api/src/resource/dataselect/stdcomparabletypes.go b/api/src/resource/dataselect/stdcomparabletypes.go similarity index 100% rename from modules/api/src/resource/dataselect/stdcomparabletypes.go rename to api/src/resource/dataselect/stdcomparabletypes.go diff --git a/modules/api/src/resource/dataselect/stdcomparabletypes_test.go b/api/src/resource/dataselect/stdcomparabletypes_test.go similarity index 100% rename from modules/api/src/resource/dataselect/stdcomparabletypes_test.go rename to api/src/resource/dataselect/stdcomparabletypes_test.go diff --git a/modules/api/src/resource/deployment/common.go b/api/src/resource/deployment/common.go similarity index 100% rename from modules/api/src/resource/deployment/common.go rename to api/src/resource/deployment/common.go diff --git a/modules/api/src/resource/deployment/deploy.go b/api/src/resource/deployment/deploy.go similarity index 100% rename from modules/api/src/resource/deployment/deploy.go rename to api/src/resource/deployment/deploy.go diff --git a/modules/api/src/resource/deployment/deploy_test.go b/api/src/resource/deployment/deploy_test.go similarity index 100% rename from modules/api/src/resource/deployment/deploy_test.go rename to api/src/resource/deployment/deploy_test.go diff --git a/modules/api/src/resource/deployment/detail.go b/api/src/resource/deployment/detail.go similarity index 100% rename from modules/api/src/resource/deployment/detail.go rename to api/src/resource/deployment/detail.go diff --git a/modules/api/src/resource/deployment/detail_test.go b/api/src/resource/deployment/detail_test.go similarity index 100% rename from modules/api/src/resource/deployment/detail_test.go rename to api/src/resource/deployment/detail_test.go diff --git a/modules/api/src/resource/deployment/list.go b/api/src/resource/deployment/list.go similarity index 100% rename from modules/api/src/resource/deployment/list.go rename to api/src/resource/deployment/list.go diff --git a/modules/api/src/resource/deployment/list_test.go b/api/src/resource/deployment/list_test.go similarity index 100% rename from modules/api/src/resource/deployment/list_test.go rename to api/src/resource/deployment/list_test.go diff --git a/modules/api/src/resource/deployment/newreplicasets.go b/api/src/resource/deployment/newreplicasets.go similarity index 100% rename from modules/api/src/resource/deployment/newreplicasets.go rename to api/src/resource/deployment/newreplicasets.go diff --git a/modules/api/src/resource/deployment/oldreplicasets.go b/api/src/resource/deployment/oldreplicasets.go similarity index 100% rename from modules/api/src/resource/deployment/oldreplicasets.go rename to api/src/resource/deployment/oldreplicasets.go diff --git a/modules/api/src/resource/deployment/pods.go b/api/src/resource/deployment/pods.go similarity index 100% rename from modules/api/src/resource/deployment/pods.go rename to api/src/resource/deployment/pods.go diff --git a/modules/api/src/resource/deployment/rollout.go b/api/src/resource/deployment/rollout.go similarity index 100% rename from modules/api/src/resource/deployment/rollout.go rename to api/src/resource/deployment/rollout.go diff --git a/modules/api/src/resource/deployment/util.go b/api/src/resource/deployment/util.go similarity index 100% rename from modules/api/src/resource/deployment/util.go rename to api/src/resource/deployment/util.go diff --git a/modules/api/src/resource/endpoint/endpoint.go b/api/src/resource/endpoint/endpoint.go similarity index 100% rename from modules/api/src/resource/endpoint/endpoint.go rename to api/src/resource/endpoint/endpoint.go diff --git a/modules/api/src/resource/endpoint/list.go b/api/src/resource/endpoint/list.go similarity index 100% rename from modules/api/src/resource/endpoint/list.go rename to api/src/resource/endpoint/list.go diff --git a/modules/api/src/resource/event/common.go b/api/src/resource/event/common.go similarity index 100% rename from modules/api/src/resource/event/common.go rename to api/src/resource/event/common.go diff --git a/modules/api/src/resource/event/common_test.go b/api/src/resource/event/common_test.go similarity index 100% rename from modules/api/src/resource/event/common_test.go rename to api/src/resource/event/common_test.go diff --git a/modules/api/src/resource/event/event.go b/api/src/resource/event/event.go similarity index 100% rename from modules/api/src/resource/event/event.go rename to api/src/resource/event/event.go diff --git a/modules/api/src/resource/event/event_test.go b/api/src/resource/event/event_test.go similarity index 100% rename from modules/api/src/resource/event/event_test.go rename to api/src/resource/event/event_test.go diff --git a/modules/api/src/resource/event/list.go b/api/src/resource/event/list.go similarity index 100% rename from modules/api/src/resource/event/list.go rename to api/src/resource/event/list.go diff --git a/modules/api/src/resource/horizontalpodautoscaler/common.go b/api/src/resource/horizontalpodautoscaler/common.go similarity index 100% rename from modules/api/src/resource/horizontalpodautoscaler/common.go rename to api/src/resource/horizontalpodautoscaler/common.go diff --git a/modules/api/src/resource/horizontalpodautoscaler/detail.go b/api/src/resource/horizontalpodautoscaler/detail.go similarity index 100% rename from modules/api/src/resource/horizontalpodautoscaler/detail.go rename to api/src/resource/horizontalpodautoscaler/detail.go diff --git a/modules/api/src/resource/horizontalpodautoscaler/detail_test.go b/api/src/resource/horizontalpodautoscaler/detail_test.go similarity index 100% rename from modules/api/src/resource/horizontalpodautoscaler/detail_test.go rename to api/src/resource/horizontalpodautoscaler/detail_test.go diff --git a/modules/api/src/resource/horizontalpodautoscaler/list.go b/api/src/resource/horizontalpodautoscaler/list.go similarity index 100% rename from modules/api/src/resource/horizontalpodautoscaler/list.go rename to api/src/resource/horizontalpodautoscaler/list.go diff --git a/modules/api/src/resource/horizontalpodautoscaler/list_test.go b/api/src/resource/horizontalpodautoscaler/list_test.go similarity index 100% rename from modules/api/src/resource/horizontalpodautoscaler/list_test.go rename to api/src/resource/horizontalpodautoscaler/list_test.go diff --git a/modules/api/src/resource/ingress/common.go b/api/src/resource/ingress/common.go similarity index 100% rename from modules/api/src/resource/ingress/common.go rename to api/src/resource/ingress/common.go diff --git a/modules/api/src/resource/ingress/detail.go b/api/src/resource/ingress/detail.go similarity index 100% rename from modules/api/src/resource/ingress/detail.go rename to api/src/resource/ingress/detail.go diff --git a/modules/api/src/resource/ingress/filter.go b/api/src/resource/ingress/filter.go similarity index 100% rename from modules/api/src/resource/ingress/filter.go rename to api/src/resource/ingress/filter.go diff --git a/modules/api/src/resource/ingress/list.go b/api/src/resource/ingress/list.go similarity index 100% rename from modules/api/src/resource/ingress/list.go rename to api/src/resource/ingress/list.go diff --git a/modules/api/src/resource/job/common.go b/api/src/resource/job/common.go similarity index 100% rename from modules/api/src/resource/job/common.go rename to api/src/resource/job/common.go diff --git a/modules/api/src/resource/job/detail.go b/api/src/resource/job/detail.go similarity index 100% rename from modules/api/src/resource/job/detail.go rename to api/src/resource/job/detail.go diff --git a/modules/api/src/resource/job/detail_test.go b/api/src/resource/job/detail_test.go similarity index 100% rename from modules/api/src/resource/job/detail_test.go rename to api/src/resource/job/detail_test.go diff --git a/modules/api/src/resource/job/events.go b/api/src/resource/job/events.go similarity index 100% rename from modules/api/src/resource/job/events.go rename to api/src/resource/job/events.go diff --git a/modules/api/src/resource/job/events_test.go b/api/src/resource/job/events_test.go similarity index 100% rename from modules/api/src/resource/job/events_test.go rename to api/src/resource/job/events_test.go diff --git a/modules/api/src/resource/job/list.go b/api/src/resource/job/list.go similarity index 100% rename from modules/api/src/resource/job/list.go rename to api/src/resource/job/list.go diff --git a/modules/api/src/resource/job/list_test.go b/api/src/resource/job/list_test.go similarity index 100% rename from modules/api/src/resource/job/list_test.go rename to api/src/resource/job/list_test.go diff --git a/modules/api/src/resource/job/pods.go b/api/src/resource/job/pods.go similarity index 100% rename from modules/api/src/resource/job/pods.go rename to api/src/resource/job/pods.go diff --git a/modules/api/src/resource/limitrange/detail.go b/api/src/resource/limitrange/detail.go similarity index 100% rename from modules/api/src/resource/limitrange/detail.go rename to api/src/resource/limitrange/detail.go diff --git a/modules/api/src/resource/limitrange/detail_test.go b/api/src/resource/limitrange/detail_test.go similarity index 100% rename from modules/api/src/resource/limitrange/detail_test.go rename to api/src/resource/limitrange/detail_test.go diff --git a/modules/api/src/resource/logs/logs.go b/api/src/resource/logs/logs.go similarity index 100% rename from modules/api/src/resource/logs/logs.go rename to api/src/resource/logs/logs.go diff --git a/modules/api/src/resource/logs/source.go b/api/src/resource/logs/source.go similarity index 100% rename from modules/api/src/resource/logs/source.go rename to api/src/resource/logs/source.go diff --git a/modules/api/src/resource/namespace/common.go b/api/src/resource/namespace/common.go similarity index 100% rename from modules/api/src/resource/namespace/common.go rename to api/src/resource/namespace/common.go diff --git a/modules/api/src/resource/namespace/detail.go b/api/src/resource/namespace/detail.go similarity index 100% rename from modules/api/src/resource/namespace/detail.go rename to api/src/resource/namespace/detail.go diff --git a/modules/api/src/resource/namespace/detail_test.go b/api/src/resource/namespace/detail_test.go similarity index 100% rename from modules/api/src/resource/namespace/detail_test.go rename to api/src/resource/namespace/detail_test.go diff --git a/modules/api/src/resource/namespace/list.go b/api/src/resource/namespace/list.go similarity index 100% rename from modules/api/src/resource/namespace/list.go rename to api/src/resource/namespace/list.go diff --git a/modules/api/src/resource/namespace/list_test.go b/api/src/resource/namespace/list_test.go similarity index 100% rename from modules/api/src/resource/namespace/list_test.go rename to api/src/resource/namespace/list_test.go diff --git a/modules/api/src/resource/networkpolicy/common.go b/api/src/resource/networkpolicy/common.go similarity index 100% rename from modules/api/src/resource/networkpolicy/common.go rename to api/src/resource/networkpolicy/common.go diff --git a/modules/api/src/resource/networkpolicy/detail.go b/api/src/resource/networkpolicy/detail.go similarity index 100% rename from modules/api/src/resource/networkpolicy/detail.go rename to api/src/resource/networkpolicy/detail.go diff --git a/modules/api/src/resource/networkpolicy/list.go b/api/src/resource/networkpolicy/list.go similarity index 100% rename from modules/api/src/resource/networkpolicy/list.go rename to api/src/resource/networkpolicy/list.go diff --git a/modules/api/src/resource/node/common.go b/api/src/resource/node/common.go similarity index 100% rename from modules/api/src/resource/node/common.go rename to api/src/resource/node/common.go diff --git a/modules/api/src/resource/node/detail.go b/api/src/resource/node/detail.go similarity index 100% rename from modules/api/src/resource/node/detail.go rename to api/src/resource/node/detail.go diff --git a/modules/api/src/resource/node/detail_test.go b/api/src/resource/node/detail_test.go similarity index 100% rename from modules/api/src/resource/node/detail_test.go rename to api/src/resource/node/detail_test.go diff --git a/modules/api/src/resource/node/list.go b/api/src/resource/node/list.go similarity index 100% rename from modules/api/src/resource/node/list.go rename to api/src/resource/node/list.go diff --git a/modules/api/src/resource/node/list_test.go b/api/src/resource/node/list_test.go similarity index 100% rename from modules/api/src/resource/node/list_test.go rename to api/src/resource/node/list_test.go diff --git a/modules/api/src/resource/persistentvolume/common.go b/api/src/resource/persistentvolume/common.go similarity index 100% rename from modules/api/src/resource/persistentvolume/common.go rename to api/src/resource/persistentvolume/common.go diff --git a/modules/api/src/resource/persistentvolume/common_test.go b/api/src/resource/persistentvolume/common_test.go similarity index 100% rename from modules/api/src/resource/persistentvolume/common_test.go rename to api/src/resource/persistentvolume/common_test.go diff --git a/modules/api/src/resource/persistentvolume/detail.go b/api/src/resource/persistentvolume/detail.go similarity index 100% rename from modules/api/src/resource/persistentvolume/detail.go rename to api/src/resource/persistentvolume/detail.go diff --git a/modules/api/src/resource/persistentvolume/detail_test.go b/api/src/resource/persistentvolume/detail_test.go similarity index 100% rename from modules/api/src/resource/persistentvolume/detail_test.go rename to api/src/resource/persistentvolume/detail_test.go diff --git a/modules/api/src/resource/persistentvolume/list.go b/api/src/resource/persistentvolume/list.go similarity index 100% rename from modules/api/src/resource/persistentvolume/list.go rename to api/src/resource/persistentvolume/list.go diff --git a/modules/api/src/resource/persistentvolume/list_test.go b/api/src/resource/persistentvolume/list_test.go similarity index 100% rename from modules/api/src/resource/persistentvolume/list_test.go rename to api/src/resource/persistentvolume/list_test.go diff --git a/modules/api/src/resource/persistentvolumeclaim/common.go b/api/src/resource/persistentvolumeclaim/common.go similarity index 100% rename from modules/api/src/resource/persistentvolumeclaim/common.go rename to api/src/resource/persistentvolumeclaim/common.go diff --git a/modules/api/src/resource/persistentvolumeclaim/common_test.go b/api/src/resource/persistentvolumeclaim/common_test.go similarity index 100% rename from modules/api/src/resource/persistentvolumeclaim/common_test.go rename to api/src/resource/persistentvolumeclaim/common_test.go diff --git a/modules/api/src/resource/persistentvolumeclaim/detail.go b/api/src/resource/persistentvolumeclaim/detail.go similarity index 100% rename from modules/api/src/resource/persistentvolumeclaim/detail.go rename to api/src/resource/persistentvolumeclaim/detail.go diff --git a/modules/api/src/resource/persistentvolumeclaim/detail_test.go b/api/src/resource/persistentvolumeclaim/detail_test.go similarity index 100% rename from modules/api/src/resource/persistentvolumeclaim/detail_test.go rename to api/src/resource/persistentvolumeclaim/detail_test.go diff --git a/modules/api/src/resource/persistentvolumeclaim/list.go b/api/src/resource/persistentvolumeclaim/list.go similarity index 100% rename from modules/api/src/resource/persistentvolumeclaim/list.go rename to api/src/resource/persistentvolumeclaim/list.go diff --git a/modules/api/src/resource/persistentvolumeclaim/list_test.go b/api/src/resource/persistentvolumeclaim/list_test.go similarity index 100% rename from modules/api/src/resource/persistentvolumeclaim/list_test.go rename to api/src/resource/persistentvolumeclaim/list_test.go diff --git a/modules/api/src/resource/pod/common.go b/api/src/resource/pod/common.go similarity index 100% rename from modules/api/src/resource/pod/common.go rename to api/src/resource/pod/common.go diff --git a/modules/api/src/resource/pod/common_test.go b/api/src/resource/pod/common_test.go similarity index 100% rename from modules/api/src/resource/pod/common_test.go rename to api/src/resource/pod/common_test.go diff --git a/modules/api/src/resource/pod/detail.go b/api/src/resource/pod/detail.go similarity index 100% rename from modules/api/src/resource/pod/detail.go rename to api/src/resource/pod/detail.go diff --git a/modules/api/src/resource/pod/detail_test.go b/api/src/resource/pod/detail_test.go similarity index 100% rename from modules/api/src/resource/pod/detail_test.go rename to api/src/resource/pod/detail_test.go diff --git a/modules/api/src/resource/pod/events.go b/api/src/resource/pod/events.go similarity index 100% rename from modules/api/src/resource/pod/events.go rename to api/src/resource/pod/events.go diff --git a/modules/api/src/resource/pod/events_test.go b/api/src/resource/pod/events_test.go similarity index 100% rename from modules/api/src/resource/pod/events_test.go rename to api/src/resource/pod/events_test.go diff --git a/modules/api/src/resource/pod/fieldpath.go b/api/src/resource/pod/fieldpath.go similarity index 100% rename from modules/api/src/resource/pod/fieldpath.go rename to api/src/resource/pod/fieldpath.go diff --git a/modules/api/src/resource/pod/fieldpath_test.go b/api/src/resource/pod/fieldpath_test.go similarity index 100% rename from modules/api/src/resource/pod/fieldpath_test.go rename to api/src/resource/pod/fieldpath_test.go diff --git a/modules/api/src/resource/pod/list.go b/api/src/resource/pod/list.go similarity index 100% rename from modules/api/src/resource/pod/list.go rename to api/src/resource/pod/list.go diff --git a/modules/api/src/resource/pod/list_test.go b/api/src/resource/pod/list_test.go similarity index 100% rename from modules/api/src/resource/pod/list_test.go rename to api/src/resource/pod/list_test.go diff --git a/modules/api/src/resource/pod/metrics.go b/api/src/resource/pod/metrics.go similarity index 100% rename from modules/api/src/resource/pod/metrics.go rename to api/src/resource/pod/metrics.go diff --git a/modules/api/src/resource/replicaset/common.go b/api/src/resource/replicaset/common.go similarity index 100% rename from modules/api/src/resource/replicaset/common.go rename to api/src/resource/replicaset/common.go diff --git a/modules/api/src/resource/replicaset/common_test.go b/api/src/resource/replicaset/common_test.go similarity index 100% rename from modules/api/src/resource/replicaset/common_test.go rename to api/src/resource/replicaset/common_test.go diff --git a/modules/api/src/resource/replicaset/detail.go b/api/src/resource/replicaset/detail.go similarity index 100% rename from modules/api/src/resource/replicaset/detail.go rename to api/src/resource/replicaset/detail.go diff --git a/modules/api/src/resource/replicaset/detail_test.go b/api/src/resource/replicaset/detail_test.go similarity index 100% rename from modules/api/src/resource/replicaset/detail_test.go rename to api/src/resource/replicaset/detail_test.go diff --git a/modules/api/src/resource/replicaset/list.go b/api/src/resource/replicaset/list.go similarity index 100% rename from modules/api/src/resource/replicaset/list.go rename to api/src/resource/replicaset/list.go diff --git a/modules/api/src/resource/replicaset/list_test.go b/api/src/resource/replicaset/list_test.go similarity index 100% rename from modules/api/src/resource/replicaset/list_test.go rename to api/src/resource/replicaset/list_test.go diff --git a/modules/api/src/resource/replicaset/pods.go b/api/src/resource/replicaset/pods.go similarity index 100% rename from modules/api/src/resource/replicaset/pods.go rename to api/src/resource/replicaset/pods.go diff --git a/modules/api/src/resource/replicaset/services.go b/api/src/resource/replicaset/services.go similarity index 100% rename from modules/api/src/resource/replicaset/services.go rename to api/src/resource/replicaset/services.go diff --git a/modules/api/src/resource/replicationcontroller/common.go b/api/src/resource/replicationcontroller/common.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/common.go rename to api/src/resource/replicationcontroller/common.go diff --git a/modules/api/src/resource/replicationcontroller/common_test.go b/api/src/resource/replicationcontroller/common_test.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/common_test.go rename to api/src/resource/replicationcontroller/common_test.go diff --git a/modules/api/src/resource/replicationcontroller/detail.go b/api/src/resource/replicationcontroller/detail.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/detail.go rename to api/src/resource/replicationcontroller/detail.go diff --git a/modules/api/src/resource/replicationcontroller/detail_test.go b/api/src/resource/replicationcontroller/detail_test.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/detail_test.go rename to api/src/resource/replicationcontroller/detail_test.go diff --git a/modules/api/src/resource/replicationcontroller/list.go b/api/src/resource/replicationcontroller/list.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/list.go rename to api/src/resource/replicationcontroller/list.go diff --git a/modules/api/src/resource/replicationcontroller/list_test.go b/api/src/resource/replicationcontroller/list_test.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/list_test.go rename to api/src/resource/replicationcontroller/list_test.go diff --git a/modules/api/src/resource/replicationcontroller/pods.go b/api/src/resource/replicationcontroller/pods.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/pods.go rename to api/src/resource/replicationcontroller/pods.go diff --git a/modules/api/src/resource/replicationcontroller/services.go b/api/src/resource/replicationcontroller/services.go similarity index 100% rename from modules/api/src/resource/replicationcontroller/services.go rename to api/src/resource/replicationcontroller/services.go diff --git a/modules/api/src/resource/resourcequota/detail.go b/api/src/resource/resourcequota/detail.go similarity index 100% rename from modules/api/src/resource/resourcequota/detail.go rename to api/src/resource/resourcequota/detail.go diff --git a/modules/api/src/resource/resourcequota/detail_test.go b/api/src/resource/resourcequota/detail_test.go similarity index 100% rename from modules/api/src/resource/resourcequota/detail_test.go rename to api/src/resource/resourcequota/detail_test.go diff --git a/modules/api/src/resource/role/common.go b/api/src/resource/role/common.go similarity index 100% rename from modules/api/src/resource/role/common.go rename to api/src/resource/role/common.go diff --git a/modules/api/src/resource/role/detail.go b/api/src/resource/role/detail.go similarity index 100% rename from modules/api/src/resource/role/detail.go rename to api/src/resource/role/detail.go diff --git a/modules/api/src/resource/role/list.go b/api/src/resource/role/list.go similarity index 100% rename from modules/api/src/resource/role/list.go rename to api/src/resource/role/list.go diff --git a/modules/api/src/resource/role/list_test.go b/api/src/resource/role/list_test.go similarity index 100% rename from modules/api/src/resource/role/list_test.go rename to api/src/resource/role/list_test.go diff --git a/modules/api/src/resource/rolebinding/common.go b/api/src/resource/rolebinding/common.go similarity index 100% rename from modules/api/src/resource/rolebinding/common.go rename to api/src/resource/rolebinding/common.go diff --git a/modules/api/src/resource/rolebinding/detail.go b/api/src/resource/rolebinding/detail.go similarity index 100% rename from modules/api/src/resource/rolebinding/detail.go rename to api/src/resource/rolebinding/detail.go diff --git a/modules/api/src/resource/rolebinding/list.go b/api/src/resource/rolebinding/list.go similarity index 100% rename from modules/api/src/resource/rolebinding/list.go rename to api/src/resource/rolebinding/list.go diff --git a/modules/api/src/resource/rolebinding/list_test.go b/api/src/resource/rolebinding/list_test.go similarity index 100% rename from modules/api/src/resource/rolebinding/list_test.go rename to api/src/resource/rolebinding/list_test.go diff --git a/modules/api/src/resource/secret/common.go b/api/src/resource/secret/common.go similarity index 100% rename from modules/api/src/resource/secret/common.go rename to api/src/resource/secret/common.go diff --git a/modules/api/src/resource/secret/detail.go b/api/src/resource/secret/detail.go similarity index 100% rename from modules/api/src/resource/secret/detail.go rename to api/src/resource/secret/detail.go diff --git a/modules/api/src/resource/secret/detail_test.go b/api/src/resource/secret/detail_test.go similarity index 100% rename from modules/api/src/resource/secret/detail_test.go rename to api/src/resource/secret/detail_test.go diff --git a/modules/api/src/resource/secret/list.go b/api/src/resource/secret/list.go similarity index 100% rename from modules/api/src/resource/secret/list.go rename to api/src/resource/secret/list.go diff --git a/modules/api/src/resource/secret/list_test.go b/api/src/resource/secret/list_test.go similarity index 100% rename from modules/api/src/resource/secret/list_test.go rename to api/src/resource/secret/list_test.go diff --git a/modules/api/src/resource/service/common.go b/api/src/resource/service/common.go similarity index 100% rename from modules/api/src/resource/service/common.go rename to api/src/resource/service/common.go diff --git a/modules/api/src/resource/service/detail.go b/api/src/resource/service/detail.go similarity index 100% rename from modules/api/src/resource/service/detail.go rename to api/src/resource/service/detail.go diff --git a/modules/api/src/resource/service/detail_test.go b/api/src/resource/service/detail_test.go similarity index 100% rename from modules/api/src/resource/service/detail_test.go rename to api/src/resource/service/detail_test.go diff --git a/modules/api/src/resource/service/events.go b/api/src/resource/service/events.go similarity index 100% rename from modules/api/src/resource/service/events.go rename to api/src/resource/service/events.go diff --git a/modules/api/src/resource/service/events_test.go b/api/src/resource/service/events_test.go similarity index 100% rename from modules/api/src/resource/service/events_test.go rename to api/src/resource/service/events_test.go diff --git a/modules/api/src/resource/service/ingress.go b/api/src/resource/service/ingress.go similarity index 100% rename from modules/api/src/resource/service/ingress.go rename to api/src/resource/service/ingress.go diff --git a/modules/api/src/resource/service/list.go b/api/src/resource/service/list.go similarity index 100% rename from modules/api/src/resource/service/list.go rename to api/src/resource/service/list.go diff --git a/modules/api/src/resource/service/list_test.go b/api/src/resource/service/list_test.go similarity index 100% rename from modules/api/src/resource/service/list_test.go rename to api/src/resource/service/list_test.go diff --git a/modules/api/src/resource/service/pods.go b/api/src/resource/service/pods.go similarity index 100% rename from modules/api/src/resource/service/pods.go rename to api/src/resource/service/pods.go diff --git a/modules/api/src/resource/service/pods_test.go b/api/src/resource/service/pods_test.go similarity index 100% rename from modules/api/src/resource/service/pods_test.go rename to api/src/resource/service/pods_test.go diff --git a/modules/api/src/resource/serviceaccount/common.go b/api/src/resource/serviceaccount/common.go similarity index 100% rename from modules/api/src/resource/serviceaccount/common.go rename to api/src/resource/serviceaccount/common.go diff --git a/modules/api/src/resource/serviceaccount/detail.go b/api/src/resource/serviceaccount/detail.go similarity index 100% rename from modules/api/src/resource/serviceaccount/detail.go rename to api/src/resource/serviceaccount/detail.go diff --git a/modules/api/src/resource/serviceaccount/list.go b/api/src/resource/serviceaccount/list.go similarity index 100% rename from modules/api/src/resource/serviceaccount/list.go rename to api/src/resource/serviceaccount/list.go diff --git a/modules/api/src/resource/serviceaccount/secrets.go b/api/src/resource/serviceaccount/secrets.go similarity index 100% rename from modules/api/src/resource/serviceaccount/secrets.go rename to api/src/resource/serviceaccount/secrets.go diff --git a/modules/api/src/resource/statefulset/common.go b/api/src/resource/statefulset/common.go similarity index 100% rename from modules/api/src/resource/statefulset/common.go rename to api/src/resource/statefulset/common.go diff --git a/modules/api/src/resource/statefulset/detail.go b/api/src/resource/statefulset/detail.go similarity index 100% rename from modules/api/src/resource/statefulset/detail.go rename to api/src/resource/statefulset/detail.go diff --git a/modules/api/src/resource/statefulset/list.go b/api/src/resource/statefulset/list.go similarity index 100% rename from modules/api/src/resource/statefulset/list.go rename to api/src/resource/statefulset/list.go diff --git a/modules/api/src/resource/statefulset/list_test.go b/api/src/resource/statefulset/list_test.go similarity index 100% rename from modules/api/src/resource/statefulset/list_test.go rename to api/src/resource/statefulset/list_test.go diff --git a/modules/api/src/resource/statefulset/pods.go b/api/src/resource/statefulset/pods.go similarity index 100% rename from modules/api/src/resource/statefulset/pods.go rename to api/src/resource/statefulset/pods.go diff --git a/modules/api/src/resource/storageclass/common.go b/api/src/resource/storageclass/common.go similarity index 100% rename from modules/api/src/resource/storageclass/common.go rename to api/src/resource/storageclass/common.go diff --git a/modules/api/src/resource/storageclass/detail.go b/api/src/resource/storageclass/detail.go similarity index 100% rename from modules/api/src/resource/storageclass/detail.go rename to api/src/resource/storageclass/detail.go diff --git a/modules/api/src/resource/storageclass/detail_test.go b/api/src/resource/storageclass/detail_test.go similarity index 100% rename from modules/api/src/resource/storageclass/detail_test.go rename to api/src/resource/storageclass/detail_test.go diff --git a/modules/api/src/resource/storageclass/list.go b/api/src/resource/storageclass/list.go similarity index 100% rename from modules/api/src/resource/storageclass/list.go rename to api/src/resource/storageclass/list.go diff --git a/modules/api/src/resource/storageclass/list_test.go b/api/src/resource/storageclass/list_test.go similarity index 100% rename from modules/api/src/resource/storageclass/list_test.go rename to api/src/resource/storageclass/list_test.go diff --git a/modules/api/src/scaling/scale.go b/api/src/scaling/scale.go similarity index 100% rename from modules/api/src/scaling/scale.go rename to api/src/scaling/scale.go diff --git a/modules/api/src/settings/api/types.go b/api/src/settings/api/types.go similarity index 100% rename from modules/api/src/settings/api/types.go rename to api/src/settings/api/types.go diff --git a/modules/api/src/settings/handler.go b/api/src/settings/handler.go similarity index 100% rename from modules/api/src/settings/handler.go rename to api/src/settings/handler.go diff --git a/modules/api/src/settings/handler_test.go b/api/src/settings/handler_test.go similarity index 100% rename from modules/api/src/settings/handler_test.go rename to api/src/settings/handler_test.go diff --git a/modules/api/src/settings/manager.go b/api/src/settings/manager.go similarity index 100% rename from modules/api/src/settings/manager.go rename to api/src/settings/manager.go diff --git a/modules/api/src/settings/manager_test.go b/api/src/settings/manager_test.go similarity index 100% rename from modules/api/src/settings/manager_test.go rename to api/src/settings/manager_test.go diff --git a/modules/api/src/sync/api/types.go b/api/src/sync/api/types.go similarity index 100% rename from modules/api/src/sync/api/types.go rename to api/src/sync/api/types.go diff --git a/modules/api/src/sync/manager.go b/api/src/sync/manager.go similarity index 100% rename from modules/api/src/sync/manager.go rename to api/src/sync/manager.go diff --git a/modules/api/src/sync/manager_test.go b/api/src/sync/manager_test.go similarity index 100% rename from modules/api/src/sync/manager_test.go rename to api/src/sync/manager_test.go diff --git a/modules/api/src/sync/overwatch.go b/api/src/sync/overwatch.go similarity index 100% rename from modules/api/src/sync/overwatch.go rename to api/src/sync/overwatch.go diff --git a/modules/api/src/sync/poll/secret.go b/api/src/sync/poll/secret.go similarity index 100% rename from modules/api/src/sync/poll/secret.go rename to api/src/sync/poll/secret.go diff --git a/modules/api/src/sync/poll/secret_test.go b/api/src/sync/poll/secret_test.go similarity index 100% rename from modules/api/src/sync/poll/secret_test.go rename to api/src/sync/poll/secret_test.go diff --git a/modules/api/src/sync/poll/watcher.go b/api/src/sync/poll/watcher.go similarity index 100% rename from modules/api/src/sync/poll/watcher.go rename to api/src/sync/poll/watcher.go diff --git a/modules/api/src/sync/poll/watcher_test.go b/api/src/sync/poll/watcher_test.go similarity index 100% rename from modules/api/src/sync/poll/watcher_test.go rename to api/src/sync/poll/watcher_test.go diff --git a/modules/api/src/sync/secret.go b/api/src/sync/secret.go similarity index 100% rename from modules/api/src/sync/secret.go rename to api/src/sync/secret.go diff --git a/modules/api/src/sync/secret_test.go b/api/src/sync/secret_test.go similarity index 100% rename from modules/api/src/sync/secret_test.go rename to api/src/sync/secret_test.go diff --git a/modules/api/src/systembanner/api/types.go b/api/src/systembanner/api/types.go similarity index 100% rename from modules/api/src/systembanner/api/types.go rename to api/src/systembanner/api/types.go diff --git a/modules/api/src/systembanner/handler.go b/api/src/systembanner/handler.go similarity index 100% rename from modules/api/src/systembanner/handler.go rename to api/src/systembanner/handler.go diff --git a/modules/api/src/systembanner/manager.go b/api/src/systembanner/manager.go similarity index 100% rename from modules/api/src/systembanner/manager.go rename to api/src/systembanner/manager.go diff --git a/modules/api/src/validation/validateappname.go b/api/src/validation/validateappname.go similarity index 100% rename from modules/api/src/validation/validateappname.go rename to api/src/validation/validateappname.go diff --git a/modules/api/src/validation/validateappname_test.go b/api/src/validation/validateappname_test.go similarity index 100% rename from modules/api/src/validation/validateappname_test.go rename to api/src/validation/validateappname_test.go diff --git a/modules/api/src/validation/validateimagereference.go b/api/src/validation/validateimagereference.go similarity index 100% rename from modules/api/src/validation/validateimagereference.go rename to api/src/validation/validateimagereference.go diff --git a/modules/api/src/validation/validateimagereference_test.go b/api/src/validation/validateimagereference_test.go similarity index 100% rename from modules/api/src/validation/validateimagereference_test.go rename to api/src/validation/validateimagereference_test.go diff --git a/modules/api/src/validation/validateloginstatus.go b/api/src/validation/validateloginstatus.go similarity index 100% rename from modules/api/src/validation/validateloginstatus.go rename to api/src/validation/validateloginstatus.go diff --git a/modules/api/src/validation/validateloginstatus_test.go b/api/src/validation/validateloginstatus_test.go similarity index 100% rename from modules/api/src/validation/validateloginstatus_test.go rename to api/src/validation/validateloginstatus_test.go diff --git a/modules/api/src/validation/validateprotocol.go b/api/src/validation/validateprotocol.go similarity index 100% rename from modules/api/src/validation/validateprotocol.go rename to api/src/validation/validateprotocol.go diff --git a/modules/api/src/validation/validateprotocol_test.go b/api/src/validation/validateprotocol_test.go similarity index 100% rename from modules/api/src/validation/validateprotocol_test.go rename to api/src/validation/validateprotocol_test.go diff --git a/modules/api/src/validation/validaterbacstatus.go b/api/src/validation/validaterbacstatus.go similarity index 100% rename from modules/api/src/validation/validaterbacstatus.go rename to api/src/validation/validaterbacstatus.go diff --git a/modules/api/src/validation/validaterbacstatus_test.go b/api/src/validation/validaterbacstatus_test.go similarity index 100% rename from modules/api/src/validation/validaterbacstatus_test.go rename to api/src/validation/validaterbacstatus_test.go diff --git a/modules/web/.babelrc b/web/.babelrc similarity index 100% rename from modules/web/.babelrc rename to web/.babelrc diff --git a/modules/web/.browserslistrc b/web/.browserslistrc similarity index 100% rename from modules/web/.browserslistrc rename to web/.browserslistrc diff --git a/modules/web/.eslintignore b/web/.eslintignore similarity index 100% rename from modules/web/.eslintignore rename to web/.eslintignore diff --git a/modules/web/.eslintrc.yaml b/web/.eslintrc.yaml similarity index 100% rename from modules/web/.eslintrc.yaml rename to web/.eslintrc.yaml diff --git a/modules/web/.gitignore b/web/.gitignore similarity index 100% rename from modules/web/.gitignore rename to web/.gitignore diff --git a/modules/web/.jsbeautifyrc b/web/.jsbeautifyrc similarity index 100% rename from modules/web/.jsbeautifyrc rename to web/.jsbeautifyrc diff --git a/modules/web/.npmrc b/web/.npmrc similarity index 100% rename from modules/web/.npmrc rename to web/.npmrc diff --git a/modules/web/.prettierrc.cjs b/web/.prettierrc.cjs similarity index 100% rename from modules/web/.prettierrc.cjs rename to web/.prettierrc.cjs diff --git a/modules/web/.stylelintrc.yaml b/web/.stylelintrc.yaml similarity index 100% rename from modules/web/.stylelintrc.yaml rename to web/.stylelintrc.yaml diff --git a/modules/web/angular.json b/web/angular.json similarity index 100% rename from modules/web/angular.json rename to web/angular.json diff --git a/modules/web/cypress.json b/web/cypress.json similarity index 100% rename from modules/web/cypress.json rename to web/cypress.json diff --git a/modules/web/cypress/fixtures/crd.yaml b/web/cypress/fixtures/crd.yaml similarity index 100% rename from modules/web/cypress/fixtures/crd.yaml rename to web/cypress/fixtures/crd.yaml diff --git a/modules/web/cypress/fixtures/example-foo.yaml b/web/cypress/fixtures/example-foo.yaml similarity index 100% rename from modules/web/cypress/fixtures/example-foo.yaml rename to web/cypress/fixtures/example-foo.yaml diff --git a/modules/web/cypress/integration/specs/nav.spec.ts b/web/cypress/integration/specs/nav.spec.ts similarity index 100% rename from modules/web/cypress/integration/specs/nav.spec.ts rename to web/cypress/integration/specs/nav.spec.ts diff --git a/modules/web/cypress/integration/specs/userpanel.spec.ts b/web/cypress/integration/specs/userpanel.spec.ts similarity index 100% rename from modules/web/cypress/integration/specs/userpanel.spec.ts rename to web/cypress/integration/specs/userpanel.spec.ts diff --git a/modules/web/cypress/pages/abstractPage.ts b/web/cypress/pages/abstractPage.ts similarity index 100% rename from modules/web/cypress/pages/abstractPage.ts rename to web/cypress/pages/abstractPage.ts diff --git a/modules/web/cypress/pages/navbarPage.ts b/web/cypress/pages/navbarPage.ts similarity index 100% rename from modules/web/cypress/pages/navbarPage.ts rename to web/cypress/pages/navbarPage.ts diff --git a/modules/web/cypress/pages/userpanelPage.ts b/web/cypress/pages/userpanelPage.ts similarity index 100% rename from modules/web/cypress/pages/userpanelPage.ts rename to web/cypress/pages/userpanelPage.ts diff --git a/modules/web/cypress/plugins/cy-ts-preprocessor.ts b/web/cypress/plugins/cy-ts-preprocessor.ts similarity index 100% rename from modules/web/cypress/plugins/cy-ts-preprocessor.ts rename to web/cypress/plugins/cy-ts-preprocessor.ts diff --git a/modules/web/cypress/plugins/index.ts b/web/cypress/plugins/index.ts similarity index 100% rename from modules/web/cypress/plugins/index.ts rename to web/cypress/plugins/index.ts diff --git a/modules/web/cypress/support/index.ts b/web/cypress/support/index.ts similarity index 100% rename from modules/web/cypress/support/index.ts rename to web/cypress/support/index.ts diff --git a/modules/web/i18n/de/OWNERS b/web/i18n/de/OWNERS similarity index 100% rename from modules/web/i18n/de/OWNERS rename to web/i18n/de/OWNERS diff --git a/modules/web/i18n/de/messages.de.xlf b/web/i18n/de/messages.de.xlf similarity index 100% rename from modules/web/i18n/de/messages.de.xlf rename to web/i18n/de/messages.de.xlf diff --git a/modules/web/i18n/es/OWNERS b/web/i18n/es/OWNERS similarity index 100% rename from modules/web/i18n/es/OWNERS rename to web/i18n/es/OWNERS diff --git a/modules/web/i18n/es/messages.es.xlf b/web/i18n/es/messages.es.xlf similarity index 100% rename from modules/web/i18n/es/messages.es.xlf rename to web/i18n/es/messages.es.xlf diff --git a/modules/web/i18n/fr/OWNERS b/web/i18n/fr/OWNERS similarity index 100% rename from modules/web/i18n/fr/OWNERS rename to web/i18n/fr/OWNERS diff --git a/modules/web/i18n/fr/messages.fr.xlf b/web/i18n/fr/messages.fr.xlf similarity index 100% rename from modules/web/i18n/fr/messages.fr.xlf rename to web/i18n/fr/messages.fr.xlf diff --git a/modules/web/i18n/ja/OWNERS b/web/i18n/ja/OWNERS similarity index 100% rename from modules/web/i18n/ja/OWNERS rename to web/i18n/ja/OWNERS diff --git a/modules/web/i18n/ja/README.md b/web/i18n/ja/README.md similarity index 100% rename from modules/web/i18n/ja/README.md rename to web/i18n/ja/README.md diff --git a/modules/web/i18n/ja/messages.ja.xlf b/web/i18n/ja/messages.ja.xlf similarity index 100% rename from modules/web/i18n/ja/messages.ja.xlf rename to web/i18n/ja/messages.ja.xlf diff --git a/modules/web/i18n/ko/OWNERS b/web/i18n/ko/OWNERS similarity index 100% rename from modules/web/i18n/ko/OWNERS rename to web/i18n/ko/OWNERS diff --git a/modules/web/i18n/ko/messages.ko.xlf b/web/i18n/ko/messages.ko.xlf similarity index 100% rename from modules/web/i18n/ko/messages.ko.xlf rename to web/i18n/ko/messages.ko.xlf diff --git a/modules/web/i18n/locale_conf.json b/web/i18n/locale_conf.json similarity index 100% rename from modules/web/i18n/locale_conf.json rename to web/i18n/locale_conf.json diff --git a/modules/web/i18n/messages.xlf b/web/i18n/messages.xlf similarity index 100% rename from modules/web/i18n/messages.xlf rename to web/i18n/messages.xlf diff --git a/modules/web/i18n/zh-Hans/OWNERS b/web/i18n/zh-Hans/OWNERS similarity index 100% rename from modules/web/i18n/zh-Hans/OWNERS rename to web/i18n/zh-Hans/OWNERS diff --git a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf b/web/i18n/zh-Hans/messages.zh-Hans.xlf similarity index 100% rename from modules/web/i18n/zh-Hans/messages.zh-Hans.xlf rename to web/i18n/zh-Hans/messages.zh-Hans.xlf diff --git a/modules/web/i18n/zh-Hant-HK/OWNERS b/web/i18n/zh-Hant-HK/OWNERS similarity index 100% rename from modules/web/i18n/zh-Hant-HK/OWNERS rename to web/i18n/zh-Hant-HK/OWNERS diff --git a/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf b/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf similarity index 100% rename from modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf rename to web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf diff --git a/modules/web/i18n/zh-Hant/OWNERS b/web/i18n/zh-Hant/OWNERS similarity index 100% rename from modules/web/i18n/zh-Hant/OWNERS rename to web/i18n/zh-Hant/OWNERS diff --git a/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf b/web/i18n/zh-Hant/messages.zh-Hant.xlf similarity index 100% rename from modules/web/i18n/zh-Hant/messages.zh-Hant.xlf rename to web/i18n/zh-Hant/messages.zh-Hant.xlf diff --git a/modules/web/jest.config.js b/web/jest.config.js similarity index 100% rename from modules/web/jest.config.js rename to web/jest.config.js diff --git a/modules/web/package-lock.json b/web/package-lock.json similarity index 100% rename from modules/web/package-lock.json rename to web/package-lock.json diff --git a/modules/web/package.json b/web/package.json similarity index 100% rename from modules/web/package.json rename to web/package.json diff --git a/modules/web/proxy-https.conf.json b/web/proxy-https.conf.json similarity index 100% rename from modules/web/proxy-https.conf.json rename to web/proxy-https.conf.json diff --git a/modules/web/proxy.conf.json b/web/proxy.conf.json similarity index 100% rename from modules/web/proxy.conf.json rename to web/proxy.conf.json diff --git a/modules/web/src/_dark.scss b/web/src/_dark.scss similarity index 100% rename from modules/web/src/_dark.scss rename to web/src/_dark.scss diff --git a/modules/web/src/_light.scss b/web/src/_light.scss similarity index 100% rename from modules/web/src/_light.scss rename to web/src/_light.scss diff --git a/modules/web/src/_mixins.scss b/web/src/_mixins.scss similarity index 100% rename from modules/web/src/_mixins.scss rename to web/src/_mixins.scss diff --git a/modules/web/src/_theming.scss b/web/src/_theming.scss similarity index 100% rename from modules/web/src/_theming.scss rename to web/src/_theming.scss diff --git a/modules/web/src/_variables.scss b/web/src/_variables.scss similarity index 100% rename from modules/web/src/_variables.scss rename to web/src/_variables.scss diff --git a/modules/web/src/about/actionbar/component.ts b/web/src/about/actionbar/component.ts similarity index 100% rename from modules/web/src/about/actionbar/component.ts rename to web/src/about/actionbar/component.ts diff --git a/modules/web/src/about/actionbar/template.html b/web/src/about/actionbar/template.html similarity index 100% rename from modules/web/src/about/actionbar/template.html rename to web/src/about/actionbar/template.html diff --git a/modules/web/src/about/component.spec.ts b/web/src/about/component.spec.ts similarity index 100% rename from modules/web/src/about/component.spec.ts rename to web/src/about/component.spec.ts diff --git a/modules/web/src/about/component.ts b/web/src/about/component.ts similarity index 100% rename from modules/web/src/about/component.ts rename to web/src/about/component.ts diff --git a/modules/web/src/about/module.ts b/web/src/about/module.ts similarity index 100% rename from modules/web/src/about/module.ts rename to web/src/about/module.ts diff --git a/modules/web/src/about/routing.ts b/web/src/about/routing.ts similarity index 100% rename from modules/web/src/about/routing.ts rename to web/src/about/routing.ts diff --git a/modules/web/src/about/style.scss b/web/src/about/style.scss similarity index 100% rename from modules/web/src/about/style.scss rename to web/src/about/style.scss diff --git a/modules/web/src/about/template.html b/web/src/about/template.html similarity index 100% rename from modules/web/src/about/template.html rename to web/src/about/template.html diff --git a/modules/web/src/assets/config/config.json b/web/src/assets/config/config.json similarity index 100% rename from modules/web/src/assets/config/config.json rename to web/src/assets/config/config.json diff --git a/modules/web/src/assets/images/kubernetes-logo-text.svg b/web/src/assets/images/kubernetes-logo-text.svg similarity index 100% rename from modules/web/src/assets/images/kubernetes-logo-text.svg rename to web/src/assets/images/kubernetes-logo-text.svg diff --git a/modules/web/src/assets/images/kubernetes-logo.png b/web/src/assets/images/kubernetes-logo.png similarity index 100% rename from modules/web/src/assets/images/kubernetes-logo.png rename to web/src/assets/images/kubernetes-logo.png diff --git a/modules/web/src/assets/images/kubernetes-logo.svg b/web/src/assets/images/kubernetes-logo.svg similarity index 100% rename from modules/web/src/assets/images/kubernetes-logo.svg rename to web/src/assets/images/kubernetes-logo.svg diff --git a/modules/web/src/assets/images/pin-crossed.svg b/web/src/assets/images/pin-crossed.svg similarity index 100% rename from modules/web/src/assets/images/pin-crossed.svg rename to web/src/assets/images/pin-crossed.svg diff --git a/modules/web/src/assets/images/pin.svg b/web/src/assets/images/pin.svg similarity index 100% rename from modules/web/src/assets/images/pin.svg rename to web/src/assets/images/pin.svg diff --git a/modules/web/src/assets/robots.txt b/web/src/assets/robots.txt similarity index 100% rename from modules/web/src/assets/robots.txt rename to web/src/assets/robots.txt diff --git a/modules/web/src/chrome/component.ts b/web/src/chrome/component.ts similarity index 100% rename from modules/web/src/chrome/component.ts rename to web/src/chrome/component.ts diff --git a/modules/web/src/chrome/module.ts b/web/src/chrome/module.ts similarity index 100% rename from modules/web/src/chrome/module.ts rename to web/src/chrome/module.ts diff --git a/modules/web/src/chrome/nav/component.ts b/web/src/chrome/nav/component.ts similarity index 100% rename from modules/web/src/chrome/nav/component.ts rename to web/src/chrome/nav/component.ts diff --git a/modules/web/src/chrome/nav/hamburger/component.ts b/web/src/chrome/nav/hamburger/component.ts similarity index 100% rename from modules/web/src/chrome/nav/hamburger/component.ts rename to web/src/chrome/nav/hamburger/component.ts diff --git a/modules/web/src/chrome/nav/hamburger/template.html b/web/src/chrome/nav/hamburger/template.html similarity index 100% rename from modules/web/src/chrome/nav/hamburger/template.html rename to web/src/chrome/nav/hamburger/template.html diff --git a/modules/web/src/chrome/nav/item/component.ts b/web/src/chrome/nav/item/component.ts similarity index 100% rename from modules/web/src/chrome/nav/item/component.ts rename to web/src/chrome/nav/item/component.ts diff --git a/modules/web/src/chrome/nav/item/style.scss b/web/src/chrome/nav/item/style.scss similarity index 100% rename from modules/web/src/chrome/nav/item/style.scss rename to web/src/chrome/nav/item/style.scss diff --git a/modules/web/src/chrome/nav/item/template.html b/web/src/chrome/nav/item/template.html similarity index 100% rename from modules/web/src/chrome/nav/item/template.html rename to web/src/chrome/nav/item/template.html diff --git a/modules/web/src/chrome/nav/module.ts b/web/src/chrome/nav/module.ts similarity index 100% rename from modules/web/src/chrome/nav/module.ts rename to web/src/chrome/nav/module.ts diff --git a/modules/web/src/chrome/nav/pinner/component.ts b/web/src/chrome/nav/pinner/component.ts similarity index 100% rename from modules/web/src/chrome/nav/pinner/component.ts rename to web/src/chrome/nav/pinner/component.ts diff --git a/modules/web/src/chrome/nav/pinner/template.html b/web/src/chrome/nav/pinner/template.html similarity index 100% rename from modules/web/src/chrome/nav/pinner/template.html rename to web/src/chrome/nav/pinner/template.html diff --git a/modules/web/src/chrome/nav/style.scss b/web/src/chrome/nav/style.scss similarity index 100% rename from modules/web/src/chrome/nav/style.scss rename to web/src/chrome/nav/style.scss diff --git a/modules/web/src/chrome/nav/template.html b/web/src/chrome/nav/template.html similarity index 100% rename from modules/web/src/chrome/nav/template.html rename to web/src/chrome/nav/template.html diff --git a/modules/web/src/chrome/notifications/component.ts b/web/src/chrome/notifications/component.ts similarity index 100% rename from modules/web/src/chrome/notifications/component.ts rename to web/src/chrome/notifications/component.ts diff --git a/modules/web/src/chrome/notifications/style.scss b/web/src/chrome/notifications/style.scss similarity index 100% rename from modules/web/src/chrome/notifications/style.scss rename to web/src/chrome/notifications/style.scss diff --git a/modules/web/src/chrome/notifications/template.html b/web/src/chrome/notifications/template.html similarity index 100% rename from modules/web/src/chrome/notifications/template.html rename to web/src/chrome/notifications/template.html diff --git a/modules/web/src/chrome/routing.ts b/web/src/chrome/routing.ts similarity index 100% rename from modules/web/src/chrome/routing.ts rename to web/src/chrome/routing.ts diff --git a/modules/web/src/chrome/search/component.ts b/web/src/chrome/search/component.ts similarity index 100% rename from modules/web/src/chrome/search/component.ts rename to web/src/chrome/search/component.ts diff --git a/modules/web/src/chrome/search/style.scss b/web/src/chrome/search/style.scss similarity index 100% rename from modules/web/src/chrome/search/style.scss rename to web/src/chrome/search/style.scss diff --git a/modules/web/src/chrome/search/template.html b/web/src/chrome/search/template.html similarity index 100% rename from modules/web/src/chrome/search/template.html rename to web/src/chrome/search/template.html diff --git a/modules/web/src/chrome/style.scss b/web/src/chrome/style.scss similarity index 100% rename from modules/web/src/chrome/style.scss rename to web/src/chrome/style.scss diff --git a/modules/web/src/chrome/template.html b/web/src/chrome/template.html similarity index 100% rename from modules/web/src/chrome/template.html rename to web/src/chrome/template.html diff --git a/modules/web/src/chrome/userpanel/component.ts b/web/src/chrome/userpanel/component.ts similarity index 100% rename from modules/web/src/chrome/userpanel/component.ts rename to web/src/chrome/userpanel/component.ts diff --git a/modules/web/src/chrome/userpanel/style.scss b/web/src/chrome/userpanel/style.scss similarity index 100% rename from modules/web/src/chrome/userpanel/style.scss rename to web/src/chrome/userpanel/style.scss diff --git a/modules/web/src/chrome/userpanel/template.html b/web/src/chrome/userpanel/template.html similarity index 100% rename from modules/web/src/chrome/userpanel/template.html rename to web/src/chrome/userpanel/template.html diff --git a/modules/web/src/common/animations/animations.ts b/web/src/common/animations/animations.ts similarity index 100% rename from modules/web/src/common/animations/animations.ts rename to web/src/common/animations/animations.ts diff --git a/modules/web/src/common/components/actionbar/component.ts b/web/src/common/components/actionbar/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/component.ts rename to web/src/common/components/actionbar/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/component.ts b/web/src/common/components/actionbar/detailactions/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/component.ts rename to web/src/common/components/actionbar/detailactions/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/delete/component.ts b/web/src/common/components/actionbar/detailactions/delete/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/delete/component.ts rename to web/src/common/components/actionbar/detailactions/delete/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/delete/template.html b/web/src/common/components/actionbar/detailactions/delete/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/delete/template.html rename to web/src/common/components/actionbar/detailactions/delete/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/edit/component.ts b/web/src/common/components/actionbar/detailactions/edit/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/edit/component.ts rename to web/src/common/components/actionbar/detailactions/edit/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/edit/template.html b/web/src/common/components/actionbar/detailactions/edit/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/edit/template.html rename to web/src/common/components/actionbar/detailactions/edit/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/exec/component.ts b/web/src/common/components/actionbar/detailactions/exec/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/exec/component.ts rename to web/src/common/components/actionbar/detailactions/exec/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/exec/template.html b/web/src/common/components/actionbar/detailactions/exec/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/exec/template.html rename to web/src/common/components/actionbar/detailactions/exec/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/logs/component.ts b/web/src/common/components/actionbar/detailactions/logs/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/logs/component.ts rename to web/src/common/components/actionbar/detailactions/logs/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/logs/template.html b/web/src/common/components/actionbar/detailactions/logs/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/logs/template.html rename to web/src/common/components/actionbar/detailactions/logs/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/pin/component.ts b/web/src/common/components/actionbar/detailactions/pin/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/pin/component.ts rename to web/src/common/components/actionbar/detailactions/pin/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/pin/template.html b/web/src/common/components/actionbar/detailactions/pin/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/pin/template.html rename to web/src/common/components/actionbar/detailactions/pin/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/restart/component.ts b/web/src/common/components/actionbar/detailactions/restart/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/restart/component.ts rename to web/src/common/components/actionbar/detailactions/restart/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/restart/template.html b/web/src/common/components/actionbar/detailactions/restart/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/restart/template.html rename to web/src/common/components/actionbar/detailactions/restart/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/scale/component.ts b/web/src/common/components/actionbar/detailactions/scale/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/scale/component.ts rename to web/src/common/components/actionbar/detailactions/scale/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/scale/template.html b/web/src/common/components/actionbar/detailactions/scale/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/scale/template.html rename to web/src/common/components/actionbar/detailactions/scale/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/template.html b/web/src/common/components/actionbar/detailactions/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/template.html rename to web/src/common/components/actionbar/detailactions/template.html diff --git a/modules/web/src/common/components/actionbar/detailactions/trigger/component.ts b/web/src/common/components/actionbar/detailactions/trigger/component.ts similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/trigger/component.ts rename to web/src/common/components/actionbar/detailactions/trigger/component.ts diff --git a/modules/web/src/common/components/actionbar/detailactions/trigger/template.html b/web/src/common/components/actionbar/detailactions/trigger/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/detailactions/trigger/template.html rename to web/src/common/components/actionbar/detailactions/trigger/template.html diff --git a/modules/web/src/common/components/actionbar/template.html b/web/src/common/components/actionbar/template.html similarity index 100% rename from modules/web/src/common/components/actionbar/template.html rename to web/src/common/components/actionbar/template.html diff --git a/modules/web/src/common/components/actionbars/default/component.ts b/web/src/common/components/actionbars/default/component.ts similarity index 100% rename from modules/web/src/common/components/actionbars/default/component.ts rename to web/src/common/components/actionbars/default/component.ts diff --git a/modules/web/src/common/components/actionbars/default/template.html b/web/src/common/components/actionbars/default/template.html similarity index 100% rename from modules/web/src/common/components/actionbars/default/template.html rename to web/src/common/components/actionbars/default/template.html diff --git a/modules/web/src/common/components/actionbars/logsdefault/component.ts b/web/src/common/components/actionbars/logsdefault/component.ts similarity index 100% rename from modules/web/src/common/components/actionbars/logsdefault/component.ts rename to web/src/common/components/actionbars/logsdefault/component.ts diff --git a/modules/web/src/common/components/actionbars/logsdefault/template.html b/web/src/common/components/actionbars/logsdefault/template.html similarity index 100% rename from modules/web/src/common/components/actionbars/logsdefault/template.html rename to web/src/common/components/actionbars/logsdefault/template.html diff --git a/modules/web/src/common/components/actionbars/logsexecdefault/component.ts b/web/src/common/components/actionbars/logsexecdefault/component.ts similarity index 100% rename from modules/web/src/common/components/actionbars/logsexecdefault/component.ts rename to web/src/common/components/actionbars/logsexecdefault/component.ts diff --git a/modules/web/src/common/components/actionbars/logsexecdefault/template.html b/web/src/common/components/actionbars/logsexecdefault/template.html similarity index 100% rename from modules/web/src/common/components/actionbars/logsexecdefault/template.html rename to web/src/common/components/actionbars/logsexecdefault/template.html diff --git a/modules/web/src/common/components/actionbars/logsscaledefault/component.ts b/web/src/common/components/actionbars/logsscaledefault/component.ts similarity index 100% rename from modules/web/src/common/components/actionbars/logsscaledefault/component.ts rename to web/src/common/components/actionbars/logsscaledefault/component.ts diff --git a/modules/web/src/common/components/actionbars/logsscaledefault/template.html b/web/src/common/components/actionbars/logsscaledefault/template.html similarity index 100% rename from modules/web/src/common/components/actionbars/logsscaledefault/template.html rename to web/src/common/components/actionbars/logsscaledefault/template.html diff --git a/modules/web/src/common/components/actionbars/pindefault/component.ts b/web/src/common/components/actionbars/pindefault/component.ts similarity index 100% rename from modules/web/src/common/components/actionbars/pindefault/component.ts rename to web/src/common/components/actionbars/pindefault/component.ts diff --git a/modules/web/src/common/components/actionbars/pindefault/template.html b/web/src/common/components/actionbars/pindefault/template.html similarity index 100% rename from modules/web/src/common/components/actionbars/pindefault/template.html rename to web/src/common/components/actionbars/pindefault/template.html diff --git a/modules/web/src/common/components/actionbars/routing.ts b/web/src/common/components/actionbars/routing.ts similarity index 100% rename from modules/web/src/common/components/actionbars/routing.ts rename to web/src/common/components/actionbars/routing.ts diff --git a/modules/web/src/common/components/actionbars/scaledefault/component.ts b/web/src/common/components/actionbars/scaledefault/component.ts similarity index 100% rename from modules/web/src/common/components/actionbars/scaledefault/component.ts rename to web/src/common/components/actionbars/scaledefault/component.ts diff --git a/modules/web/src/common/components/actionbars/scaledefault/template.html b/web/src/common/components/actionbars/scaledefault/template.html similarity index 100% rename from modules/web/src/common/components/actionbars/scaledefault/template.html rename to web/src/common/components/actionbars/scaledefault/template.html diff --git a/modules/web/src/common/components/actionbars/triggerdefault/component.ts b/web/src/common/components/actionbars/triggerdefault/component.ts similarity index 100% rename from modules/web/src/common/components/actionbars/triggerdefault/component.ts rename to web/src/common/components/actionbars/triggerdefault/component.ts diff --git a/modules/web/src/common/components/actionbars/triggerdefault/template.html b/web/src/common/components/actionbars/triggerdefault/template.html similarity index 100% rename from modules/web/src/common/components/actionbars/triggerdefault/template.html rename to web/src/common/components/actionbars/triggerdefault/template.html diff --git a/modules/web/src/common/components/breadcrumbs/component.ts b/web/src/common/components/breadcrumbs/component.ts similarity index 100% rename from modules/web/src/common/components/breadcrumbs/component.ts rename to web/src/common/components/breadcrumbs/component.ts diff --git a/modules/web/src/common/components/breadcrumbs/style.scss b/web/src/common/components/breadcrumbs/style.scss similarity index 100% rename from modules/web/src/common/components/breadcrumbs/style.scss rename to web/src/common/components/breadcrumbs/style.scss diff --git a/modules/web/src/common/components/breadcrumbs/template.html b/web/src/common/components/breadcrumbs/template.html similarity index 100% rename from modules/web/src/common/components/breadcrumbs/template.html rename to web/src/common/components/breadcrumbs/template.html diff --git a/modules/web/src/common/components/card/component.spec.ts b/web/src/common/components/card/component.spec.ts similarity index 100% rename from modules/web/src/common/components/card/component.spec.ts rename to web/src/common/components/card/component.spec.ts diff --git a/modules/web/src/common/components/card/component.ts b/web/src/common/components/card/component.ts similarity index 100% rename from modules/web/src/common/components/card/component.ts rename to web/src/common/components/card/component.ts diff --git a/modules/web/src/common/components/card/style.scss b/web/src/common/components/card/style.scss similarity index 100% rename from modules/web/src/common/components/card/style.scss rename to web/src/common/components/card/style.scss diff --git a/modules/web/src/common/components/card/template.html b/web/src/common/components/card/template.html similarity index 100% rename from modules/web/src/common/components/card/template.html rename to web/src/common/components/card/template.html diff --git a/modules/web/src/common/components/chips/chipdialog/dialog.ts b/web/src/common/components/chips/chipdialog/dialog.ts similarity index 100% rename from modules/web/src/common/components/chips/chipdialog/dialog.ts rename to web/src/common/components/chips/chipdialog/dialog.ts diff --git a/modules/web/src/common/components/chips/chipdialog/template.html b/web/src/common/components/chips/chipdialog/template.html similarity index 100% rename from modules/web/src/common/components/chips/chipdialog/template.html rename to web/src/common/components/chips/chipdialog/template.html diff --git a/modules/web/src/common/components/chips/component.ts b/web/src/common/components/chips/component.ts similarity index 100% rename from modules/web/src/common/components/chips/component.ts rename to web/src/common/components/chips/component.ts diff --git a/modules/web/src/common/components/chips/style.scss b/web/src/common/components/chips/style.scss similarity index 100% rename from modules/web/src/common/components/chips/style.scss rename to web/src/common/components/chips/style.scss diff --git a/modules/web/src/common/components/chips/template.html b/web/src/common/components/chips/template.html similarity index 100% rename from modules/web/src/common/components/chips/template.html rename to web/src/common/components/chips/template.html diff --git a/modules/web/src/common/components/condition/component.ts b/web/src/common/components/condition/component.ts similarity index 100% rename from modules/web/src/common/components/condition/component.ts rename to web/src/common/components/condition/component.ts diff --git a/modules/web/src/common/components/condition/template.html b/web/src/common/components/condition/template.html similarity index 100% rename from modules/web/src/common/components/condition/template.html rename to web/src/common/components/condition/template.html diff --git a/modules/web/src/common/components/container/component.ts b/web/src/common/components/container/component.ts similarity index 100% rename from modules/web/src/common/components/container/component.ts rename to web/src/common/components/container/component.ts diff --git a/modules/web/src/common/components/container/style.scss b/web/src/common/components/container/style.scss similarity index 100% rename from modules/web/src/common/components/container/style.scss rename to web/src/common/components/container/style.scss diff --git a/modules/web/src/common/components/container/template.html b/web/src/common/components/container/template.html similarity index 100% rename from modules/web/src/common/components/container/template.html rename to web/src/common/components/container/template.html diff --git a/modules/web/src/common/components/creator/component.ts b/web/src/common/components/creator/component.ts similarity index 100% rename from modules/web/src/common/components/creator/component.ts rename to web/src/common/components/creator/component.ts diff --git a/modules/web/src/common/components/creator/template.html b/web/src/common/components/creator/template.html similarity index 100% rename from modules/web/src/common/components/creator/template.html rename to web/src/common/components/creator/template.html diff --git a/modules/web/src/common/components/date/component.ts b/web/src/common/components/date/component.ts similarity index 100% rename from modules/web/src/common/components/date/component.ts rename to web/src/common/components/date/component.ts diff --git a/modules/web/src/common/components/date/style.scss b/web/src/common/components/date/style.scss similarity index 100% rename from modules/web/src/common/components/date/style.scss rename to web/src/common/components/date/style.scss diff --git a/modules/web/src/common/components/date/template.html b/web/src/common/components/date/template.html similarity index 100% rename from modules/web/src/common/components/date/template.html rename to web/src/common/components/date/template.html diff --git a/modules/web/src/common/components/endpoint/cardlist/component.ts b/web/src/common/components/endpoint/cardlist/component.ts similarity index 100% rename from modules/web/src/common/components/endpoint/cardlist/component.ts rename to web/src/common/components/endpoint/cardlist/component.ts diff --git a/modules/web/src/common/components/endpoint/cardlist/style.scss b/web/src/common/components/endpoint/cardlist/style.scss similarity index 100% rename from modules/web/src/common/components/endpoint/cardlist/style.scss rename to web/src/common/components/endpoint/cardlist/style.scss diff --git a/modules/web/src/common/components/endpoint/cardlist/template.html b/web/src/common/components/endpoint/cardlist/template.html similarity index 100% rename from modules/web/src/common/components/endpoint/cardlist/template.html rename to web/src/common/components/endpoint/cardlist/template.html diff --git a/modules/web/src/common/components/endpoint/external/component.ts b/web/src/common/components/endpoint/external/component.ts similarity index 100% rename from modules/web/src/common/components/endpoint/external/component.ts rename to web/src/common/components/endpoint/external/component.ts diff --git a/modules/web/src/common/components/endpoint/external/style.scss b/web/src/common/components/endpoint/external/style.scss similarity index 100% rename from modules/web/src/common/components/endpoint/external/style.scss rename to web/src/common/components/endpoint/external/style.scss diff --git a/modules/web/src/common/components/endpoint/external/template.html b/web/src/common/components/endpoint/external/template.html similarity index 100% rename from modules/web/src/common/components/endpoint/external/template.html rename to web/src/common/components/endpoint/external/template.html diff --git a/modules/web/src/common/components/endpoint/internal/component.ts b/web/src/common/components/endpoint/internal/component.ts similarity index 100% rename from modules/web/src/common/components/endpoint/internal/component.ts rename to web/src/common/components/endpoint/internal/component.ts diff --git a/modules/web/src/common/components/endpoint/internal/style.scss b/web/src/common/components/endpoint/internal/style.scss similarity index 100% rename from modules/web/src/common/components/endpoint/internal/style.scss rename to web/src/common/components/endpoint/internal/style.scss diff --git a/modules/web/src/common/components/endpoint/internal/template.html b/web/src/common/components/endpoint/internal/template.html similarity index 100% rename from modules/web/src/common/components/endpoint/internal/template.html rename to web/src/common/components/endpoint/internal/template.html diff --git a/modules/web/src/common/components/graph/component.ts b/web/src/common/components/graph/component.ts similarity index 100% rename from modules/web/src/common/components/graph/component.ts rename to web/src/common/components/graph/component.ts diff --git a/modules/web/src/common/components/graph/helper.ts b/web/src/common/components/graph/helper.ts similarity index 100% rename from modules/web/src/common/components/graph/helper.ts rename to web/src/common/components/graph/helper.ts diff --git a/modules/web/src/common/components/graph/style.scss b/web/src/common/components/graph/style.scss similarity index 100% rename from modules/web/src/common/components/graph/style.scss rename to web/src/common/components/graph/style.scss diff --git a/modules/web/src/common/components/graph/template.html b/web/src/common/components/graph/template.html similarity index 100% rename from modules/web/src/common/components/graph/template.html rename to web/src/common/components/graph/template.html diff --git a/modules/web/src/common/components/graphcard/component.spec.ts b/web/src/common/components/graphcard/component.spec.ts similarity index 100% rename from modules/web/src/common/components/graphcard/component.spec.ts rename to web/src/common/components/graphcard/component.spec.ts diff --git a/modules/web/src/common/components/graphcard/component.ts b/web/src/common/components/graphcard/component.ts similarity index 100% rename from modules/web/src/common/components/graphcard/component.ts rename to web/src/common/components/graphcard/component.ts diff --git a/modules/web/src/common/components/graphcard/template.html b/web/src/common/components/graphcard/template.html similarity index 100% rename from modules/web/src/common/components/graphcard/template.html rename to web/src/common/components/graphcard/template.html diff --git a/modules/web/src/common/components/graphmetrics/component.ts b/web/src/common/components/graphmetrics/component.ts similarity index 100% rename from modules/web/src/common/components/graphmetrics/component.ts rename to web/src/common/components/graphmetrics/component.ts diff --git a/modules/web/src/common/components/graphmetrics/template.html b/web/src/common/components/graphmetrics/template.html similarity index 100% rename from modules/web/src/common/components/graphmetrics/template.html rename to web/src/common/components/graphmetrics/template.html diff --git a/modules/web/src/common/components/hiddenproperty/component.ts b/web/src/common/components/hiddenproperty/component.ts similarity index 100% rename from modules/web/src/common/components/hiddenproperty/component.ts rename to web/src/common/components/hiddenproperty/component.ts diff --git a/modules/web/src/common/components/hiddenproperty/style.scss b/web/src/common/components/hiddenproperty/style.scss similarity index 100% rename from modules/web/src/common/components/hiddenproperty/style.scss rename to web/src/common/components/hiddenproperty/style.scss diff --git a/modules/web/src/common/components/hiddenproperty/template.html b/web/src/common/components/hiddenproperty/template.html similarity index 100% rename from modules/web/src/common/components/hiddenproperty/template.html rename to web/src/common/components/hiddenproperty/template.html diff --git a/modules/web/src/common/components/ingressrulelist/component.ts b/web/src/common/components/ingressrulelist/component.ts similarity index 100% rename from modules/web/src/common/components/ingressrulelist/component.ts rename to web/src/common/components/ingressrulelist/component.ts diff --git a/modules/web/src/common/components/ingressrulelist/template.html b/web/src/common/components/ingressrulelist/template.html similarity index 100% rename from modules/web/src/common/components/ingressrulelist/template.html rename to web/src/common/components/ingressrulelist/template.html diff --git a/modules/web/src/common/components/limits/component.ts b/web/src/common/components/limits/component.ts similarity index 100% rename from modules/web/src/common/components/limits/component.ts rename to web/src/common/components/limits/component.ts diff --git a/modules/web/src/common/components/limits/template.html b/web/src/common/components/limits/template.html similarity index 100% rename from modules/web/src/common/components/limits/template.html rename to web/src/common/components/limits/template.html diff --git a/modules/web/src/common/components/list/column/component.ts b/web/src/common/components/list/column/component.ts similarity index 100% rename from modules/web/src/common/components/list/column/component.ts rename to web/src/common/components/list/column/component.ts diff --git a/modules/web/src/common/components/list/column/menu/component.ts b/web/src/common/components/list/column/menu/component.ts similarity index 100% rename from modules/web/src/common/components/list/column/menu/component.ts rename to web/src/common/components/list/column/menu/component.ts diff --git a/modules/web/src/common/components/list/column/menu/template.html b/web/src/common/components/list/column/menu/template.html similarity index 100% rename from modules/web/src/common/components/list/column/menu/template.html rename to web/src/common/components/list/column/menu/template.html diff --git a/modules/web/src/common/components/list/column/template.html b/web/src/common/components/list/column/template.html similarity index 100% rename from modules/web/src/common/components/list/column/template.html rename to web/src/common/components/list/column/template.html diff --git a/modules/web/src/common/components/list/filter/component.ts b/web/src/common/components/list/filter/component.ts similarity index 100% rename from modules/web/src/common/components/list/filter/component.ts rename to web/src/common/components/list/filter/component.ts diff --git a/modules/web/src/common/components/list/filter/style.scss b/web/src/common/components/list/filter/style.scss similarity index 100% rename from modules/web/src/common/components/list/filter/style.scss rename to web/src/common/components/list/filter/style.scss diff --git a/modules/web/src/common/components/list/filter/template.html b/web/src/common/components/list/filter/template.html similarity index 100% rename from modules/web/src/common/components/list/filter/template.html rename to web/src/common/components/list/filter/template.html diff --git a/modules/web/src/common/components/list/rowdetail/component.ts b/web/src/common/components/list/rowdetail/component.ts similarity index 100% rename from modules/web/src/common/components/list/rowdetail/component.ts rename to web/src/common/components/list/rowdetail/component.ts diff --git a/modules/web/src/common/components/list/rowdetail/style.scss b/web/src/common/components/list/rowdetail/style.scss similarity index 100% rename from modules/web/src/common/components/list/rowdetail/style.scss rename to web/src/common/components/list/rowdetail/style.scss diff --git a/modules/web/src/common/components/list/rowdetail/template.html b/web/src/common/components/list/rowdetail/template.html similarity index 100% rename from modules/web/src/common/components/list/rowdetail/template.html rename to web/src/common/components/list/rowdetail/template.html diff --git a/modules/web/src/common/components/list/spinner/component.ts b/web/src/common/components/list/spinner/component.ts similarity index 100% rename from modules/web/src/common/components/list/spinner/component.ts rename to web/src/common/components/list/spinner/component.ts diff --git a/modules/web/src/common/components/list/spinner/template.html b/web/src/common/components/list/spinner/template.html similarity index 100% rename from modules/web/src/common/components/list/spinner/template.html rename to web/src/common/components/list/spinner/template.html diff --git a/modules/web/src/common/components/list/zerostate/component.ts b/web/src/common/components/list/zerostate/component.ts similarity index 100% rename from modules/web/src/common/components/list/zerostate/component.ts rename to web/src/common/components/list/zerostate/component.ts diff --git a/modules/web/src/common/components/list/zerostate/style.scss b/web/src/common/components/list/zerostate/style.scss similarity index 100% rename from modules/web/src/common/components/list/zerostate/style.scss rename to web/src/common/components/list/zerostate/style.scss diff --git a/modules/web/src/common/components/list/zerostate/template.html b/web/src/common/components/list/zerostate/template.html similarity index 100% rename from modules/web/src/common/components/list/zerostate/template.html rename to web/src/common/components/list/zerostate/template.html diff --git a/modules/web/src/common/components/module.ts b/web/src/common/components/module.ts similarity index 100% rename from modules/web/src/common/components/module.ts rename to web/src/common/components/module.ts diff --git a/modules/web/src/common/components/namespace/changedialog/dialog.ts b/web/src/common/components/namespace/changedialog/dialog.ts similarity index 100% rename from modules/web/src/common/components/namespace/changedialog/dialog.ts rename to web/src/common/components/namespace/changedialog/dialog.ts diff --git a/modules/web/src/common/components/namespace/changedialog/template.html b/web/src/common/components/namespace/changedialog/template.html similarity index 100% rename from modules/web/src/common/components/namespace/changedialog/template.html rename to web/src/common/components/namespace/changedialog/template.html diff --git a/modules/web/src/common/components/namespace/component.ts b/web/src/common/components/namespace/component.ts similarity index 100% rename from modules/web/src/common/components/namespace/component.ts rename to web/src/common/components/namespace/component.ts diff --git a/modules/web/src/common/components/namespace/style.scss b/web/src/common/components/namespace/style.scss similarity index 100% rename from modules/web/src/common/components/namespace/style.scss rename to web/src/common/components/namespace/style.scss diff --git a/modules/web/src/common/components/namespace/template.html b/web/src/common/components/namespace/template.html similarity index 100% rename from modules/web/src/common/components/namespace/template.html rename to web/src/common/components/namespace/template.html diff --git a/modules/web/src/common/components/objectmeta/component.spec.ts b/web/src/common/components/objectmeta/component.spec.ts similarity index 100% rename from modules/web/src/common/components/objectmeta/component.spec.ts rename to web/src/common/components/objectmeta/component.spec.ts diff --git a/modules/web/src/common/components/objectmeta/component.ts b/web/src/common/components/objectmeta/component.ts similarity index 100% rename from modules/web/src/common/components/objectmeta/component.ts rename to web/src/common/components/objectmeta/component.ts diff --git a/modules/web/src/common/components/objectmeta/template.html b/web/src/common/components/objectmeta/template.html similarity index 100% rename from modules/web/src/common/components/objectmeta/template.html rename to web/src/common/components/objectmeta/template.html diff --git a/modules/web/src/common/components/podstatus/component.ts b/web/src/common/components/podstatus/component.ts similarity index 100% rename from modules/web/src/common/components/podstatus/component.ts rename to web/src/common/components/podstatus/component.ts diff --git a/modules/web/src/common/components/podstatus/template.html b/web/src/common/components/podstatus/template.html similarity index 100% rename from modules/web/src/common/components/podstatus/template.html rename to web/src/common/components/podstatus/template.html diff --git a/modules/web/src/common/components/policyrule/component.ts b/web/src/common/components/policyrule/component.ts similarity index 100% rename from modules/web/src/common/components/policyrule/component.ts rename to web/src/common/components/policyrule/component.ts diff --git a/modules/web/src/common/components/policyrule/template.html b/web/src/common/components/policyrule/template.html similarity index 100% rename from modules/web/src/common/components/policyrule/template.html rename to web/src/common/components/policyrule/template.html diff --git a/modules/web/src/common/components/probe/component.ts b/web/src/common/components/probe/component.ts similarity index 100% rename from modules/web/src/common/components/probe/component.ts rename to web/src/common/components/probe/component.ts diff --git a/modules/web/src/common/components/probe/template.html b/web/src/common/components/probe/template.html similarity index 100% rename from modules/web/src/common/components/probe/template.html rename to web/src/common/components/probe/template.html diff --git a/modules/web/src/common/components/property/component.ts b/web/src/common/components/property/component.ts similarity index 100% rename from modules/web/src/common/components/property/component.ts rename to web/src/common/components/property/component.ts diff --git a/modules/web/src/common/components/property/style.scss b/web/src/common/components/property/style.scss similarity index 100% rename from modules/web/src/common/components/property/style.scss rename to web/src/common/components/property/style.scss diff --git a/modules/web/src/common/components/property/template.html b/web/src/common/components/property/template.html similarity index 100% rename from modules/web/src/common/components/property/template.html rename to web/src/common/components/property/template.html diff --git a/modules/web/src/common/components/proxy/component.ts b/web/src/common/components/proxy/component.ts similarity index 100% rename from modules/web/src/common/components/proxy/component.ts rename to web/src/common/components/proxy/component.ts diff --git a/modules/web/src/common/components/quotas/component.ts b/web/src/common/components/quotas/component.ts similarity index 100% rename from modules/web/src/common/components/quotas/component.ts rename to web/src/common/components/quotas/component.ts diff --git a/modules/web/src/common/components/quotas/template.html b/web/src/common/components/quotas/template.html similarity index 100% rename from modules/web/src/common/components/quotas/template.html rename to web/src/common/components/quotas/template.html diff --git a/modules/web/src/common/components/resourcelist/clusterrole/component.ts b/web/src/common/components/resourcelist/clusterrole/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/clusterrole/component.ts rename to web/src/common/components/resourcelist/clusterrole/component.ts diff --git a/modules/web/src/common/components/resourcelist/clusterrole/template.html b/web/src/common/components/resourcelist/clusterrole/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/clusterrole/template.html rename to web/src/common/components/resourcelist/clusterrole/template.html diff --git a/modules/web/src/common/components/resourcelist/clusterrolebinding/component.ts b/web/src/common/components/resourcelist/clusterrolebinding/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/clusterrolebinding/component.ts rename to web/src/common/components/resourcelist/clusterrolebinding/component.ts diff --git a/modules/web/src/common/components/resourcelist/clusterrolebinding/template.html b/web/src/common/components/resourcelist/clusterrolebinding/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/clusterrolebinding/template.html rename to web/src/common/components/resourcelist/clusterrolebinding/template.html diff --git a/modules/web/src/common/components/resourcelist/configmap/component.ts b/web/src/common/components/resourcelist/configmap/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/configmap/component.ts rename to web/src/common/components/resourcelist/configmap/component.ts diff --git a/modules/web/src/common/components/resourcelist/configmap/template.html b/web/src/common/components/resourcelist/configmap/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/configmap/template.html rename to web/src/common/components/resourcelist/configmap/template.html diff --git a/modules/web/src/common/components/resourcelist/crd/component.ts b/web/src/common/components/resourcelist/crd/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/crd/component.ts rename to web/src/common/components/resourcelist/crd/component.ts diff --git a/modules/web/src/common/components/resourcelist/crd/template.html b/web/src/common/components/resourcelist/crd/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/crd/template.html rename to web/src/common/components/resourcelist/crd/template.html diff --git a/modules/web/src/common/components/resourcelist/crdobject/component.ts b/web/src/common/components/resourcelist/crdobject/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/crdobject/component.ts rename to web/src/common/components/resourcelist/crdobject/component.ts diff --git a/modules/web/src/common/components/resourcelist/crdobject/template.html b/web/src/common/components/resourcelist/crdobject/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/crdobject/template.html rename to web/src/common/components/resourcelist/crdobject/template.html diff --git a/modules/web/src/common/components/resourcelist/crdversion/component.ts b/web/src/common/components/resourcelist/crdversion/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/crdversion/component.ts rename to web/src/common/components/resourcelist/crdversion/component.ts diff --git a/modules/web/src/common/components/resourcelist/crdversion/template.html b/web/src/common/components/resourcelist/crdversion/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/crdversion/template.html rename to web/src/common/components/resourcelist/crdversion/template.html diff --git a/modules/web/src/common/components/resourcelist/cronjob/component.ts b/web/src/common/components/resourcelist/cronjob/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/cronjob/component.ts rename to web/src/common/components/resourcelist/cronjob/component.ts diff --git a/modules/web/src/common/components/resourcelist/cronjob/template.html b/web/src/common/components/resourcelist/cronjob/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/cronjob/template.html rename to web/src/common/components/resourcelist/cronjob/template.html diff --git a/modules/web/src/common/components/resourcelist/daemonset/component.ts b/web/src/common/components/resourcelist/daemonset/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/daemonset/component.ts rename to web/src/common/components/resourcelist/daemonset/component.ts diff --git a/modules/web/src/common/components/resourcelist/daemonset/template.html b/web/src/common/components/resourcelist/daemonset/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/daemonset/template.html rename to web/src/common/components/resourcelist/daemonset/template.html diff --git a/modules/web/src/common/components/resourcelist/deployment/component.ts b/web/src/common/components/resourcelist/deployment/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/deployment/component.ts rename to web/src/common/components/resourcelist/deployment/component.ts diff --git a/modules/web/src/common/components/resourcelist/deployment/template.html b/web/src/common/components/resourcelist/deployment/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/deployment/template.html rename to web/src/common/components/resourcelist/deployment/template.html diff --git a/modules/web/src/common/components/resourcelist/event/component.ts b/web/src/common/components/resourcelist/event/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/event/component.ts rename to web/src/common/components/resourcelist/event/component.ts diff --git a/modules/web/src/common/components/resourcelist/event/template.html b/web/src/common/components/resourcelist/event/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/event/template.html rename to web/src/common/components/resourcelist/event/template.html diff --git a/modules/web/src/common/components/resourcelist/groupids.ts b/web/src/common/components/resourcelist/groupids.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/groupids.ts rename to web/src/common/components/resourcelist/groupids.ts diff --git a/modules/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts b/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts rename to web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts diff --git a/modules/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html b/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html rename to web/src/common/components/resourcelist/horizontalpodautoscaler/template.html diff --git a/modules/web/src/common/components/resourcelist/ingress/component.ts b/web/src/common/components/resourcelist/ingress/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/ingress/component.ts rename to web/src/common/components/resourcelist/ingress/component.ts diff --git a/modules/web/src/common/components/resourcelist/ingress/style.scss b/web/src/common/components/resourcelist/ingress/style.scss similarity index 100% rename from modules/web/src/common/components/resourcelist/ingress/style.scss rename to web/src/common/components/resourcelist/ingress/style.scss diff --git a/modules/web/src/common/components/resourcelist/ingress/template.html b/web/src/common/components/resourcelist/ingress/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/ingress/template.html rename to web/src/common/components/resourcelist/ingress/template.html diff --git a/modules/web/src/common/components/resourcelist/job/component.ts b/web/src/common/components/resourcelist/job/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/job/component.ts rename to web/src/common/components/resourcelist/job/component.ts diff --git a/modules/web/src/common/components/resourcelist/job/template.html b/web/src/common/components/resourcelist/job/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/job/template.html rename to web/src/common/components/resourcelist/job/template.html diff --git a/modules/web/src/common/components/resourcelist/namespace/component.ts b/web/src/common/components/resourcelist/namespace/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/namespace/component.ts rename to web/src/common/components/resourcelist/namespace/component.ts diff --git a/modules/web/src/common/components/resourcelist/namespace/template.html b/web/src/common/components/resourcelist/namespace/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/namespace/template.html rename to web/src/common/components/resourcelist/namespace/template.html diff --git a/modules/web/src/common/components/resourcelist/networkpolicy/component.ts b/web/src/common/components/resourcelist/networkpolicy/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/networkpolicy/component.ts rename to web/src/common/components/resourcelist/networkpolicy/component.ts diff --git a/modules/web/src/common/components/resourcelist/networkpolicy/template.html b/web/src/common/components/resourcelist/networkpolicy/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/networkpolicy/template.html rename to web/src/common/components/resourcelist/networkpolicy/template.html diff --git a/modules/web/src/common/components/resourcelist/node/component.ts b/web/src/common/components/resourcelist/node/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/node/component.ts rename to web/src/common/components/resourcelist/node/component.ts diff --git a/modules/web/src/common/components/resourcelist/node/template.html b/web/src/common/components/resourcelist/node/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/node/template.html rename to web/src/common/components/resourcelist/node/template.html diff --git a/modules/web/src/common/components/resourcelist/persistentvolume/component.ts b/web/src/common/components/resourcelist/persistentvolume/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/persistentvolume/component.ts rename to web/src/common/components/resourcelist/persistentvolume/component.ts diff --git a/modules/web/src/common/components/resourcelist/persistentvolume/template.html b/web/src/common/components/resourcelist/persistentvolume/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/persistentvolume/template.html rename to web/src/common/components/resourcelist/persistentvolume/template.html diff --git a/modules/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts b/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts rename to web/src/common/components/resourcelist/persistentvolumeclaim/component.ts diff --git a/modules/web/src/common/components/resourcelist/persistentvolumeclaim/template.html b/web/src/common/components/resourcelist/persistentvolumeclaim/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/persistentvolumeclaim/template.html rename to web/src/common/components/resourcelist/persistentvolumeclaim/template.html diff --git a/modules/web/src/common/components/resourcelist/plugin/component.ts b/web/src/common/components/resourcelist/plugin/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/plugin/component.ts rename to web/src/common/components/resourcelist/plugin/component.ts diff --git a/modules/web/src/common/components/resourcelist/plugin/template.html b/web/src/common/components/resourcelist/plugin/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/plugin/template.html rename to web/src/common/components/resourcelist/plugin/template.html diff --git a/modules/web/src/common/components/resourcelist/pod/component.ts b/web/src/common/components/resourcelist/pod/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/pod/component.ts rename to web/src/common/components/resourcelist/pod/component.ts diff --git a/modules/web/src/common/components/resourcelist/pod/template.html b/web/src/common/components/resourcelist/pod/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/pod/template.html rename to web/src/common/components/resourcelist/pod/template.html diff --git a/modules/web/src/common/components/resourcelist/replicaset/component.ts b/web/src/common/components/resourcelist/replicaset/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/replicaset/component.ts rename to web/src/common/components/resourcelist/replicaset/component.ts diff --git a/modules/web/src/common/components/resourcelist/replicaset/template.html b/web/src/common/components/resourcelist/replicaset/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/replicaset/template.html rename to web/src/common/components/resourcelist/replicaset/template.html diff --git a/modules/web/src/common/components/resourcelist/replicationcontroller/component.ts b/web/src/common/components/resourcelist/replicationcontroller/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/replicationcontroller/component.ts rename to web/src/common/components/resourcelist/replicationcontroller/component.ts diff --git a/modules/web/src/common/components/resourcelist/replicationcontroller/template.html b/web/src/common/components/resourcelist/replicationcontroller/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/replicationcontroller/template.html rename to web/src/common/components/resourcelist/replicationcontroller/template.html diff --git a/modules/web/src/common/components/resourcelist/role/component.ts b/web/src/common/components/resourcelist/role/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/role/component.ts rename to web/src/common/components/resourcelist/role/component.ts diff --git a/modules/web/src/common/components/resourcelist/role/template.html b/web/src/common/components/resourcelist/role/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/role/template.html rename to web/src/common/components/resourcelist/role/template.html diff --git a/modules/web/src/common/components/resourcelist/rolebinding/component.ts b/web/src/common/components/resourcelist/rolebinding/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/rolebinding/component.ts rename to web/src/common/components/resourcelist/rolebinding/component.ts diff --git a/modules/web/src/common/components/resourcelist/rolebinding/template.html b/web/src/common/components/resourcelist/rolebinding/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/rolebinding/template.html rename to web/src/common/components/resourcelist/rolebinding/template.html diff --git a/modules/web/src/common/components/resourcelist/secret/component.ts b/web/src/common/components/resourcelist/secret/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/secret/component.ts rename to web/src/common/components/resourcelist/secret/component.ts diff --git a/modules/web/src/common/components/resourcelist/secret/template.html b/web/src/common/components/resourcelist/secret/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/secret/template.html rename to web/src/common/components/resourcelist/secret/template.html diff --git a/modules/web/src/common/components/resourcelist/service/component.ts b/web/src/common/components/resourcelist/service/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/service/component.ts rename to web/src/common/components/resourcelist/service/component.ts diff --git a/modules/web/src/common/components/resourcelist/service/template.html b/web/src/common/components/resourcelist/service/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/service/template.html rename to web/src/common/components/resourcelist/service/template.html diff --git a/modules/web/src/common/components/resourcelist/serviceaccount/component.ts b/web/src/common/components/resourcelist/serviceaccount/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/serviceaccount/component.ts rename to web/src/common/components/resourcelist/serviceaccount/component.ts diff --git a/modules/web/src/common/components/resourcelist/serviceaccount/template.html b/web/src/common/components/resourcelist/serviceaccount/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/serviceaccount/template.html rename to web/src/common/components/resourcelist/serviceaccount/template.html diff --git a/modules/web/src/common/components/resourcelist/statefulset/component.ts b/web/src/common/components/resourcelist/statefulset/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/statefulset/component.ts rename to web/src/common/components/resourcelist/statefulset/component.ts diff --git a/modules/web/src/common/components/resourcelist/statefulset/template.html b/web/src/common/components/resourcelist/statefulset/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/statefulset/template.html rename to web/src/common/components/resourcelist/statefulset/template.html diff --git a/modules/web/src/common/components/resourcelist/statuses.ts b/web/src/common/components/resourcelist/statuses.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/statuses.ts rename to web/src/common/components/resourcelist/statuses.ts diff --git a/modules/web/src/common/components/resourcelist/storageclass/component.ts b/web/src/common/components/resourcelist/storageclass/component.ts similarity index 100% rename from modules/web/src/common/components/resourcelist/storageclass/component.ts rename to web/src/common/components/resourcelist/storageclass/component.ts diff --git a/modules/web/src/common/components/resourcelist/storageclass/template.html b/web/src/common/components/resourcelist/storageclass/template.html similarity index 100% rename from modules/web/src/common/components/resourcelist/storageclass/template.html rename to web/src/common/components/resourcelist/storageclass/template.html diff --git a/modules/web/src/common/components/securitycontext/component.ts b/web/src/common/components/securitycontext/component.ts similarity index 100% rename from modules/web/src/common/components/securitycontext/component.ts rename to web/src/common/components/securitycontext/component.ts diff --git a/modules/web/src/common/components/securitycontext/template.html b/web/src/common/components/securitycontext/template.html similarity index 100% rename from modules/web/src/common/components/securitycontext/template.html rename to web/src/common/components/securitycontext/template.html diff --git a/modules/web/src/common/components/sparkline/cpu/component.ts b/web/src/common/components/sparkline/cpu/component.ts similarity index 100% rename from modules/web/src/common/components/sparkline/cpu/component.ts rename to web/src/common/components/sparkline/cpu/component.ts diff --git a/modules/web/src/common/components/sparkline/cpu/template.html b/web/src/common/components/sparkline/cpu/template.html similarity index 100% rename from modules/web/src/common/components/sparkline/cpu/template.html rename to web/src/common/components/sparkline/cpu/template.html diff --git a/modules/web/src/common/components/sparkline/memory/component.ts b/web/src/common/components/sparkline/memory/component.ts similarity index 100% rename from modules/web/src/common/components/sparkline/memory/component.ts rename to web/src/common/components/sparkline/memory/component.ts diff --git a/modules/web/src/common/components/sparkline/memory/template.html b/web/src/common/components/sparkline/memory/template.html similarity index 100% rename from modules/web/src/common/components/sparkline/memory/template.html rename to web/src/common/components/sparkline/memory/template.html diff --git a/modules/web/src/common/components/sparkline/sparkline.ts b/web/src/common/components/sparkline/sparkline.ts similarity index 100% rename from modules/web/src/common/components/sparkline/sparkline.ts rename to web/src/common/components/sparkline/sparkline.ts diff --git a/modules/web/src/common/components/subject/component.ts b/web/src/common/components/subject/component.ts similarity index 100% rename from modules/web/src/common/components/subject/component.ts rename to web/src/common/components/subject/component.ts diff --git a/modules/web/src/common/components/subject/template.html b/web/src/common/components/subject/template.html similarity index 100% rename from modules/web/src/common/components/subject/template.html rename to web/src/common/components/subject/template.html diff --git a/modules/web/src/common/components/textinput/component.ts b/web/src/common/components/textinput/component.ts similarity index 100% rename from modules/web/src/common/components/textinput/component.ts rename to web/src/common/components/textinput/component.ts diff --git a/modules/web/src/common/components/textinput/style.scss b/web/src/common/components/textinput/style.scss similarity index 100% rename from modules/web/src/common/components/textinput/style.scss rename to web/src/common/components/textinput/style.scss diff --git a/modules/web/src/common/components/textinput/template.html b/web/src/common/components/textinput/template.html similarity index 100% rename from modules/web/src/common/components/textinput/template.html rename to web/src/common/components/textinput/template.html diff --git a/modules/web/src/common/components/uploadfile/component.ts b/web/src/common/components/uploadfile/component.ts similarity index 100% rename from modules/web/src/common/components/uploadfile/component.ts rename to web/src/common/components/uploadfile/component.ts diff --git a/modules/web/src/common/components/uploadfile/style.scss b/web/src/common/components/uploadfile/style.scss similarity index 100% rename from modules/web/src/common/components/uploadfile/style.scss rename to web/src/common/components/uploadfile/style.scss diff --git a/modules/web/src/common/components/uploadfile/template.html b/web/src/common/components/uploadfile/template.html similarity index 100% rename from modules/web/src/common/components/uploadfile/template.html rename to web/src/common/components/uploadfile/template.html diff --git a/modules/web/src/common/components/volumemount/component.ts b/web/src/common/components/volumemount/component.ts similarity index 100% rename from modules/web/src/common/components/volumemount/component.ts rename to web/src/common/components/volumemount/component.ts diff --git a/modules/web/src/common/components/volumemount/template.html b/web/src/common/components/volumemount/template.html similarity index 100% rename from modules/web/src/common/components/volumemount/template.html rename to web/src/common/components/volumemount/template.html diff --git a/modules/web/src/common/components/workloadstatus/component.spec.ts b/web/src/common/components/workloadstatus/component.spec.ts similarity index 100% rename from modules/web/src/common/components/workloadstatus/component.spec.ts rename to web/src/common/components/workloadstatus/component.spec.ts diff --git a/modules/web/src/common/components/workloadstatus/component.ts b/web/src/common/components/workloadstatus/component.ts similarity index 100% rename from modules/web/src/common/components/workloadstatus/component.ts rename to web/src/common/components/workloadstatus/component.ts diff --git a/modules/web/src/common/components/workloadstatus/style.scss b/web/src/common/components/workloadstatus/style.scss similarity index 100% rename from modules/web/src/common/components/workloadstatus/style.scss rename to web/src/common/components/workloadstatus/style.scss diff --git a/modules/web/src/common/components/workloadstatus/template.html b/web/src/common/components/workloadstatus/template.html similarity index 100% rename from modules/web/src/common/components/workloadstatus/template.html rename to web/src/common/components/workloadstatus/template.html diff --git a/modules/web/src/common/components/zerostate/component.ts b/web/src/common/components/zerostate/component.ts similarity index 100% rename from modules/web/src/common/components/zerostate/component.ts rename to web/src/common/components/zerostate/component.ts diff --git a/modules/web/src/common/components/zerostate/style.scss b/web/src/common/components/zerostate/style.scss similarity index 100% rename from modules/web/src/common/components/zerostate/style.scss rename to web/src/common/components/zerostate/style.scss diff --git a/modules/web/src/common/components/zerostate/template.html b/web/src/common/components/zerostate/template.html similarity index 100% rename from modules/web/src/common/components/zerostate/template.html rename to web/src/common/components/zerostate/template.html diff --git a/modules/web/src/common/dialogs/alert/dialog.ts b/web/src/common/dialogs/alert/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/alert/dialog.ts rename to web/src/common/dialogs/alert/dialog.ts diff --git a/modules/web/src/common/dialogs/alert/template.html b/web/src/common/dialogs/alert/template.html similarity index 100% rename from modules/web/src/common/dialogs/alert/template.html rename to web/src/common/dialogs/alert/template.html diff --git a/modules/web/src/common/dialogs/config/dialog.ts b/web/src/common/dialogs/config/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/config/dialog.ts rename to web/src/common/dialogs/config/dialog.ts diff --git a/modules/web/src/common/dialogs/config/template.html b/web/src/common/dialogs/config/template.html similarity index 100% rename from modules/web/src/common/dialogs/config/template.html rename to web/src/common/dialogs/config/template.html diff --git a/modules/web/src/common/dialogs/deleteresource/dialog.ts b/web/src/common/dialogs/deleteresource/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/deleteresource/dialog.ts rename to web/src/common/dialogs/deleteresource/dialog.ts diff --git a/modules/web/src/common/dialogs/deleteresource/template.html b/web/src/common/dialogs/deleteresource/template.html similarity index 100% rename from modules/web/src/common/dialogs/deleteresource/template.html rename to web/src/common/dialogs/deleteresource/template.html diff --git a/modules/web/src/common/dialogs/download/dialog.ts b/web/src/common/dialogs/download/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/download/dialog.ts rename to web/src/common/dialogs/download/dialog.ts diff --git a/modules/web/src/common/dialogs/download/style.scss b/web/src/common/dialogs/download/style.scss similarity index 100% rename from modules/web/src/common/dialogs/download/style.scss rename to web/src/common/dialogs/download/style.scss diff --git a/modules/web/src/common/dialogs/download/template.html b/web/src/common/dialogs/download/template.html similarity index 100% rename from modules/web/src/common/dialogs/download/template.html rename to web/src/common/dialogs/download/template.html diff --git a/modules/web/src/common/dialogs/editresource/dialog.ts b/web/src/common/dialogs/editresource/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/editresource/dialog.ts rename to web/src/common/dialogs/editresource/dialog.ts diff --git a/modules/web/src/common/dialogs/editresource/template.html b/web/src/common/dialogs/editresource/template.html similarity index 100% rename from modules/web/src/common/dialogs/editresource/template.html rename to web/src/common/dialogs/editresource/template.html diff --git a/modules/web/src/common/dialogs/module.ts b/web/src/common/dialogs/module.ts similarity index 100% rename from modules/web/src/common/dialogs/module.ts rename to web/src/common/dialogs/module.ts diff --git a/modules/web/src/common/dialogs/previewdeployment/dialog.ts b/web/src/common/dialogs/previewdeployment/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/previewdeployment/dialog.ts rename to web/src/common/dialogs/previewdeployment/dialog.ts diff --git a/modules/web/src/common/dialogs/previewdeployment/template.html b/web/src/common/dialogs/previewdeployment/template.html similarity index 100% rename from modules/web/src/common/dialogs/previewdeployment/template.html rename to web/src/common/dialogs/previewdeployment/template.html diff --git a/modules/web/src/common/dialogs/restartresource/dialog.ts b/web/src/common/dialogs/restartresource/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/restartresource/dialog.ts rename to web/src/common/dialogs/restartresource/dialog.ts diff --git a/modules/web/src/common/dialogs/restartresource/template.html b/web/src/common/dialogs/restartresource/template.html similarity index 100% rename from modules/web/src/common/dialogs/restartresource/template.html rename to web/src/common/dialogs/restartresource/template.html diff --git a/modules/web/src/common/dialogs/scaleresource/dialog.ts b/web/src/common/dialogs/scaleresource/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/scaleresource/dialog.ts rename to web/src/common/dialogs/scaleresource/dialog.ts diff --git a/modules/web/src/common/dialogs/scaleresource/template.html b/web/src/common/dialogs/scaleresource/template.html similarity index 100% rename from modules/web/src/common/dialogs/scaleresource/template.html rename to web/src/common/dialogs/scaleresource/template.html diff --git a/modules/web/src/common/dialogs/triggerresource/dialog.ts b/web/src/common/dialogs/triggerresource/dialog.ts similarity index 100% rename from modules/web/src/common/dialogs/triggerresource/dialog.ts rename to web/src/common/dialogs/triggerresource/dialog.ts diff --git a/modules/web/src/common/dialogs/triggerresource/template.html b/web/src/common/dialogs/triggerresource/template.html similarity index 100% rename from modules/web/src/common/dialogs/triggerresource/template.html rename to web/src/common/dialogs/triggerresource/template.html diff --git a/modules/web/src/common/directives/autofocus/directive.ts b/web/src/common/directives/autofocus/directive.ts similarity index 100% rename from modules/web/src/common/directives/autofocus/directive.ts rename to web/src/common/directives/autofocus/directive.ts diff --git a/modules/web/src/common/directives/module.ts b/web/src/common/directives/module.ts similarity index 100% rename from modules/web/src/common/directives/module.ts rename to web/src/common/directives/module.ts diff --git a/modules/web/src/common/errors/errors.ts b/web/src/common/errors/errors.ts similarity index 100% rename from modules/web/src/common/errors/errors.ts rename to web/src/common/errors/errors.ts diff --git a/modules/web/src/common/interfaces/candeactivate.ts b/web/src/common/interfaces/candeactivate.ts similarity index 100% rename from modules/web/src/common/interfaces/candeactivate.ts rename to web/src/common/interfaces/candeactivate.ts diff --git a/modules/web/src/common/params/params.ts b/web/src/common/params/params.ts similarity index 100% rename from modules/web/src/common/params/params.ts rename to web/src/common/params/params.ts diff --git a/modules/web/src/common/pipes/commaseparated.ts b/web/src/common/pipes/commaseparated.ts similarity index 100% rename from modules/web/src/common/pipes/commaseparated.ts rename to web/src/common/pipes/commaseparated.ts diff --git a/modules/web/src/common/pipes/coreformatter.spec.ts b/web/src/common/pipes/coreformatter.spec.ts similarity index 100% rename from modules/web/src/common/pipes/coreformatter.spec.ts rename to web/src/common/pipes/coreformatter.spec.ts diff --git a/modules/web/src/common/pipes/coreformatter.ts b/web/src/common/pipes/coreformatter.ts similarity index 100% rename from modules/web/src/common/pipes/coreformatter.ts rename to web/src/common/pipes/coreformatter.ts diff --git a/modules/web/src/common/pipes/filterby.ts b/web/src/common/pipes/filterby.ts similarity index 100% rename from modules/web/src/common/pipes/filterby.ts rename to web/src/common/pipes/filterby.ts diff --git a/modules/web/src/common/pipes/memoryformatter.spec.ts b/web/src/common/pipes/memoryformatter.spec.ts similarity index 100% rename from modules/web/src/common/pipes/memoryformatter.spec.ts rename to web/src/common/pipes/memoryformatter.spec.ts diff --git a/modules/web/src/common/pipes/memoryformatter.ts b/web/src/common/pipes/memoryformatter.ts similarity index 100% rename from modules/web/src/common/pipes/memoryformatter.ts rename to web/src/common/pipes/memoryformatter.ts diff --git a/modules/web/src/common/pipes/module.ts b/web/src/common/pipes/module.ts similarity index 100% rename from modules/web/src/common/pipes/module.ts rename to web/src/common/pipes/module.ts diff --git a/modules/web/src/common/pipes/relativetime.ts b/web/src/common/pipes/relativetime.ts similarity index 100% rename from modules/web/src/common/pipes/relativetime.ts rename to web/src/common/pipes/relativetime.ts diff --git a/modules/web/src/common/pipes/stripansi.ts b/web/src/common/pipes/stripansi.ts similarity index 100% rename from modules/web/src/common/pipes/stripansi.ts rename to web/src/common/pipes/stripansi.ts diff --git a/modules/web/src/common/pipes/trim.ts b/web/src/common/pipes/trim.ts similarity index 100% rename from modules/web/src/common/pipes/trim.ts rename to web/src/common/pipes/trim.ts diff --git a/modules/web/src/common/pipes/untrim.ts b/web/src/common/pipes/untrim.ts similarity index 100% rename from modules/web/src/common/pipes/untrim.ts rename to web/src/common/pipes/untrim.ts diff --git a/modules/web/src/common/resources/groupedlist.ts b/web/src/common/resources/groupedlist.ts similarity index 100% rename from modules/web/src/common/resources/groupedlist.ts rename to web/src/common/resources/groupedlist.ts diff --git a/modules/web/src/common/resources/list.ts b/web/src/common/resources/list.ts similarity index 100% rename from modules/web/src/common/resources/list.ts rename to web/src/common/resources/list.ts diff --git a/modules/web/src/common/resources/rawresource.ts b/web/src/common/resources/rawresource.ts similarity index 100% rename from modules/web/src/common/resources/rawresource.ts rename to web/src/common/resources/rawresource.ts diff --git a/modules/web/src/common/resources/resource.ts b/web/src/common/resources/resource.ts similarity index 100% rename from modules/web/src/common/resources/resource.ts rename to web/src/common/resources/resource.ts diff --git a/modules/web/src/common/services/create/module.ts b/web/src/common/services/create/module.ts similarity index 100% rename from modules/web/src/common/services/create/module.ts rename to web/src/common/services/create/module.ts diff --git a/modules/web/src/common/services/create/service.ts b/web/src/common/services/create/service.ts similarity index 100% rename from modules/web/src/common/services/create/service.ts rename to web/src/common/services/create/service.ts diff --git a/modules/web/src/common/services/global/actionbar.ts b/web/src/common/services/global/actionbar.ts similarity index 100% rename from modules/web/src/common/services/global/actionbar.ts rename to web/src/common/services/global/actionbar.ts diff --git a/modules/web/src/common/services/global/assets.ts b/web/src/common/services/global/assets.ts similarity index 100% rename from modules/web/src/common/services/global/assets.ts rename to web/src/common/services/global/assets.ts diff --git a/modules/web/src/common/services/global/authentication.ts b/web/src/common/services/global/authentication.ts similarity index 100% rename from modules/web/src/common/services/global/authentication.ts rename to web/src/common/services/global/authentication.ts diff --git a/modules/web/src/common/services/global/authorizer.ts b/web/src/common/services/global/authorizer.ts similarity index 100% rename from modules/web/src/common/services/global/authorizer.ts rename to web/src/common/services/global/authorizer.ts diff --git a/modules/web/src/common/services/global/config.ts b/web/src/common/services/global/config.ts similarity index 100% rename from modules/web/src/common/services/global/config.ts rename to web/src/common/services/global/config.ts diff --git a/modules/web/src/common/services/global/csrftoken.ts b/web/src/common/services/global/csrftoken.ts similarity index 100% rename from modules/web/src/common/services/global/csrftoken.ts rename to web/src/common/services/global/csrftoken.ts diff --git a/modules/web/src/common/services/global/decoder.ts b/web/src/common/services/global/decoder.ts similarity index 100% rename from modules/web/src/common/services/global/decoder.ts rename to web/src/common/services/global/decoder.ts diff --git a/modules/web/src/common/services/global/globalsettings.ts b/web/src/common/services/global/globalsettings.ts similarity index 100% rename from modules/web/src/common/services/global/globalsettings.ts rename to web/src/common/services/global/globalsettings.ts diff --git a/modules/web/src/common/services/global/history.ts b/web/src/common/services/global/history.ts similarity index 100% rename from modules/web/src/common/services/global/history.ts rename to web/src/common/services/global/history.ts diff --git a/modules/web/src/common/services/global/interceptor.ts b/web/src/common/services/global/interceptor.ts similarity index 100% rename from modules/web/src/common/services/global/interceptor.ts rename to web/src/common/services/global/interceptor.ts diff --git a/modules/web/src/common/services/global/loader.ts b/web/src/common/services/global/loader.ts similarity index 100% rename from modules/web/src/common/services/global/loader.ts rename to web/src/common/services/global/loader.ts diff --git a/modules/web/src/common/services/global/localsettings.ts b/web/src/common/services/global/localsettings.ts similarity index 100% rename from modules/web/src/common/services/global/localsettings.ts rename to web/src/common/services/global/localsettings.ts diff --git a/modules/web/src/common/services/global/logs.ts b/web/src/common/services/global/logs.ts similarity index 100% rename from modules/web/src/common/services/global/logs.ts rename to web/src/common/services/global/logs.ts diff --git a/modules/web/src/common/services/global/module.ts b/web/src/common/services/global/module.ts similarity index 100% rename from modules/web/src/common/services/global/module.ts rename to web/src/common/services/global/module.ts diff --git a/modules/web/src/common/services/global/namespace.ts b/web/src/common/services/global/namespace.ts similarity index 100% rename from modules/web/src/common/services/global/namespace.ts rename to web/src/common/services/global/namespace.ts diff --git a/modules/web/src/common/services/global/notifications.ts b/web/src/common/services/global/notifications.ts similarity index 100% rename from modules/web/src/common/services/global/notifications.ts rename to web/src/common/services/global/notifications.ts diff --git a/modules/web/src/common/services/global/params.ts b/web/src/common/services/global/params.ts similarity index 100% rename from modules/web/src/common/services/global/params.ts rename to web/src/common/services/global/params.ts diff --git a/modules/web/src/common/services/global/pinner.ts b/web/src/common/services/global/pinner.ts similarity index 100% rename from modules/web/src/common/services/global/pinner.ts rename to web/src/common/services/global/pinner.ts diff --git a/modules/web/src/common/services/global/plugin.ts b/web/src/common/services/global/plugin.ts similarity index 100% rename from modules/web/src/common/services/global/plugin.ts rename to web/src/common/services/global/plugin.ts diff --git a/modules/web/src/common/services/global/state.ts b/web/src/common/services/global/state.ts similarity index 100% rename from modules/web/src/common/services/global/state.ts rename to web/src/common/services/global/state.ts diff --git a/modules/web/src/common/services/global/theme.ts b/web/src/common/services/global/theme.ts similarity index 100% rename from modules/web/src/common/services/global/theme.ts rename to web/src/common/services/global/theme.ts diff --git a/modules/web/src/common/services/global/title.ts b/web/src/common/services/global/title.ts similarity index 100% rename from modules/web/src/common/services/global/title.ts rename to web/src/common/services/global/title.ts diff --git a/modules/web/src/common/services/global/verber.ts b/web/src/common/services/global/verber.ts similarity index 100% rename from modules/web/src/common/services/global/verber.ts rename to web/src/common/services/global/verber.ts diff --git a/modules/web/src/common/services/guard/auth.ts b/web/src/common/services/guard/auth.ts similarity index 100% rename from modules/web/src/common/services/guard/auth.ts rename to web/src/common/services/guard/auth.ts diff --git a/modules/web/src/common/services/guard/candeactivate.ts b/web/src/common/services/guard/candeactivate.ts similarity index 100% rename from modules/web/src/common/services/guard/candeactivate.ts rename to web/src/common/services/guard/candeactivate.ts diff --git a/modules/web/src/common/services/guard/login.ts b/web/src/common/services/guard/login.ts similarity index 100% rename from modules/web/src/common/services/guard/login.ts rename to web/src/common/services/guard/login.ts diff --git a/modules/web/src/common/services/guard/module.ts b/web/src/common/services/guard/module.ts similarity index 100% rename from modules/web/src/common/services/guard/module.ts rename to web/src/common/services/guard/module.ts diff --git a/modules/web/src/common/services/guard/search.ts b/web/src/common/services/guard/search.ts similarity index 100% rename from modules/web/src/common/services/guard/search.ts rename to web/src/common/services/guard/search.ts diff --git a/modules/web/src/common/services/nav/module.ts b/web/src/common/services/nav/module.ts similarity index 100% rename from modules/web/src/common/services/nav/module.ts rename to web/src/common/services/nav/module.ts diff --git a/modules/web/src/common/services/nav/service.ts b/web/src/common/services/nav/service.ts similarity index 100% rename from modules/web/src/common/services/nav/service.ts rename to web/src/common/services/nav/service.ts diff --git a/modules/web/src/common/services/pluginloader/clientloader.service.ts b/web/src/common/services/pluginloader/clientloader.service.ts similarity index 100% rename from modules/web/src/common/services/pluginloader/clientloader.service.ts rename to web/src/common/services/pluginloader/clientloader.service.ts diff --git a/modules/web/src/common/services/pluginloader/pluginexternals.ts b/web/src/common/services/pluginloader/pluginexternals.ts similarity index 100% rename from modules/web/src/common/services/pluginloader/pluginexternals.ts rename to web/src/common/services/pluginloader/pluginexternals.ts diff --git a/modules/web/src/common/services/pluginloader/pluginloader.service.ts b/web/src/common/services/pluginloader/pluginloader.service.ts similarity index 100% rename from modules/web/src/common/services/pluginloader/pluginloader.service.ts rename to web/src/common/services/pluginloader/pluginloader.service.ts diff --git a/modules/web/src/common/services/resource/endpoint.ts b/web/src/common/services/resource/endpoint.ts similarity index 100% rename from modules/web/src/common/services/resource/endpoint.ts rename to web/src/common/services/resource/endpoint.ts diff --git a/modules/web/src/common/services/resource/module.ts b/web/src/common/services/resource/module.ts similarity index 100% rename from modules/web/src/common/services/resource/module.ts rename to web/src/common/services/resource/module.ts diff --git a/modules/web/src/common/services/resource/resource.ts b/web/src/common/services/resource/resource.ts similarity index 100% rename from modules/web/src/common/services/resource/resource.ts rename to web/src/common/services/resource/resource.ts diff --git a/modules/web/src/common/services/resource/utility.ts b/web/src/common/services/resource/utility.ts similarity index 100% rename from modules/web/src/common/services/resource/utility.ts rename to web/src/common/services/resource/utility.ts diff --git a/modules/web/src/core.module.ts b/web/src/core.module.ts similarity index 100% rename from modules/web/src/core.module.ts rename to web/src/core.module.ts diff --git a/modules/web/src/crd/crdobject/component.ts b/web/src/crd/crdobject/component.ts similarity index 100% rename from modules/web/src/crd/crdobject/component.ts rename to web/src/crd/crdobject/component.ts diff --git a/modules/web/src/crd/crdobject/template.html b/web/src/crd/crdobject/template.html similarity index 100% rename from modules/web/src/crd/crdobject/template.html rename to web/src/crd/crdobject/template.html diff --git a/modules/web/src/crd/detail/component.ts b/web/src/crd/detail/component.ts similarity index 100% rename from modules/web/src/crd/detail/component.ts rename to web/src/crd/detail/component.ts diff --git a/modules/web/src/crd/detail/template.html b/web/src/crd/detail/template.html similarity index 100% rename from modules/web/src/crd/detail/template.html rename to web/src/crd/detail/template.html diff --git a/modules/web/src/crd/list/component.ts b/web/src/crd/list/component.ts similarity index 100% rename from modules/web/src/crd/list/component.ts rename to web/src/crd/list/component.ts diff --git a/modules/web/src/crd/module.ts b/web/src/crd/module.ts similarity index 100% rename from modules/web/src/crd/module.ts rename to web/src/crd/module.ts diff --git a/modules/web/src/crd/routing.ts b/web/src/crd/routing.ts similarity index 100% rename from modules/web/src/crd/routing.ts rename to web/src/crd/routing.ts diff --git a/modules/web/src/create/component.ts b/web/src/create/component.ts similarity index 100% rename from modules/web/src/create/component.ts rename to web/src/create/component.ts diff --git a/modules/web/src/create/from/file/component.ts b/web/src/create/from/file/component.ts similarity index 100% rename from modules/web/src/create/from/file/component.ts rename to web/src/create/from/file/component.ts diff --git a/modules/web/src/create/from/file/style.scss b/web/src/create/from/file/style.scss similarity index 100% rename from modules/web/src/create/from/file/style.scss rename to web/src/create/from/file/style.scss diff --git a/modules/web/src/create/from/file/template.html b/web/src/create/from/file/template.html similarity index 100% rename from modules/web/src/create/from/file/template.html rename to web/src/create/from/file/template.html diff --git a/modules/web/src/create/from/form/component.ts b/web/src/create/from/form/component.ts similarity index 100% rename from modules/web/src/create/from/form/component.ts rename to web/src/create/from/form/component.ts diff --git a/modules/web/src/create/from/form/createnamespace/dialog.ts b/web/src/create/from/form/createnamespace/dialog.ts similarity index 100% rename from modules/web/src/create/from/form/createnamespace/dialog.ts rename to web/src/create/from/form/createnamespace/dialog.ts diff --git a/modules/web/src/create/from/form/createnamespace/template.html b/web/src/create/from/form/createnamespace/template.html similarity index 100% rename from modules/web/src/create/from/form/createnamespace/template.html rename to web/src/create/from/form/createnamespace/template.html diff --git a/modules/web/src/create/from/form/createsecret/dialog.ts b/web/src/create/from/form/createsecret/dialog.ts similarity index 100% rename from modules/web/src/create/from/form/createsecret/dialog.ts rename to web/src/create/from/form/createsecret/dialog.ts diff --git a/modules/web/src/create/from/form/createsecret/template.html b/web/src/create/from/form/createsecret/template.html similarity index 100% rename from modules/web/src/create/from/form/createsecret/template.html rename to web/src/create/from/form/createsecret/template.html diff --git a/modules/web/src/create/from/form/deploylabel/component.ts b/web/src/create/from/form/deploylabel/component.ts similarity index 100% rename from modules/web/src/create/from/form/deploylabel/component.ts rename to web/src/create/from/form/deploylabel/component.ts diff --git a/modules/web/src/create/from/form/deploylabel/deploylabel.ts b/web/src/create/from/form/deploylabel/deploylabel.ts similarity index 100% rename from modules/web/src/create/from/form/deploylabel/deploylabel.ts rename to web/src/create/from/form/deploylabel/deploylabel.ts diff --git a/modules/web/src/create/from/form/deploylabel/template.html b/web/src/create/from/form/deploylabel/template.html similarity index 100% rename from modules/web/src/create/from/form/deploylabel/template.html rename to web/src/create/from/form/deploylabel/template.html diff --git a/modules/web/src/create/from/form/environmentvariables/component.ts b/web/src/create/from/form/environmentvariables/component.ts similarity index 100% rename from modules/web/src/create/from/form/environmentvariables/component.ts rename to web/src/create/from/form/environmentvariables/component.ts diff --git a/modules/web/src/create/from/form/environmentvariables/template.html b/web/src/create/from/form/environmentvariables/template.html similarity index 100% rename from modules/web/src/create/from/form/environmentvariables/template.html rename to web/src/create/from/form/environmentvariables/template.html diff --git a/modules/web/src/create/from/form/helpsection/component.ts b/web/src/create/from/form/helpsection/component.ts similarity index 100% rename from modules/web/src/create/from/form/helpsection/component.ts rename to web/src/create/from/form/helpsection/component.ts diff --git a/modules/web/src/create/from/form/helpsection/style.scss b/web/src/create/from/form/helpsection/style.scss similarity index 100% rename from modules/web/src/create/from/form/helpsection/style.scss rename to web/src/create/from/form/helpsection/style.scss diff --git a/modules/web/src/create/from/form/helpsection/template.html b/web/src/create/from/form/helpsection/template.html similarity index 100% rename from modules/web/src/create/from/form/helpsection/template.html rename to web/src/create/from/form/helpsection/template.html diff --git a/modules/web/src/create/from/form/helpsection/userhelp/component.ts b/web/src/create/from/form/helpsection/userhelp/component.ts similarity index 100% rename from modules/web/src/create/from/form/helpsection/userhelp/component.ts rename to web/src/create/from/form/helpsection/userhelp/component.ts diff --git a/modules/web/src/create/from/form/helpsection/userhelp/style.scss b/web/src/create/from/form/helpsection/userhelp/style.scss similarity index 100% rename from modules/web/src/create/from/form/helpsection/userhelp/style.scss rename to web/src/create/from/form/helpsection/userhelp/style.scss diff --git a/modules/web/src/create/from/form/helpsection/userhelp/template.html b/web/src/create/from/form/helpsection/userhelp/template.html similarity index 100% rename from modules/web/src/create/from/form/helpsection/userhelp/template.html rename to web/src/create/from/form/helpsection/userhelp/template.html diff --git a/modules/web/src/create/from/form/module.ts b/web/src/create/from/form/module.ts similarity index 100% rename from modules/web/src/create/from/form/module.ts rename to web/src/create/from/form/module.ts diff --git a/modules/web/src/create/from/form/portmappings/component.ts b/web/src/create/from/form/portmappings/component.ts similarity index 100% rename from modules/web/src/create/from/form/portmappings/component.ts rename to web/src/create/from/form/portmappings/component.ts diff --git a/modules/web/src/create/from/form/portmappings/style.scss b/web/src/create/from/form/portmappings/style.scss similarity index 100% rename from modules/web/src/create/from/form/portmappings/style.scss rename to web/src/create/from/form/portmappings/style.scss diff --git a/modules/web/src/create/from/form/portmappings/template.html b/web/src/create/from/form/portmappings/template.html similarity index 100% rename from modules/web/src/create/from/form/portmappings/template.html rename to web/src/create/from/form/portmappings/template.html diff --git a/modules/web/src/create/from/form/style.scss b/web/src/create/from/form/style.scss similarity index 100% rename from modules/web/src/create/from/form/style.scss rename to web/src/create/from/form/style.scss diff --git a/modules/web/src/create/from/form/template.html b/web/src/create/from/form/template.html similarity index 100% rename from modules/web/src/create/from/form/template.html rename to web/src/create/from/form/template.html diff --git a/modules/web/src/create/from/form/validator/uniquename.validator.ts b/web/src/create/from/form/validator/uniquename.validator.ts similarity index 100% rename from modules/web/src/create/from/form/validator/uniquename.validator.ts rename to web/src/create/from/form/validator/uniquename.validator.ts diff --git a/modules/web/src/create/from/form/validator/validators.ts b/web/src/create/from/form/validator/validators.ts similarity index 100% rename from modules/web/src/create/from/form/validator/validators.ts rename to web/src/create/from/form/validator/validators.ts diff --git a/modules/web/src/create/from/form/validator/validimagereference.validator.ts b/web/src/create/from/form/validator/validimagereference.validator.ts similarity index 100% rename from modules/web/src/create/from/form/validator/validimagereference.validator.ts rename to web/src/create/from/form/validator/validimagereference.validator.ts diff --git a/modules/web/src/create/from/form/validator/validprotocol.validator.ts b/web/src/create/from/form/validator/validprotocol.validator.ts similarity index 100% rename from modules/web/src/create/from/form/validator/validprotocol.validator.ts rename to web/src/create/from/form/validator/validprotocol.validator.ts diff --git a/modules/web/src/create/from/form/validator/warnthreshold.validator.ts b/web/src/create/from/form/validator/warnthreshold.validator.ts similarity index 100% rename from modules/web/src/create/from/form/validator/warnthreshold.validator.ts rename to web/src/create/from/form/validator/warnthreshold.validator.ts diff --git a/modules/web/src/create/from/input/component.ts b/web/src/create/from/input/component.ts similarity index 100% rename from modules/web/src/create/from/input/component.ts rename to web/src/create/from/input/component.ts diff --git a/modules/web/src/create/from/input/style.scss b/web/src/create/from/input/style.scss similarity index 100% rename from modules/web/src/create/from/input/style.scss rename to web/src/create/from/input/style.scss diff --git a/modules/web/src/create/from/input/template.html b/web/src/create/from/input/template.html similarity index 100% rename from modules/web/src/create/from/input/template.html rename to web/src/create/from/input/template.html diff --git a/modules/web/src/create/module.ts b/web/src/create/module.ts similarity index 100% rename from modules/web/src/create/module.ts rename to web/src/create/module.ts diff --git a/modules/web/src/create/routing.ts b/web/src/create/routing.ts similarity index 100% rename from modules/web/src/create/routing.ts rename to web/src/create/routing.ts diff --git a/modules/web/src/create/style.scss b/web/src/create/style.scss similarity index 100% rename from modules/web/src/create/style.scss rename to web/src/create/style.scss diff --git a/modules/web/src/create/template.html b/web/src/create/template.html similarity index 100% rename from modules/web/src/create/template.html rename to web/src/create/template.html diff --git a/modules/web/src/environments/environment.prod.ts b/web/src/environments/environment.prod.ts similarity index 100% rename from modules/web/src/environments/environment.prod.ts rename to web/src/environments/environment.prod.ts diff --git a/modules/web/src/environments/environment.ts b/web/src/environments/environment.ts similarity index 100% rename from modules/web/src/environments/environment.ts rename to web/src/environments/environment.ts diff --git a/modules/web/src/error/component.ts b/web/src/error/component.ts similarity index 100% rename from modules/web/src/error/component.ts rename to web/src/error/component.ts diff --git a/modules/web/src/error/handler.ts b/web/src/error/handler.ts similarity index 100% rename from modules/web/src/error/handler.ts rename to web/src/error/handler.ts diff --git a/modules/web/src/error/module.ts b/web/src/error/module.ts similarity index 100% rename from modules/web/src/error/module.ts rename to web/src/error/module.ts diff --git a/modules/web/src/error/routing.ts b/web/src/error/routing.ts similarity index 100% rename from modules/web/src/error/routing.ts rename to web/src/error/routing.ts diff --git a/modules/web/src/error/style.scss b/web/src/error/style.scss similarity index 100% rename from modules/web/src/error/style.scss rename to web/src/error/style.scss diff --git a/modules/web/src/error/template.html b/web/src/error/template.html similarity index 100% rename from modules/web/src/error/template.html rename to web/src/error/template.html diff --git a/modules/web/src/index.component.ts b/web/src/index.component.ts similarity index 100% rename from modules/web/src/index.component.ts rename to web/src/index.component.ts diff --git a/modules/web/src/index.config.ts b/web/src/index.config.ts similarity index 100% rename from modules/web/src/index.config.ts rename to web/src/index.config.ts diff --git a/modules/web/src/index.html b/web/src/index.html similarity index 100% rename from modules/web/src/index.html rename to web/src/index.html diff --git a/modules/web/src/index.messages.ts b/web/src/index.messages.ts similarity index 100% rename from modules/web/src/index.messages.ts rename to web/src/index.messages.ts diff --git a/modules/web/src/index.module.ts b/web/src/index.module.ts similarity index 100% rename from modules/web/src/index.module.ts rename to web/src/index.module.ts diff --git a/modules/web/src/index.routing.ts b/web/src/index.routing.ts similarity index 100% rename from modules/web/src/index.routing.ts rename to web/src/index.routing.ts diff --git a/modules/web/src/index.scss b/web/src/index.scss similarity index 100% rename from modules/web/src/index.scss rename to web/src/index.scss diff --git a/modules/web/src/index.ts b/web/src/index.ts similarity index 100% rename from modules/web/src/index.ts rename to web/src/index.ts diff --git a/modules/web/src/login/component.spec.ts b/web/src/login/component.spec.ts similarity index 100% rename from modules/web/src/login/component.spec.ts rename to web/src/login/component.spec.ts diff --git a/modules/web/src/login/component.ts b/web/src/login/component.ts similarity index 100% rename from modules/web/src/login/component.ts rename to web/src/login/component.ts diff --git a/modules/web/src/login/module.ts b/web/src/login/module.ts similarity index 100% rename from modules/web/src/login/module.ts rename to web/src/login/module.ts diff --git a/modules/web/src/login/style.scss b/web/src/login/style.scss similarity index 100% rename from modules/web/src/login/style.scss rename to web/src/login/style.scss diff --git a/modules/web/src/login/template.html b/web/src/login/template.html similarity index 100% rename from modules/web/src/login/template.html rename to web/src/login/template.html diff --git a/modules/web/src/logs/component.ts b/web/src/logs/component.ts similarity index 100% rename from modules/web/src/logs/component.ts rename to web/src/logs/component.ts diff --git a/modules/web/src/logs/module.ts b/web/src/logs/module.ts similarity index 100% rename from modules/web/src/logs/module.ts rename to web/src/logs/module.ts diff --git a/modules/web/src/logs/routing.ts b/web/src/logs/routing.ts similarity index 100% rename from modules/web/src/logs/routing.ts rename to web/src/logs/routing.ts diff --git a/modules/web/src/logs/style.scss b/web/src/logs/style.scss similarity index 100% rename from modules/web/src/logs/style.scss rename to web/src/logs/style.scss diff --git a/modules/web/src/logs/template.html b/web/src/logs/template.html similarity index 100% rename from modules/web/src/logs/template.html rename to web/src/logs/template.html diff --git a/modules/web/src/overview/component.spec.ts b/web/src/overview/component.spec.ts similarity index 100% rename from modules/web/src/overview/component.spec.ts rename to web/src/overview/component.spec.ts diff --git a/modules/web/src/overview/component.ts b/web/src/overview/component.ts similarity index 100% rename from modules/web/src/overview/component.ts rename to web/src/overview/component.ts diff --git a/modules/web/src/overview/helper.ts b/web/src/overview/helper.ts similarity index 100% rename from modules/web/src/overview/helper.ts rename to web/src/overview/helper.ts diff --git a/modules/web/src/overview/module.ts b/web/src/overview/module.ts similarity index 100% rename from modules/web/src/overview/module.ts rename to web/src/overview/module.ts diff --git a/modules/web/src/overview/routing.ts b/web/src/overview/routing.ts similarity index 100% rename from modules/web/src/overview/routing.ts rename to web/src/overview/routing.ts diff --git a/modules/web/src/overview/template.html b/web/src/overview/template.html similarity index 100% rename from modules/web/src/overview/template.html rename to web/src/overview/template.html diff --git a/modules/web/src/plugin/component.ts b/web/src/plugin/component.ts similarity index 100% rename from modules/web/src/plugin/component.ts rename to web/src/plugin/component.ts diff --git a/modules/web/src/plugin/detail/component.ts b/web/src/plugin/detail/component.ts similarity index 100% rename from modules/web/src/plugin/detail/component.ts rename to web/src/plugin/detail/component.ts diff --git a/modules/web/src/plugin/holder.ts b/web/src/plugin/holder.ts similarity index 100% rename from modules/web/src/plugin/holder.ts rename to web/src/plugin/holder.ts diff --git a/modules/web/src/plugin/list/component.ts b/web/src/plugin/list/component.ts similarity index 100% rename from modules/web/src/plugin/list/component.ts rename to web/src/plugin/list/component.ts diff --git a/modules/web/src/plugin/module.ts b/web/src/plugin/module.ts similarity index 100% rename from modules/web/src/plugin/module.ts rename to web/src/plugin/module.ts diff --git a/modules/web/src/plugin/routing.ts b/web/src/plugin/routing.ts similarity index 100% rename from modules/web/src/plugin/routing.ts rename to web/src/plugin/routing.ts diff --git a/modules/web/src/plugin/template.html b/web/src/plugin/template.html similarity index 100% rename from modules/web/src/plugin/template.html rename to web/src/plugin/template.html diff --git a/modules/web/src/polyfills.ts b/web/src/polyfills.ts similarity index 100% rename from modules/web/src/polyfills.ts rename to web/src/polyfills.ts diff --git a/modules/web/src/resource/cluster/clusterrole/detail/component.ts b/web/src/resource/cluster/clusterrole/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrole/detail/component.ts rename to web/src/resource/cluster/clusterrole/detail/component.ts diff --git a/modules/web/src/resource/cluster/clusterrole/detail/template.html b/web/src/resource/cluster/clusterrole/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/clusterrole/detail/template.html rename to web/src/resource/cluster/clusterrole/detail/template.html diff --git a/modules/web/src/resource/cluster/clusterrole/list/component.ts b/web/src/resource/cluster/clusterrole/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrole/list/component.ts rename to web/src/resource/cluster/clusterrole/list/component.ts diff --git a/modules/web/src/resource/cluster/clusterrole/module.ts b/web/src/resource/cluster/clusterrole/module.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrole/module.ts rename to web/src/resource/cluster/clusterrole/module.ts diff --git a/modules/web/src/resource/cluster/clusterrole/routing.ts b/web/src/resource/cluster/clusterrole/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrole/routing.ts rename to web/src/resource/cluster/clusterrole/routing.ts diff --git a/modules/web/src/resource/cluster/clusterrolebinding/detail/component.ts b/web/src/resource/cluster/clusterrolebinding/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrolebinding/detail/component.ts rename to web/src/resource/cluster/clusterrolebinding/detail/component.ts diff --git a/modules/web/src/resource/cluster/clusterrolebinding/detail/template.html b/web/src/resource/cluster/clusterrolebinding/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/clusterrolebinding/detail/template.html rename to web/src/resource/cluster/clusterrolebinding/detail/template.html diff --git a/modules/web/src/resource/cluster/clusterrolebinding/list/component.ts b/web/src/resource/cluster/clusterrolebinding/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrolebinding/list/component.ts rename to web/src/resource/cluster/clusterrolebinding/list/component.ts diff --git a/modules/web/src/resource/cluster/clusterrolebinding/module.ts b/web/src/resource/cluster/clusterrolebinding/module.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrolebinding/module.ts rename to web/src/resource/cluster/clusterrolebinding/module.ts diff --git a/modules/web/src/resource/cluster/clusterrolebinding/routing.ts b/web/src/resource/cluster/clusterrolebinding/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/clusterrolebinding/routing.ts rename to web/src/resource/cluster/clusterrolebinding/routing.ts diff --git a/modules/web/src/resource/cluster/component.ts b/web/src/resource/cluster/component.ts similarity index 100% rename from modules/web/src/resource/cluster/component.ts rename to web/src/resource/cluster/component.ts diff --git a/modules/web/src/resource/cluster/event/list/component.ts b/web/src/resource/cluster/event/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/event/list/component.ts rename to web/src/resource/cluster/event/list/component.ts diff --git a/modules/web/src/resource/cluster/event/module.ts b/web/src/resource/cluster/event/module.ts similarity index 100% rename from modules/web/src/resource/cluster/event/module.ts rename to web/src/resource/cluster/event/module.ts diff --git a/modules/web/src/resource/cluster/event/routing.ts b/web/src/resource/cluster/event/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/event/routing.ts rename to web/src/resource/cluster/event/routing.ts diff --git a/modules/web/src/resource/cluster/module.ts b/web/src/resource/cluster/module.ts similarity index 100% rename from modules/web/src/resource/cluster/module.ts rename to web/src/resource/cluster/module.ts diff --git a/modules/web/src/resource/cluster/namespace/detail/actionbar/component.ts b/web/src/resource/cluster/namespace/detail/actionbar/component.ts similarity index 100% rename from modules/web/src/resource/cluster/namespace/detail/actionbar/component.ts rename to web/src/resource/cluster/namespace/detail/actionbar/component.ts diff --git a/modules/web/src/resource/cluster/namespace/detail/actionbar/template.html b/web/src/resource/cluster/namespace/detail/actionbar/template.html similarity index 100% rename from modules/web/src/resource/cluster/namespace/detail/actionbar/template.html rename to web/src/resource/cluster/namespace/detail/actionbar/template.html diff --git a/modules/web/src/resource/cluster/namespace/detail/component.ts b/web/src/resource/cluster/namespace/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/namespace/detail/component.ts rename to web/src/resource/cluster/namespace/detail/component.ts diff --git a/modules/web/src/resource/cluster/namespace/detail/template.html b/web/src/resource/cluster/namespace/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/namespace/detail/template.html rename to web/src/resource/cluster/namespace/detail/template.html diff --git a/modules/web/src/resource/cluster/namespace/list/component.ts b/web/src/resource/cluster/namespace/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/namespace/list/component.ts rename to web/src/resource/cluster/namespace/list/component.ts diff --git a/modules/web/src/resource/cluster/namespace/module.ts b/web/src/resource/cluster/namespace/module.ts similarity index 100% rename from modules/web/src/resource/cluster/namespace/module.ts rename to web/src/resource/cluster/namespace/module.ts diff --git a/modules/web/src/resource/cluster/namespace/routing.ts b/web/src/resource/cluster/namespace/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/namespace/routing.ts rename to web/src/resource/cluster/namespace/routing.ts diff --git a/modules/web/src/resource/cluster/networkpolicy/detail/component.ts b/web/src/resource/cluster/networkpolicy/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/networkpolicy/detail/component.ts rename to web/src/resource/cluster/networkpolicy/detail/component.ts diff --git a/modules/web/src/resource/cluster/networkpolicy/detail/template.html b/web/src/resource/cluster/networkpolicy/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/networkpolicy/detail/template.html rename to web/src/resource/cluster/networkpolicy/detail/template.html diff --git a/modules/web/src/resource/cluster/networkpolicy/list/component.ts b/web/src/resource/cluster/networkpolicy/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/networkpolicy/list/component.ts rename to web/src/resource/cluster/networkpolicy/list/component.ts diff --git a/modules/web/src/resource/cluster/networkpolicy/module.ts b/web/src/resource/cluster/networkpolicy/module.ts similarity index 100% rename from modules/web/src/resource/cluster/networkpolicy/module.ts rename to web/src/resource/cluster/networkpolicy/module.ts diff --git a/modules/web/src/resource/cluster/networkpolicy/routing.ts b/web/src/resource/cluster/networkpolicy/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/networkpolicy/routing.ts rename to web/src/resource/cluster/networkpolicy/routing.ts diff --git a/modules/web/src/resource/cluster/node/detail/component.ts b/web/src/resource/cluster/node/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/node/detail/component.ts rename to web/src/resource/cluster/node/detail/component.ts diff --git a/modules/web/src/resource/cluster/node/detail/template.html b/web/src/resource/cluster/node/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/node/detail/template.html rename to web/src/resource/cluster/node/detail/template.html diff --git a/modules/web/src/resource/cluster/node/list/component.ts b/web/src/resource/cluster/node/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/node/list/component.ts rename to web/src/resource/cluster/node/list/component.ts diff --git a/modules/web/src/resource/cluster/node/module.ts b/web/src/resource/cluster/node/module.ts similarity index 100% rename from modules/web/src/resource/cluster/node/module.ts rename to web/src/resource/cluster/node/module.ts diff --git a/modules/web/src/resource/cluster/node/routing.ts b/web/src/resource/cluster/node/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/node/routing.ts rename to web/src/resource/cluster/node/routing.ts diff --git a/modules/web/src/resource/cluster/persistentvolume/detail/component.ts b/web/src/resource/cluster/persistentvolume/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/detail/component.ts rename to web/src/resource/cluster/persistentvolume/detail/component.ts diff --git a/modules/web/src/resource/cluster/persistentvolume/detail/source/component.ts b/web/src/resource/cluster/persistentvolume/detail/source/component.ts similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/detail/source/component.ts rename to web/src/resource/cluster/persistentvolume/detail/source/component.ts diff --git a/modules/web/src/resource/cluster/persistentvolume/detail/source/style.scss b/web/src/resource/cluster/persistentvolume/detail/source/style.scss similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/detail/source/style.scss rename to web/src/resource/cluster/persistentvolume/detail/source/style.scss diff --git a/modules/web/src/resource/cluster/persistentvolume/detail/source/template.html b/web/src/resource/cluster/persistentvolume/detail/source/template.html similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/detail/source/template.html rename to web/src/resource/cluster/persistentvolume/detail/source/template.html diff --git a/modules/web/src/resource/cluster/persistentvolume/detail/template.html b/web/src/resource/cluster/persistentvolume/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/detail/template.html rename to web/src/resource/cluster/persistentvolume/detail/template.html diff --git a/modules/web/src/resource/cluster/persistentvolume/list/component.ts b/web/src/resource/cluster/persistentvolume/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/list/component.ts rename to web/src/resource/cluster/persistentvolume/list/component.ts diff --git a/modules/web/src/resource/cluster/persistentvolume/module.ts b/web/src/resource/cluster/persistentvolume/module.ts similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/module.ts rename to web/src/resource/cluster/persistentvolume/module.ts diff --git a/modules/web/src/resource/cluster/persistentvolume/routing.ts b/web/src/resource/cluster/persistentvolume/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/persistentvolume/routing.ts rename to web/src/resource/cluster/persistentvolume/routing.ts diff --git a/modules/web/src/resource/cluster/role/detail/component.ts b/web/src/resource/cluster/role/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/role/detail/component.ts rename to web/src/resource/cluster/role/detail/component.ts diff --git a/modules/web/src/resource/cluster/role/detail/template.html b/web/src/resource/cluster/role/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/role/detail/template.html rename to web/src/resource/cluster/role/detail/template.html diff --git a/modules/web/src/resource/cluster/role/list/component.ts b/web/src/resource/cluster/role/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/role/list/component.ts rename to web/src/resource/cluster/role/list/component.ts diff --git a/modules/web/src/resource/cluster/role/module.ts b/web/src/resource/cluster/role/module.ts similarity index 100% rename from modules/web/src/resource/cluster/role/module.ts rename to web/src/resource/cluster/role/module.ts diff --git a/modules/web/src/resource/cluster/role/routing.ts b/web/src/resource/cluster/role/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/role/routing.ts rename to web/src/resource/cluster/role/routing.ts diff --git a/modules/web/src/resource/cluster/rolebinding/detail/component.ts b/web/src/resource/cluster/rolebinding/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/rolebinding/detail/component.ts rename to web/src/resource/cluster/rolebinding/detail/component.ts diff --git a/modules/web/src/resource/cluster/rolebinding/detail/template.html b/web/src/resource/cluster/rolebinding/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/rolebinding/detail/template.html rename to web/src/resource/cluster/rolebinding/detail/template.html diff --git a/modules/web/src/resource/cluster/rolebinding/list/component.ts b/web/src/resource/cluster/rolebinding/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/rolebinding/list/component.ts rename to web/src/resource/cluster/rolebinding/list/component.ts diff --git a/modules/web/src/resource/cluster/rolebinding/module.ts b/web/src/resource/cluster/rolebinding/module.ts similarity index 100% rename from modules/web/src/resource/cluster/rolebinding/module.ts rename to web/src/resource/cluster/rolebinding/module.ts diff --git a/modules/web/src/resource/cluster/rolebinding/routing.ts b/web/src/resource/cluster/rolebinding/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/rolebinding/routing.ts rename to web/src/resource/cluster/rolebinding/routing.ts diff --git a/modules/web/src/resource/cluster/routing.ts b/web/src/resource/cluster/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/routing.ts rename to web/src/resource/cluster/routing.ts diff --git a/modules/web/src/resource/cluster/serviceaccount/detail/component.ts b/web/src/resource/cluster/serviceaccount/detail/component.ts similarity index 100% rename from modules/web/src/resource/cluster/serviceaccount/detail/component.ts rename to web/src/resource/cluster/serviceaccount/detail/component.ts diff --git a/modules/web/src/resource/cluster/serviceaccount/detail/template.html b/web/src/resource/cluster/serviceaccount/detail/template.html similarity index 100% rename from modules/web/src/resource/cluster/serviceaccount/detail/template.html rename to web/src/resource/cluster/serviceaccount/detail/template.html diff --git a/modules/web/src/resource/cluster/serviceaccount/list/component.ts b/web/src/resource/cluster/serviceaccount/list/component.ts similarity index 100% rename from modules/web/src/resource/cluster/serviceaccount/list/component.ts rename to web/src/resource/cluster/serviceaccount/list/component.ts diff --git a/modules/web/src/resource/cluster/serviceaccount/module.ts b/web/src/resource/cluster/serviceaccount/module.ts similarity index 100% rename from modules/web/src/resource/cluster/serviceaccount/module.ts rename to web/src/resource/cluster/serviceaccount/module.ts diff --git a/modules/web/src/resource/cluster/serviceaccount/routing.ts b/web/src/resource/cluster/serviceaccount/routing.ts similarity index 100% rename from modules/web/src/resource/cluster/serviceaccount/routing.ts rename to web/src/resource/cluster/serviceaccount/routing.ts diff --git a/modules/web/src/resource/cluster/template.html b/web/src/resource/cluster/template.html similarity index 100% rename from modules/web/src/resource/cluster/template.html rename to web/src/resource/cluster/template.html diff --git a/modules/web/src/resource/config/component.ts b/web/src/resource/config/component.ts similarity index 100% rename from modules/web/src/resource/config/component.ts rename to web/src/resource/config/component.ts diff --git a/modules/web/src/resource/config/configmap/detail/component.ts b/web/src/resource/config/configmap/detail/component.ts similarity index 100% rename from modules/web/src/resource/config/configmap/detail/component.ts rename to web/src/resource/config/configmap/detail/component.ts diff --git a/modules/web/src/resource/config/configmap/detail/template.html b/web/src/resource/config/configmap/detail/template.html similarity index 100% rename from modules/web/src/resource/config/configmap/detail/template.html rename to web/src/resource/config/configmap/detail/template.html diff --git a/modules/web/src/resource/config/configmap/list/component.ts b/web/src/resource/config/configmap/list/component.ts similarity index 100% rename from modules/web/src/resource/config/configmap/list/component.ts rename to web/src/resource/config/configmap/list/component.ts diff --git a/modules/web/src/resource/config/configmap/module.ts b/web/src/resource/config/configmap/module.ts similarity index 100% rename from modules/web/src/resource/config/configmap/module.ts rename to web/src/resource/config/configmap/module.ts diff --git a/modules/web/src/resource/config/configmap/routing.ts b/web/src/resource/config/configmap/routing.ts similarity index 100% rename from modules/web/src/resource/config/configmap/routing.ts rename to web/src/resource/config/configmap/routing.ts diff --git a/modules/web/src/resource/config/module.ts b/web/src/resource/config/module.ts similarity index 100% rename from modules/web/src/resource/config/module.ts rename to web/src/resource/config/module.ts diff --git a/modules/web/src/resource/config/persistentvolumeclaim/detail/component.ts b/web/src/resource/config/persistentvolumeclaim/detail/component.ts similarity index 100% rename from modules/web/src/resource/config/persistentvolumeclaim/detail/component.ts rename to web/src/resource/config/persistentvolumeclaim/detail/component.ts diff --git a/modules/web/src/resource/config/persistentvolumeclaim/detail/template.html b/web/src/resource/config/persistentvolumeclaim/detail/template.html similarity index 100% rename from modules/web/src/resource/config/persistentvolumeclaim/detail/template.html rename to web/src/resource/config/persistentvolumeclaim/detail/template.html diff --git a/modules/web/src/resource/config/persistentvolumeclaim/list/component.ts b/web/src/resource/config/persistentvolumeclaim/list/component.ts similarity index 100% rename from modules/web/src/resource/config/persistentvolumeclaim/list/component.ts rename to web/src/resource/config/persistentvolumeclaim/list/component.ts diff --git a/modules/web/src/resource/config/persistentvolumeclaim/module.ts b/web/src/resource/config/persistentvolumeclaim/module.ts similarity index 100% rename from modules/web/src/resource/config/persistentvolumeclaim/module.ts rename to web/src/resource/config/persistentvolumeclaim/module.ts diff --git a/modules/web/src/resource/config/persistentvolumeclaim/routing.ts b/web/src/resource/config/persistentvolumeclaim/routing.ts similarity index 100% rename from modules/web/src/resource/config/persistentvolumeclaim/routing.ts rename to web/src/resource/config/persistentvolumeclaim/routing.ts diff --git a/modules/web/src/resource/config/routing.ts b/web/src/resource/config/routing.ts similarity index 100% rename from modules/web/src/resource/config/routing.ts rename to web/src/resource/config/routing.ts diff --git a/modules/web/src/resource/config/secret/detail/component.ts b/web/src/resource/config/secret/detail/component.ts similarity index 100% rename from modules/web/src/resource/config/secret/detail/component.ts rename to web/src/resource/config/secret/detail/component.ts diff --git a/modules/web/src/resource/config/secret/detail/edit/component.ts b/web/src/resource/config/secret/detail/edit/component.ts similarity index 100% rename from modules/web/src/resource/config/secret/detail/edit/component.ts rename to web/src/resource/config/secret/detail/edit/component.ts diff --git a/modules/web/src/resource/config/secret/detail/edit/style.scss b/web/src/resource/config/secret/detail/edit/style.scss similarity index 100% rename from modules/web/src/resource/config/secret/detail/edit/style.scss rename to web/src/resource/config/secret/detail/edit/style.scss diff --git a/modules/web/src/resource/config/secret/detail/edit/template.html b/web/src/resource/config/secret/detail/edit/template.html similarity index 100% rename from modules/web/src/resource/config/secret/detail/edit/template.html rename to web/src/resource/config/secret/detail/edit/template.html diff --git a/modules/web/src/resource/config/secret/detail/template.html b/web/src/resource/config/secret/detail/template.html similarity index 100% rename from modules/web/src/resource/config/secret/detail/template.html rename to web/src/resource/config/secret/detail/template.html diff --git a/modules/web/src/resource/config/secret/list/component.ts b/web/src/resource/config/secret/list/component.ts similarity index 100% rename from modules/web/src/resource/config/secret/list/component.ts rename to web/src/resource/config/secret/list/component.ts diff --git a/modules/web/src/resource/config/secret/list/template.html b/web/src/resource/config/secret/list/template.html similarity index 100% rename from modules/web/src/resource/config/secret/list/template.html rename to web/src/resource/config/secret/list/template.html diff --git a/modules/web/src/resource/config/secret/module.ts b/web/src/resource/config/secret/module.ts similarity index 100% rename from modules/web/src/resource/config/secret/module.ts rename to web/src/resource/config/secret/module.ts diff --git a/modules/web/src/resource/config/secret/routing.ts b/web/src/resource/config/secret/routing.ts similarity index 100% rename from modules/web/src/resource/config/secret/routing.ts rename to web/src/resource/config/secret/routing.ts diff --git a/modules/web/src/resource/config/storageclass/detail/component.ts b/web/src/resource/config/storageclass/detail/component.ts similarity index 100% rename from modules/web/src/resource/config/storageclass/detail/component.ts rename to web/src/resource/config/storageclass/detail/component.ts diff --git a/modules/web/src/resource/config/storageclass/detail/style.scss b/web/src/resource/config/storageclass/detail/style.scss similarity index 100% rename from modules/web/src/resource/config/storageclass/detail/style.scss rename to web/src/resource/config/storageclass/detail/style.scss diff --git a/modules/web/src/resource/config/storageclass/detail/template.html b/web/src/resource/config/storageclass/detail/template.html similarity index 100% rename from modules/web/src/resource/config/storageclass/detail/template.html rename to web/src/resource/config/storageclass/detail/template.html diff --git a/modules/web/src/resource/config/storageclass/list/component.ts b/web/src/resource/config/storageclass/list/component.ts similarity index 100% rename from modules/web/src/resource/config/storageclass/list/component.ts rename to web/src/resource/config/storageclass/list/component.ts diff --git a/modules/web/src/resource/config/storageclass/module.ts b/web/src/resource/config/storageclass/module.ts similarity index 100% rename from modules/web/src/resource/config/storageclass/module.ts rename to web/src/resource/config/storageclass/module.ts diff --git a/modules/web/src/resource/config/storageclass/routing.ts b/web/src/resource/config/storageclass/routing.ts similarity index 100% rename from modules/web/src/resource/config/storageclass/routing.ts rename to web/src/resource/config/storageclass/routing.ts diff --git a/modules/web/src/resource/config/template.html b/web/src/resource/config/template.html similarity index 100% rename from modules/web/src/resource/config/template.html rename to web/src/resource/config/template.html diff --git a/modules/web/src/resource/discovery/component.ts b/web/src/resource/discovery/component.ts similarity index 100% rename from modules/web/src/resource/discovery/component.ts rename to web/src/resource/discovery/component.ts diff --git a/modules/web/src/resource/discovery/ingress/detail/component.spec.ts b/web/src/resource/discovery/ingress/detail/component.spec.ts similarity index 100% rename from modules/web/src/resource/discovery/ingress/detail/component.spec.ts rename to web/src/resource/discovery/ingress/detail/component.spec.ts diff --git a/modules/web/src/resource/discovery/ingress/detail/component.ts b/web/src/resource/discovery/ingress/detail/component.ts similarity index 100% rename from modules/web/src/resource/discovery/ingress/detail/component.ts rename to web/src/resource/discovery/ingress/detail/component.ts diff --git a/modules/web/src/resource/discovery/ingress/detail/template.html b/web/src/resource/discovery/ingress/detail/template.html similarity index 100% rename from modules/web/src/resource/discovery/ingress/detail/template.html rename to web/src/resource/discovery/ingress/detail/template.html diff --git a/modules/web/src/resource/discovery/ingress/list/component.ts b/web/src/resource/discovery/ingress/list/component.ts similarity index 100% rename from modules/web/src/resource/discovery/ingress/list/component.ts rename to web/src/resource/discovery/ingress/list/component.ts diff --git a/modules/web/src/resource/discovery/ingress/module.ts b/web/src/resource/discovery/ingress/module.ts similarity index 100% rename from modules/web/src/resource/discovery/ingress/module.ts rename to web/src/resource/discovery/ingress/module.ts diff --git a/modules/web/src/resource/discovery/ingress/routing.ts b/web/src/resource/discovery/ingress/routing.ts similarity index 100% rename from modules/web/src/resource/discovery/ingress/routing.ts rename to web/src/resource/discovery/ingress/routing.ts diff --git a/modules/web/src/resource/discovery/module.ts b/web/src/resource/discovery/module.ts similarity index 100% rename from modules/web/src/resource/discovery/module.ts rename to web/src/resource/discovery/module.ts diff --git a/modules/web/src/resource/discovery/routing.ts b/web/src/resource/discovery/routing.ts similarity index 100% rename from modules/web/src/resource/discovery/routing.ts rename to web/src/resource/discovery/routing.ts diff --git a/modules/web/src/resource/discovery/service/detail/component.spec.ts b/web/src/resource/discovery/service/detail/component.spec.ts similarity index 100% rename from modules/web/src/resource/discovery/service/detail/component.spec.ts rename to web/src/resource/discovery/service/detail/component.spec.ts diff --git a/modules/web/src/resource/discovery/service/detail/component.ts b/web/src/resource/discovery/service/detail/component.ts similarity index 100% rename from modules/web/src/resource/discovery/service/detail/component.ts rename to web/src/resource/discovery/service/detail/component.ts diff --git a/modules/web/src/resource/discovery/service/detail/template.html b/web/src/resource/discovery/service/detail/template.html similarity index 100% rename from modules/web/src/resource/discovery/service/detail/template.html rename to web/src/resource/discovery/service/detail/template.html diff --git a/modules/web/src/resource/discovery/service/list/component.ts b/web/src/resource/discovery/service/list/component.ts similarity index 100% rename from modules/web/src/resource/discovery/service/list/component.ts rename to web/src/resource/discovery/service/list/component.ts diff --git a/modules/web/src/resource/discovery/service/module.ts b/web/src/resource/discovery/service/module.ts similarity index 100% rename from modules/web/src/resource/discovery/service/module.ts rename to web/src/resource/discovery/service/module.ts diff --git a/modules/web/src/resource/discovery/service/routing.ts b/web/src/resource/discovery/service/routing.ts similarity index 100% rename from modules/web/src/resource/discovery/service/routing.ts rename to web/src/resource/discovery/service/routing.ts diff --git a/modules/web/src/resource/discovery/template.html b/web/src/resource/discovery/template.html similarity index 100% rename from modules/web/src/resource/discovery/template.html rename to web/src/resource/discovery/template.html diff --git a/modules/web/src/resource/workloads/component.ts b/web/src/resource/workloads/component.ts similarity index 100% rename from modules/web/src/resource/workloads/component.ts rename to web/src/resource/workloads/component.ts diff --git a/modules/web/src/resource/workloads/cronjob/detail/component.ts b/web/src/resource/workloads/cronjob/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/cronjob/detail/component.ts rename to web/src/resource/workloads/cronjob/detail/component.ts diff --git a/modules/web/src/resource/workloads/cronjob/detail/template.html b/web/src/resource/workloads/cronjob/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/cronjob/detail/template.html rename to web/src/resource/workloads/cronjob/detail/template.html diff --git a/modules/web/src/resource/workloads/cronjob/list/component.ts b/web/src/resource/workloads/cronjob/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/cronjob/list/component.ts rename to web/src/resource/workloads/cronjob/list/component.ts diff --git a/modules/web/src/resource/workloads/cronjob/module.ts b/web/src/resource/workloads/cronjob/module.ts similarity index 100% rename from modules/web/src/resource/workloads/cronjob/module.ts rename to web/src/resource/workloads/cronjob/module.ts diff --git a/modules/web/src/resource/workloads/cronjob/routing.ts b/web/src/resource/workloads/cronjob/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/cronjob/routing.ts rename to web/src/resource/workloads/cronjob/routing.ts diff --git a/modules/web/src/resource/workloads/daemonset/detail/actionbar/component.ts b/web/src/resource/workloads/daemonset/detail/actionbar/component.ts similarity index 100% rename from modules/web/src/resource/workloads/daemonset/detail/actionbar/component.ts rename to web/src/resource/workloads/daemonset/detail/actionbar/component.ts diff --git a/modules/web/src/resource/workloads/daemonset/detail/actionbar/template.html b/web/src/resource/workloads/daemonset/detail/actionbar/template.html similarity index 100% rename from modules/web/src/resource/workloads/daemonset/detail/actionbar/template.html rename to web/src/resource/workloads/daemonset/detail/actionbar/template.html diff --git a/modules/web/src/resource/workloads/daemonset/detail/component.ts b/web/src/resource/workloads/daemonset/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/daemonset/detail/component.ts rename to web/src/resource/workloads/daemonset/detail/component.ts diff --git a/modules/web/src/resource/workloads/daemonset/detail/template.html b/web/src/resource/workloads/daemonset/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/daemonset/detail/template.html rename to web/src/resource/workloads/daemonset/detail/template.html diff --git a/modules/web/src/resource/workloads/daemonset/list/component.ts b/web/src/resource/workloads/daemonset/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/daemonset/list/component.ts rename to web/src/resource/workloads/daemonset/list/component.ts diff --git a/modules/web/src/resource/workloads/daemonset/module.ts b/web/src/resource/workloads/daemonset/module.ts similarity index 100% rename from modules/web/src/resource/workloads/daemonset/module.ts rename to web/src/resource/workloads/daemonset/module.ts diff --git a/modules/web/src/resource/workloads/daemonset/routing.ts b/web/src/resource/workloads/daemonset/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/daemonset/routing.ts rename to web/src/resource/workloads/daemonset/routing.ts diff --git a/modules/web/src/resource/workloads/deployment/detail/component.ts b/web/src/resource/workloads/deployment/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/deployment/detail/component.ts rename to web/src/resource/workloads/deployment/detail/component.ts diff --git a/modules/web/src/resource/workloads/deployment/detail/template.html b/web/src/resource/workloads/deployment/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/deployment/detail/template.html rename to web/src/resource/workloads/deployment/detail/template.html diff --git a/modules/web/src/resource/workloads/deployment/list/component.ts b/web/src/resource/workloads/deployment/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/deployment/list/component.ts rename to web/src/resource/workloads/deployment/list/component.ts diff --git a/modules/web/src/resource/workloads/deployment/module.ts b/web/src/resource/workloads/deployment/module.ts similarity index 100% rename from modules/web/src/resource/workloads/deployment/module.ts rename to web/src/resource/workloads/deployment/module.ts diff --git a/modules/web/src/resource/workloads/deployment/routing.ts b/web/src/resource/workloads/deployment/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/deployment/routing.ts rename to web/src/resource/workloads/deployment/routing.ts diff --git a/modules/web/src/resource/workloads/job/detail/component.ts b/web/src/resource/workloads/job/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/job/detail/component.ts rename to web/src/resource/workloads/job/detail/component.ts diff --git a/modules/web/src/resource/workloads/job/detail/template.html b/web/src/resource/workloads/job/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/job/detail/template.html rename to web/src/resource/workloads/job/detail/template.html diff --git a/modules/web/src/resource/workloads/job/list/component.ts b/web/src/resource/workloads/job/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/job/list/component.ts rename to web/src/resource/workloads/job/list/component.ts diff --git a/modules/web/src/resource/workloads/job/module.ts b/web/src/resource/workloads/job/module.ts similarity index 100% rename from modules/web/src/resource/workloads/job/module.ts rename to web/src/resource/workloads/job/module.ts diff --git a/modules/web/src/resource/workloads/job/routing.ts b/web/src/resource/workloads/job/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/job/routing.ts rename to web/src/resource/workloads/job/routing.ts diff --git a/modules/web/src/resource/workloads/module.ts b/web/src/resource/workloads/module.ts similarity index 100% rename from modules/web/src/resource/workloads/module.ts rename to web/src/resource/workloads/module.ts diff --git a/modules/web/src/resource/workloads/pod/detail/component.ts b/web/src/resource/workloads/pod/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/pod/detail/component.ts rename to web/src/resource/workloads/pod/detail/component.ts diff --git a/modules/web/src/resource/workloads/pod/detail/style.scss b/web/src/resource/workloads/pod/detail/style.scss similarity index 100% rename from modules/web/src/resource/workloads/pod/detail/style.scss rename to web/src/resource/workloads/pod/detail/style.scss diff --git a/modules/web/src/resource/workloads/pod/detail/template.html b/web/src/resource/workloads/pod/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/pod/detail/template.html rename to web/src/resource/workloads/pod/detail/template.html diff --git a/modules/web/src/resource/workloads/pod/list/component.ts b/web/src/resource/workloads/pod/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/pod/list/component.ts rename to web/src/resource/workloads/pod/list/component.ts diff --git a/modules/web/src/resource/workloads/pod/module.ts b/web/src/resource/workloads/pod/module.ts similarity index 100% rename from modules/web/src/resource/workloads/pod/module.ts rename to web/src/resource/workloads/pod/module.ts diff --git a/modules/web/src/resource/workloads/pod/routing.ts b/web/src/resource/workloads/pod/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/pod/routing.ts rename to web/src/resource/workloads/pod/routing.ts diff --git a/modules/web/src/resource/workloads/replicaset/detail/component.ts b/web/src/resource/workloads/replicaset/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/replicaset/detail/component.ts rename to web/src/resource/workloads/replicaset/detail/component.ts diff --git a/modules/web/src/resource/workloads/replicaset/detail/template.html b/web/src/resource/workloads/replicaset/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/replicaset/detail/template.html rename to web/src/resource/workloads/replicaset/detail/template.html diff --git a/modules/web/src/resource/workloads/replicaset/list/component.ts b/web/src/resource/workloads/replicaset/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/replicaset/list/component.ts rename to web/src/resource/workloads/replicaset/list/component.ts diff --git a/modules/web/src/resource/workloads/replicaset/module.ts b/web/src/resource/workloads/replicaset/module.ts similarity index 100% rename from modules/web/src/resource/workloads/replicaset/module.ts rename to web/src/resource/workloads/replicaset/module.ts diff --git a/modules/web/src/resource/workloads/replicaset/routing.ts b/web/src/resource/workloads/replicaset/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/replicaset/routing.ts rename to web/src/resource/workloads/replicaset/routing.ts diff --git a/modules/web/src/resource/workloads/replicationcontroller/detail/component.ts b/web/src/resource/workloads/replicationcontroller/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/replicationcontroller/detail/component.ts rename to web/src/resource/workloads/replicationcontroller/detail/component.ts diff --git a/modules/web/src/resource/workloads/replicationcontroller/detail/template.html b/web/src/resource/workloads/replicationcontroller/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/replicationcontroller/detail/template.html rename to web/src/resource/workloads/replicationcontroller/detail/template.html diff --git a/modules/web/src/resource/workloads/replicationcontroller/list/component.ts b/web/src/resource/workloads/replicationcontroller/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/replicationcontroller/list/component.ts rename to web/src/resource/workloads/replicationcontroller/list/component.ts diff --git a/modules/web/src/resource/workloads/replicationcontroller/module.ts b/web/src/resource/workloads/replicationcontroller/module.ts similarity index 100% rename from modules/web/src/resource/workloads/replicationcontroller/module.ts rename to web/src/resource/workloads/replicationcontroller/module.ts diff --git a/modules/web/src/resource/workloads/replicationcontroller/routing.ts b/web/src/resource/workloads/replicationcontroller/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/replicationcontroller/routing.ts rename to web/src/resource/workloads/replicationcontroller/routing.ts diff --git a/modules/web/src/resource/workloads/routing.ts b/web/src/resource/workloads/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/routing.ts rename to web/src/resource/workloads/routing.ts diff --git a/modules/web/src/resource/workloads/statefulset/detail/component.ts b/web/src/resource/workloads/statefulset/detail/component.ts similarity index 100% rename from modules/web/src/resource/workloads/statefulset/detail/component.ts rename to web/src/resource/workloads/statefulset/detail/component.ts diff --git a/modules/web/src/resource/workloads/statefulset/detail/template.html b/web/src/resource/workloads/statefulset/detail/template.html similarity index 100% rename from modules/web/src/resource/workloads/statefulset/detail/template.html rename to web/src/resource/workloads/statefulset/detail/template.html diff --git a/modules/web/src/resource/workloads/statefulset/list/component.ts b/web/src/resource/workloads/statefulset/list/component.ts similarity index 100% rename from modules/web/src/resource/workloads/statefulset/list/component.ts rename to web/src/resource/workloads/statefulset/list/component.ts diff --git a/modules/web/src/resource/workloads/statefulset/module.ts b/web/src/resource/workloads/statefulset/module.ts similarity index 100% rename from modules/web/src/resource/workloads/statefulset/module.ts rename to web/src/resource/workloads/statefulset/module.ts diff --git a/modules/web/src/resource/workloads/statefulset/routing.ts b/web/src/resource/workloads/statefulset/routing.ts similarity index 100% rename from modules/web/src/resource/workloads/statefulset/routing.ts rename to web/src/resource/workloads/statefulset/routing.ts diff --git a/modules/web/src/resource/workloads/template.html b/web/src/resource/workloads/template.html similarity index 100% rename from modules/web/src/resource/workloads/template.html rename to web/src/resource/workloads/template.html diff --git a/modules/web/src/search/component.ts b/web/src/search/component.ts similarity index 100% rename from modules/web/src/search/component.ts rename to web/src/search/component.ts diff --git a/modules/web/src/search/module.ts b/web/src/search/module.ts similarity index 100% rename from modules/web/src/search/module.ts rename to web/src/search/module.ts diff --git a/modules/web/src/search/routing.ts b/web/src/search/routing.ts similarity index 100% rename from modules/web/src/search/routing.ts rename to web/src/search/routing.ts diff --git a/modules/web/src/search/template.html b/web/src/search/template.html similarity index 100% rename from modules/web/src/search/template.html rename to web/src/search/template.html diff --git a/modules/web/src/settings/component.ts b/web/src/settings/component.ts similarity index 100% rename from modules/web/src/settings/component.ts rename to web/src/settings/component.ts diff --git a/modules/web/src/settings/entry/component.ts b/web/src/settings/entry/component.ts similarity index 100% rename from modules/web/src/settings/entry/component.ts rename to web/src/settings/entry/component.ts diff --git a/modules/web/src/settings/entry/template.html b/web/src/settings/entry/template.html similarity index 100% rename from modules/web/src/settings/entry/template.html rename to web/src/settings/entry/template.html diff --git a/modules/web/src/settings/global/component.ts b/web/src/settings/global/component.ts similarity index 100% rename from modules/web/src/settings/global/component.ts rename to web/src/settings/global/component.ts diff --git a/modules/web/src/settings/global/namespace/adddialog/dialog.ts b/web/src/settings/global/namespace/adddialog/dialog.ts similarity index 100% rename from modules/web/src/settings/global/namespace/adddialog/dialog.ts rename to web/src/settings/global/namespace/adddialog/dialog.ts diff --git a/modules/web/src/settings/global/namespace/adddialog/template.html b/web/src/settings/global/namespace/adddialog/template.html similarity index 100% rename from modules/web/src/settings/global/namespace/adddialog/template.html rename to web/src/settings/global/namespace/adddialog/template.html diff --git a/modules/web/src/settings/global/namespace/component.ts b/web/src/settings/global/namespace/component.ts similarity index 100% rename from modules/web/src/settings/global/namespace/component.ts rename to web/src/settings/global/namespace/component.ts diff --git a/modules/web/src/settings/global/namespace/editdialog/dialog.ts b/web/src/settings/global/namespace/editdialog/dialog.ts similarity index 100% rename from modules/web/src/settings/global/namespace/editdialog/dialog.ts rename to web/src/settings/global/namespace/editdialog/dialog.ts diff --git a/modules/web/src/settings/global/namespace/editdialog/template.html b/web/src/settings/global/namespace/editdialog/template.html similarity index 100% rename from modules/web/src/settings/global/namespace/editdialog/template.html rename to web/src/settings/global/namespace/editdialog/template.html diff --git a/modules/web/src/settings/global/namespace/style.scss b/web/src/settings/global/namespace/style.scss similarity index 100% rename from modules/web/src/settings/global/namespace/style.scss rename to web/src/settings/global/namespace/style.scss diff --git a/modules/web/src/settings/global/namespace/template.html b/web/src/settings/global/namespace/template.html similarity index 100% rename from modules/web/src/settings/global/namespace/template.html rename to web/src/settings/global/namespace/template.html diff --git a/modules/web/src/settings/global/saveanywaysdialog/dialog.ts b/web/src/settings/global/saveanywaysdialog/dialog.ts similarity index 100% rename from modules/web/src/settings/global/saveanywaysdialog/dialog.ts rename to web/src/settings/global/saveanywaysdialog/dialog.ts diff --git a/modules/web/src/settings/global/saveanywaysdialog/template.html b/web/src/settings/global/saveanywaysdialog/template.html similarity index 100% rename from modules/web/src/settings/global/saveanywaysdialog/template.html rename to web/src/settings/global/saveanywaysdialog/template.html diff --git a/modules/web/src/settings/global/service.ts b/web/src/settings/global/service.ts similarity index 100% rename from modules/web/src/settings/global/service.ts rename to web/src/settings/global/service.ts diff --git a/modules/web/src/settings/global/style.scss b/web/src/settings/global/style.scss similarity index 100% rename from modules/web/src/settings/global/style.scss rename to web/src/settings/global/style.scss diff --git a/modules/web/src/settings/global/template.html b/web/src/settings/global/template.html similarity index 100% rename from modules/web/src/settings/global/template.html rename to web/src/settings/global/template.html diff --git a/modules/web/src/settings/local/component.ts b/web/src/settings/local/component.ts similarity index 100% rename from modules/web/src/settings/local/component.ts rename to web/src/settings/local/component.ts diff --git a/modules/web/src/settings/local/style.scss b/web/src/settings/local/style.scss similarity index 100% rename from modules/web/src/settings/local/style.scss rename to web/src/settings/local/style.scss diff --git a/modules/web/src/settings/local/template.html b/web/src/settings/local/template.html similarity index 100% rename from modules/web/src/settings/local/template.html rename to web/src/settings/local/template.html diff --git a/modules/web/src/settings/module.ts b/web/src/settings/module.ts similarity index 100% rename from modules/web/src/settings/module.ts rename to web/src/settings/module.ts diff --git a/modules/web/src/settings/routing.ts b/web/src/settings/routing.ts similarity index 100% rename from modules/web/src/settings/routing.ts rename to web/src/settings/routing.ts diff --git a/modules/web/src/shared.module.ts b/web/src/shared.module.ts similarity index 100% rename from modules/web/src/shared.module.ts rename to web/src/shared.module.ts diff --git a/modules/web/src/shell/component.ts b/web/src/shell/component.ts similarity index 100% rename from modules/web/src/shell/component.ts rename to web/src/shell/component.ts diff --git a/modules/web/src/shell/module.ts b/web/src/shell/module.ts similarity index 100% rename from modules/web/src/shell/module.ts rename to web/src/shell/module.ts diff --git a/modules/web/src/shell/routing.ts b/web/src/shell/routing.ts similarity index 100% rename from modules/web/src/shell/routing.ts rename to web/src/shell/routing.ts diff --git a/modules/web/src/shell/styles.scss b/web/src/shell/styles.scss similarity index 100% rename from modules/web/src/shell/styles.scss rename to web/src/shell/styles.scss diff --git a/modules/web/src/shell/template.html b/web/src/shell/template.html similarity index 100% rename from modules/web/src/shell/template.html rename to web/src/shell/template.html diff --git a/modules/web/src/systemjs.d.ts b/web/src/systemjs.d.ts similarity index 100% rename from modules/web/src/systemjs.d.ts rename to web/src/systemjs.d.ts diff --git a/modules/web/src/test.base.mocks.ts b/web/src/test.base.mocks.ts similarity index 100% rename from modules/web/src/test.base.mocks.ts rename to web/src/test.base.mocks.ts diff --git a/modules/web/src/test.base.ts b/web/src/test.base.ts similarity index 100% rename from modules/web/src/test.base.ts rename to web/src/test.base.ts diff --git a/modules/web/src/typings/root.api.ts b/web/src/typings/root.api.ts similarity index 100% rename from modules/web/src/typings/root.api.ts rename to web/src/typings/root.api.ts diff --git a/modules/web/src/typings/root.shared.ts b/web/src/typings/root.shared.ts similarity index 100% rename from modules/web/src/typings/root.shared.ts rename to web/src/typings/root.shared.ts diff --git a/modules/web/src/typings/root.ui.ts b/web/src/typings/root.ui.ts similarity index 100% rename from modules/web/src/typings/root.ui.ts rename to web/src/typings/root.ui.ts diff --git a/modules/web/src/typings/volume.api.ts b/web/src/typings/volume.api.ts similarity index 100% rename from modules/web/src/typings/volume.api.ts rename to web/src/typings/volume.api.ts diff --git a/modules/web/tsconfig.app.json b/web/tsconfig.app.json similarity index 100% rename from modules/web/tsconfig.app.json rename to web/tsconfig.app.json diff --git a/modules/web/tsconfig.e2e.json b/web/tsconfig.e2e.json similarity index 100% rename from modules/web/tsconfig.e2e.json rename to web/tsconfig.e2e.json diff --git a/modules/web/tsconfig.json b/web/tsconfig.json similarity index 100% rename from modules/web/tsconfig.json rename to web/tsconfig.json diff --git a/modules/web/tsconfig.spec.json b/web/tsconfig.spec.json similarity index 100% rename from modules/web/tsconfig.spec.json rename to web/tsconfig.spec.json From 769e261f524c18d57174f76965dfa084de777d2d Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 10:28:44 +0200 Subject: [PATCH 003/162] Fix backend import paths --- api/go.mod | 2 +- api/src/args/holder.go | 2 +- api/src/auth/api/common.go | 2 +- api/src/auth/basic.go | 2 +- api/src/auth/handler.go | 6 +- api/src/auth/jwe/keyholder.go | 8 +- api/src/auth/jwe/keyholder_test.go | 2 +- api/src/auth/jwe/manager.go | 4 +- api/src/auth/jwe/manager_test.go | 6 +- api/src/auth/jwe/util.go | 2 +- api/src/auth/kubeconfig.go | 4 +- api/src/auth/kubeconfig_test.go | 4 +- api/src/auth/manager.go | 6 +- api/src/auth/manager_test.go | 10 +-- api/src/auth/token.go | 2 +- api/src/cert/ecdsa/creator.go | 2 +- api/src/cert/ecdsa/creator_test.go | 2 +- api/src/cert/manager.go | 2 +- api/src/client/api/common_test.go | 2 +- api/src/client/api/types.go | 4 +- api/src/client/csrf/manager.go | 4 +- api/src/client/csrf/manager_test.go | 4 +- api/src/client/manager.go | 16 ++-- api/src/client/manager_test.go | 4 +- api/src/client/verber.go | 8 +- api/src/client/verber_test.go | 2 +- api/src/dashboard.go | 28 +++--- api/src/errors/handler_test.go | 2 +- api/src/errors/localizer_test.go | 2 +- api/src/handler/apihandler.go | 90 +++++++++---------- api/src/handler/apihandler_test.go | 16 ++-- api/src/handler/download.go | 2 +- api/src/handler/filter.go | 8 +- api/src/handler/localehandler.go | 2 +- api/src/handler/parser/parser.go | 4 +- api/src/integration/handler.go | 2 +- api/src/integration/list.go | 2 +- api/src/integration/manager.go | 6 +- api/src/integration/manager_test.go | 18 ++-- api/src/integration/metric/api/types.go | 4 +- .../integration/metric/common/aggregation.go | 2 +- .../metric/common/aggregation_test.go | 4 +- api/src/integration/metric/heapster/client.go | 10 +-- .../metric/heapster/client_test.go | 10 +-- api/src/integration/metric/heapster/common.go | 4 +- api/src/integration/metric/heapster/model.go | 4 +- .../integration/metric/heapster/selector.go | 4 +- .../metric/heapster/selector_test.go | 4 +- api/src/integration/metric/manager.go | 10 +-- api/src/integration/metric/manager_test.go | 8 +- api/src/integration/metric/sidecar/client.go | 8 +- .../integration/metric/sidecar/client_test.go | 8 +- api/src/integration/metric/sidecar/common.go | 4 +- api/src/integration/metric/sidecar/model.go | 4 +- .../integration/metric/sidecar/restclient.go | 2 +- .../integration/metric/sidecar/selector.go | 4 +- .../metric/sidecar/selector_test.go | 4 +- api/src/plugin/apis/v1alpha1/register.go | 2 +- .../client/clientset/versioned/clientset.go | 2 +- .../versioned/fake/clientset_generated.go | 6 +- .../clientset/versioned/fake/register.go | 2 +- .../clientset/versioned/scheme/register.go | 2 +- .../typed/apis/v1alpha1/apis_client.go | 4 +- .../apis/v1alpha1/fake/fake_apis_client.go | 2 +- .../typed/apis/v1alpha1/fake/fake_plugin.go | 2 +- .../versioned/typed/apis/v1alpha1/plugin.go | 4 +- .../externalversions/apis/interface.go | 4 +- .../apis/v1alpha1/interface.go | 2 +- .../externalversions/apis/v1alpha1/plugin.go | 8 +- .../informers/externalversions/factory.go | 6 +- .../informers/externalversions/generic.go | 2 +- .../internalinterfaces/factory_interfaces.go | 2 +- .../client/listers/apis/v1alpha1/plugin.go | 2 +- api/src/plugin/config.go | 2 +- api/src/plugin/config_test.go | 10 +-- api/src/plugin/detail.go | 2 +- api/src/plugin/detail_test.go | 4 +- api/src/plugin/handler.go | 6 +- api/src/plugin/list.go | 10 +-- api/src/plugin/list_test.go | 6 +- api/src/resource/clusterrole/common.go | 2 +- api/src/resource/clusterrole/list.go | 8 +- api/src/resource/clusterrole/list_test.go | 4 +- api/src/resource/clusterrolebinding/common.go | 2 +- api/src/resource/clusterrolebinding/list.go | 8 +- .../resource/clusterrolebinding/list_test.go | 4 +- api/src/resource/common/event.go | 2 +- api/src/resource/common/resourcechannels.go | 2 +- api/src/resource/common/service.go | 2 +- api/src/resource/configmap/common.go | 2 +- api/src/resource/configmap/detail_test.go | 2 +- api/src/resource/configmap/list.go | 8 +- api/src/resource/configmap/list_test.go | 4 +- api/src/resource/container/logs.go | 2 +- api/src/resource/container/logs_test.go | 2 +- api/src/resource/controller/controller.go | 6 +- .../resource/controller/controller_test.go | 2 +- api/src/resource/cronjob/common.go | 8 +- api/src/resource/cronjob/common_test.go | 2 +- api/src/resource/cronjob/detail_test.go | 6 +- api/src/resource/cronjob/events.go | 6 +- api/src/resource/cronjob/events_test.go | 8 +- api/src/resource/cronjob/jobs.go | 12 +-- api/src/resource/cronjob/jobs_test.go | 2 +- api/src/resource/cronjob/list.go | 10 +-- api/src/resource/cronjob/list_test.go | 10 +-- .../customresourcedefinition/common.go | 10 +-- .../customresourcedefinition/events.go | 6 +- .../customresourcedefinition/events_test.go | 6 +- .../customresourcedefinition/types/types.go | 4 +- .../customresourcedefinition/v1/common.go | 6 +- .../customresourcedefinition/v1/detail.go | 8 +- .../customresourcedefinition/v1/list.go | 10 +-- .../customresourcedefinition/v1/list_test.go | 6 +- .../customresourcedefinition/v1/objects.go | 10 +-- api/src/resource/daemonset/common.go | 10 +-- api/src/resource/daemonset/detail.go | 4 +- api/src/resource/daemonset/list.go | 12 +-- api/src/resource/daemonset/list_test.go | 10 +-- api/src/resource/daemonset/pods.go | 12 +-- api/src/resource/daemonset/services.go | 8 +- api/src/resource/dataselect/dataselect.go | 4 +- .../resource/dataselect/dataselectquery.go | 2 +- api/src/resource/deployment/common.go | 10 +-- api/src/resource/deployment/deploy.go | 2 +- api/src/resource/deployment/detail.go | 4 +- api/src/resource/deployment/detail_test.go | 6 +- api/src/resource/deployment/list.go | 12 +-- api/src/resource/deployment/list_test.go | 10 +-- api/src/resource/deployment/newreplicasets.go | 8 +- api/src/resource/deployment/oldreplicasets.go | 10 +-- api/src/resource/deployment/pods.go | 12 +-- api/src/resource/deployment/util.go | 2 +- api/src/resource/endpoint/endpoint.go | 4 +- api/src/resource/endpoint/list.go | 2 +- api/src/resource/event/common.go | 8 +- api/src/resource/event/common_test.go | 6 +- api/src/resource/event/event.go | 2 +- api/src/resource/event/event_test.go | 2 +- api/src/resource/event/list.go | 6 +- .../horizontalpodautoscaler/common.go | 2 +- .../horizontalpodautoscaler/detail_test.go | 2 +- .../resource/horizontalpodautoscaler/list.go | 8 +- .../horizontalpodautoscaler/list_test.go | 6 +- api/src/resource/ingress/common.go | 2 +- api/src/resource/ingress/filter.go | 2 +- api/src/resource/ingress/list.go | 8 +- api/src/resource/job/common.go | 8 +- api/src/resource/job/detail.go | 4 +- api/src/resource/job/detail_test.go | 6 +- api/src/resource/job/events.go | 6 +- api/src/resource/job/events_test.go | 6 +- api/src/resource/job/list.go | 12 +-- api/src/resource/job/list_test.go | 10 +-- api/src/resource/job/pods.go | 12 +-- api/src/resource/logs/source.go | 6 +- api/src/resource/namespace/common.go | 2 +- api/src/resource/namespace/detail.go | 8 +- api/src/resource/namespace/detail_test.go | 2 +- api/src/resource/namespace/list.go | 8 +- api/src/resource/namespace/list_test.go | 4 +- api/src/resource/networkpolicy/common.go | 2 +- api/src/resource/networkpolicy/list.go | 8 +- api/src/resource/node/common.go | 8 +- api/src/resource/node/detail.go | 14 +-- api/src/resource/node/detail_test.go | 10 +-- api/src/resource/node/list.go | 8 +- api/src/resource/node/list_test.go | 6 +- api/src/resource/persistentvolume/common.go | 6 +- .../resource/persistentvolume/common_test.go | 4 +- .../resource/persistentvolume/detail_test.go | 2 +- api/src/resource/persistentvolume/list.go | 8 +- .../resource/persistentvolume/list_test.go | 4 +- .../resource/persistentvolumeclaim/common.go | 6 +- .../persistentvolumeclaim/common_test.go | 4 +- .../persistentvolumeclaim/detail_test.go | 2 +- .../resource/persistentvolumeclaim/list.go | 8 +- .../persistentvolumeclaim/list_test.go | 4 +- api/src/resource/pod/common.go | 10 +-- api/src/resource/pod/common_test.go | 4 +- api/src/resource/pod/detail.go | 14 +-- api/src/resource/pod/detail_test.go | 12 +-- api/src/resource/pod/events.go | 6 +- api/src/resource/pod/events_test.go | 6 +- api/src/resource/pod/list.go | 12 +-- api/src/resource/pod/list_test.go | 12 +-- api/src/resource/pod/metrics.go | 8 +- api/src/resource/replicaset/common.go | 10 +-- api/src/resource/replicaset/common_test.go | 4 +- api/src/resource/replicaset/detail.go | 8 +- api/src/resource/replicaset/detail_test.go | 12 +-- api/src/resource/replicaset/list.go | 12 +-- api/src/resource/replicaset/list_test.go | 10 +-- api/src/resource/replicaset/pods.go | 12 +-- api/src/resource/replicaset/services.go | 8 +- .../resource/replicationcontroller/common.go | 10 +-- .../resource/replicationcontroller/detail.go | 4 +- .../resource/replicationcontroller/list.go | 12 +-- .../replicationcontroller/list_test.go | 8 +- .../resource/replicationcontroller/pods.go | 12 +-- .../replicationcontroller/services.go | 8 +- api/src/resource/resourcequota/detail.go | 2 +- api/src/resource/resourcequota/detail_test.go | 2 +- api/src/resource/role/common.go | 2 +- api/src/resource/role/list.go | 8 +- api/src/resource/role/list_test.go | 4 +- api/src/resource/rolebinding/common.go | 2 +- api/src/resource/rolebinding/list.go | 8 +- api/src/resource/rolebinding/list_test.go | 4 +- api/src/resource/secret/common.go | 2 +- api/src/resource/secret/detail_test.go | 2 +- api/src/resource/secret/list.go | 8 +- api/src/resource/secret/list_test.go | 6 +- api/src/resource/service/common.go | 2 +- api/src/resource/service/detail.go | 4 +- api/src/resource/service/detail_test.go | 6 +- api/src/resource/service/events.go | 8 +- api/src/resource/service/events_test.go | 6 +- api/src/resource/service/ingress.go | 8 +- api/src/resource/service/list.go | 8 +- api/src/resource/service/list_test.go | 10 +-- api/src/resource/service/pods.go | 12 +-- api/src/resource/service/pods_test.go | 10 +-- api/src/resource/serviceaccount/common.go | 2 +- api/src/resource/serviceaccount/list.go | 8 +- api/src/resource/serviceaccount/secrets.go | 6 +- api/src/resource/statefulset/common.go | 10 +-- api/src/resource/statefulset/detail.go | 6 +- api/src/resource/statefulset/list.go | 12 +-- api/src/resource/statefulset/list_test.go | 10 +-- api/src/resource/statefulset/pods.go | 12 +-- api/src/resource/storageclass/common.go | 2 +- api/src/resource/storageclass/detail_test.go | 2 +- api/src/resource/storageclass/list.go | 8 +- api/src/resource/storageclass/list_test.go | 4 +- api/src/settings/handler.go | 8 +- api/src/settings/manager.go | 6 +- api/src/settings/manager_test.go | 2 +- api/src/sync/manager.go | 2 +- api/src/sync/overwatch.go | 2 +- api/src/sync/poll/secret.go | 4 +- api/src/sync/poll/secret_test.go | 2 +- api/src/sync/poll/watcher_test.go | 2 +- api/src/sync/secret.go | 6 +- api/src/sync/secret_test.go | 2 +- api/src/systembanner/handler.go | 2 +- api/src/systembanner/manager.go | 2 +- api/src/validation/validateappname.go | 2 +- api/src/validation/validateloginstatus.go | 4 +- .../validation/validateloginstatus_test.go | 2 +- api/src/validation/validaterbacstatus_test.go | 2 +- 251 files changed, 771 insertions(+), 771 deletions(-) diff --git a/api/go.mod b/api/go.mod index 9d82fa13f420..a29907269a2f 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,4 +1,4 @@ -module github.com/kubernetes/dashboard +module github.com/kubernetes/dashboard/api go 1.17 diff --git a/api/src/args/holder.go b/api/src/args/holder.go index 0185728d205a..90ec60cb4964 100644 --- a/api/src/args/holder.go +++ b/api/src/args/holder.go @@ -17,7 +17,7 @@ package args import ( "net" - "github.com/kubernetes/dashboard/src/app/backend/cert/api" + "github.com/kubernetes/dashboard/api/src/cert/api" ) var Holder = &holder{} diff --git a/api/src/auth/api/common.go b/api/src/auth/api/common.go index 71594ba96364..bd315e01809b 100644 --- a/api/src/auth/api/common.go +++ b/api/src/auth/api/common.go @@ -17,7 +17,7 @@ package api import ( "strings" - "github.com/kubernetes/dashboard/src/app/backend/args" + "github.com/kubernetes/dashboard/api/src/args" ) // ToAuthenticationModes transforms array of authentication mode strings to valid AuthenticationModes type. diff --git a/api/src/auth/basic.go b/api/src/auth/basic.go index 884e9abb9cda..d51991c1f96a 100644 --- a/api/src/auth/basic.go +++ b/api/src/auth/basic.go @@ -15,7 +15,7 @@ package auth import ( - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" "k8s.io/client-go/tools/clientcmd/api" ) diff --git a/api/src/auth/handler.go b/api/src/auth/handler.go index 45a7a075864b..03024f4d0db4 100644 --- a/api/src/auth/handler.go +++ b/api/src/auth/handler.go @@ -19,9 +19,9 @@ import ( "github.com/emicklei/go-restful/v3" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/validation" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/validation" ) // AuthHandler manages all endpoints related to dashboard auth, such as login. diff --git a/api/src/auth/jwe/keyholder.go b/api/src/auth/jwe/keyholder.go index 6f8068dcb856..66d9483531f8 100644 --- a/api/src/auth/jwe/keyholder.go +++ b/api/src/auth/jwe/keyholder.go @@ -26,10 +26,10 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" - "github.com/kubernetes/dashboard/src/app/backend/args" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - syncApi "github.com/kubernetes/dashboard/src/app/backend/sync/api" + "github.com/kubernetes/dashboard/api/src/args" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/errors" + syncApi "github.com/kubernetes/dashboard/api/src/sync/api" ) // Entries held by resource used to synchronize encryption key data. diff --git a/api/src/auth/jwe/keyholder_test.go b/api/src/auth/jwe/keyholder_test.go index af7ebe05b706..aa2d6dc98de7 100644 --- a/api/src/auth/jwe/keyholder_test.go +++ b/api/src/auth/jwe/keyholder_test.go @@ -17,7 +17,7 @@ package jwe import ( "testing" - "github.com/kubernetes/dashboard/src/app/backend/sync" + "github.com/kubernetes/dashboard/api/src/sync" "k8s.io/client-go/kubernetes/fake" ) diff --git a/api/src/auth/jwe/manager.go b/api/src/auth/jwe/manager.go index 91aeba4e56ff..e378da7873e9 100644 --- a/api/src/auth/jwe/manager.go +++ b/api/src/auth/jwe/manager.go @@ -21,8 +21,8 @@ import ( "k8s.io/apimachinery/pkg/util/json" "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/errors" ) // Implements TokenManager interface diff --git a/api/src/auth/jwe/manager_test.go b/api/src/auth/jwe/manager_test.go index 45f407bd7e8b..c9422b3319d3 100644 --- a/api/src/auth/jwe/manager_test.go +++ b/api/src/auth/jwe/manager_test.go @@ -22,9 +22,9 @@ import ( "k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/sync" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/sync" ) func getTokenManager() authApi.TokenManager { diff --git a/api/src/auth/jwe/util.go b/api/src/auth/jwe/util.go index 418846dfaefc..6b0d7ab04af4 100644 --- a/api/src/auth/jwe/util.go +++ b/api/src/auth/jwe/util.go @@ -19,7 +19,7 @@ import ( "crypto/x509" "encoding/pem" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) // Credits to David W. https://stackoverflow.com/a/44688503 diff --git a/api/src/auth/kubeconfig.go b/api/src/auth/kubeconfig.go index 035d93a92d29..4ece0a9fadc4 100644 --- a/api/src/auth/kubeconfig.go +++ b/api/src/auth/kubeconfig.go @@ -15,8 +15,8 @@ package auth import ( - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/errors" yaml "gopkg.in/yaml.v2" "k8s.io/client-go/tools/clientcmd/api" diff --git a/api/src/auth/kubeconfig_test.go b/api/src/auth/kubeconfig_test.go index be494361ed34..a0bb16fc6a34 100644 --- a/api/src/auth/kubeconfig_test.go +++ b/api/src/auth/kubeconfig_test.go @@ -22,8 +22,8 @@ import ( "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/errors" ) const kubeconfigTemplate = ` diff --git a/api/src/auth/manager.go b/api/src/auth/manager.go index e5e1e00c16e4..7e82902dae78 100644 --- a/api/src/auth/manager.go +++ b/api/src/auth/manager.go @@ -17,9 +17,9 @@ package auth import ( "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/errors" ) // Implements AuthManager interface diff --git a/api/src/auth/manager_test.go b/api/src/auth/manager_test.go index 18752a100940..4cfef43950a0 100644 --- a/api/src/auth/manager_test.go +++ b/api/src/auth/manager_test.go @@ -21,12 +21,12 @@ import ( restful "github.com/emicklei/go-restful/v3" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/client" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/client" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/errors" - pluginclientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" + pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" v1 "k8s.io/api/authorization/v1" apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" "k8s.io/client-go/kubernetes" diff --git a/api/src/auth/token.go b/api/src/auth/token.go index f25bc2a632df..9b52abface13 100644 --- a/api/src/auth/token.go +++ b/api/src/auth/token.go @@ -15,7 +15,7 @@ package auth import ( - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" "k8s.io/client-go/tools/clientcmd/api" ) diff --git a/api/src/cert/ecdsa/creator.go b/api/src/cert/ecdsa/creator.go index 6a4c330fbc88..9b4d715072f8 100644 --- a/api/src/cert/ecdsa/creator.go +++ b/api/src/cert/ecdsa/creator.go @@ -27,7 +27,7 @@ import ( "os" "time" - certapi "github.com/kubernetes/dashboard/src/app/backend/cert/api" + certapi "github.com/kubernetes/dashboard/api/src/cert/api" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/cert/ecdsa/creator_test.go b/api/src/cert/ecdsa/creator_test.go index aca2970d0eb5..86a7c02697e8 100644 --- a/api/src/cert/ecdsa/creator_test.go +++ b/api/src/cert/ecdsa/creator_test.go @@ -18,7 +18,7 @@ import ( "crypto/elliptic" "testing" - "github.com/kubernetes/dashboard/src/app/backend/cert/ecdsa" + "github.com/kubernetes/dashboard/api/src/cert/ecdsa" ) func TestNewECDSACreator(t *testing.T) { diff --git a/api/src/cert/manager.go b/api/src/cert/manager.go index c95e6f909708..8b01bd498b8a 100644 --- a/api/src/cert/manager.go +++ b/api/src/cert/manager.go @@ -19,7 +19,7 @@ import ( "log" "os" - certapi "github.com/kubernetes/dashboard/src/app/backend/cert/api" + certapi "github.com/kubernetes/dashboard/api/src/cert/api" ) // Manager is used to implement cert/api/types.Manager interface. See Manager for more information. diff --git a/api/src/client/api/common_test.go b/api/src/client/api/common_test.go index 2cb7f5724e36..8bd79222abbe 100644 --- a/api/src/client/api/common_test.go +++ b/api/src/client/api/common_test.go @@ -20,7 +20,7 @@ import ( v1 "k8s.io/api/authorization/v1" - "github.com/kubernetes/dashboard/src/app/backend/client/api" + "github.com/kubernetes/dashboard/api/src/client/api" ) func TestToSelfSubjectAccessReview(t *testing.T) { diff --git a/api/src/client/api/types.go b/api/src/client/api/types.go index be56b6edd84d..95b4c0471a23 100644 --- a/api/src/client/api/types.go +++ b/api/src/client/api/types.go @@ -24,8 +24,8 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - pluginclientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" ) const ( diff --git a/api/src/client/csrf/manager.go b/api/src/client/csrf/manager.go index f1d61fb7114e..a140118fb032 100644 --- a/api/src/client/csrf/manager.go +++ b/api/src/client/csrf/manager.go @@ -21,8 +21,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/client/api" + "github.com/kubernetes/dashboard/api/src/args" + "github.com/kubernetes/dashboard/api/src/client/api" ) // Implements CsrfTokenManager interface. diff --git a/api/src/client/csrf/manager_test.go b/api/src/client/csrf/manager_test.go index c02d919a18a9..c74b88a6023d 100644 --- a/api/src/client/csrf/manager_test.go +++ b/api/src/client/csrf/manager_test.go @@ -21,8 +21,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/client/csrf" + "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/client/csrf" ) func TestCsrfTokenManager_Token(t *testing.T) { diff --git a/api/src/client/manager.go b/api/src/client/manager.go index 29a85e999d28..1f7d3a8d7411 100644 --- a/api/src/client/manager.go +++ b/api/src/client/manager.go @@ -32,14 +32,14 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" - pluginclientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition" - - "github.com/kubernetes/dashboard/src/app/backend/args" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/client/csrf" - "github.com/kubernetes/dashboard/src/app/backend/errors" + pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition" + + "github.com/kubernetes/dashboard/api/src/args" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/client/csrf" + "github.com/kubernetes/dashboard/api/src/errors" ) // Dashboard UI default values for client configs. diff --git a/api/src/client/manager_test.go b/api/src/client/manager_test.go index 222f1be5e96d..3cb035c097e8 100644 --- a/api/src/client/manager_test.go +++ b/api/src/client/manager_test.go @@ -20,8 +20,8 @@ import ( "testing" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/args" + "github.com/kubernetes/dashboard/api/src/errors" "k8s.io/client-go/rest" ) diff --git a/api/src/client/verber.go b/api/src/client/verber.go index 27221b1f4987..4e0cdc88f483 100644 --- a/api/src/client/verber.go +++ b/api/src/client/verber.go @@ -24,10 +24,10 @@ import ( "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/src/app/backend/api" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition" + "github.com/kubernetes/dashboard/api/src/api" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition" ) // resourceVerber is a struct responsible for doing common verb operations on resources, like diff --git a/api/src/client/verber_test.go b/api/src/client/verber_test.go index 9d1346990a16..7f6e0f24cde3 100644 --- a/api/src/client/verber_test.go +++ b/api/src/client/verber_test.go @@ -28,7 +28,7 @@ import ( restclient "k8s.io/client-go/rest" "k8s.io/client-go/rest/fake" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) type clientFunc func(req *http.Request) (*http.Response, error) diff --git a/api/src/dashboard.go b/api/src/dashboard.go index a9c926f31102..b8b150997f14 100644 --- a/api/src/dashboard.go +++ b/api/src/dashboard.go @@ -28,20 +28,20 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/spf13/pflag" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/auth" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/auth/jwe" - "github.com/kubernetes/dashboard/src/app/backend/cert" - "github.com/kubernetes/dashboard/src/app/backend/cert/ecdsa" - "github.com/kubernetes/dashboard/src/app/backend/client" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/handler" - "github.com/kubernetes/dashboard/src/app/backend/integration" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - "github.com/kubernetes/dashboard/src/app/backend/settings" - "github.com/kubernetes/dashboard/src/app/backend/sync" - "github.com/kubernetes/dashboard/src/app/backend/systembanner" + "github.com/kubernetes/dashboard/api/src/args" + "github.com/kubernetes/dashboard/api/src/auth" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/auth/jwe" + "github.com/kubernetes/dashboard/api/src/cert" + "github.com/kubernetes/dashboard/api/src/cert/ecdsa" + "github.com/kubernetes/dashboard/api/src/client" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/handler" + "github.com/kubernetes/dashboard/api/src/integration" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" + "github.com/kubernetes/dashboard/api/src/settings" + "github.com/kubernetes/dashboard/api/src/sync" + "github.com/kubernetes/dashboard/api/src/systembanner" ) var ( diff --git a/api/src/errors/handler_test.go b/api/src/errors/handler_test.go index c7c37d99ce6f..1675830a0e49 100644 --- a/api/src/errors/handler_test.go +++ b/api/src/errors/handler_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func TestHandleHTTPError(t *testing.T) { diff --git a/api/src/errors/localizer_test.go b/api/src/errors/localizer_test.go index 59b5c6f81abf..42d69240c5f9 100644 --- a/api/src/errors/localizer_test.go +++ b/api/src/errors/localizer_test.go @@ -17,7 +17,7 @@ package errors_test import ( "testing" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func TestLocalizeError(t *testing.T) { diff --git a/api/src/handler/apihandler.go b/api/src/handler/apihandler.go index 29cebc5b0885..8aa63f1725ee 100644 --- a/api/src/handler/apihandler.go +++ b/api/src/handler/apihandler.go @@ -22,59 +22,59 @@ import ( v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/src/app/backend/resource/networkpolicy" + "github.com/kubernetes/dashboard/api/src/resource/networkpolicy" - "github.com/kubernetes/dashboard/src/app/backend/handler/parser" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" + "github.com/kubernetes/dashboard/api/src/handler/parser" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/src/app/backend/plugin" + "github.com/kubernetes/dashboard/api/src/plugin" "github.com/emicklei/go-restful/v3" "golang.org/x/net/xsrftoken" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/tools/remotecommand" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/auth" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/integration" - "github.com/kubernetes/dashboard/src/app/backend/resource/clusterrole" - "github.com/kubernetes/dashboard/src/app/backend/resource/clusterrolebinding" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/configmap" - "github.com/kubernetes/dashboard/src/app/backend/resource/container" - "github.com/kubernetes/dashboard/src/app/backend/resource/controller" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition" - "github.com/kubernetes/dashboard/src/app/backend/resource/daemonset" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/deployment" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/horizontalpodautoscaler" - "github.com/kubernetes/dashboard/src/app/backend/resource/ingress" - "github.com/kubernetes/dashboard/src/app/backend/resource/job" - "github.com/kubernetes/dashboard/src/app/backend/resource/logs" - ns "github.com/kubernetes/dashboard/src/app/backend/resource/namespace" - "github.com/kubernetes/dashboard/src/app/backend/resource/node" - "github.com/kubernetes/dashboard/src/app/backend/resource/persistentvolume" - "github.com/kubernetes/dashboard/src/app/backend/resource/persistentvolumeclaim" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" - "github.com/kubernetes/dashboard/src/app/backend/resource/replicaset" - "github.com/kubernetes/dashboard/src/app/backend/resource/replicationcontroller" - "github.com/kubernetes/dashboard/src/app/backend/resource/role" - "github.com/kubernetes/dashboard/src/app/backend/resource/rolebinding" - "github.com/kubernetes/dashboard/src/app/backend/resource/secret" - resourceService "github.com/kubernetes/dashboard/src/app/backend/resource/service" - "github.com/kubernetes/dashboard/src/app/backend/resource/serviceaccount" - "github.com/kubernetes/dashboard/src/app/backend/resource/statefulset" - "github.com/kubernetes/dashboard/src/app/backend/resource/storageclass" - "github.com/kubernetes/dashboard/src/app/backend/scaling" - "github.com/kubernetes/dashboard/src/app/backend/settings" - settingsApi "github.com/kubernetes/dashboard/src/app/backend/settings/api" - "github.com/kubernetes/dashboard/src/app/backend/systembanner" - "github.com/kubernetes/dashboard/src/app/backend/validation" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/auth" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/integration" + "github.com/kubernetes/dashboard/api/src/resource/clusterrole" + "github.com/kubernetes/dashboard/api/src/resource/clusterrolebinding" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/configmap" + "github.com/kubernetes/dashboard/api/src/resource/container" + "github.com/kubernetes/dashboard/api/src/resource/controller" + "github.com/kubernetes/dashboard/api/src/resource/cronjob" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition" + "github.com/kubernetes/dashboard/api/src/resource/daemonset" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/deployment" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/horizontalpodautoscaler" + "github.com/kubernetes/dashboard/api/src/resource/ingress" + "github.com/kubernetes/dashboard/api/src/resource/job" + "github.com/kubernetes/dashboard/api/src/resource/logs" + ns "github.com/kubernetes/dashboard/api/src/resource/namespace" + "github.com/kubernetes/dashboard/api/src/resource/node" + "github.com/kubernetes/dashboard/api/src/resource/persistentvolume" + "github.com/kubernetes/dashboard/api/src/resource/persistentvolumeclaim" + "github.com/kubernetes/dashboard/api/src/resource/pod" + "github.com/kubernetes/dashboard/api/src/resource/replicaset" + "github.com/kubernetes/dashboard/api/src/resource/replicationcontroller" + "github.com/kubernetes/dashboard/api/src/resource/role" + "github.com/kubernetes/dashboard/api/src/resource/rolebinding" + "github.com/kubernetes/dashboard/api/src/resource/secret" + resourceService "github.com/kubernetes/dashboard/api/src/resource/service" + "github.com/kubernetes/dashboard/api/src/resource/serviceaccount" + "github.com/kubernetes/dashboard/api/src/resource/statefulset" + "github.com/kubernetes/dashboard/api/src/resource/storageclass" + "github.com/kubernetes/dashboard/api/src/scaling" + "github.com/kubernetes/dashboard/api/src/settings" + settingsApi "github.com/kubernetes/dashboard/api/src/settings/api" + "github.com/kubernetes/dashboard/api/src/systembanner" + "github.com/kubernetes/dashboard/api/src/validation" ) const ( diff --git a/api/src/handler/apihandler_test.go b/api/src/handler/apihandler_test.go index a543f4bf6bb8..4515bb984ad3 100644 --- a/api/src/handler/apihandler_test.go +++ b/api/src/handler/apihandler_test.go @@ -24,14 +24,14 @@ import ( "strings" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/auth" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/auth/jwe" - "github.com/kubernetes/dashboard/src/app/backend/client" - "github.com/kubernetes/dashboard/src/app/backend/settings" - "github.com/kubernetes/dashboard/src/app/backend/sync" - "github.com/kubernetes/dashboard/src/app/backend/systembanner" + "github.com/kubernetes/dashboard/api/src/args" + "github.com/kubernetes/dashboard/api/src/auth" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + "github.com/kubernetes/dashboard/api/src/auth/jwe" + "github.com/kubernetes/dashboard/api/src/client" + "github.com/kubernetes/dashboard/api/src/settings" + "github.com/kubernetes/dashboard/api/src/sync" + "github.com/kubernetes/dashboard/api/src/systembanner" "k8s.io/client-go/kubernetes/fake" ) diff --git a/api/src/handler/download.go b/api/src/handler/download.go index 7fe876b33625..43fd8cc22a2d 100644 --- a/api/src/handler/download.go +++ b/api/src/handler/download.go @@ -19,7 +19,7 @@ import ( restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func handleDownload(response *restful.Response, result io.ReadCloser) { diff --git a/api/src/handler/filter.go b/api/src/handler/filter.go index 376981c6b33a..1f88bb579bbd 100644 --- a/api/src/handler/filter.go +++ b/api/src/handler/filter.go @@ -27,10 +27,10 @@ import ( "golang.org/x/net/xsrftoken" utilnet "k8s.io/apimachinery/pkg/util/net" - "github.com/kubernetes/dashboard/src/app/backend/args" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/args" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/errors" ) const ( diff --git a/api/src/handler/localehandler.go b/api/src/handler/localehandler.go index 8d76a3b0835e..1592c7c726d8 100644 --- a/api/src/handler/localehandler.go +++ b/api/src/handler/localehandler.go @@ -24,7 +24,7 @@ import ( "github.com/golang/glog" "golang.org/x/text/language" - "github.com/kubernetes/dashboard/src/app/backend/args" + "github.com/kubernetes/dashboard/api/src/args" ) const defaultLocaleDir = "en" diff --git a/api/src/handler/parser/parser.go b/api/src/handler/parser/parser.go index 2dd05e10ce80..e31888fd1250 100644 --- a/api/src/handler/parser/parser.go +++ b/api/src/handler/parser/parser.go @@ -19,8 +19,8 @@ import ( "strings" "github.com/emicklei/go-restful/v3" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) func parsePaginationPathParameter(request *restful.Request) *dataselect.PaginationQuery { diff --git a/api/src/integration/handler.go b/api/src/integration/handler.go index 62c439eaa139..de6c8db6de41 100644 --- a/api/src/integration/handler.go +++ b/api/src/integration/handler.go @@ -18,7 +18,7 @@ import ( "net/http" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/integration/api" + "github.com/kubernetes/dashboard/api/src/integration/api" ) // IntegrationHandler manages all endpoints related to integrated applications, such as state. diff --git a/api/src/integration/list.go b/api/src/integration/list.go index b624e43ab6f3..66e0c607f7ab 100644 --- a/api/src/integration/list.go +++ b/api/src/integration/list.go @@ -15,7 +15,7 @@ package integration import ( - "github.com/kubernetes/dashboard/src/app/backend/integration/api" + "github.com/kubernetes/dashboard/api/src/integration/api" ) // IntegrationsGetter is responsible for listing all supported integrations. diff --git a/api/src/integration/manager.go b/api/src/integration/manager.go index 3ad7f01ef541..5781a62bda4d 100644 --- a/api/src/integration/manager.go +++ b/api/src/integration/manager.go @@ -17,9 +17,9 @@ package integration import ( "fmt" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/integration/api" + "github.com/kubernetes/dashboard/api/src/integration/metric" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/integration/manager_test.go b/api/src/integration/manager_test.go index fc0cfb64bc98..fce50e108343 100644 --- a/api/src/integration/manager_test.go +++ b/api/src/integration/manager_test.go @@ -18,9 +18,9 @@ import ( "strings" "testing" - "github.com/kubernetes/dashboard/src/app/backend/client" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/integration/api" + "github.com/kubernetes/dashboard/api/src/client" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/integration/api" ) func areErrorsEqual(err1, err2 error) bool { @@ -52,16 +52,16 @@ func TestIntegrationManager_GetState(t *testing.T) { { "Server provided and using in-cluster heapster", "http://127.0.0.1:8080", "", &api.IntegrationState{ - Connected: false, - Error: errors.NewInvalid("Get http://127.0.0.1:8080/api/v1/namespaces/kube-system/services/heapster/proxy/healthz: dial tcp 127.0.0.1:8080: connect: connection refused"), - }, nil, + Connected: false, + Error: errors.NewInvalid("Get http://127.0.0.1:8080/api/v1/namespaces/kube-system/services/heapster/proxy/healthz: dial tcp 127.0.0.1:8080: connect: connection refused"), + }, nil, }, { "Server provided and using external heapster", "http://127.0.0.1:8080", "http://127.0.0.1:8081", &api.IntegrationState{ - Connected: false, - Error: errors.NewInvalid("Get http://127.0.0.1:8081/healthz: dial tcp 127.0.0.1:8081: connect: connection refused"), - }, nil, + Connected: false, + Error: errors.NewInvalid("Get http://127.0.0.1:8081/healthz: dial tcp 127.0.0.1:8081: connect: connection refused"), + }, nil, }, } diff --git a/api/src/integration/metric/api/types.go b/api/src/integration/metric/api/types.go index 2fc1910e4897..02903ef8c328 100644 --- a/api/src/integration/metric/api/types.go +++ b/api/src/integration/metric/api/types.go @@ -18,8 +18,8 @@ import ( "fmt" "time" - "github.com/kubernetes/dashboard/src/app/backend/api" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" + "github.com/kubernetes/dashboard/api/src/api" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" ) diff --git a/api/src/integration/metric/common/aggregation.go b/api/src/integration/metric/common/aggregation.go index e0d490b4e687..9d231dfb89af 100644 --- a/api/src/integration/metric/common/aggregation.go +++ b/api/src/integration/metric/common/aggregation.go @@ -17,7 +17,7 @@ package common import ( "sort" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" ) // SortableInt64 implements sort.Interface for []int64. This allows to use built in sort with int64. diff --git a/api/src/integration/metric/common/aggregation_test.go b/api/src/integration/metric/common/aggregation_test.go index d019a335b1b5..82fa3d026b8f 100644 --- a/api/src/integration/metric/common/aggregation_test.go +++ b/api/src/integration/metric/common/aggregation_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" "k8s.io/apimachinery/pkg/types" ) diff --git a/api/src/integration/metric/heapster/client.go b/api/src/integration/metric/heapster/client.go index cbe60324d501..ba872295d6f7 100644 --- a/api/src/integration/metric/heapster/client.go +++ b/api/src/integration/metric/heapster/client.go @@ -26,11 +26,11 @@ import ( "k8s.io/client-go/rest" heapster "k8s.io/heapster/metrics/api/v1/types" - "github.com/kubernetes/dashboard/src/app/backend/client" - "github.com/kubernetes/dashboard/src/app/backend/errors" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/common" + "github.com/kubernetes/dashboard/api/src/client" + "github.com/kubernetes/dashboard/api/src/errors" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/integration/metric/common" ) // Heapster client implements MetricClient and Integration interfaces. diff --git a/api/src/integration/metric/heapster/client_test.go b/api/src/integration/metric/heapster/client_test.go index 28b8cf08233c..cbc627679003 100644 --- a/api/src/integration/metric/heapster/client_test.go +++ b/api/src/integration/metric/heapster/client_test.go @@ -31,11 +31,11 @@ import ( "k8s.io/client-go/rest" heapster "k8s.io/heapster/metrics/api/v1/types" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/client" - "github.com/kubernetes/dashboard/src/app/backend/errors" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/client" + "github.com/kubernetes/dashboard/api/src/errors" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" ) func areErrorsEqual(err1, err2 error) bool { diff --git a/api/src/integration/metric/heapster/common.go b/api/src/integration/metric/heapster/common.go index e8e2867d65e8..a2d0e48272b3 100644 --- a/api/src/integration/metric/heapster/common.go +++ b/api/src/integration/metric/heapster/common.go @@ -15,8 +15,8 @@ package heapster import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" heapster "k8s.io/heapster/metrics/api/v1/types" ) diff --git a/api/src/integration/metric/heapster/model.go b/api/src/integration/metric/heapster/model.go index 68d73b7a191f..4cb560e78c8f 100644 --- a/api/src/integration/metric/heapster/model.go +++ b/api/src/integration/metric/heapster/model.go @@ -15,8 +15,8 @@ package heapster import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" heapster "k8s.io/heapster/metrics/api/v1/types" ) diff --git a/api/src/integration/metric/heapster/selector.go b/api/src/integration/metric/heapster/selector.go index 74648e4a29da..c987317cde4e 100644 --- a/api/src/integration/metric/heapster/selector.go +++ b/api/src/integration/metric/heapster/selector.go @@ -18,8 +18,8 @@ import ( "fmt" "github.com/emicklei/go-restful/v3/log" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" ) diff --git a/api/src/integration/metric/heapster/selector_test.go b/api/src/integration/metric/heapster/selector_test.go index 98f2a731b46b..47d1359f51cd 100644 --- a/api/src/integration/metric/heapster/selector_test.go +++ b/api/src/integration/metric/heapster/selector_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/integration/metric/manager.go b/api/src/integration/metric/manager.go index 2824d71ca6c9..488d4422398c 100644 --- a/api/src/integration/metric/manager.go +++ b/api/src/integration/metric/manager.go @@ -19,11 +19,11 @@ import ( "log" "time" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/heapster" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/sidecar" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/integration/metric/heapster" + "github.com/kubernetes/dashboard/api/src/integration/metric/sidecar" "k8s.io/apimachinery/pkg/util/wait" ) diff --git a/api/src/integration/metric/manager_test.go b/api/src/integration/metric/manager_test.go index 678d8523b0d9..894215a5b006 100644 --- a/api/src/integration/metric/manager_test.go +++ b/api/src/integration/metric/manager_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/client" - "github.com/kubernetes/dashboard/src/app/backend/errors" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/client" + "github.com/kubernetes/dashboard/api/src/errors" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" + "github.com/kubernetes/dashboard/api/src/integration/metric/api" ) const fakeMetricClientID integrationapi.IntegrationID = "test-id" diff --git a/api/src/integration/metric/sidecar/client.go b/api/src/integration/metric/sidecar/client.go index 8925a317cbc2..cebc7cbb3f73 100644 --- a/api/src/integration/metric/sidecar/client.go +++ b/api/src/integration/metric/sidecar/client.go @@ -22,10 +22,10 @@ import ( "log" "strings" - "github.com/kubernetes/dashboard/src/app/backend/client" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/common" + "github.com/kubernetes/dashboard/api/src/client" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/integration/metric/common" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" diff --git a/api/src/integration/metric/sidecar/client_test.go b/api/src/integration/metric/sidecar/client_test.go index 08242b58b3ad..60faaebf658b 100644 --- a/api/src/integration/metric/sidecar/client_test.go +++ b/api/src/integration/metric/sidecar/client_test.go @@ -28,10 +28,10 @@ import ( "errors" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/client" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/client" + integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" diff --git a/api/src/integration/metric/sidecar/common.go b/api/src/integration/metric/sidecar/common.go index 2fad2bf449f3..18e7c66694c4 100644 --- a/api/src/integration/metric/sidecar/common.go +++ b/api/src/integration/metric/sidecar/common.go @@ -15,8 +15,8 @@ package sidecar import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" ) // compress compresses list of SidecarSelectors to equivalent, shorter one in order to perform smaller number of requests. diff --git a/api/src/integration/metric/sidecar/model.go b/api/src/integration/metric/sidecar/model.go index 7bdaaa1fd0e4..e8030ff9cdd4 100644 --- a/api/src/integration/metric/sidecar/model.go +++ b/api/src/integration/metric/sidecar/model.go @@ -15,8 +15,8 @@ package sidecar import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" ) // SidecarAllInOneDownloadConfig holds config information specifying whether given native Sidecar diff --git a/api/src/integration/metric/sidecar/restclient.go b/api/src/integration/metric/sidecar/restclient.go index 96ccfa0f698d..cc3d16786bb7 100644 --- a/api/src/integration/metric/sidecar/restclient.go +++ b/api/src/integration/metric/sidecar/restclient.go @@ -17,7 +17,7 @@ package sidecar import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/args" + "github.com/kubernetes/dashboard/api/src/args" "k8s.io/client-go/rest" ) diff --git a/api/src/integration/metric/sidecar/selector.go b/api/src/integration/metric/sidecar/selector.go index 9efabe2cbd10..0f7e1476b200 100644 --- a/api/src/integration/metric/sidecar/selector.go +++ b/api/src/integration/metric/sidecar/selector.go @@ -18,8 +18,8 @@ import ( "fmt" "github.com/emicklei/go-restful/v3/log" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" ) diff --git a/api/src/integration/metric/sidecar/selector_test.go b/api/src/integration/metric/sidecar/selector_test.go index 64c07011a45e..27ac5fa46069 100644 --- a/api/src/integration/metric/sidecar/selector_test.go +++ b/api/src/integration/metric/sidecar/selector_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/plugin/apis/v1alpha1/register.go b/api/src/plugin/apis/v1alpha1/register.go index f14fa440509e..6ff2360f6652 100644 --- a/api/src/plugin/apis/v1alpha1/register.go +++ b/api/src/plugin/apis/v1alpha1/register.go @@ -19,7 +19,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "github.com/kubernetes/dashboard/src/app/backend/plugin/apis" + "github.com/kubernetes/dashboard/api/src/plugin/apis" ) // SchemeGroupVersion is group version used to register these objects diff --git a/api/src/plugin/client/clientset/versioned/clientset.go b/api/src/plugin/client/clientset/versioned/clientset.go index b179c66e4263..0568451395a9 100644 --- a/api/src/plugin/client/clientset/versioned/clientset.go +++ b/api/src/plugin/client/clientset/versioned/clientset.go @@ -20,7 +20,7 @@ import ( "fmt" "net/http" - dashboardv1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1" + dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1" discovery "k8s.io/client-go/discovery" rest "k8s.io/client-go/rest" flowcontrol "k8s.io/client-go/util/flowcontrol" diff --git a/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go b/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go index a91386b30803..7a77de2a1497 100644 --- a/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go +++ b/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go @@ -17,9 +17,9 @@ package fake import ( - clientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" - dashboardv1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1" - fakedashboardv1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake" + clientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1" + fakedashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/discovery" diff --git a/api/src/plugin/client/clientset/versioned/fake/register.go b/api/src/plugin/client/clientset/versioned/fake/register.go index f2cb0251257f..fafc622f6ddc 100644 --- a/api/src/plugin/client/clientset/versioned/fake/register.go +++ b/api/src/plugin/client/clientset/versioned/fake/register.go @@ -17,7 +17,7 @@ package fake import ( - dashboardv1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" + dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/clientset/versioned/scheme/register.go b/api/src/plugin/client/clientset/versioned/scheme/register.go index e3445e8c0f7c..6f7b47707062 100644 --- a/api/src/plugin/client/clientset/versioned/scheme/register.go +++ b/api/src/plugin/client/clientset/versioned/scheme/register.go @@ -17,7 +17,7 @@ package scheme import ( - dashboardv1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" + dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go index e23ca742363a..5ff675fd6408 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go +++ b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go @@ -19,8 +19,8 @@ package v1alpha1 import ( "net/http" - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" - "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/scheme" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/scheme" rest "k8s.io/client-go/rest" ) diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go index de1467073280..00e44e87c741 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go +++ b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go @@ -17,7 +17,7 @@ package fake import ( - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/typed/apis/v1alpha1" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" ) diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go index ecdf485c4f6c..c681a41cafed 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go +++ b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go @@ -19,7 +19,7 @@ package fake import ( "context" - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go index 410c53bb3e70..bb41e5c277fd 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go +++ b/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go @@ -20,8 +20,8 @@ import ( "context" "time" - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" - scheme "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/scheme" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + scheme "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" diff --git a/api/src/plugin/client/informers/externalversions/apis/interface.go b/api/src/plugin/client/informers/externalversions/apis/interface.go index 3cbfe14be03d..8ab875e9bd08 100644 --- a/api/src/plugin/client/informers/externalversions/apis/interface.go +++ b/api/src/plugin/client/informers/externalversions/apis/interface.go @@ -17,8 +17,8 @@ package apis import ( - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/client/informers/externalversions/apis/v1alpha1" - internalinterfaces "github.com/kubernetes/dashboard/src/app/backend/plugin/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/apis/v1alpha1" + internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" ) // Interface provides access to each of this group's versions. diff --git a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go b/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go index f5d63c06787c..b47e0af146c4 100644 --- a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go +++ b/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go @@ -17,7 +17,7 @@ package v1alpha1 import ( - internalinterfaces "github.com/kubernetes/dashboard/src/app/backend/plugin/client/informers/externalversions/internalinterfaces" + internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" ) // Interface provides access to all the informers in this group version. diff --git a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go b/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go index ed49a1a308a6..da68dc2ce05c 100644 --- a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go +++ b/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go @@ -20,10 +20,10 @@ import ( "context" time "time" - apisv1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" - versioned "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" - internalinterfaces "github.com/kubernetes/dashboard/src/app/backend/plugin/client/informers/externalversions/internalinterfaces" - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/client/listers/apis/v1alpha1" + apisv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + versioned "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/listers/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" diff --git a/api/src/plugin/client/informers/externalversions/factory.go b/api/src/plugin/client/informers/externalversions/factory.go index ac57e25ef52e..fd9a4da54017 100644 --- a/api/src/plugin/client/informers/externalversions/factory.go +++ b/api/src/plugin/client/informers/externalversions/factory.go @@ -21,9 +21,9 @@ import ( sync "sync" time "time" - versioned "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" - apis "github.com/kubernetes/dashboard/src/app/backend/plugin/client/informers/externalversions/apis" - internalinterfaces "github.com/kubernetes/dashboard/src/app/backend/plugin/client/informers/externalversions/internalinterfaces" + versioned "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + apis "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/apis" + internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/informers/externalversions/generic.go b/api/src/plugin/client/informers/externalversions/generic.go index 7c9620df3bcd..cd7bc0841675 100644 --- a/api/src/plugin/client/informers/externalversions/generic.go +++ b/api/src/plugin/client/informers/externalversions/generic.go @@ -19,7 +19,7 @@ package externalversions import ( "fmt" - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" schema "k8s.io/apimachinery/pkg/runtime/schema" cache "k8s.io/client-go/tools/cache" ) diff --git a/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go index ed335a0cec91..f9c1515a98e3 100644 --- a/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go +++ b/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -19,7 +19,7 @@ package internalinterfaces import ( time "time" - versioned "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" + versioned "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" cache "k8s.io/client-go/tools/cache" diff --git a/api/src/plugin/client/listers/apis/v1alpha1/plugin.go b/api/src/plugin/client/listers/apis/v1alpha1/plugin.go index e0ae45b1e4b0..79af03bed4c2 100644 --- a/api/src/plugin/client/listers/apis/v1alpha1/plugin.go +++ b/api/src/plugin/client/listers/apis/v1alpha1/plugin.go @@ -17,7 +17,7 @@ package v1alpha1 import ( - v1alpha1 "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" + v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/tools/cache" diff --git a/api/src/plugin/config.go b/api/src/plugin/config.go index 8559f877011b..da085d66b20c 100644 --- a/api/src/plugin/config.go +++ b/api/src/plugin/config.go @@ -18,7 +18,7 @@ import ( "net/http" "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/handler/parser" + "github.com/kubernetes/dashboard/api/src/handler/parser" apiErrors "k8s.io/apimachinery/pkg/api/errors" ) diff --git a/api/src/plugin/config_test.go b/api/src/plugin/config_test.go index 7e5ef90d92c4..e31ddbfd95e2 100644 --- a/api/src/plugin/config_test.go +++ b/api/src/plugin/config_test.go @@ -20,13 +20,13 @@ import ( "net/http/httptest" "testing" - "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" + "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" "github.com/emicklei/go-restful/v3" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" - fakePluginClientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/fake" + authApi "github.com/kubernetes/dashboard/api/src/auth/api" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + fakePluginClientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/fake" v1 "k8s.io/api/authorization/v1" coreV1 "k8s.io/api/core/v1" "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" diff --git a/api/src/plugin/detail.go b/api/src/plugin/detail.go index 8fbe6166120f..396fa0e1ffb9 100644 --- a/api/src/plugin/detail.go +++ b/api/src/plugin/detail.go @@ -17,7 +17,7 @@ package plugin import ( "context" - pluginclientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" + pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/plugin/detail_test.go b/api/src/plugin/detail_test.go index 14fdddb49d47..9e1ba93b975c 100644 --- a/api/src/plugin/detail_test.go +++ b/api/src/plugin/detail_test.go @@ -23,8 +23,8 @@ import ( "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" - fakePluginClientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/fake" + "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + fakePluginClientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/fake" coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/plugin/handler.go b/api/src/plugin/handler.go index 86cf8d0d5a1f..5c8e32ed776b 100644 --- a/api/src/plugin/handler.go +++ b/api/src/plugin/handler.go @@ -19,11 +19,11 @@ import ( "path/filepath" "strings" - "github.com/kubernetes/dashboard/src/app/backend/handler/parser" + "github.com/kubernetes/dashboard/api/src/handler/parser" "github.com/emicklei/go-restful/v3" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/errors" ) const ( diff --git a/api/src/plugin/list.go b/api/src/plugin/list.go index 1da0efe69197..ac471d1caa81 100644 --- a/api/src/plugin/list.go +++ b/api/src/plugin/list.go @@ -18,11 +18,11 @@ import ( "context" "fmt" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" - pluginclientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/plugin/list_test.go b/api/src/plugin/list_test.go index 0a03e187f4df..41b3333c7578 100644 --- a/api/src/plugin/list_test.go +++ b/api/src/plugin/list_test.go @@ -22,10 +22,10 @@ import ( "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1" - fakePluginClientset "github.com/kubernetes/dashboard/src/app/backend/plugin/client/clientset/versioned/fake" + "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + fakePluginClientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/fake" coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/clusterrole/common.go b/api/src/resource/clusterrole/common.go index 956e6d9bad18..a892068beb82 100644 --- a/api/src/resource/clusterrole/common.go +++ b/api/src/resource/clusterrole/common.go @@ -15,7 +15,7 @@ package clusterrole import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // The code below allows to perform complex data section on []ClusterRole diff --git a/api/src/resource/clusterrole/list.go b/api/src/resource/clusterrole/list.go index 97372c999846..51b1a33d17af 100644 --- a/api/src/resource/clusterrole/list.go +++ b/api/src/resource/clusterrole/list.go @@ -17,10 +17,10 @@ package clusterrole import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/clusterrole/list_test.go b/api/src/resource/clusterrole/list_test.go index b2cc9e2d95e6..0d6f41a4f5d1 100644 --- a/api/src/resource/clusterrole/list_test.go +++ b/api/src/resource/clusterrole/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/clusterrolebinding/common.go b/api/src/resource/clusterrolebinding/common.go index da94ce6f5565..2ef4bf263b7b 100644 --- a/api/src/resource/clusterrolebinding/common.go +++ b/api/src/resource/clusterrolebinding/common.go @@ -15,7 +15,7 @@ package clusterrolebinding import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // The code below allows to perform complex data section on []ClusterRoleBinding diff --git a/api/src/resource/clusterrolebinding/list.go b/api/src/resource/clusterrolebinding/list.go index db65e1904060..19a0d0050c48 100644 --- a/api/src/resource/clusterrolebinding/list.go +++ b/api/src/resource/clusterrolebinding/list.go @@ -17,10 +17,10 @@ package clusterrolebinding import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/clusterrolebinding/list_test.go b/api/src/resource/clusterrolebinding/list_test.go index b51cdb150577..5996ebca9d04 100644 --- a/api/src/resource/clusterrolebinding/list_test.go +++ b/api/src/resource/clusterrolebinding/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/common/event.go b/api/src/resource/common/event.go index a403f9381440..7beca5e21e24 100644 --- a/api/src/resource/common/event.go +++ b/api/src/resource/common/event.go @@ -15,7 +15,7 @@ package common import ( - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/common/resourcechannels.go b/api/src/resource/common/resourcechannels.go index 5ea6b75633d0..6c07384d6288 100644 --- a/api/src/resource/common/resourcechannels.go +++ b/api/src/resource/common/resourcechannels.go @@ -31,7 +31,7 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" ) // ResourceChannels struct holds channels to resource lists. Each list channel is paired with diff --git a/api/src/resource/common/service.go b/api/src/resource/common/service.go index 5922ffa8a82d..61824d49f41b 100644 --- a/api/src/resource/common/service.go +++ b/api/src/resource/common/service.go @@ -15,7 +15,7 @@ package common import ( - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/configmap/common.go b/api/src/resource/configmap/common.go index 8905f1df8a88..dd0c58a8e02b 100644 --- a/api/src/resource/configmap/common.go +++ b/api/src/resource/configmap/common.go @@ -15,7 +15,7 @@ package configmap import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" ) diff --git a/api/src/resource/configmap/detail_test.go b/api/src/resource/configmap/detail_test.go index ad3194a7fe9e..d35647adfd86 100644 --- a/api/src/resource/configmap/detail_test.go +++ b/api/src/resource/configmap/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/configmap/list.go b/api/src/resource/configmap/list.go index c1a796284b7a..11f5b112f71e 100644 --- a/api/src/resource/configmap/list.go +++ b/api/src/resource/configmap/list.go @@ -17,10 +17,10 @@ package configmap import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/configmap/list_test.go b/api/src/resource/configmap/list_test.go index df6fd4ed6fbd..fb9673148607 100644 --- a/api/src/resource/configmap/list_test.go +++ b/api/src/resource/configmap/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/container/logs.go b/api/src/resource/container/logs.go index a9255d616d6c..ab97bf927692 100644 --- a/api/src/resource/container/logs.go +++ b/api/src/resource/container/logs.go @@ -18,7 +18,7 @@ import ( "context" "io" - "github.com/kubernetes/dashboard/src/app/backend/resource/logs" + "github.com/kubernetes/dashboard/api/src/resource/logs" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/container/logs_test.go b/api/src/resource/container/logs_test.go index bbe957002bb7..33cb77f6bae3 100644 --- a/api/src/resource/container/logs_test.go +++ b/api/src/resource/container/logs_test.go @@ -19,7 +19,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/resource/logs" + "github.com/kubernetes/dashboard/api/src/resource/logs" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/controller/controller.go b/api/src/resource/controller/controller.go index d9469147bf16..cad196f363c6 100644 --- a/api/src/resource/controller/controller.go +++ b/api/src/resource/controller/controller.go @@ -19,9 +19,9 @@ import ( "fmt" "strings" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" diff --git a/api/src/resource/controller/controller_test.go b/api/src/resource/controller/controller_test.go index dff4afa14217..19ebfa2a61cb 100644 --- a/api/src/resource/controller/controller_test.go +++ b/api/src/resource/controller/controller_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" meta "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/cronjob/common.go b/api/src/resource/cronjob/common.go index becbfb5efa0e..bcbd8cfe7904 100644 --- a/api/src/resource/cronjob/common.go +++ b/api/src/resource/cronjob/common.go @@ -15,10 +15,10 @@ package cronjob import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" batchv1beta1 "k8s.io/api/batch/v1beta1" ) diff --git a/api/src/resource/cronjob/common_test.go b/api/src/resource/cronjob/common_test.go index ba1e2495f107..ea95617ff73a 100644 --- a/api/src/resource/cronjob/common_test.go +++ b/api/src/resource/cronjob/common_test.go @@ -15,7 +15,7 @@ package cronjob_test import ( - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) var ( diff --git a/api/src/resource/cronjob/detail_test.go b/api/src/resource/cronjob/detail_test.go index 09dbd69ccc52..01044bd09765 100644 --- a/api/src/resource/cronjob/detail_test.go +++ b/api/src/resource/cronjob/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/cronjob" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/cronjob/events.go b/api/src/resource/cronjob/events.go index bd13d936fe38..c59dc16061c3 100644 --- a/api/src/resource/cronjob/events.go +++ b/api/src/resource/cronjob/events.go @@ -15,9 +15,9 @@ package cronjob import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/cronjob/events_test.go b/api/src/resource/cronjob/events_test.go index 0bf93b24ce07..98ac980c2591 100644 --- a/api/src/resource/cronjob/events_test.go +++ b/api/src/resource/cronjob/events_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/cronjob" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/cronjob/jobs.go b/api/src/resource/cronjob/jobs.go index 7c4aef0424de..0776e36a3a2d 100644 --- a/api/src/resource/cronjob/jobs.go +++ b/api/src/resource/cronjob/jobs.go @@ -17,12 +17,12 @@ package cronjob import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/job" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/job" batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" diff --git a/api/src/resource/cronjob/jobs_test.go b/api/src/resource/cronjob/jobs_test.go index 3ecc508648d4..18b5a8d775db 100644 --- a/api/src/resource/cronjob/jobs_test.go +++ b/api/src/resource/cronjob/jobs_test.go @@ -19,7 +19,7 @@ import ( "strings" "testing" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" + "github.com/kubernetes/dashboard/api/src/resource/cronjob" batch "k8s.io/api/batch/v1beta1" "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/cronjob/list.go b/api/src/resource/cronjob/list.go index b7f88bee1f50..654919e05b10 100644 --- a/api/src/resource/cronjob/list.go +++ b/api/src/resource/cronjob/list.go @@ -17,11 +17,11 @@ package cronjob import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" "k8s.io/api/batch/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/cronjob/list_test.go b/api/src/resource/cronjob/list_test.go index 0e0238708fe1..2792c25eab97 100644 --- a/api/src/resource/cronjob/list_test.go +++ b/api/src/resource/cronjob/list_test.go @@ -18,11 +18,11 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/cronjob" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1beta1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/customresourcedefinition/common.go b/api/src/resource/customresourcedefinition/common.go index b37697c9206d..328bed045b0e 100644 --- a/api/src/resource/customresourcedefinition/common.go +++ b/api/src/resource/customresourcedefinition/common.go @@ -26,11 +26,11 @@ import ( "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" - crdv1 "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/v1" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" + crdv1 "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/v1" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) var ( diff --git a/api/src/resource/customresourcedefinition/events.go b/api/src/resource/customresourcedefinition/events.go index e51348eba4c1..4e9a69e40030 100644 --- a/api/src/resource/customresourcedefinition/events.go +++ b/api/src/resource/customresourcedefinition/events.go @@ -17,9 +17,9 @@ package customresourcedefinition import ( client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" ) // GetEventsForCustomResourceObject gets events that are associated with this CR object. diff --git a/api/src/resource/customresourcedefinition/events_test.go b/api/src/resource/customresourcedefinition/events_test.go index b07f3bf1d630..827a1b350d8c 100644 --- a/api/src/resource/customresourcedefinition/events_test.go +++ b/api/src/resource/customresourcedefinition/events_test.go @@ -20,9 +20,9 @@ import ( coreV1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" diff --git a/api/src/resource/customresourcedefinition/types/types.go b/api/src/resource/customresourcedefinition/types/types.go index 015e94519d47..cba05790971c 100644 --- a/api/src/resource/customresourcedefinition/types/types.go +++ b/api/src/resource/customresourcedefinition/types/types.go @@ -21,8 +21,8 @@ import ( "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" ) // CustomResourceDefinitionList contains a list of Custom Resource Definitions in the cluster. diff --git a/api/src/resource/customresourcedefinition/v1/common.go b/api/src/resource/customresourcedefinition/v1/common.go index 9728897f4afb..7ce735e79d55 100644 --- a/api/src/resource/customresourcedefinition/v1/common.go +++ b/api/src/resource/customresourcedefinition/v1/common.go @@ -15,9 +15,9 @@ package v1 import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/resource/customresourcedefinition/v1/detail.go b/api/src/resource/customresourcedefinition/v1/detail.go index 6430fedb24e2..a40786ea31c4 100644 --- a/api/src/resource/customresourcedefinition/v1/detail.go +++ b/api/src/resource/customresourcedefinition/v1/detail.go @@ -22,10 +22,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // GetCustomResourceDefinitionDetail returns detailed information about a custom resource definition. diff --git a/api/src/resource/customresourcedefinition/v1/list.go b/api/src/resource/customresourcedefinition/v1/list.go index 505b26ee0bf6..156b99140e06 100644 --- a/api/src/resource/customresourcedefinition/v1/list.go +++ b/api/src/resource/customresourcedefinition/v1/list.go @@ -19,11 +19,11 @@ import ( apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // GetCustomResourceDefinitionList returns all the custom resource definitions in the cluster. diff --git a/api/src/resource/customresourcedefinition/v1/list_test.go b/api/src/resource/customresourcedefinition/v1/list_test.go index 833600c1d06b..837852245a38 100644 --- a/api/src/resource/customresourcedefinition/v1/list_test.go +++ b/api/src/resource/customresourcedefinition/v1/list_test.go @@ -23,9 +23,9 @@ import ( "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) func TestGetCustomResourceDefinition(t *testing.T) { diff --git a/api/src/resource/customresourcedefinition/v1/objects.go b/api/src/resource/customresourcedefinition/v1/objects.go index 4dd8ea196a54..5f077a18ba47 100644 --- a/api/src/resource/customresourcedefinition/v1/objects.go +++ b/api/src/resource/customresourcedefinition/v1/objects.go @@ -24,11 +24,11 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // GetCustomResourceObjectList gets objects for a CR. diff --git a/api/src/resource/daemonset/common.go b/api/src/resource/daemonset/common.go index e3a25e55d692..8d581c733381 100644 --- a/api/src/resource/daemonset/common.go +++ b/api/src/resource/daemonset/common.go @@ -17,11 +17,11 @@ package daemonset import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/daemonset/detail.go b/api/src/resource/daemonset/detail.go index 148a66f85bd3..50255082672c 100644 --- a/api/src/resource/daemonset/detail.go +++ b/api/src/resource/daemonset/detail.go @@ -18,8 +18,8 @@ import ( "context" "log" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/daemonset/list.go b/api/src/resource/daemonset/list.go index 8ab17b8425a9..92d3f65868d3 100644 --- a/api/src/resource/daemonset/list.go +++ b/api/src/resource/daemonset/list.go @@ -15,12 +15,12 @@ package daemonset import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/daemonset/list_test.go b/api/src/resource/daemonset/list_test.go index 4dffa65dd444..02833fcd6c44 100644 --- a/api/src/resource/daemonset/list_test.go +++ b/api/src/resource/daemonset/list_test.go @@ -23,12 +23,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func TestGetDaemonSetListFromChannels(t *testing.T) { diff --git a/api/src/resource/daemonset/pods.go b/api/src/resource/daemonset/pods.go index cedd5548ad80..9f9878af4156 100644 --- a/api/src/resource/daemonset/pods.go +++ b/api/src/resource/daemonset/pods.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/daemonset/services.go b/api/src/resource/daemonset/services.go index d07c75322556..1b78f39fe68c 100644 --- a/api/src/resource/daemonset/services.go +++ b/api/src/resource/daemonset/services.go @@ -17,10 +17,10 @@ package daemonset import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/service" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/service" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/dataselect/dataselect.go b/api/src/resource/dataselect/dataselect.go index daf629ba143a..f31e16202c45 100644 --- a/api/src/resource/dataselect/dataselect.go +++ b/api/src/resource/dataselect/dataselect.go @@ -18,8 +18,8 @@ import ( "log" "sort" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" ) // GenericDataCell describes the interface of the data cell that contains all the necessary methods needed to perform diff --git a/api/src/resource/dataselect/dataselectquery.go b/api/src/resource/dataselect/dataselectquery.go index 0e30a9aca666..528683011807 100644 --- a/api/src/resource/dataselect/dataselectquery.go +++ b/api/src/resource/dataselect/dataselectquery.go @@ -15,7 +15,7 @@ package dataselect import ( - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" ) // DataSelectQuery is options for GenericDataSelect which takes []GenericDataCell and returns selected data. diff --git a/api/src/resource/deployment/common.go b/api/src/resource/deployment/common.go index fbcb5924fd2d..af03602dbe55 100644 --- a/api/src/resource/deployment/common.go +++ b/api/src/resource/deployment/common.go @@ -15,11 +15,11 @@ package deployment import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/deployment/deploy.go b/api/src/resource/deployment/deploy.go index aa0b52b815a6..9cc06698ef20 100644 --- a/api/src/resource/deployment/deploy.go +++ b/api/src/resource/deployment/deploy.go @@ -35,7 +35,7 @@ import ( client "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) const ( diff --git a/api/src/resource/deployment/detail.go b/api/src/resource/deployment/detail.go index 630ae4a1a523..418d5ad794f0 100644 --- a/api/src/resource/deployment/detail.go +++ b/api/src/resource/deployment/detail.go @@ -18,8 +18,8 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" diff --git a/api/src/resource/deployment/detail_test.go b/api/src/resource/deployment/detail_test.go index c1048d5004a4..e1094c5d0ab3 100644 --- a/api/src/resource/deployment/detail_test.go +++ b/api/src/resource/deployment/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/deployment/list.go b/api/src/resource/deployment/list.go index 8cfc3fe79b01..4e7d0f112b94 100644 --- a/api/src/resource/deployment/list.go +++ b/api/src/resource/deployment/list.go @@ -17,12 +17,12 @@ package deployment import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/deployment/list_test.go b/api/src/resource/deployment/list_test.go index 94aeb9749423..b19715e0a657 100644 --- a/api/src/resource/deployment/list_test.go +++ b/api/src/resource/deployment/list_test.go @@ -23,12 +23,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func getReplicasPointer(replicas int32) *int32 { diff --git a/api/src/resource/deployment/newreplicasets.go b/api/src/resource/deployment/newreplicasets.go index 926573e031c6..e65f87f23668 100644 --- a/api/src/resource/deployment/newreplicasets.go +++ b/api/src/resource/deployment/newreplicasets.go @@ -21,10 +21,10 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/replicaset" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/replicaset" ) // GetDeploymentNewReplicaSet returns old replica sets targeting Deployment with given name diff --git a/api/src/resource/deployment/oldreplicasets.go b/api/src/resource/deployment/oldreplicasets.go index ccf2d6567a6f..23ff83d9b4ae 100644 --- a/api/src/resource/deployment/oldreplicasets.go +++ b/api/src/resource/deployment/oldreplicasets.go @@ -17,11 +17,11 @@ package deployment import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/replicaset" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/replicaset" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/deployment/pods.go b/api/src/resource/deployment/pods.go index 177be6dfc01a..71650368db2a 100644 --- a/api/src/resource/deployment/pods.go +++ b/api/src/resource/deployment/pods.go @@ -17,12 +17,12 @@ package deployment import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/deployment/util.go b/api/src/resource/deployment/util.go index 2afbbfd9e4a4..0d593d8df81e 100644 --- a/api/src/resource/deployment/util.go +++ b/api/src/resource/deployment/util.go @@ -18,7 +18,7 @@ import ( apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/common" ) // Methods below are taken from kubernetes repo: diff --git a/api/src/resource/endpoint/endpoint.go b/api/src/resource/endpoint/endpoint.go index f00ba3148b45..f21eda7dd1ef 100644 --- a/api/src/resource/endpoint/endpoint.go +++ b/api/src/resource/endpoint/endpoint.go @@ -17,8 +17,8 @@ package endpoint import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" diff --git a/api/src/resource/endpoint/list.go b/api/src/resource/endpoint/list.go index a3d37f61fb5d..2a0bcc954719 100644 --- a/api/src/resource/endpoint/list.go +++ b/api/src/resource/endpoint/list.go @@ -15,7 +15,7 @@ package endpoint import ( - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/event/common.go b/api/src/resource/event/common.go index 2ccd79171a78..5f97d45aaca0 100644 --- a/api/src/resource/event/common.go +++ b/api/src/resource/event/common.go @@ -17,10 +17,10 @@ package event import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" diff --git a/api/src/resource/event/common_test.go b/api/src/resource/event/common_test.go index efa81fe3f6f4..caa5bce8acd2 100644 --- a/api/src/resource/event/common_test.go +++ b/api/src/resource/event/common_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/event/event.go b/api/src/resource/event/event.go index 4ff672832365..d8a472214558 100644 --- a/api/src/resource/event/event.go +++ b/api/src/resource/event/event.go @@ -17,7 +17,7 @@ package event import ( "strings" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/common" api "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" ) diff --git a/api/src/resource/event/event_test.go b/api/src/resource/event/event_test.go index acb3617527b0..479d405eff79 100644 --- a/api/src/resource/event/event_test.go +++ b/api/src/resource/event/event_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/common" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/event/list.go b/api/src/resource/event/list.go index 213e9be09bd9..f0bc49fbcee8 100644 --- a/api/src/resource/event/list.go +++ b/api/src/resource/event/list.go @@ -17,9 +17,9 @@ package event import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" k8sClient "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/horizontalpodautoscaler/common.go b/api/src/resource/horizontalpodautoscaler/common.go index b2b5da16577c..3827691aef44 100644 --- a/api/src/resource/horizontalpodautoscaler/common.go +++ b/api/src/resource/horizontalpodautoscaler/common.go @@ -15,7 +15,7 @@ package horizontalpodautoscaler import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" autoscaling "k8s.io/api/autoscaling/v1" ) diff --git a/api/src/resource/horizontalpodautoscaler/detail_test.go b/api/src/resource/horizontalpodautoscaler/detail_test.go index a4fcc47f37e3..e4d867d9b7f1 100644 --- a/api/src/resource/horizontalpodautoscaler/detail_test.go +++ b/api/src/resource/horizontalpodautoscaler/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" autoscaling "k8s.io/api/autoscaling/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/horizontalpodautoscaler/list.go b/api/src/resource/horizontalpodautoscaler/list.go index 841293d473b2..3cd3423f8237 100644 --- a/api/src/resource/horizontalpodautoscaler/list.go +++ b/api/src/resource/horizontalpodautoscaler/list.go @@ -17,10 +17,10 @@ package horizontalpodautoscaler import ( "strings" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" autoscaling "k8s.io/api/autoscaling/v1" k8sClient "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/horizontalpodautoscaler/list_test.go b/api/src/resource/horizontalpodautoscaler/list_test.go index 6fe2cd5ca5c5..438f810473a5 100644 --- a/api/src/resource/horizontalpodautoscaler/list_test.go +++ b/api/src/resource/horizontalpodautoscaler/list_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" autoscaling "k8s.io/api/autoscaling/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/ingress/common.go b/api/src/resource/ingress/common.go index dd1eb3375cfd..2652d8672ab6 100644 --- a/api/src/resource/ingress/common.go +++ b/api/src/resource/ingress/common.go @@ -15,7 +15,7 @@ package ingress import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/networking/v1" ) diff --git a/api/src/resource/ingress/filter.go b/api/src/resource/ingress/filter.go index 9eac6d3d3df2..d7aa869e020a 100644 --- a/api/src/resource/ingress/filter.go +++ b/api/src/resource/ingress/filter.go @@ -15,7 +15,7 @@ package ingress import ( - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" networkingv1 "k8s.io/api/networking/v1" ) diff --git a/api/src/resource/ingress/list.go b/api/src/resource/ingress/list.go index b82c039b7272..8b3d55629389 100644 --- a/api/src/resource/ingress/list.go +++ b/api/src/resource/ingress/list.go @@ -17,10 +17,10 @@ package ingress import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/networking/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/job/common.go b/api/src/resource/job/common.go index b11a91dfb487..959b9beafbc9 100644 --- a/api/src/resource/job/common.go +++ b/api/src/resource/job/common.go @@ -15,10 +15,10 @@ package job import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/job/detail.go b/api/src/resource/job/detail.go index ad76340d508b..3d9b8a4c5267 100644 --- a/api/src/resource/job/detail.go +++ b/api/src/resource/job/detail.go @@ -17,8 +17,8 @@ package job import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/job/detail_test.go b/api/src/resource/job/detail_test.go index df68a5f1b3c9..27f8e3a1f40e 100644 --- a/api/src/resource/job/detail_test.go +++ b/api/src/resource/job/detail_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/job/events.go b/api/src/resource/job/events.go index 3b40f0dfae40..c523d017ee60 100644 --- a/api/src/resource/job/events.go +++ b/api/src/resource/job/events.go @@ -15,9 +15,9 @@ package job import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/job/events_test.go b/api/src/resource/job/events_test.go index 6df3d993bbb8..c8cd74aa696d 100644 --- a/api/src/resource/job/events_test.go +++ b/api/src/resource/job/events_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/job/list.go b/api/src/resource/job/list.go index 07c2e3ef8c78..877cbf5dfdf0 100644 --- a/api/src/resource/job/list.go +++ b/api/src/resource/job/list.go @@ -17,12 +17,12 @@ package job import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/job/list_test.go b/api/src/resource/job/list_test.go index 7a373b2b64d9..580ced0a571a 100644 --- a/api/src/resource/job/list_test.go +++ b/api/src/resource/job/list_test.go @@ -23,11 +23,11 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) func TestGetJobListFromChannels(t *testing.T) { diff --git a/api/src/resource/job/pods.go b/api/src/resource/job/pods.go index 233b2227ca55..b9f5996da950 100644 --- a/api/src/resource/job/pods.go +++ b/api/src/resource/job/pods.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/logs/source.go b/api/src/resource/logs/source.go index b1a6169cb8cc..429ece747847 100644 --- a/api/src/resource/logs/source.go +++ b/api/src/resource/logs/source.go @@ -17,9 +17,9 @@ package logs import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/controller" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/controller" meta "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/namespace/common.go b/api/src/resource/namespace/common.go index a00861718510..3fdd71f55a17 100644 --- a/api/src/resource/namespace/common.go +++ b/api/src/resource/namespace/common.go @@ -18,7 +18,7 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/namespace/detail.go b/api/src/resource/namespace/detail.go index 5e627c78716c..783bfb0b020c 100644 --- a/api/src/resource/namespace/detail.go +++ b/api/src/resource/namespace/detail.go @@ -18,10 +18,10 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/limitrange" - rq "github.com/kubernetes/dashboard/src/app/backend/resource/resourcequota" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/limitrange" + rq "github.com/kubernetes/dashboard/api/src/resource/resourcequota" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/namespace/detail_test.go b/api/src/resource/namespace/detail_test.go index afa288617960..34b3cddb295d 100644 --- a/api/src/resource/namespace/detail_test.go +++ b/api/src/resource/namespace/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/namespace/list.go b/api/src/resource/namespace/list.go index fb154c17d0b9..b722571aa39f 100644 --- a/api/src/resource/namespace/list.go +++ b/api/src/resource/namespace/list.go @@ -18,10 +18,10 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/namespace/list_test.go b/api/src/resource/namespace/list_test.go index b3e1b610a9d2..97b9352efc3d 100644 --- a/api/src/resource/namespace/list_test.go +++ b/api/src/resource/namespace/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/networkpolicy/common.go b/api/src/resource/networkpolicy/common.go index e4f15f2380f7..9e9e3e310577 100644 --- a/api/src/resource/networkpolicy/common.go +++ b/api/src/resource/networkpolicy/common.go @@ -15,7 +15,7 @@ package networkpolicy import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/networking/v1" ) diff --git a/api/src/resource/networkpolicy/list.go b/api/src/resource/networkpolicy/list.go index f9a3139c9aa4..eb24ce9748fe 100644 --- a/api/src/resource/networkpolicy/list.go +++ b/api/src/resource/networkpolicy/list.go @@ -21,10 +21,10 @@ import ( client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // NetworkPolicy contains an information about single network policy in the list. diff --git a/api/src/resource/node/common.go b/api/src/resource/node/common.go index 5299485680cf..6784719848b8 100644 --- a/api/src/resource/node/common.go +++ b/api/src/resource/node/common.go @@ -15,10 +15,10 @@ package node import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/node/detail.go b/api/src/resource/node/detail.go index 7fcb8c93a7cf..972c36996c11 100644 --- a/api/src/resource/node/detail.go +++ b/api/src/resource/node/detail.go @@ -24,13 +24,13 @@ import ( "k8s.io/apimachinery/pkg/fields" k8sClient "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" ) // NodeAllocatedResources describes node allocated resources. diff --git a/api/src/resource/node/detail_test.go b/api/src/resource/node/detail_test.go index 8cb6e6c4d378..de31bfe408a0 100644 --- a/api/src/resource/node/detail_test.go +++ b/api/src/resource/node/detail_test.go @@ -18,11 +18,11 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/pod" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/node/list.go b/api/src/resource/node/list.go index 0016ae7d7187..935747a298b8 100644 --- a/api/src/resource/node/list.go +++ b/api/src/resource/node/list.go @@ -21,10 +21,10 @@ import ( v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // NodeList contains a list of nodes in the cluster. diff --git a/api/src/resource/node/list_test.go b/api/src/resource/node/list_test.go index f5d277c9aa83..edab217a530a 100644 --- a/api/src/resource/node/list_test.go +++ b/api/src/resource/node/list_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/persistentvolume/common.go b/api/src/resource/persistentvolume/common.go index da0f12ac63d2..9370efc5febd 100644 --- a/api/src/resource/persistentvolume/common.go +++ b/api/src/resource/persistentvolume/common.go @@ -19,9 +19,9 @@ import ( "log" "strings" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/persistentvolume/common_test.go b/api/src/resource/persistentvolume/common_test.go index 33cade47a1ce..04d230a7b86d 100644 --- a/api/src/resource/persistentvolume/common_test.go +++ b/api/src/resource/persistentvolume/common_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/persistentvolume/detail_test.go b/api/src/resource/persistentvolume/detail_test.go index cfc5c707b3f2..8916a166e5e3 100644 --- a/api/src/resource/persistentvolume/detail_test.go +++ b/api/src/resource/persistentvolume/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/persistentvolume/list.go b/api/src/resource/persistentvolume/list.go index 457597b2ae5e..cfbdda433afa 100644 --- a/api/src/resource/persistentvolume/list.go +++ b/api/src/resource/persistentvolume/list.go @@ -17,10 +17,10 @@ package persistentvolume import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/persistentvolume/list_test.go b/api/src/resource/persistentvolume/list_test.go index ae70a6254741..ddb1fd606adb 100644 --- a/api/src/resource/persistentvolume/list_test.go +++ b/api/src/resource/persistentvolume/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/persistentvolumeclaim/common.go b/api/src/resource/persistentvolumeclaim/common.go index 9e17f261b9e0..407578949b62 100644 --- a/api/src/resource/persistentvolumeclaim/common.go +++ b/api/src/resource/persistentvolumeclaim/common.go @@ -19,9 +19,9 @@ import ( "log" "strings" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/persistentvolumeclaim/common_test.go b/api/src/resource/persistentvolumeclaim/common_test.go index 156c0b039381..64640af3d581 100644 --- a/api/src/resource/persistentvolumeclaim/common_test.go +++ b/api/src/resource/persistentvolumeclaim/common_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/persistentvolumeclaim/detail_test.go b/api/src/resource/persistentvolumeclaim/detail_test.go index fb8e92af3c36..1b087d0afd5f 100644 --- a/api/src/resource/persistentvolumeclaim/detail_test.go +++ b/api/src/resource/persistentvolumeclaim/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/persistentvolumeclaim/list.go b/api/src/resource/persistentvolumeclaim/list.go index 989aae2b6188..a59b8b77d4df 100644 --- a/api/src/resource/persistentvolumeclaim/list.go +++ b/api/src/resource/persistentvolumeclaim/list.go @@ -17,10 +17,10 @@ package persistentvolumeclaim import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/persistentvolumeclaim/list_test.go b/api/src/resource/persistentvolumeclaim/list_test.go index 88d702f9bfc3..2caa4a33a1c7 100644 --- a/api/src/resource/persistentvolumeclaim/list_test.go +++ b/api/src/resource/persistentvolumeclaim/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/pod/common.go b/api/src/resource/pod/common.go index 5797b77d4672..a466d3706663 100644 --- a/api/src/resource/pod/common.go +++ b/api/src/resource/pod/common.go @@ -19,11 +19,11 @@ import ( v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" ) // getRestartCount return the restart count of given pod (total number of its containers restarts). diff --git a/api/src/resource/pod/common_test.go b/api/src/resource/pod/common_test.go index 6f5f8c679818..d3685c1f679c 100644 --- a/api/src/resource/pod/common_test.go +++ b/api/src/resource/pod/common_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/pod/detail.go b/api/src/resource/pod/detail.go index 11bfbf49f7a3..cf2a02e468b2 100644 --- a/api/src/resource/pod/detail.go +++ b/api/src/resource/pod/detail.go @@ -30,13 +30,13 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - errorHandler "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/controller" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/persistentvolumeclaim" + "github.com/kubernetes/dashboard/api/src/api" + errorHandler "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/controller" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/persistentvolumeclaim" ) // PodDetail is a presentation layer view of Kubernetes Pod resource. diff --git a/api/src/resource/pod/detail_test.go b/api/src/resource/pod/detail_test.go index 5408b8ec75f3..4eb9eead8a7b 100644 --- a/api/src/resource/pod/detail_test.go +++ b/api/src/resource/pod/detail_test.go @@ -19,12 +19,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/controller" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/persistentvolumeclaim" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/controller" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/persistentvolumeclaim" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/pod/events.go b/api/src/resource/pod/events.go index 60e8a2bdbd7e..1c2710bbdf32 100644 --- a/api/src/resource/pod/events.go +++ b/api/src/resource/pod/events.go @@ -15,9 +15,9 @@ package pod import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/pod/events_test.go b/api/src/resource/pod/events_test.go index a867ffbaf666..492d5cbab5a8 100644 --- a/api/src/resource/pod/events_test.go +++ b/api/src/resource/pod/events_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/pod/list.go b/api/src/resource/pod/list.go index 1ae2ca060719..7cacb5e742d1 100644 --- a/api/src/resource/pod/list.go +++ b/api/src/resource/pod/list.go @@ -17,12 +17,12 @@ package pod import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/pod/list_test.go b/api/src/resource/pod/list_test.go index f66e8dc557d5..4ec85d4eb387 100644 --- a/api/src/resource/pod/list_test.go +++ b/api/src/resource/pod/list_test.go @@ -22,12 +22,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/pod" ) func TestGetPodListFromChannels(t *testing.T) { diff --git a/api/src/resource/pod/metrics.go b/api/src/resource/pod/metrics.go index 88457781ecd8..7569c1ce8280 100644 --- a/api/src/resource/pod/metrics.go +++ b/api/src/resource/pod/metrics.go @@ -20,10 +20,10 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // MetricsByPod is a metrics map by pod name. diff --git a/api/src/resource/replicaset/common.go b/api/src/resource/replicaset/common.go index c6c4edebb7ad..4fbb7dfc5d78 100644 --- a/api/src/resource/replicaset/common.go +++ b/api/src/resource/replicaset/common.go @@ -15,11 +15,11 @@ package replicaset import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/replicaset/common_test.go b/api/src/resource/replicaset/common_test.go index 7492eaa6c332..ac8fae8969ec 100644 --- a/api/src/resource/replicaset/common_test.go +++ b/api/src/resource/replicaset/common_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/replicaset/detail.go b/api/src/resource/replicaset/detail.go index 0c3fe946f860..a41114615e56 100644 --- a/api/src/resource/replicaset/detail.go +++ b/api/src/resource/replicaset/detail.go @@ -18,10 +18,10 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - hpa "github.com/kubernetes/dashboard/src/app/backend/resource/horizontalpodautoscaler" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + hpa "github.com/kubernetes/dashboard/api/src/resource/horizontalpodautoscaler" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/replicaset/detail_test.go b/api/src/resource/replicaset/detail_test.go index 56f748ca24d5..651adc70455d 100644 --- a/api/src/resource/replicaset/detail_test.go +++ b/api/src/resource/replicaset/detail_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/horizontalpodautoscaler" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" - "github.com/kubernetes/dashboard/src/app/backend/resource/service" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/horizontalpodautoscaler" + "github.com/kubernetes/dashboard/api/src/resource/pod" + "github.com/kubernetes/dashboard/api/src/resource/service" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/replicaset/list.go b/api/src/resource/replicaset/list.go index cc420b3eb8c1..dd60320003a4 100644 --- a/api/src/resource/replicaset/list.go +++ b/api/src/resource/replicaset/list.go @@ -17,12 +17,12 @@ package replicaset import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/replicaset/list_test.go b/api/src/resource/replicaset/list_test.go index ec73ceac67b1..3013bb8e6292 100644 --- a/api/src/resource/replicaset/list_test.go +++ b/api/src/resource/replicaset/list_test.go @@ -24,12 +24,12 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func TestGetReplicaSetListFromChannels(t *testing.T) { diff --git a/api/src/resource/replicaset/pods.go b/api/src/resource/replicaset/pods.go index eb6f2fbae0a4..e439ee6a761f 100644 --- a/api/src/resource/replicaset/pods.go +++ b/api/src/resource/replicaset/pods.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/replicaset/services.go b/api/src/resource/replicaset/services.go index 40e51864234b..4311ea0d271b 100644 --- a/api/src/resource/replicaset/services.go +++ b/api/src/resource/replicaset/services.go @@ -17,10 +17,10 @@ package replicaset import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/service" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/service" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/replicationcontroller/common.go b/api/src/resource/replicationcontroller/common.go index 29f55b5fbc26..fa8be7d3bda6 100644 --- a/api/src/resource/replicationcontroller/common.go +++ b/api/src/resource/replicationcontroller/common.go @@ -17,11 +17,11 @@ package replicationcontroller import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" diff --git a/api/src/resource/replicationcontroller/detail.go b/api/src/resource/replicationcontroller/detail.go index 151f27c32b6e..0b783823ba27 100644 --- a/api/src/resource/replicationcontroller/detail.go +++ b/api/src/resource/replicationcontroller/detail.go @@ -18,8 +18,8 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/replicationcontroller/list.go b/api/src/resource/replicationcontroller/list.go index 116e45a63160..86bf771a7ac9 100644 --- a/api/src/resource/replicationcontroller/list.go +++ b/api/src/resource/replicationcontroller/list.go @@ -17,12 +17,12 @@ package replicationcontroller import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/replicationcontroller/list_test.go b/api/src/resource/replicationcontroller/list_test.go index a541e1e879a2..11ed42c7f3a2 100644 --- a/api/src/resource/replicationcontroller/list_test.go +++ b/api/src/resource/replicationcontroller/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/replicationcontroller/pods.go b/api/src/resource/replicationcontroller/pods.go index 324daca66cf6..9d0bb67374da 100644 --- a/api/src/resource/replicationcontroller/pods.go +++ b/api/src/resource/replicationcontroller/pods.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/replicationcontroller/services.go b/api/src/resource/replicationcontroller/services.go index d15545a93c48..977cb72070c8 100644 --- a/api/src/resource/replicationcontroller/services.go +++ b/api/src/resource/replicationcontroller/services.go @@ -17,10 +17,10 @@ package replicationcontroller import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/service" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/service" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/resourcequota/detail.go b/api/src/resource/resourcequota/detail.go index 66d3438baa4e..8c097b9ff860 100644 --- a/api/src/resource/resourcequota/detail.go +++ b/api/src/resource/resourcequota/detail.go @@ -15,7 +15,7 @@ package resourcequota import ( - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/resourcequota/detail_test.go b/api/src/resource/resourcequota/detail_test.go index b6767ac88542..80492e722175 100644 --- a/api/src/resource/resourcequota/detail_test.go +++ b/api/src/resource/resourcequota/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/role/common.go b/api/src/resource/role/common.go index 631ddd655e70..146550e3bf03 100644 --- a/api/src/resource/role/common.go +++ b/api/src/resource/role/common.go @@ -15,7 +15,7 @@ package role import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // The code below allows to perform complex data section on []Role diff --git a/api/src/resource/role/list.go b/api/src/resource/role/list.go index 0473c6d0a76c..72d4c3a5d1e5 100644 --- a/api/src/resource/role/list.go +++ b/api/src/resource/role/list.go @@ -17,10 +17,10 @@ package role import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/role/list_test.go b/api/src/resource/role/list_test.go index 196aff619c10..b6b51f50bd10 100644 --- a/api/src/resource/role/list_test.go +++ b/api/src/resource/role/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/rolebinding/common.go b/api/src/resource/rolebinding/common.go index 9fa92d05b63a..92e8ac246fd5 100644 --- a/api/src/resource/rolebinding/common.go +++ b/api/src/resource/rolebinding/common.go @@ -15,7 +15,7 @@ package rolebinding import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" ) // The code below allows to perform complex data section on []RoleBinding diff --git a/api/src/resource/rolebinding/list.go b/api/src/resource/rolebinding/list.go index 729dadb6707a..c10ca3c675cc 100644 --- a/api/src/resource/rolebinding/list.go +++ b/api/src/resource/rolebinding/list.go @@ -17,10 +17,10 @@ package rolebinding import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/rolebinding/list_test.go b/api/src/resource/rolebinding/list_test.go index daeb4c4f93a5..d78a3436d6ef 100644 --- a/api/src/resource/rolebinding/list_test.go +++ b/api/src/resource/rolebinding/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/secret/common.go b/api/src/resource/secret/common.go index 11ff5f4a621c..f52d3c9cd974 100644 --- a/api/src/resource/secret/common.go +++ b/api/src/resource/secret/common.go @@ -15,7 +15,7 @@ package secret import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" ) diff --git a/api/src/resource/secret/detail_test.go b/api/src/resource/secret/detail_test.go index 7edbd734b678..7298f4a5b415 100644 --- a/api/src/resource/secret/detail_test.go +++ b/api/src/resource/secret/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/secret/list.go b/api/src/resource/secret/list.go index f31ba22935bc..d336d7284072 100644 --- a/api/src/resource/secret/list.go +++ b/api/src/resource/secret/list.go @@ -18,10 +18,10 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/secret/list_test.go b/api/src/resource/secret/list_test.go index 4b6155bda30d..2254e0a9d082 100644 --- a/api/src/resource/secret/list_test.go +++ b/api/src/resource/secret/list_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/service/common.go b/api/src/resource/service/common.go index c98e2028590e..e97db1c261ee 100644 --- a/api/src/resource/service/common.go +++ b/api/src/resource/service/common.go @@ -15,7 +15,7 @@ package service import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/service/detail.go b/api/src/resource/service/detail.go index f9568090c8fe..70178ac72e86 100644 --- a/api/src/resource/service/detail.go +++ b/api/src/resource/service/detail.go @@ -18,8 +18,8 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/endpoint" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/endpoint" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/service/detail_test.go b/api/src/resource/service/detail_test.go index 524e16a7bee3..0f4d2b29cc4e 100644 --- a/api/src/resource/service/detail_test.go +++ b/api/src/resource/service/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/endpoint" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/endpoint" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/service/events.go b/api/src/resource/service/events.go index c58b7bfa4437..30dacc5b1577 100644 --- a/api/src/resource/service/events.go +++ b/api/src/resource/service/events.go @@ -17,10 +17,10 @@ package service import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/service/events_test.go b/api/src/resource/service/events_test.go index 3f9a26af3e22..24bf6f50fc74 100644 --- a/api/src/resource/service/events_test.go +++ b/api/src/resource/service/events_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/service/ingress.go b/api/src/resource/service/ingress.go index 4d9843dcb50e..4e2d34fa1b63 100644 --- a/api/src/resource/service/ingress.go +++ b/api/src/resource/service/ingress.go @@ -15,10 +15,10 @@ package service import ( - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/ingress" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/ingress" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/service/list.go b/api/src/resource/service/list.go index f00c9a4c8805..0268042d178f 100644 --- a/api/src/resource/service/list.go +++ b/api/src/resource/service/list.go @@ -17,10 +17,10 @@ package service import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/service/list_test.go b/api/src/resource/service/list_test.go index a1958fc93b82..da4c4851b838 100644 --- a/api/src/resource/service/list_test.go +++ b/api/src/resource/service/list_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/resource/endpoint" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/resource/endpoint" + "github.com/kubernetes/dashboard/api/src/resource/pod" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/service/pods.go b/api/src/resource/service/pods.go index ed49f3a6875a..7f122336770c 100644 --- a/api/src/resource/service/pods.go +++ b/api/src/resource/service/pods.go @@ -17,12 +17,12 @@ package service import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" diff --git a/api/src/resource/service/pods_test.go b/api/src/resource/service/pods_test.go index 096093e5a6f6..568bc368d456 100644 --- a/api/src/resource/service/pods_test.go +++ b/api/src/resource/service/pods_test.go @@ -18,11 +18,11 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/pod" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/serviceaccount/common.go b/api/src/resource/serviceaccount/common.go index 21d77de3586d..c21f751accad 100644 --- a/api/src/resource/serviceaccount/common.go +++ b/api/src/resource/serviceaccount/common.go @@ -15,7 +15,7 @@ package serviceaccount import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/serviceaccount/list.go b/api/src/resource/serviceaccount/list.go index ed370594e38f..5c9be8faf9fc 100644 --- a/api/src/resource/serviceaccount/list.go +++ b/api/src/resource/serviceaccount/list.go @@ -19,10 +19,10 @@ import ( v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/serviceaccount/secrets.go b/api/src/resource/serviceaccount/secrets.go index 17357619efd6..b7aea3cbb979 100644 --- a/api/src/resource/serviceaccount/secrets.go +++ b/api/src/resource/serviceaccount/secrets.go @@ -17,9 +17,9 @@ package serviceaccount import ( "context" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/secret" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/secret" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/statefulset/common.go b/api/src/resource/statefulset/common.go index d2b4b449682b..d6d27255b8ff 100644 --- a/api/src/resource/statefulset/common.go +++ b/api/src/resource/statefulset/common.go @@ -15,11 +15,11 @@ package statefulset import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/statefulset/detail.go b/api/src/resource/statefulset/detail.go index 02fff026f55f..33820b00add0 100644 --- a/api/src/resource/statefulset/detail.go +++ b/api/src/resource/statefulset/detail.go @@ -18,9 +18,9 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/statefulset/list.go b/api/src/resource/statefulset/list.go index 37a3e73a9f4e..9d8f4d5b110d 100644 --- a/api/src/resource/statefulset/list.go +++ b/api/src/resource/statefulset/list.go @@ -17,12 +17,12 @@ package statefulset import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/statefulset/list_test.go b/api/src/resource/statefulset/list_test.go index 29cfcdd8f127..37bd09d9fe87 100644 --- a/api/src/resource/statefulset/list_test.go +++ b/api/src/resource/statefulset/list_test.go @@ -23,12 +23,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func getReplicasPointer(replicas int32) *int32 { diff --git a/api/src/resource/statefulset/pods.go b/api/src/resource/statefulset/pods.go index 99f36ddcb622..4632059624fc 100644 --- a/api/src/resource/statefulset/pods.go +++ b/api/src/resource/statefulset/pods.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" - "github.com/kubernetes/dashboard/src/app/backend/resource/pod" + "github.com/kubernetes/dashboard/api/src/errors" + metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/event" + "github.com/kubernetes/dashboard/api/src/resource/pod" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/storageclass/common.go b/api/src/resource/storageclass/common.go index b4f0113dfcb8..eea6b2f82235 100644 --- a/api/src/resource/storageclass/common.go +++ b/api/src/resource/storageclass/common.go @@ -15,7 +15,7 @@ package storageclass import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" storage "k8s.io/api/storage/v1" ) diff --git a/api/src/resource/storageclass/detail_test.go b/api/src/resource/storageclass/detail_test.go index 1c6278cc15b3..19504965ac05 100644 --- a/api/src/resource/storageclass/detail_test.go +++ b/api/src/resource/storageclass/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/api/src/api" storage "k8s.io/api/storage/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/storageclass/list.go b/api/src/resource/storageclass/list.go index 7e0d3c9d6937..48a60cb55423 100644 --- a/api/src/resource/storageclass/list.go +++ b/api/src/resource/storageclass/list.go @@ -17,10 +17,10 @@ package storageclass import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/resource/common" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" storage "k8s.io/api/storage/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/storageclass/list_test.go b/api/src/resource/storageclass/list_test.go index 2bcdc24976ae..cfa888c23ffa 100644 --- a/api/src/resource/storageclass/list_test.go +++ b/api/src/resource/storageclass/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "github.com/kubernetes/dashboard/api/src/api" + "github.com/kubernetes/dashboard/api/src/resource/dataselect" storage "k8s.io/api/storage/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/settings/handler.go b/api/src/settings/handler.go index 2cde8e87632e..09f196bc7efb 100644 --- a/api/src/settings/handler.go +++ b/api/src/settings/handler.go @@ -19,10 +19,10 @@ import ( restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/args" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/settings/api" + "github.com/kubernetes/dashboard/api/src/args" + clientapi "github.com/kubernetes/dashboard/api/src/client/api" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/settings/api" ) // SettingsHandler manages all endpoints related to settings management. diff --git a/api/src/settings/manager.go b/api/src/settings/manager.go index d4a0b0bcf7c3..0fdcbb15bab5 100644 --- a/api/src/settings/manager.go +++ b/api/src/settings/manager.go @@ -25,9 +25,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/settings/api" + "github.com/kubernetes/dashboard/api/src/args" + "github.com/kubernetes/dashboard/api/src/errors" + "github.com/kubernetes/dashboard/api/src/settings/api" ) // SettingsManager is a structure containing all settings manager members. diff --git a/api/src/settings/manager_test.go b/api/src/settings/manager_test.go index e8268db6f0fa..dc9925e39110 100644 --- a/api/src/settings/manager_test.go +++ b/api/src/settings/manager_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/settings/api" + "github.com/kubernetes/dashboard/api/src/settings/api" "k8s.io/client-go/kubernetes/fake" ) diff --git a/api/src/sync/manager.go b/api/src/sync/manager.go index 05eb8f315d65..cd71052572b4 100644 --- a/api/src/sync/manager.go +++ b/api/src/sync/manager.go @@ -15,7 +15,7 @@ package sync import ( - syncApi "github.com/kubernetes/dashboard/src/app/backend/sync/api" + syncApi "github.com/kubernetes/dashboard/api/src/sync/api" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/sync/overwatch.go b/api/src/sync/overwatch.go index 25965f30f2ba..8d2509ddaf61 100644 --- a/api/src/sync/overwatch.go +++ b/api/src/sync/overwatch.go @@ -21,7 +21,7 @@ import ( "k8s.io/apimachinery/pkg/util/wait" - syncApi "github.com/kubernetes/dashboard/src/app/backend/sync/api" + syncApi "github.com/kubernetes/dashboard/api/src/sync/api" ) // Overwatch is watching over every registered synchronizer. In case of error it will be logged and if RestartPolicy diff --git a/api/src/sync/poll/secret.go b/api/src/sync/poll/secret.go index 6c955127856a..69cde77f40df 100644 --- a/api/src/sync/poll/secret.go +++ b/api/src/sync/poll/secret.go @@ -23,8 +23,8 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/errors" - syncapi "github.com/kubernetes/dashboard/src/app/backend/sync/api" + "github.com/kubernetes/dashboard/api/src/errors" + syncapi "github.com/kubernetes/dashboard/api/src/sync/api" ) // SecretPoller implements Poller interface. See Poller for more information. diff --git a/api/src/sync/poll/secret_test.go b/api/src/sync/poll/secret_test.go index 5f71c4041cfb..20a99084cc61 100644 --- a/api/src/sync/poll/secret_test.go +++ b/api/src/sync/poll/secret_test.go @@ -18,7 +18,7 @@ import ( "testing" "time" - "github.com/kubernetes/dashboard/src/app/backend/sync/poll" + "github.com/kubernetes/dashboard/api/src/sync/poll" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" diff --git a/api/src/sync/poll/watcher_test.go b/api/src/sync/poll/watcher_test.go index bcde0cd4cd12..1837d4f09a97 100644 --- a/api/src/sync/poll/watcher_test.go +++ b/api/src/sync/poll/watcher_test.go @@ -17,7 +17,7 @@ package poll_test import ( "testing" - "github.com/kubernetes/dashboard/src/app/backend/sync/poll" + "github.com/kubernetes/dashboard/api/src/sync/poll" ) func TestNewPollWatcher(t *testing.T) { diff --git a/api/src/sync/secret.go b/api/src/sync/secret.go index 5b5e63794e0f..22e31e37cebf 100644 --- a/api/src/sync/secret.go +++ b/api/src/sync/secret.go @@ -28,9 +28,9 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/errors" - syncApi "github.com/kubernetes/dashboard/src/app/backend/sync/api" - "github.com/kubernetes/dashboard/src/app/backend/sync/poll" + "github.com/kubernetes/dashboard/api/src/errors" + syncApi "github.com/kubernetes/dashboard/api/src/sync/api" + "github.com/kubernetes/dashboard/api/src/sync/poll" ) // Time interval between which secret should be resynchronized. diff --git a/api/src/sync/secret_test.go b/api/src/sync/secret_test.go index 91145280fa01..21a35ad2c0a5 100644 --- a/api/src/sync/secret_test.go +++ b/api/src/sync/secret_test.go @@ -18,7 +18,7 @@ import ( "testing" "time" - syncApi "github.com/kubernetes/dashboard/src/app/backend/sync/api" + syncApi "github.com/kubernetes/dashboard/api/src/sync/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" diff --git a/api/src/systembanner/handler.go b/api/src/systembanner/handler.go index 68ded88fea09..51f4062e70c7 100644 --- a/api/src/systembanner/handler.go +++ b/api/src/systembanner/handler.go @@ -18,7 +18,7 @@ import ( "net/http" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/systembanner/api" + "github.com/kubernetes/dashboard/api/src/systembanner/api" ) // SystemBannerHandler manages all endpoints related to system banner management. diff --git a/api/src/systembanner/manager.go b/api/src/systembanner/manager.go index 72c4b9293829..4a497b3dc477 100644 --- a/api/src/systembanner/manager.go +++ b/api/src/systembanner/manager.go @@ -15,7 +15,7 @@ package systembanner import ( - "github.com/kubernetes/dashboard/src/app/backend/systembanner/api" + "github.com/kubernetes/dashboard/api/src/systembanner/api" ) // SystemBannerManager is a structure containing all system banner manager members. diff --git a/api/src/validation/validateappname.go b/api/src/validation/validateappname.go index 579cd3846cfc..1b9007ad5467 100644 --- a/api/src/validation/validateappname.go +++ b/api/src/validation/validateappname.go @@ -21,7 +21,7 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) // AppNameValiditySpec is a specification for application name validation request. diff --git a/api/src/validation/validateloginstatus.go b/api/src/validation/validateloginstatus.go index 9233a3109990..731f8ad51da3 100644 --- a/api/src/validation/validateloginstatus.go +++ b/api/src/validation/validateloginstatus.go @@ -16,8 +16,8 @@ package validation import ( restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/client" + "github.com/kubernetes/dashboard/api/src/args" + "github.com/kubernetes/dashboard/api/src/client" ) // LoginStatus is returned as a response to login status check. Used by the frontend to determine if is logged in diff --git a/api/src/validation/validateloginstatus_test.go b/api/src/validation/validateloginstatus_test.go index a9b7718588fd..9d46bb8629b0 100644 --- a/api/src/validation/validateloginstatus_test.go +++ b/api/src/validation/validateloginstatus_test.go @@ -22,7 +22,7 @@ import ( "testing" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/src/app/backend/client" + "github.com/kubernetes/dashboard/api/src/client" ) func TestValidateLoginStatus(t *testing.T) { diff --git a/api/src/validation/validaterbacstatus_test.go b/api/src/validation/validaterbacstatus_test.go index 4b940088422e..828d6effd5b4 100644 --- a/api/src/validation/validaterbacstatus_test.go +++ b/api/src/validation/validaterbacstatus_test.go @@ -24,7 +24,7 @@ import ( "k8s.io/client-go/kubernetes/fake" test "k8s.io/client-go/testing" - "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/api/src/errors" ) func areErrorsEqual(err1, err2 error) bool { From 63d02bca5cbd6d9138465e65635337a5e96273cd Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 10:59:48 +0200 Subject: [PATCH 004/162] Move some scripts --- .dockerignore => api/.dockerignore | 0 web/.dockerignore | 5 +++++ {aio => web}/scripts/check-html.sh | 0 {aio => web}/scripts/version.mjs | 0 {aio => web}/scripts/xliffmerge.sh | 0 5 files changed, 5 insertions(+) rename .dockerignore => api/.dockerignore (100%) create mode 100644 web/.dockerignore rename {aio => web}/scripts/check-html.sh (100%) rename {aio => web}/scripts/version.mjs (100%) rename {aio => web}/scripts/xliffmerge.sh (100%) diff --git a/.dockerignore b/api/.dockerignore similarity index 100% rename from .dockerignore rename to api/.dockerignore diff --git a/web/.dockerignore b/web/.dockerignore new file mode 100644 index 000000000000..9433b7c7d14c --- /dev/null +++ b/web/.dockerignore @@ -0,0 +1,5 @@ +.git/ +.tmp/ +.tools/ +dist/ +node_modules/ diff --git a/aio/scripts/check-html.sh b/web/scripts/check-html.sh similarity index 100% rename from aio/scripts/check-html.sh rename to web/scripts/check-html.sh diff --git a/aio/scripts/version.mjs b/web/scripts/version.mjs similarity index 100% rename from aio/scripts/version.mjs rename to web/scripts/version.mjs diff --git a/aio/scripts/xliffmerge.sh b/web/scripts/xliffmerge.sh similarity index 100% rename from aio/scripts/xliffmerge.sh rename to web/scripts/xliffmerge.sh From 08eacfcdcaa6f84ca2446aa9f7ddc4a4e6501f3c Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 11:26:40 +0200 Subject: [PATCH 005/162] Add API workflow --- .github/workflows/api-workflow.yml | 102 +++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 .github/workflows/api-workflow.yml diff --git a/.github/workflows/api-workflow.yml b/.github/workflows/api-workflow.yml new file mode 100644 index 000000000000..e6a58018d221 --- /dev/null +++ b/.github/workflows/api-workflow.yml @@ -0,0 +1,102 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Continuous Integration - API + +on: + push: + branches: [ master ] + ignore-paths: + - '**/*.md' + - 'aio/**' + - 'docs/**' + - 'web/**' + pull_request: + branches: [ master ] + ignore-paths: + - '**/*.md' + - 'aio/**' + - 'docs/**' + - 'web/**' + +permissions: + contents: read + +jobs: + check: + name: Static Check + runs-on: ubuntu-latest + env: + NG_CLI_ANALYTICS: ci + GO111MODULE: on + GOPROXY: "https://proxy.golang.org" + TERM: xterm + steps: + - name: Setup Environment + uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + with: + fetch-depth: 0 + + - name: Setup Go + uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + with: + go-version: 1.17.0 + + - name: Install Dependencies + shell: bash + run: | + command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } + go mod download + + - name: Check Code + shell: bash + run: | + export GOPATH=$(go env GOPATH)/bin + npm run check + + unit: + name: Unit Tests + runs-on: ubuntu-latest + env: + NG_CLI_ANALYTICS: ci + GO111MODULE: on + GOPROXY: "https://proxy.golang.org" + TERM: xterm + + steps: + - name: Setup Environment + uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + with: + fetch-depth: 0 + + - name: Setup Go + uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + with: + go-version: 1.17.0 + + - name: Install Dependencies + shell: bash + run: | + export GOPATH=$(go env GOPATH)/bin + command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } + go mod download + + - name: Run Backend Unit Tests + run: make coverage-backend + + - name: Cleanup & Upload Coverage + shell: bash + run: | + make clean + bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" From ef0e113adbd3b447ec4880cae500f17ccf21c43e Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 12:35:23 +0200 Subject: [PATCH 006/162] Update codegen scripts --- aio/scripts/update-codegen.sh | 41 ------------------- api/go.mod | 15 ++++++- api/go.sum | 11 +++++ api/scripts/codegen-update.sh | 36 ++++++++++++++++ .../scripts/codegen-verify.sh | 26 ++++++------ 5 files changed, 73 insertions(+), 56 deletions(-) delete mode 100755 aio/scripts/update-codegen.sh create mode 100755 api/scripts/codegen-update.sh rename aio/scripts/verify-codegen.sh => api/scripts/codegen-verify.sh (58%) diff --git a/aio/scripts/update-codegen.sh b/aio/scripts/update-codegen.sh deleted file mode 100755 index f48c7f87d34b..000000000000 --- a/aio/scripts/update-codegen.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -o errexit -set -o nounset -set -o pipefail - -# Import config. -ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" -source "${ROOT_DIR}/aio/scripts/conf.sh" - -# generate the code with: -# --output-base because this script should also be able to run inside the vendor dir of -# k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir -# instead of the $GOPATH directly. For normal projects this can be dropped. -"${CODEGEN_BIN}" "deepcopy,client,informer,lister" \ - github.com/kubernetes/dashboard/src/app/backend/plugin/client github.com/kubernetes/dashboard/src/app/backend/plugin \ - apis:v1alpha1 \ - --go-header-file "${ROOT_DIR}"/aio/scripts/license-header.go.txt \ - --output-base "$(dirname "${BASH_SOURCE[0]}")/.." - -# Remove old generated client -rm -rf ./src/app/backend/plugin/client -# Move generated deepcopy funcs and client -mv "$(dirname "${BASH_SOURCE[0]}")"/../github.com/kubernetes/dashboard/src/app/backend/plugin/apis/v1alpha1/zz_generated.deepcopy.go ./src/app/backend/plugin/apis/v1alpha1 -mv "$(dirname "${BASH_SOURCE[0]}")"/../github.com/kubernetes/dashboard/src/app/backend/plugin/client ./src/app/backend/plugin -# Remove empty directory -rm -rf ./aio/github.com diff --git a/api/go.mod b/api/go.mod index a29907269a2f..452b8e7b8938 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,4 +1,4 @@ -module github.com/kubernetes/dashboard/api +module github.com/kubernetes/dashboard go 1.17 @@ -22,11 +22,17 @@ require ( ) require ( + github.com/PuerkitoBio/purell v1.1.1 // indirect + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.1.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/emicklei/go-restful v2.9.5+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect github.com/go-logr/logr v1.2.0 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/jsonreference v0.19.5 // indirect + github.com/go-openapi/swag v0.19.14 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.5 // indirect @@ -34,7 +40,9 @@ require ( github.com/googleapis/gnostic v0.5.5 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/imdario/mergo v0.3.5 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/mailru/easyjson v0.7.6 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -44,14 +52,19 @@ require ( github.com/prometheus/common v0.28.0 // indirect github.com/prometheus/procfs v0.6.0 // indirect golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect + golang.org/x/mod v0.4.2 // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect + golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + k8s.io/code-generator v0.23.6 // indirect + k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c // indirect k8s.io/klog/v2 v2.30.0 // indirect k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect diff --git a/api/go.sum b/api/go.sum index d7e93f0acbca..e163bc9fe4f4 100644 --- a/api/go.sum +++ b/api/go.sum @@ -51,7 +51,9 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -153,10 +155,13 @@ github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -279,6 +284,7 @@ github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -309,6 +315,7 @@ github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -527,6 +534,7 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -741,6 +749,7 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff h1:VX/uD7MK0AHXGiScH3fsieUQUcpmRERPDYtqZdJnA+Q= golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -911,8 +920,10 @@ k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hr k8s.io/apiserver v0.23.6/go.mod h1:5PU32F82tfErXPmf7FXhd/UcuLfh97tGepjKUgJ2atg= k8s.io/client-go v0.23.6 h1:7h4SctDVQAQbkHQnR4Kzi7EyUyvla5G1pFWf4+Od7hQ= k8s.io/client-go v0.23.6/go.mod h1:Umt5icFOMLV/+qbtZ3PR0D+JA6lvvb3syzodv4irpK4= +k8s.io/code-generator v0.23.6 h1:4J4zL5TU7e96kjGvr5LOFsgR1P9ZU/C6EQeGYcNrFvw= k8s.io/code-generator v0.23.6/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= k8s.io/component-base v0.23.6/go.mod h1:FGMPeMrjYu0UZBSAFcfloVDplj9IvU+uRMTOdE23Fj0= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c h1:GohjlNKauSai7gN4wsJkeZ3WAJx4Sh+oT/b5IYn5suA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/heapster v1.5.4 h1:lH2GCZdqRmUKDoyqRgiXbRmIcevaPYTvkguOuYUl8gQ= k8s.io/heapster v1.5.4/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM= diff --git a/api/scripts/codegen-update.sh b/api/scripts/codegen-update.sh new file mode 100755 index 000000000000..4cee45478a67 --- /dev/null +++ b/api/scripts/codegen-update.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail + +CODEGEN_VERSION="v0.23.6" +CODEGEN_BIN="${GOPATH}/pkg/mod/k8s.io/code-generator@${CODEGEN_VERSION}/generate-groups.sh" +SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) +SOURCE_DIR="${SCRIPT_DIR}/../src" +CODEGEN_DIR="${SCRIPT_DIR}/../codegen" + +"${CODEGEN_BIN}" "deepcopy,client,informer,lister" \ + github.com/kubernetes/dashboard/api/src/plugin/client github.com/kubernetes/dashboard/api/src/plugin apis:v1alpha1 \ + --go-header-file "${SCRIPT_DIR}/../../aio/scripts/license-header.go.txt" --output-base "${CODEGEN_DIR}" + +rm -rf "${SOURCE_DIR}/plugin/client" + +mv "${CODEGEN_DIR}/github.com/kubernetes/dashboard/api/src/plugin/client" "${SOURCE_DIR}/plugin" +mv "${CODEGEN_DIR}/github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go" "${SOURCE_DIR}/plugin/apis/v1alpha1" + +rm -rf "${CODEGEN_DIR}" diff --git a/aio/scripts/verify-codegen.sh b/api/scripts/codegen-verify.sh similarity index 58% rename from aio/scripts/verify-codegen.sh rename to api/scripts/codegen-verify.sh index 60769c8cb3b2..e878ef3fc61f 100755 --- a/aio/scripts/verify-codegen.sh +++ b/api/scripts/codegen-verify.sh @@ -18,32 +18,30 @@ set -o errexit set -o nounset set -o pipefail -SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/../.. - -DIFFROOT="${SCRIPT_ROOT}/src/app/backend" -TMP_DIFFROOT="${SCRIPT_ROOT}/_tmp/src/app/backend" -_tmp="${SCRIPT_ROOT}/_tmp" +DIFF_ROOT="../src" +TMP_DIFF_ROOT="../_tmp/src" +_tmp="../_tmp" cleanup() { rm -rf "${_tmp}" } -trap "cleanup" EXIT SIGINT cleanup +trap "cleanup" EXIT SIGINT -mkdir -p "${TMP_DIFFROOT}" -cp -a "${DIFFROOT}"/* "${TMP_DIFFROOT}" +mkdir -p "${TMP_DIFF_ROOT}" +cp -a "${DIFF_ROOT}"/* "${TMP_DIFF_ROOT}" -"${SCRIPT_ROOT}/aio/scripts/update-codegen.sh" -echo "diffing ${DIFFROOT} against freshly generated codegen" +"./codegen-update.sh" +echo "diffing ${DIFF_ROOT} against freshly generated codegen" ret=0 -diff -Naupr "${DIFFROOT}" "${TMP_DIFFROOT}" || ret=$? -cp -a "${TMP_DIFFROOT}"/* "${DIFFROOT}" +diff -Naupr "${DIFF_ROOT}" "${TMP_DIFF_ROOT}" || ret=$? +cp -a "${TMP_DIFF_ROOT}"/* "${DIFF_ROOT}" if [[ $ret -eq 0 ]] then - echo "${DIFFROOT} up to date." + echo "${DIFF_ROOT} up to date." else - echo "${DIFFROOT} is out of date. Please run aio/scripts/update-codegen.sh" + echo "${DIFF_ROOT} is out of date. Please run codegen-update.sh" exit 1 fi From 4ed6ceb6729b0e5664dde9a8fd4e69d2966ca495 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 12:40:19 +0200 Subject: [PATCH 007/162] Update gitignores --- .gitignore | 21 ++++----------------- api/.gitignore | 2 ++ 2 files changed, 6 insertions(+), 17 deletions(-) create mode 100644 api/.gitignore diff --git a/.gitignore b/.gitignore index c4c08ee8540a..6ed1316c86da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,14 @@ -# Temporary files: +.idea/ +.vscode/ +.DS_Store + i18n/messages.new.xlf _tmp/ - -# Dependencies: -vendor/ - -# Build and test artifacts: -.go_workspace/ .tmp/ .cached_tools/ dist/ coverage/ cypress/screenshots cypress/videos - -# System specific files: -.DS_Store - -# IDE specific files: -.idea/ -*.iml *.swp -.vscode - -# Helm aio/deploy/helm-chart/kubernetes-dashboard/charts diff --git a/api/.gitignore b/api/.gitignore new file mode 100644 index 000000000000..a9462c755268 --- /dev/null +++ b/api/.gitignore @@ -0,0 +1,2 @@ +codegen/ +vendor/ From 21b6691bf227a924ef788ec92097226153d035d9 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 12:53:23 +0200 Subject: [PATCH 008/162] Update API workflow --- .github/workflows/api-workflow.yml | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/.github/workflows/api-workflow.yml b/.github/workflows/api-workflow.yml index e6a58018d221..2ba3ce96fc4b 100644 --- a/.github/workflows/api-workflow.yml +++ b/.github/workflows/api-workflow.yml @@ -13,7 +13,6 @@ # limitations under the License. name: Continuous Integration - API - on: push: branches: [ master ] @@ -29,74 +28,67 @@ on: - 'aio/**' - 'docs/**' - 'web/**' - permissions: contents: read - jobs: check: name: Static Check runs-on: ubuntu-latest env: NG_CLI_ANALYTICS: ci - GO111MODULE: on GOPROXY: "https://proxy.golang.org" TERM: xterm + defaults: + run: + working-directory: ./api steps: - name: Setup Environment uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 with: fetch-depth: 0 - - name: Setup Go uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 with: go-version: 1.17.0 - - name: Install Dependencies shell: bash run: | command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } go mod download - - name: Check Code shell: bash run: | export GOPATH=$(go env GOPATH)/bin npm run check - unit: name: Unit Tests runs-on: ubuntu-latest env: NG_CLI_ANALYTICS: ci - GO111MODULE: on GOPROXY: "https://proxy.golang.org" TERM: xterm - + defaults: + run: + working-directory: ./api steps: - name: Setup Environment uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 with: fetch-depth: 0 - - name: Setup Go uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 with: go-version: 1.17.0 - - name: Install Dependencies shell: bash run: | export GOPATH=$(go env GOPATH)/bin command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } go mod download - - - name: Run Backend Unit Tests + - name: Run Unit Tests run: make coverage-backend - - - name: Cleanup & Upload Coverage + - name: Cleanup + run: make clean + - name: Upload Coverage shell: bash - run: | - make clean - bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" + run: bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" From 849c95fc9713ded76bea91ededc08a91b0575ce3 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 13:00:33 +0200 Subject: [PATCH 009/162] Update API workflow --- .github/workflows/api-workflow.yml | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/.github/workflows/api-workflow.yml b/.github/workflows/api-workflow.yml index 2ba3ce96fc4b..0aa0b1ac7bd2 100644 --- a/.github/workflows/api-workflow.yml +++ b/.github/workflows/api-workflow.yml @@ -42,19 +42,18 @@ jobs: run: working-directory: ./api steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + - name: Checkout + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@v3 with: go-version: 1.17.0 - - name: Install Dependencies - shell: bash - run: | - command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } - go mod download + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.41.1 - name: Check Code shell: bash run: | @@ -71,19 +70,18 @@ jobs: run: working-directory: ./api steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + - name: Checkout + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@v3 with: go-version: 1.17.0 - name: Install Dependencies shell: bash run: | export GOPATH=$(go env GOPATH)/bin - command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } go mod download - name: Run Unit Tests run: make coverage-backend From b32acd66dcfa8be6112494278a97e12fca734512 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 13:43:00 +0200 Subject: [PATCH 010/162] Update backend structure --- api/go.mod | 15 +--- api/go.sum | 11 --- api/{src/dashboard.go => main.go} | 28 +++--- api/{src => pkg}/api/types.go | 0 api/{src => pkg}/api/types_test.go | 0 api/{src => pkg}/args/builder.go | 0 api/{src => pkg}/args/holder.go | 2 +- api/{src => pkg}/auth/api/common.go | 2 +- api/{src => pkg}/auth/api/common_test.go | 0 api/{src => pkg}/auth/api/types.go | 0 api/{src => pkg}/auth/basic.go | 2 +- api/{src => pkg}/auth/handler.go | 6 +- api/{src => pkg}/auth/handler_test.go | 0 api/{src => pkg}/auth/jwe/keyholder.go | 8 +- api/{src => pkg}/auth/jwe/keyholder_test.go | 2 +- api/{src => pkg}/auth/jwe/manager.go | 4 +- api/{src => pkg}/auth/jwe/manager_test.go | 6 +- api/{src => pkg}/auth/jwe/util.go | 2 +- api/{src => pkg}/auth/kubeconfig.go | 4 +- api/{src => pkg}/auth/kubeconfig_test.go | 4 +- api/{src => pkg}/auth/manager.go | 6 +- api/{src => pkg}/auth/manager_test.go | 10 +-- api/{src => pkg}/auth/token.go | 2 +- api/{src => pkg}/cert/api/types.go | 0 api/{src => pkg}/cert/ecdsa/creator.go | 2 +- api/{src => pkg}/cert/ecdsa/creator_test.go | 2 +- api/{src => pkg}/cert/manager.go | 2 +- api/{src => pkg}/client/api/common.go | 0 api/{src => pkg}/client/api/common_test.go | 2 +- api/{src => pkg}/client/api/types.go | 4 +- api/{src => pkg}/client/csrf/manager.go | 4 +- api/{src => pkg}/client/csrf/manager_test.go | 4 +- api/{src => pkg}/client/manager.go | 16 ++-- api/{src => pkg}/client/manager_test.go | 4 +- api/{src => pkg}/client/verber.go | 8 +- api/{src => pkg}/client/verber_test.go | 2 +- api/{src => pkg}/errors/errors.go | 0 api/{src => pkg}/errors/handler.go | 0 api/{src => pkg}/errors/handler_test.go | 2 +- api/{src => pkg}/errors/localizer.go | 0 api/{src => pkg}/errors/localizer_test.go | 2 +- api/{src => pkg}/handler/apihandler.go | 90 +++++++++---------- api/{src => pkg}/handler/apihandler_test.go | 16 ++-- api/{src => pkg}/handler/confighandler.go | 0 api/{src => pkg}/handler/download.go | 2 +- api/{src => pkg}/handler/filter.go | 8 +- api/{src => pkg}/handler/gziphandler.go | 0 api/{src => pkg}/handler/localehandler.go | 2 +- .../handler/localehandler_test.go | 0 api/{src => pkg}/handler/metrics.go | 0 api/{src => pkg}/handler/parser/parser.go | 4 +- api/{src => pkg}/handler/terminal.go | 0 api/{src => pkg}/integration/api/types.go | 0 api/{src => pkg}/integration/handler.go | 2 +- api/{src => pkg}/integration/handler_test.go | 0 api/{src => pkg}/integration/list.go | 2 +- api/{src => pkg}/integration/manager.go | 6 +- api/{src => pkg}/integration/manager_test.go | 18 ++-- .../integration/metric/api/types.go | 4 +- .../integration/metric/common/aggregation.go | 2 +- .../metric/common/aggregation_test.go | 4 +- .../integration/metric/heapster/client.go | 10 +-- .../metric/heapster/client_test.go | 10 +-- .../integration/metric/heapster/common.go | 4 +- .../integration/metric/heapster/model.go | 4 +- .../integration/metric/heapster/restclient.go | 0 .../integration/metric/heapster/selector.go | 4 +- .../metric/heapster/selector_test.go | 4 +- .../integration/metric/manager.go | 10 +-- .../integration/metric/manager_test.go | 8 +- .../integration/metric/sidecar/client.go | 8 +- .../integration/metric/sidecar/client_test.go | 8 +- .../integration/metric/sidecar/common.go | 4 +- .../integration/metric/sidecar/model.go | 4 +- .../integration/metric/sidecar/restclient.go | 2 +- .../integration/metric/sidecar/selector.go | 4 +- .../metric/sidecar/selector_test.go | 4 +- api/{src => pkg}/plugin/apis/register.go | 0 api/{src => pkg}/plugin/apis/v1alpha1/doc.go | 0 .../plugin/apis/v1alpha1/register.go | 2 +- .../plugin/apis/v1alpha1/types.go | 0 .../apis/v1alpha1/zz_generated.deepcopy.go | 0 .../client/clientset/versioned/clientset.go | 2 +- .../plugin/client/clientset/versioned/doc.go | 0 .../versioned/fake/clientset_generated.go | 6 +- .../client/clientset/versioned/fake/doc.go | 0 .../clientset/versioned/fake/register.go | 2 +- .../client/clientset/versioned/scheme/doc.go | 0 .../clientset/versioned/scheme/register.go | 2 +- .../typed/apis/v1alpha1/apis_client.go | 4 +- .../versioned/typed/apis/v1alpha1/doc.go | 0 .../versioned/typed/apis/v1alpha1/fake/doc.go | 0 .../apis/v1alpha1/fake/fake_apis_client.go | 2 +- .../typed/apis/v1alpha1/fake/fake_plugin.go | 2 +- .../apis/v1alpha1/generated_expansion.go | 0 .../versioned/typed/apis/v1alpha1/plugin.go | 4 +- .../externalversions/apis/interface.go | 4 +- .../apis/v1alpha1/interface.go | 2 +- .../externalversions/apis/v1alpha1/plugin.go | 8 +- .../informers/externalversions/factory.go | 6 +- .../informers/externalversions/generic.go | 2 +- .../internalinterfaces/factory_interfaces.go | 2 +- .../apis/v1alpha1/expansion_generated.go | 0 .../client/listers/apis/v1alpha1/plugin.go | 2 +- api/{src => pkg}/plugin/config.go | 2 +- api/{src => pkg}/plugin/config_test.go | 10 +-- api/{src => pkg}/plugin/detail.go | 2 +- api/{src => pkg}/plugin/detail_test.go | 4 +- api/{src => pkg}/plugin/handler.go | 6 +- api/{src => pkg}/plugin/handler_test.go | 0 api/{src => pkg}/plugin/list.go | 10 +-- api/{src => pkg}/plugin/list_test.go | 6 +- .../resource/clusterrole/common.go | 2 +- .../resource/clusterrole/detail.go | 0 api/{src => pkg}/resource/clusterrole/list.go | 8 +- .../resource/clusterrole/list_test.go | 4 +- .../resource/clusterrolebinding/common.go | 2 +- .../resource/clusterrolebinding/detail.go | 0 .../resource/clusterrolebinding/list.go | 8 +- .../resource/clusterrolebinding/list_test.go | 4 +- api/{src => pkg}/resource/common/condition.go | 0 api/{src => pkg}/resource/common/endpoint.go | 0 .../resource/common/endpoint_test.go | 0 api/{src => pkg}/resource/common/event.go | 2 +- api/{src => pkg}/resource/common/namespace.go | 0 .../resource/common/namespace_test.go | 0 api/{src => pkg}/resource/common/pod.go | 0 api/{src => pkg}/resource/common/pod_test.go | 0 api/{src => pkg}/resource/common/podinfo.go | 0 .../resource/common/podinfo_test.go | 0 .../resource/common/resourcechannels.go | 2 +- .../resource/common/resourcestatus.go | 0 api/{src => pkg}/resource/common/service.go | 2 +- .../resource/common/service_test.go | 0 .../resource/common/serviceport.go | 0 .../resource/common/serviceport_test.go | 0 api/{src => pkg}/resource/configmap/common.go | 2 +- api/{src => pkg}/resource/configmap/detail.go | 0 .../resource/configmap/detail_test.go | 2 +- api/{src => pkg}/resource/configmap/list.go | 8 +- .../resource/configmap/list_test.go | 4 +- api/{src => pkg}/resource/container/logs.go | 2 +- .../resource/container/logs_test.go | 2 +- .../resource/controller/controller.go | 6 +- .../resource/controller/controller_test.go | 2 +- api/{src => pkg}/resource/cronjob/common.go | 8 +- .../resource/cronjob/common_test.go | 2 +- api/{src => pkg}/resource/cronjob/detail.go | 0 .../resource/cronjob/detail_test.go | 6 +- api/{src => pkg}/resource/cronjob/events.go | 6 +- .../resource/cronjob/events_test.go | 8 +- api/{src => pkg}/resource/cronjob/jobs.go | 12 +-- .../resource/cronjob/jobs_test.go | 2 +- api/{src => pkg}/resource/cronjob/list.go | 10 +-- .../resource/cronjob/list_test.go | 10 +-- .../customresourcedefinition/common.go | 10 +-- .../customresourcedefinition/events.go | 6 +- .../customresourcedefinition/events_test.go | 6 +- .../customresourcedefinition/types/types.go | 4 +- .../customresourcedefinition/v1/client.go | 0 .../customresourcedefinition/v1/common.go | 6 +- .../customresourcedefinition/v1/detail.go | 8 +- .../customresourcedefinition/v1/list.go | 10 +-- .../customresourcedefinition/v1/list_test.go | 6 +- .../customresourcedefinition/v1/objects.go | 10 +-- api/{src => pkg}/resource/daemonset/common.go | 10 +-- .../resource/daemonset/common_test.go | 0 api/{src => pkg}/resource/daemonset/detail.go | 4 +- api/{src => pkg}/resource/daemonset/list.go | 12 +-- .../resource/daemonset/list_test.go | 10 +-- api/{src => pkg}/resource/daemonset/pods.go | 12 +-- .../resource/daemonset/services.go | 8 +- .../resource/dataselect/dataselect.go | 4 +- .../resource/dataselect/dataselect_test.go | 0 .../resource/dataselect/dataselectquery.go | 2 +- .../resource/dataselect/pagination.go | 0 .../resource/dataselect/pagination_test.go | 0 .../resource/dataselect/propertyname.go | 0 .../resource/dataselect/stdcomparabletypes.go | 0 .../dataselect/stdcomparabletypes_test.go | 0 .../resource/deployment/common.go | 10 +-- .../resource/deployment/deploy.go | 2 +- .../resource/deployment/deploy_test.go | 0 .../resource/deployment/detail.go | 4 +- .../resource/deployment/detail_test.go | 6 +- api/{src => pkg}/resource/deployment/list.go | 12 +-- .../resource/deployment/list_test.go | 10 +-- .../resource/deployment/newreplicasets.go | 8 +- .../resource/deployment/oldreplicasets.go | 10 +-- api/{src => pkg}/resource/deployment/pods.go | 12 +-- .../resource/deployment/rollout.go | 0 api/{src => pkg}/resource/deployment/util.go | 2 +- .../resource/endpoint/endpoint.go | 4 +- api/{src => pkg}/resource/endpoint/list.go | 2 +- api/{src => pkg}/resource/event/common.go | 8 +- .../resource/event/common_test.go | 6 +- api/{src => pkg}/resource/event/event.go | 2 +- api/{src => pkg}/resource/event/event_test.go | 2 +- api/{src => pkg}/resource/event/list.go | 6 +- .../horizontalpodautoscaler/common.go | 2 +- .../horizontalpodautoscaler/detail.go | 0 .../horizontalpodautoscaler/detail_test.go | 2 +- .../resource/horizontalpodautoscaler/list.go | 8 +- .../horizontalpodautoscaler/list_test.go | 6 +- api/{src => pkg}/resource/ingress/common.go | 2 +- api/{src => pkg}/resource/ingress/detail.go | 0 api/{src => pkg}/resource/ingress/filter.go | 2 +- api/{src => pkg}/resource/ingress/list.go | 8 +- api/{src => pkg}/resource/job/common.go | 8 +- api/{src => pkg}/resource/job/detail.go | 4 +- api/{src => pkg}/resource/job/detail_test.go | 6 +- api/{src => pkg}/resource/job/events.go | 6 +- api/{src => pkg}/resource/job/events_test.go | 6 +- api/{src => pkg}/resource/job/list.go | 12 +-- api/{src => pkg}/resource/job/list_test.go | 10 +-- api/{src => pkg}/resource/job/pods.go | 12 +-- .../resource/limitrange/detail.go | 0 .../resource/limitrange/detail_test.go | 0 api/{src => pkg}/resource/logs/logs.go | 0 api/{src => pkg}/resource/logs/source.go | 6 +- api/{src => pkg}/resource/namespace/common.go | 2 +- api/{src => pkg}/resource/namespace/detail.go | 8 +- .../resource/namespace/detail_test.go | 2 +- api/{src => pkg}/resource/namespace/list.go | 8 +- .../resource/namespace/list_test.go | 4 +- .../resource/networkpolicy/common.go | 2 +- .../resource/networkpolicy/detail.go | 0 .../resource/networkpolicy/list.go | 8 +- api/{src => pkg}/resource/node/common.go | 8 +- api/{src => pkg}/resource/node/detail.go | 14 +-- api/{src => pkg}/resource/node/detail_test.go | 10 +-- api/{src => pkg}/resource/node/list.go | 8 +- api/{src => pkg}/resource/node/list_test.go | 6 +- .../resource/persistentvolume/common.go | 6 +- .../resource/persistentvolume/common_test.go | 4 +- .../resource/persistentvolume/detail.go | 0 .../resource/persistentvolume/detail_test.go | 2 +- .../resource/persistentvolume/list.go | 8 +- .../resource/persistentvolume/list_test.go | 4 +- .../resource/persistentvolumeclaim/common.go | 6 +- .../persistentvolumeclaim/common_test.go | 4 +- .../resource/persistentvolumeclaim/detail.go | 0 .../persistentvolumeclaim/detail_test.go | 2 +- .../resource/persistentvolumeclaim/list.go | 8 +- .../persistentvolumeclaim/list_test.go | 4 +- api/{src => pkg}/resource/pod/common.go | 10 +-- api/{src => pkg}/resource/pod/common_test.go | 4 +- api/{src => pkg}/resource/pod/detail.go | 14 +-- api/{src => pkg}/resource/pod/detail_test.go | 12 +-- api/{src => pkg}/resource/pod/events.go | 6 +- api/{src => pkg}/resource/pod/events_test.go | 6 +- api/{src => pkg}/resource/pod/fieldpath.go | 0 .../resource/pod/fieldpath_test.go | 0 api/{src => pkg}/resource/pod/list.go | 12 +-- api/{src => pkg}/resource/pod/list_test.go | 12 +-- api/{src => pkg}/resource/pod/metrics.go | 8 +- .../resource/replicaset/common.go | 10 +-- .../resource/replicaset/common_test.go | 4 +- .../resource/replicaset/detail.go | 8 +- .../resource/replicaset/detail_test.go | 12 +-- api/{src => pkg}/resource/replicaset/list.go | 12 +-- .../resource/replicaset/list_test.go | 10 +-- api/{src => pkg}/resource/replicaset/pods.go | 12 +-- .../resource/replicaset/services.go | 8 +- .../resource/replicationcontroller/common.go | 10 +-- .../replicationcontroller/common_test.go | 0 .../resource/replicationcontroller/detail.go | 4 +- .../replicationcontroller/detail_test.go | 0 .../resource/replicationcontroller/list.go | 12 +-- .../replicationcontroller/list_test.go | 8 +- .../resource/replicationcontroller/pods.go | 12 +-- .../replicationcontroller/services.go | 8 +- .../resource/resourcequota/detail.go | 2 +- .../resource/resourcequota/detail_test.go | 2 +- api/{src => pkg}/resource/role/common.go | 2 +- api/{src => pkg}/resource/role/detail.go | 0 api/{src => pkg}/resource/role/list.go | 8 +- api/{src => pkg}/resource/role/list_test.go | 4 +- .../resource/rolebinding/common.go | 2 +- .../resource/rolebinding/detail.go | 0 api/{src => pkg}/resource/rolebinding/list.go | 8 +- .../resource/rolebinding/list_test.go | 4 +- api/{src => pkg}/resource/secret/common.go | 2 +- api/{src => pkg}/resource/secret/detail.go | 0 .../resource/secret/detail_test.go | 2 +- api/{src => pkg}/resource/secret/list.go | 8 +- api/{src => pkg}/resource/secret/list_test.go | 6 +- api/{src => pkg}/resource/service/common.go | 2 +- api/{src => pkg}/resource/service/detail.go | 4 +- .../resource/service/detail_test.go | 6 +- api/{src => pkg}/resource/service/events.go | 8 +- .../resource/service/events_test.go | 6 +- api/{src => pkg}/resource/service/ingress.go | 8 +- api/{src => pkg}/resource/service/list.go | 8 +- .../resource/service/list_test.go | 10 +-- api/{src => pkg}/resource/service/pods.go | 12 +-- .../resource/service/pods_test.go | 10 +-- .../resource/serviceaccount/common.go | 2 +- .../resource/serviceaccount/detail.go | 0 .../resource/serviceaccount/list.go | 8 +- .../resource/serviceaccount/secrets.go | 6 +- .../resource/statefulset/common.go | 10 +-- .../resource/statefulset/detail.go | 6 +- api/{src => pkg}/resource/statefulset/list.go | 12 +-- .../resource/statefulset/list_test.go | 10 +-- api/{src => pkg}/resource/statefulset/pods.go | 12 +-- .../resource/storageclass/common.go | 2 +- .../resource/storageclass/detail.go | 0 .../resource/storageclass/detail_test.go | 2 +- .../resource/storageclass/list.go | 8 +- .../resource/storageclass/list_test.go | 4 +- api/{src => pkg}/scaling/scale.go | 0 api/{src => pkg}/settings/api/types.go | 0 api/{src => pkg}/settings/handler.go | 8 +- api/{src => pkg}/settings/handler_test.go | 0 api/{src => pkg}/settings/manager.go | 6 +- api/{src => pkg}/settings/manager_test.go | 2 +- api/{src => pkg}/sync/api/types.go | 0 api/{src => pkg}/sync/manager.go | 2 +- api/{src => pkg}/sync/manager_test.go | 0 api/{src => pkg}/sync/overwatch.go | 2 +- api/{src => pkg}/sync/poll/secret.go | 4 +- api/{src => pkg}/sync/poll/secret_test.go | 2 +- api/{src => pkg}/sync/poll/watcher.go | 0 api/{src => pkg}/sync/poll/watcher_test.go | 2 +- api/{src => pkg}/sync/secret.go | 6 +- api/{src => pkg}/sync/secret_test.go | 2 +- api/{src => pkg}/systembanner/api/types.go | 0 api/{src => pkg}/systembanner/handler.go | 2 +- api/{src => pkg}/systembanner/manager.go | 2 +- .../validation/validateappname.go | 2 +- .../validation/validateappname_test.go | 0 .../validation/validateimagereference.go | 0 .../validation/validateimagereference_test.go | 0 .../validation/validateloginstatus.go | 4 +- .../validation/validateloginstatus_test.go | 2 +- .../validation/validateprotocol.go | 0 .../validation/validateprotocol_test.go | 0 .../validation/validaterbacstatus.go | 0 .../validation/validaterbacstatus_test.go | 2 +- 340 files changed, 771 insertions(+), 795 deletions(-) rename api/{src/dashboard.go => main.go} (94%) rename api/{src => pkg}/api/types.go (100%) rename api/{src => pkg}/api/types_test.go (100%) rename api/{src => pkg}/args/builder.go (100%) rename api/{src => pkg}/args/holder.go (99%) rename api/{src => pkg}/auth/api/common.go (97%) rename api/{src => pkg}/auth/api/common_test.go (100%) rename api/{src => pkg}/auth/api/types.go (100%) rename api/{src => pkg}/auth/basic.go (95%) rename api/{src => pkg}/auth/handler.go (95%) rename api/{src => pkg}/auth/handler_test.go (100%) rename api/{src => pkg}/auth/jwe/keyholder.go (95%) rename api/{src => pkg}/auth/jwe/keyholder_test.go (96%) rename api/{src => pkg}/auth/jwe/manager.go (97%) rename api/{src => pkg}/auth/jwe/manager_test.go (96%) rename api/{src => pkg}/auth/jwe/util.go (97%) rename api/{src => pkg}/auth/kubeconfig.go (97%) rename api/{src => pkg}/auth/kubeconfig_test.go (96%) rename api/{src => pkg}/auth/manager.go (95%) rename api/{src => pkg}/auth/manager_test.go (95%) rename api/{src => pkg}/auth/token.go (95%) rename api/{src => pkg}/cert/api/types.go (100%) rename api/{src => pkg}/cert/ecdsa/creator.go (98%) rename api/{src => pkg}/cert/ecdsa/creator_test.go (96%) rename api/{src => pkg}/cert/manager.go (97%) rename api/{src => pkg}/client/api/common.go (100%) rename api/{src => pkg}/client/api/common_test.go (95%) rename api/{src => pkg}/client/api/types.go (95%) rename api/{src => pkg}/client/csrf/manager.go (95%) rename api/{src => pkg}/client/csrf/manager_test.go (93%) rename api/{src => pkg}/client/manager.go (97%) rename api/{src => pkg}/client/manager_test.go (99%) rename api/{src => pkg}/client/verber.go (96%) rename api/{src => pkg}/client/verber_test.go (99%) rename api/{src => pkg}/errors/errors.go (100%) rename api/{src => pkg}/errors/handler.go (100%) rename api/{src => pkg}/errors/handler_test.go (96%) rename api/{src => pkg}/errors/localizer.go (100%) rename api/{src => pkg}/errors/localizer_test.go (96%) rename api/{src => pkg}/handler/apihandler.go (97%) rename api/{src => pkg}/handler/apihandler_test.go (90%) rename api/{src => pkg}/handler/confighandler.go (100%) rename api/{src => pkg}/handler/download.go (94%) rename api/{src => pkg}/handler/filter.go (96%) rename api/{src => pkg}/handler/gziphandler.go (100%) rename api/{src => pkg}/handler/localehandler.go (99%) rename api/{src => pkg}/handler/localehandler_test.go (100%) rename api/{src => pkg}/handler/metrics.go (100%) rename api/{src => pkg}/handler/parser/parser.go (95%) rename api/{src => pkg}/handler/terminal.go (100%) rename api/{src => pkg}/integration/api/types.go (100%) rename api/{src => pkg}/integration/handler.go (97%) rename api/{src => pkg}/integration/handler_test.go (100%) rename api/{src => pkg}/integration/list.go (95%) rename api/{src => pkg}/integration/manager.go (92%) rename api/{src => pkg}/integration/manager_test.go (83%) rename api/{src => pkg}/integration/metric/api/types.go (98%) rename api/{src => pkg}/integration/metric/common/aggregation.go (98%) rename api/{src => pkg}/integration/metric/common/aggregation_test.go (98%) rename api/{src => pkg}/integration/metric/heapster/client.go (96%) rename api/{src => pkg}/integration/metric/heapster/client_test.go (98%) rename api/{src => pkg}/integration/metric/heapster/common.go (96%) rename api/{src => pkg}/integration/metric/heapster/model.go (91%) rename api/{src => pkg}/integration/metric/heapster/restclient.go (100%) rename api/{src => pkg}/integration/metric/heapster/selector.go (97%) rename api/{src => pkg}/integration/metric/heapster/selector_test.go (96%) rename api/{src => pkg}/integration/metric/manager.go (93%) rename api/{src => pkg}/integration/metric/manager_test.go (94%) rename api/{src => pkg}/integration/metric/sidecar/client.go (97%) rename api/{src => pkg}/integration/metric/sidecar/client_test.go (98%) rename api/{src => pkg}/integration/metric/sidecar/common.go (95%) rename api/{src => pkg}/integration/metric/sidecar/model.go (91%) rename api/{src => pkg}/integration/metric/sidecar/restclient.go (98%) rename api/{src => pkg}/integration/metric/sidecar/selector.go (97%) rename api/{src => pkg}/integration/metric/sidecar/selector_test.go (96%) rename api/{src => pkg}/plugin/apis/register.go (100%) rename api/{src => pkg}/plugin/apis/v1alpha1/doc.go (100%) rename api/{src => pkg}/plugin/apis/v1alpha1/register.go (97%) rename api/{src => pkg}/plugin/apis/v1alpha1/types.go (100%) rename api/{src => pkg}/plugin/apis/v1alpha1/zz_generated.deepcopy.go (100%) rename api/{src => pkg}/plugin/client/clientset/versioned/clientset.go (97%) rename api/{src => pkg}/plugin/client/clientset/versioned/doc.go (100%) rename api/{src => pkg}/plugin/client/clientset/versioned/fake/clientset_generated.go (88%) rename api/{src => pkg}/plugin/client/clientset/versioned/fake/doc.go (100%) rename api/{src => pkg}/plugin/client/clientset/versioned/fake/register.go (95%) rename api/{src => pkg}/plugin/client/clientset/versioned/scheme/doc.go (100%) rename api/{src => pkg}/plugin/client/clientset/versioned/scheme/register.go (95%) rename api/{src => pkg}/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go (95%) rename api/{src => pkg}/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go (100%) rename api/{src => pkg}/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go (100%) rename api/{src => pkg}/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go (91%) rename api/{src => pkg}/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go (98%) rename api/{src => pkg}/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go (100%) rename api/{src => pkg}/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go (97%) rename api/{src => pkg}/plugin/client/informers/externalversions/apis/interface.go (86%) rename api/{src => pkg}/plugin/client/informers/externalversions/apis/v1alpha1/interface.go (92%) rename api/{src => pkg}/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go (89%) rename api/{src => pkg}/plugin/client/informers/externalversions/factory.go (95%) rename api/{src => pkg}/plugin/client/informers/externalversions/generic.go (96%) rename api/{src => pkg}/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go (94%) rename api/{src => pkg}/plugin/client/listers/apis/v1alpha1/expansion_generated.go (100%) rename api/{src => pkg}/plugin/client/listers/apis/v1alpha1/plugin.go (97%) rename api/{src => pkg}/plugin/config.go (97%) rename api/{src => pkg}/plugin/config_test.go (91%) rename api/{src => pkg}/plugin/detail.go (93%) rename api/{src => pkg}/plugin/detail_test.go (95%) rename api/{src => pkg}/plugin/handler.go (94%) rename api/{src => pkg}/plugin/handler_test.go (100%) rename api/{src => pkg}/plugin/list.go (92%) rename api/{src => pkg}/plugin/list_test.go (92%) rename api/{src => pkg}/resource/clusterrole/common.go (96%) rename api/{src => pkg}/resource/clusterrole/detail.go (100%) rename api/{src => pkg}/resource/clusterrole/list.go (92%) rename api/{src => pkg}/resource/clusterrole/list_test.go (93%) rename api/{src => pkg}/resource/clusterrolebinding/common.go (96%) rename api/{src => pkg}/resource/clusterrolebinding/detail.go (100%) rename api/{src => pkg}/resource/clusterrolebinding/list.go (94%) rename api/{src => pkg}/resource/clusterrolebinding/list_test.go (94%) rename api/{src => pkg}/resource/common/condition.go (100%) rename api/{src => pkg}/resource/common/endpoint.go (100%) rename api/{src => pkg}/resource/common/endpoint_test.go (100%) rename api/{src => pkg}/resource/common/event.go (98%) rename api/{src => pkg}/resource/common/namespace.go (100%) rename api/{src => pkg}/resource/common/namespace_test.go (100%) rename api/{src => pkg}/resource/common/pod.go (100%) rename api/{src => pkg}/resource/common/pod_test.go (100%) rename api/{src => pkg}/resource/common/podinfo.go (100%) rename api/{src => pkg}/resource/common/podinfo_test.go (100%) rename api/{src => pkg}/resource/common/resourcechannels.go (99%) rename api/{src => pkg}/resource/common/resourcestatus.go (100%) rename api/{src => pkg}/resource/common/service.go (96%) rename api/{src => pkg}/resource/common/service_test.go (100%) rename api/{src => pkg}/resource/common/serviceport.go (100%) rename api/{src => pkg}/resource/common/serviceport_test.go (100%) rename api/{src => pkg}/resource/configmap/common.go (96%) rename api/{src => pkg}/resource/configmap/detail.go (100%) rename api/{src => pkg}/resource/configmap/detail_test.go (96%) rename api/{src => pkg}/resource/configmap/list.go (93%) rename api/{src => pkg}/resource/configmap/list_test.go (93%) rename api/{src => pkg}/resource/container/logs.go (98%) rename api/{src => pkg}/resource/container/logs_test.go (99%) rename api/{src => pkg}/resource/controller/controller.go (98%) rename api/{src => pkg}/resource/controller/controller_test.go (97%) rename api/{src => pkg}/resource/cronjob/common.go (91%) rename api/{src => pkg}/resource/cronjob/common_test.go (94%) rename api/{src => pkg}/resource/cronjob/detail.go (100%) rename api/{src => pkg}/resource/cronjob/detail_test.go (93%) rename api/{src => pkg}/resource/cronjob/events.go (85%) rename api/{src => pkg}/resource/cronjob/events_test.go (91%) rename api/{src => pkg}/resource/cronjob/jobs.go (92%) rename api/{src => pkg}/resource/cronjob/jobs_test.go (97%) rename api/{src => pkg}/resource/cronjob/list.go (93%) rename api/{src => pkg}/resource/cronjob/list_test.go (90%) rename api/{src => pkg}/resource/customresourcedefinition/common.go (93%) rename api/{src => pkg}/resource/customresourcedefinition/events.go (84%) rename api/{src => pkg}/resource/customresourcedefinition/events_test.go (93%) rename api/{src => pkg}/resource/customresourcedefinition/types/types.go (98%) rename api/{src => pkg}/resource/customresourcedefinition/v1/client.go (100%) rename api/{src => pkg}/resource/customresourcedefinition/v1/common.go (95%) rename api/{src => pkg}/resource/customresourcedefinition/v1/detail.go (92%) rename api/{src => pkg}/resource/customresourcedefinition/v1/list.go (92%) rename api/{src => pkg}/resource/customresourcedefinition/v1/list_test.go (95%) rename api/{src => pkg}/resource/customresourcedefinition/v1/objects.go (94%) rename api/{src => pkg}/resource/daemonset/common.go (92%) rename api/{src => pkg}/resource/daemonset/common_test.go (100%) rename api/{src => pkg}/resource/daemonset/detail.go (94%) rename api/{src => pkg}/resource/daemonset/list.go (93%) rename api/{src => pkg}/resource/daemonset/list_test.go (97%) rename api/{src => pkg}/resource/daemonset/pods.go (86%) rename api/{src => pkg}/resource/daemonset/services.go (87%) rename api/{src => pkg}/resource/dataselect/dataselect.go (98%) rename api/{src => pkg}/resource/dataselect/dataselect_test.go (100%) rename api/{src => pkg}/resource/dataselect/dataselectquery.go (98%) rename api/{src => pkg}/resource/dataselect/pagination.go (100%) rename api/{src => pkg}/resource/dataselect/pagination_test.go (100%) rename api/{src => pkg}/resource/dataselect/propertyname.go (100%) rename api/{src => pkg}/resource/dataselect/stdcomparabletypes.go (100%) rename api/{src => pkg}/resource/dataselect/stdcomparabletypes_test.go (100%) rename api/{src => pkg}/resource/deployment/common.go (91%) rename api/{src => pkg}/resource/deployment/deploy.go (99%) rename api/{src => pkg}/resource/deployment/deploy_test.go (100%) rename api/{src => pkg}/resource/deployment/detail.go (98%) rename api/{src => pkg}/resource/deployment/detail_test.go (96%) rename api/{src => pkg}/resource/deployment/list.go (94%) rename api/{src => pkg}/resource/deployment/list_test.go (94%) rename api/{src => pkg}/resource/deployment/newreplicasets.go (91%) rename api/{src => pkg}/resource/deployment/oldreplicasets.go (91%) rename api/{src => pkg}/resource/deployment/pods.go (85%) rename api/{src => pkg}/resource/deployment/rollout.go (100%) rename api/{src => pkg}/resource/deployment/util.go (97%) rename api/{src => pkg}/resource/endpoint/endpoint.go (96%) rename api/{src => pkg}/resource/endpoint/list.go (96%) rename api/{src => pkg}/resource/event/common.go (97%) rename api/{src => pkg}/resource/event/common_test.go (96%) rename api/{src => pkg}/resource/event/event.go (98%) rename api/{src => pkg}/resource/event/event_test.go (99%) rename api/{src => pkg}/resource/event/list.go (90%) rename api/{src => pkg}/resource/horizontalpodautoscaler/common.go (97%) rename api/{src => pkg}/resource/horizontalpodautoscaler/detail.go (100%) rename api/{src => pkg}/resource/horizontalpodautoscaler/detail_test.go (98%) rename api/{src => pkg}/resource/horizontalpodautoscaler/list.go (95%) rename api/{src => pkg}/resource/horizontalpodautoscaler/list_test.go (97%) rename api/{src => pkg}/resource/ingress/common.go (96%) rename api/{src => pkg}/resource/ingress/detail.go (100%) rename api/{src => pkg}/resource/ingress/filter.go (97%) rename api/{src => pkg}/resource/ingress/list.go (94%) rename api/{src => pkg}/resource/job/common.go (91%) rename api/{src => pkg}/resource/job/detail.go (94%) rename api/{src => pkg}/resource/job/detail_test.go (94%) rename api/{src => pkg}/resource/job/events.go (85%) rename api/{src => pkg}/resource/job/events_test.go (93%) rename api/{src => pkg}/resource/job/list.go (95%) rename api/{src => pkg}/resource/job/list_test.go (96%) rename api/{src => pkg}/resource/job/pods.go (90%) rename api/{src => pkg}/resource/limitrange/detail.go (100%) rename api/{src => pkg}/resource/limitrange/detail_test.go (100%) rename api/{src => pkg}/resource/logs/logs.go (100%) rename api/{src => pkg}/resource/logs/source.go (93%) rename api/{src => pkg}/resource/namespace/common.go (97%) rename api/{src => pkg}/resource/namespace/detail.go (94%) rename api/{src => pkg}/resource/namespace/detail_test.go (96%) rename api/{src => pkg}/resource/namespace/list.go (93%) rename api/{src => pkg}/resource/namespace/list_test.go (93%) rename api/{src => pkg}/resource/networkpolicy/common.go (96%) rename api/{src => pkg}/resource/networkpolicy/detail.go (100%) rename api/{src => pkg}/resource/networkpolicy/list.go (92%) rename api/{src => pkg}/resource/node/common.go (91%) rename api/{src => pkg}/resource/node/detail.go (96%) rename api/{src => pkg}/resource/node/detail_test.go (89%) rename api/{src => pkg}/resource/node/list.go (93%) rename api/{src => pkg}/resource/node/list_test.go (91%) rename api/{src => pkg}/resource/persistentvolume/common.go (95%) rename api/{src => pkg}/resource/persistentvolume/common_test.go (96%) rename api/{src => pkg}/resource/persistentvolume/detail.go (100%) rename api/{src => pkg}/resource/persistentvolume/detail_test.go (98%) rename api/{src => pkg}/resource/persistentvolume/list.go (94%) rename api/{src => pkg}/resource/persistentvolume/list_test.go (95%) rename api/{src => pkg}/resource/persistentvolumeclaim/common.go (95%) rename api/{src => pkg}/resource/persistentvolumeclaim/common_test.go (95%) rename api/{src => pkg}/resource/persistentvolumeclaim/detail.go (100%) rename api/{src => pkg}/resource/persistentvolumeclaim/detail_test.go (97%) rename api/{src => pkg}/resource/persistentvolumeclaim/list.go (94%) rename api/{src => pkg}/resource/persistentvolumeclaim/list_test.go (94%) rename api/{src => pkg}/resource/pod/common.go (96%) rename api/{src => pkg}/resource/pod/common_test.go (98%) rename api/{src => pkg}/resource/pod/detail.go (97%) rename api/{src => pkg}/resource/pod/detail_test.go (94%) rename api/{src => pkg}/resource/pod/events.go (83%) rename api/{src => pkg}/resource/pod/events_test.go (92%) rename api/{src => pkg}/resource/pod/fieldpath.go (100%) rename api/{src => pkg}/resource/pod/fieldpath_test.go (100%) rename api/{src => pkg}/resource/pod/list.go (93%) rename api/{src => pkg}/resource/pod/list_test.go (91%) rename api/{src => pkg}/resource/pod/metrics.go (93%) rename api/{src => pkg}/resource/replicaset/common.go (89%) rename api/{src => pkg}/resource/replicaset/common_test.go (93%) rename api/{src => pkg}/resource/replicaset/detail.go (91%) rename api/{src => pkg}/resource/replicaset/detail_test.go (93%) rename api/{src => pkg}/resource/replicaset/list.go (93%) rename api/{src => pkg}/resource/replicaset/list_test.go (96%) rename api/{src => pkg}/resource/replicaset/pods.go (89%) rename api/{src => pkg}/resource/replicaset/services.go (87%) rename api/{src => pkg}/resource/replicationcontroller/common.go (94%) rename api/{src => pkg}/resource/replicationcontroller/common_test.go (100%) rename api/{src => pkg}/resource/replicationcontroller/detail.go (97%) rename api/{src => pkg}/resource/replicationcontroller/detail_test.go (100%) rename api/{src => pkg}/resource/replicationcontroller/list.go (93%) rename api/{src => pkg}/resource/replicationcontroller/list_test.go (96%) rename api/{src => pkg}/resource/replicationcontroller/pods.go (87%) rename api/{src => pkg}/resource/replicationcontroller/services.go (88%) rename api/{src => pkg}/resource/resourcequota/detail.go (97%) rename api/{src => pkg}/resource/resourcequota/detail_test.go (97%) rename api/{src => pkg}/resource/role/common.go (96%) rename api/{src => pkg}/resource/role/detail.go (100%) rename api/{src => pkg}/resource/role/list.go (92%) rename api/{src => pkg}/resource/role/list_test.go (93%) rename api/{src => pkg}/resource/rolebinding/common.go (96%) rename api/{src => pkg}/resource/rolebinding/detail.go (100%) rename api/{src => pkg}/resource/rolebinding/list.go (93%) rename api/{src => pkg}/resource/rolebinding/list_test.go (94%) rename api/{src => pkg}/resource/secret/common.go (96%) rename api/{src => pkg}/resource/secret/detail.go (100%) rename api/{src => pkg}/resource/secret/detail_test.go (96%) rename api/{src => pkg}/resource/secret/list.go (95%) rename api/{src => pkg}/resource/secret/list_test.go (92%) rename api/{src => pkg}/resource/service/common.go (96%) rename api/{src => pkg}/resource/service/detail.go (95%) rename api/{src => pkg}/resource/service/detail_test.go (94%) rename api/{src => pkg}/resource/service/events.go (85%) rename api/{src => pkg}/resource/service/events_test.go (92%) rename api/{src => pkg}/resource/service/ingress.go (85%) rename api/{src => pkg}/resource/service/list.go (95%) rename api/{src => pkg}/resource/service/list_test.go (94%) rename api/{src => pkg}/resource/service/pods.go (85%) rename api/{src => pkg}/resource/service/pods_test.go (87%) rename api/{src => pkg}/resource/serviceaccount/common.go (96%) rename api/{src => pkg}/resource/serviceaccount/detail.go (100%) rename api/{src => pkg}/resource/serviceaccount/list.go (92%) rename api/{src => pkg}/resource/serviceaccount/secrets.go (95%) rename api/{src => pkg}/resource/statefulset/common.go (89%) rename api/{src => pkg}/resource/statefulset/detail.go (91%) rename api/{src => pkg}/resource/statefulset/list.go (93%) rename api/{src => pkg}/resource/statefulset/list_test.go (95%) rename api/{src => pkg}/resource/statefulset/pods.go (87%) rename api/{src => pkg}/resource/storageclass/common.go (96%) rename api/{src => pkg}/resource/storageclass/detail.go (100%) rename api/{src => pkg}/resource/storageclass/detail_test.go (96%) rename api/{src => pkg}/resource/storageclass/list.go (93%) rename api/{src => pkg}/resource/storageclass/list_test.go (95%) rename api/{src => pkg}/scaling/scale.go (100%) rename api/{src => pkg}/settings/api/types.go (100%) rename api/{src => pkg}/settings/handler.go (95%) rename api/{src => pkg}/settings/handler_test.go (100%) rename api/{src => pkg}/settings/manager.go (97%) rename api/{src => pkg}/settings/manager_test.go (97%) rename api/{src => pkg}/sync/api/types.go (100%) rename api/{src => pkg}/sync/manager.go (95%) rename api/{src => pkg}/sync/manager_test.go (100%) rename api/{src => pkg}/sync/overwatch.go (98%) rename api/{src => pkg}/sync/poll/secret.go (95%) rename api/{src => pkg}/sync/poll/secret_test.go (96%) rename api/{src => pkg}/sync/poll/watcher.go (100%) rename api/{src => pkg}/sync/poll/watcher_test.go (93%) rename api/{src => pkg}/sync/secret.go (97%) rename api/{src => pkg}/sync/secret_test.go (99%) rename api/{src => pkg}/systembanner/api/types.go (100%) rename api/{src => pkg}/systembanner/handler.go (95%) rename api/{src => pkg}/systembanner/manager.go (95%) rename api/{src => pkg}/validation/validateappname.go (97%) rename api/{src => pkg}/validation/validateappname_test.go (100%) rename api/{src => pkg}/validation/validateimagereference.go (100%) rename api/{src => pkg}/validation/validateimagereference_test.go (100%) rename api/{src => pkg}/validation/validateloginstatus.go (95%) rename api/{src => pkg}/validation/validateloginstatus_test.go (97%) rename api/{src => pkg}/validation/validateprotocol.go (100%) rename api/{src => pkg}/validation/validateprotocol_test.go (100%) rename api/{src => pkg}/validation/validaterbacstatus.go (100%) rename api/{src => pkg}/validation/validaterbacstatus_test.go (98%) diff --git a/api/go.mod b/api/go.mod index 452b8e7b8938..ba29e4069987 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,4 +1,4 @@ -module github.com/kubernetes/dashboard +module k8s.io/dashboard/api go 1.17 @@ -22,17 +22,11 @@ require ( ) require ( - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.1.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful v2.9.5+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect github.com/go-logr/logr v1.2.0 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.5 // indirect @@ -40,9 +34,7 @@ require ( github.com/googleapis/gnostic v0.5.5 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/imdario/mergo v0.3.5 // indirect - github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -52,19 +44,14 @@ require ( github.com/prometheus/common v0.28.0 // indirect github.com/prometheus/procfs v0.6.0 // indirect golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect - golang.org/x/mod v0.4.2 // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/code-generator v0.23.6 // indirect - k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c // indirect k8s.io/klog/v2 v2.30.0 // indirect k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect diff --git a/api/go.sum b/api/go.sum index e163bc9fe4f4..d7e93f0acbca 100644 --- a/api/go.sum +++ b/api/go.sum @@ -51,9 +51,7 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -155,13 +153,10 @@ github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -284,7 +279,6 @@ github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -315,7 +309,6 @@ github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -534,7 +527,6 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -749,7 +741,6 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff h1:VX/uD7MK0AHXGiScH3fsieUQUcpmRERPDYtqZdJnA+Q= golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -920,10 +911,8 @@ k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hr k8s.io/apiserver v0.23.6/go.mod h1:5PU32F82tfErXPmf7FXhd/UcuLfh97tGepjKUgJ2atg= k8s.io/client-go v0.23.6 h1:7h4SctDVQAQbkHQnR4Kzi7EyUyvla5G1pFWf4+Od7hQ= k8s.io/client-go v0.23.6/go.mod h1:Umt5icFOMLV/+qbtZ3PR0D+JA6lvvb3syzodv4irpK4= -k8s.io/code-generator v0.23.6 h1:4J4zL5TU7e96kjGvr5LOFsgR1P9ZU/C6EQeGYcNrFvw= k8s.io/code-generator v0.23.6/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= k8s.io/component-base v0.23.6/go.mod h1:FGMPeMrjYu0UZBSAFcfloVDplj9IvU+uRMTOdE23Fj0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c h1:GohjlNKauSai7gN4wsJkeZ3WAJx4Sh+oT/b5IYn5suA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/heapster v1.5.4 h1:lH2GCZdqRmUKDoyqRgiXbRmIcevaPYTvkguOuYUl8gQ= k8s.io/heapster v1.5.4/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM= diff --git a/api/src/dashboard.go b/api/main.go similarity index 94% rename from api/src/dashboard.go rename to api/main.go index b8b150997f14..d7f406ad5ef8 100644 --- a/api/src/dashboard.go +++ b/api/main.go @@ -28,20 +28,20 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/spf13/pflag" - "github.com/kubernetes/dashboard/api/src/args" - "github.com/kubernetes/dashboard/api/src/auth" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/auth/jwe" - "github.com/kubernetes/dashboard/api/src/cert" - "github.com/kubernetes/dashboard/api/src/cert/ecdsa" - "github.com/kubernetes/dashboard/api/src/client" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/handler" - "github.com/kubernetes/dashboard/api/src/integration" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" - "github.com/kubernetes/dashboard/api/src/settings" - "github.com/kubernetes/dashboard/api/src/sync" - "github.com/kubernetes/dashboard/api/src/systembanner" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/auth" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/auth/jwe" + "k8s.io/dashboard/api/pkg/cert" + "k8s.io/dashboard/api/pkg/cert/ecdsa" + "k8s.io/dashboard/api/pkg/client" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/handler" + "k8s.io/dashboard/api/pkg/integration" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + "k8s.io/dashboard/api/pkg/settings" + "k8s.io/dashboard/api/pkg/sync" + "k8s.io/dashboard/api/pkg/systembanner" ) var ( diff --git a/api/src/api/types.go b/api/pkg/api/types.go similarity index 100% rename from api/src/api/types.go rename to api/pkg/api/types.go diff --git a/api/src/api/types_test.go b/api/pkg/api/types_test.go similarity index 100% rename from api/src/api/types_test.go rename to api/pkg/api/types_test.go diff --git a/api/src/args/builder.go b/api/pkg/args/builder.go similarity index 100% rename from api/src/args/builder.go rename to api/pkg/args/builder.go diff --git a/api/src/args/holder.go b/api/pkg/args/holder.go similarity index 99% rename from api/src/args/holder.go rename to api/pkg/args/holder.go index 90ec60cb4964..5bb2e9835f95 100644 --- a/api/src/args/holder.go +++ b/api/pkg/args/holder.go @@ -17,7 +17,7 @@ package args import ( "net" - "github.com/kubernetes/dashboard/api/src/cert/api" + "k8s.io/dashboard/api/pkg/cert/api" ) var Holder = &holder{} diff --git a/api/src/auth/api/common.go b/api/pkg/auth/api/common.go similarity index 97% rename from api/src/auth/api/common.go rename to api/pkg/auth/api/common.go index bd315e01809b..7caa0928a9a2 100644 --- a/api/src/auth/api/common.go +++ b/api/pkg/auth/api/common.go @@ -17,7 +17,7 @@ package api import ( "strings" - "github.com/kubernetes/dashboard/api/src/args" + "k8s.io/dashboard/api/pkg/args" ) // ToAuthenticationModes transforms array of authentication mode strings to valid AuthenticationModes type. diff --git a/api/src/auth/api/common_test.go b/api/pkg/auth/api/common_test.go similarity index 100% rename from api/src/auth/api/common_test.go rename to api/pkg/auth/api/common_test.go diff --git a/api/src/auth/api/types.go b/api/pkg/auth/api/types.go similarity index 100% rename from api/src/auth/api/types.go rename to api/pkg/auth/api/types.go diff --git a/api/src/auth/basic.go b/api/pkg/auth/basic.go similarity index 95% rename from api/src/auth/basic.go rename to api/pkg/auth/basic.go index d51991c1f96a..8aab6eb10bfb 100644 --- a/api/src/auth/basic.go +++ b/api/pkg/auth/basic.go @@ -15,7 +15,7 @@ package auth import ( - authApi "github.com/kubernetes/dashboard/api/src/auth/api" + authApi "k8s.io/dashboard/api/pkg/auth/api" "k8s.io/client-go/tools/clientcmd/api" ) diff --git a/api/src/auth/handler.go b/api/pkg/auth/handler.go similarity index 95% rename from api/src/auth/handler.go rename to api/pkg/auth/handler.go index 03024f4d0db4..79882455b51c 100644 --- a/api/src/auth/handler.go +++ b/api/pkg/auth/handler.go @@ -19,9 +19,9 @@ import ( "github.com/emicklei/go-restful/v3" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/validation" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/validation" ) // AuthHandler manages all endpoints related to dashboard auth, such as login. diff --git a/api/src/auth/handler_test.go b/api/pkg/auth/handler_test.go similarity index 100% rename from api/src/auth/handler_test.go rename to api/pkg/auth/handler_test.go diff --git a/api/src/auth/jwe/keyholder.go b/api/pkg/auth/jwe/keyholder.go similarity index 95% rename from api/src/auth/jwe/keyholder.go rename to api/pkg/auth/jwe/keyholder.go index 66d9483531f8..540e140f72ba 100644 --- a/api/src/auth/jwe/keyholder.go +++ b/api/pkg/auth/jwe/keyholder.go @@ -26,10 +26,10 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" - "github.com/kubernetes/dashboard/api/src/args" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/errors" - syncApi "github.com/kubernetes/dashboard/api/src/sync/api" + "k8s.io/dashboard/api/pkg/args" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/errors" + syncApi "k8s.io/dashboard/api/pkg/sync/api" ) // Entries held by resource used to synchronize encryption key data. diff --git a/api/src/auth/jwe/keyholder_test.go b/api/pkg/auth/jwe/keyholder_test.go similarity index 96% rename from api/src/auth/jwe/keyholder_test.go rename to api/pkg/auth/jwe/keyholder_test.go index aa2d6dc98de7..38772d4dc39c 100644 --- a/api/src/auth/jwe/keyholder_test.go +++ b/api/pkg/auth/jwe/keyholder_test.go @@ -17,8 +17,8 @@ package jwe import ( "testing" - "github.com/kubernetes/dashboard/api/src/sync" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/sync" ) func getKeyHolder() KeyHolder { diff --git a/api/src/auth/jwe/manager.go b/api/pkg/auth/jwe/manager.go similarity index 97% rename from api/src/auth/jwe/manager.go rename to api/pkg/auth/jwe/manager.go index e378da7873e9..b75f541ec653 100644 --- a/api/src/auth/jwe/manager.go +++ b/api/pkg/auth/jwe/manager.go @@ -21,8 +21,8 @@ import ( "k8s.io/apimachinery/pkg/util/json" "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/errors" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/errors" ) // Implements TokenManager interface diff --git a/api/src/auth/jwe/manager_test.go b/api/pkg/auth/jwe/manager_test.go similarity index 96% rename from api/src/auth/jwe/manager_test.go rename to api/pkg/auth/jwe/manager_test.go index c9422b3319d3..19a8cd02de17 100644 --- a/api/src/auth/jwe/manager_test.go +++ b/api/pkg/auth/jwe/manager_test.go @@ -22,9 +22,9 @@ import ( "k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/sync" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/sync" ) func getTokenManager() authApi.TokenManager { diff --git a/api/src/auth/jwe/util.go b/api/pkg/auth/jwe/util.go similarity index 97% rename from api/src/auth/jwe/util.go rename to api/pkg/auth/jwe/util.go index 6b0d7ab04af4..3d996c0a4adf 100644 --- a/api/src/auth/jwe/util.go +++ b/api/pkg/auth/jwe/util.go @@ -19,7 +19,7 @@ import ( "crypto/x509" "encoding/pem" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) // Credits to David W. https://stackoverflow.com/a/44688503 diff --git a/api/src/auth/kubeconfig.go b/api/pkg/auth/kubeconfig.go similarity index 97% rename from api/src/auth/kubeconfig.go rename to api/pkg/auth/kubeconfig.go index 4ece0a9fadc4..57c3675f910a 100644 --- a/api/src/auth/kubeconfig.go +++ b/api/pkg/auth/kubeconfig.go @@ -15,8 +15,8 @@ package auth import ( - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/errors" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/errors" yaml "gopkg.in/yaml.v2" "k8s.io/client-go/tools/clientcmd/api" diff --git a/api/src/auth/kubeconfig_test.go b/api/pkg/auth/kubeconfig_test.go similarity index 96% rename from api/src/auth/kubeconfig_test.go rename to api/pkg/auth/kubeconfig_test.go index a0bb16fc6a34..91a947005828 100644 --- a/api/src/auth/kubeconfig_test.go +++ b/api/pkg/auth/kubeconfig_test.go @@ -22,8 +22,8 @@ import ( "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/errors" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/errors" ) const kubeconfigTemplate = ` diff --git a/api/src/auth/manager.go b/api/pkg/auth/manager.go similarity index 95% rename from api/src/auth/manager.go rename to api/pkg/auth/manager.go index 7e82902dae78..4b08adee745d 100644 --- a/api/src/auth/manager.go +++ b/api/pkg/auth/manager.go @@ -17,9 +17,9 @@ package auth import ( "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/errors" + authApi "k8s.io/dashboard/api/pkg/auth/api" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" ) // Implements AuthManager interface diff --git a/api/src/auth/manager_test.go b/api/pkg/auth/manager_test.go similarity index 95% rename from api/src/auth/manager_test.go rename to api/pkg/auth/manager_test.go index 4cfef43950a0..d39c1320e954 100644 --- a/api/src/auth/manager_test.go +++ b/api/pkg/auth/manager_test.go @@ -21,12 +21,12 @@ import ( restful "github.com/emicklei/go-restful/v3" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/client" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/errors" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/client" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" - pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" v1 "k8s.io/api/authorization/v1" apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" "k8s.io/client-go/kubernetes" diff --git a/api/src/auth/token.go b/api/pkg/auth/token.go similarity index 95% rename from api/src/auth/token.go rename to api/pkg/auth/token.go index 9b52abface13..de2c6d32c768 100644 --- a/api/src/auth/token.go +++ b/api/pkg/auth/token.go @@ -15,8 +15,8 @@ package auth import ( - authApi "github.com/kubernetes/dashboard/api/src/auth/api" "k8s.io/client-go/tools/clientcmd/api" + authApi "k8s.io/dashboard/api/pkg/auth/api" ) // Implements Authenticator interface diff --git a/api/src/cert/api/types.go b/api/pkg/cert/api/types.go similarity index 100% rename from api/src/cert/api/types.go rename to api/pkg/cert/api/types.go diff --git a/api/src/cert/ecdsa/creator.go b/api/pkg/cert/ecdsa/creator.go similarity index 98% rename from api/src/cert/ecdsa/creator.go rename to api/pkg/cert/ecdsa/creator.go index 9b4d715072f8..5bc4cf9f5631 100644 --- a/api/src/cert/ecdsa/creator.go +++ b/api/pkg/cert/ecdsa/creator.go @@ -27,9 +27,9 @@ import ( "os" "time" - certapi "github.com/kubernetes/dashboard/api/src/cert/api" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + certapi "k8s.io/dashboard/api/pkg/cert/api" ) // Implements certificate Creator interface. See Creator for more information. diff --git a/api/src/cert/ecdsa/creator_test.go b/api/pkg/cert/ecdsa/creator_test.go similarity index 96% rename from api/src/cert/ecdsa/creator_test.go rename to api/pkg/cert/ecdsa/creator_test.go index 86a7c02697e8..8f709cbf2abd 100644 --- a/api/src/cert/ecdsa/creator_test.go +++ b/api/pkg/cert/ecdsa/creator_test.go @@ -18,7 +18,7 @@ import ( "crypto/elliptic" "testing" - "github.com/kubernetes/dashboard/api/src/cert/ecdsa" + "k8s.io/dashboard/api/pkg/cert/ecdsa" ) func TestNewECDSACreator(t *testing.T) { diff --git a/api/src/cert/manager.go b/api/pkg/cert/manager.go similarity index 97% rename from api/src/cert/manager.go rename to api/pkg/cert/manager.go index 8b01bd498b8a..f45d89f9b704 100644 --- a/api/src/cert/manager.go +++ b/api/pkg/cert/manager.go @@ -19,7 +19,7 @@ import ( "log" "os" - certapi "github.com/kubernetes/dashboard/api/src/cert/api" + certapi "k8s.io/dashboard/api/pkg/cert/api" ) // Manager is used to implement cert/api/types.Manager interface. See Manager for more information. diff --git a/api/src/client/api/common.go b/api/pkg/client/api/common.go similarity index 100% rename from api/src/client/api/common.go rename to api/pkg/client/api/common.go diff --git a/api/src/client/api/common_test.go b/api/pkg/client/api/common_test.go similarity index 95% rename from api/src/client/api/common_test.go rename to api/pkg/client/api/common_test.go index 8bd79222abbe..ba46b20b2c8e 100644 --- a/api/src/client/api/common_test.go +++ b/api/pkg/client/api/common_test.go @@ -20,7 +20,7 @@ import ( v1 "k8s.io/api/authorization/v1" - "github.com/kubernetes/dashboard/api/src/client/api" + "k8s.io/dashboard/api/pkg/client/api" ) func TestToSelfSubjectAccessReview(t *testing.T) { diff --git a/api/src/client/api/types.go b/api/pkg/client/api/types.go similarity index 95% rename from api/src/client/api/types.go rename to api/pkg/client/api/types.go index 95b4c0471a23..bbd3d394faa2 100644 --- a/api/src/client/api/types.go +++ b/api/pkg/client/api/types.go @@ -24,8 +24,8 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + authApi "k8s.io/dashboard/api/pkg/auth/api" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" ) const ( diff --git a/api/src/client/csrf/manager.go b/api/pkg/client/csrf/manager.go similarity index 95% rename from api/src/client/csrf/manager.go rename to api/pkg/client/csrf/manager.go index a140118fb032..f72f9de1c340 100644 --- a/api/src/client/csrf/manager.go +++ b/api/pkg/client/csrf/manager.go @@ -21,8 +21,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/args" - "github.com/kubernetes/dashboard/api/src/client/api" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/client/api" ) // Implements CsrfTokenManager interface. diff --git a/api/src/client/csrf/manager_test.go b/api/pkg/client/csrf/manager_test.go similarity index 93% rename from api/src/client/csrf/manager_test.go rename to api/pkg/client/csrf/manager_test.go index c74b88a6023d..cd4b92a50d71 100644 --- a/api/src/client/csrf/manager_test.go +++ b/api/pkg/client/csrf/manager_test.go @@ -21,8 +21,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/client/csrf" + "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/client/csrf" ) func TestCsrfTokenManager_Token(t *testing.T) { diff --git a/api/src/client/manager.go b/api/pkg/client/manager.go similarity index 97% rename from api/src/client/manager.go rename to api/pkg/client/manager.go index 1f7d3a8d7411..eb03aed06194 100644 --- a/api/src/client/manager.go +++ b/api/pkg/client/manager.go @@ -32,14 +32,14 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" - pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition" - - "github.com/kubernetes/dashboard/api/src/args" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/client/csrf" - "github.com/kubernetes/dashboard/api/src/errors" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition" + + "k8s.io/dashboard/api/pkg/args" + authApi "k8s.io/dashboard/api/pkg/auth/api" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/client/csrf" + "k8s.io/dashboard/api/pkg/errors" ) // Dashboard UI default values for client configs. diff --git a/api/src/client/manager_test.go b/api/pkg/client/manager_test.go similarity index 99% rename from api/src/client/manager_test.go rename to api/pkg/client/manager_test.go index 3cb035c097e8..79fa28b96da5 100644 --- a/api/src/client/manager_test.go +++ b/api/pkg/client/manager_test.go @@ -20,9 +20,9 @@ import ( "testing" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/args" - "github.com/kubernetes/dashboard/api/src/errors" "k8s.io/client-go/rest" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/errors" ) func TestNewClientManager(t *testing.T) { diff --git a/api/src/client/verber.go b/api/pkg/client/verber.go similarity index 96% rename from api/src/client/verber.go rename to api/pkg/client/verber.go index 4e0cdc88f483..17007e75182a 100644 --- a/api/src/client/verber.go +++ b/api/pkg/client/verber.go @@ -24,10 +24,10 @@ import ( "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/api/src/api" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition" + "k8s.io/dashboard/api/pkg/api" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition" ) // resourceVerber is a struct responsible for doing common verb operations on resources, like diff --git a/api/src/client/verber_test.go b/api/pkg/client/verber_test.go similarity index 99% rename from api/src/client/verber_test.go rename to api/pkg/client/verber_test.go index 7f6e0f24cde3..3b69f19ee00c 100644 --- a/api/src/client/verber_test.go +++ b/api/pkg/client/verber_test.go @@ -28,7 +28,7 @@ import ( restclient "k8s.io/client-go/rest" "k8s.io/client-go/rest/fake" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) type clientFunc func(req *http.Request) (*http.Response, error) diff --git a/api/src/errors/errors.go b/api/pkg/errors/errors.go similarity index 100% rename from api/src/errors/errors.go rename to api/pkg/errors/errors.go diff --git a/api/src/errors/handler.go b/api/pkg/errors/handler.go similarity index 100% rename from api/src/errors/handler.go rename to api/pkg/errors/handler.go diff --git a/api/src/errors/handler_test.go b/api/pkg/errors/handler_test.go similarity index 96% rename from api/src/errors/handler_test.go rename to api/pkg/errors/handler_test.go index 1675830a0e49..30cb12dbcd35 100644 --- a/api/src/errors/handler_test.go +++ b/api/pkg/errors/handler_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func TestHandleHTTPError(t *testing.T) { diff --git a/api/src/errors/localizer.go b/api/pkg/errors/localizer.go similarity index 100% rename from api/src/errors/localizer.go rename to api/pkg/errors/localizer.go diff --git a/api/src/errors/localizer_test.go b/api/pkg/errors/localizer_test.go similarity index 96% rename from api/src/errors/localizer_test.go rename to api/pkg/errors/localizer_test.go index 42d69240c5f9..ec0da8a5273a 100644 --- a/api/src/errors/localizer_test.go +++ b/api/pkg/errors/localizer_test.go @@ -17,7 +17,7 @@ package errors_test import ( "testing" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func TestLocalizeError(t *testing.T) { diff --git a/api/src/handler/apihandler.go b/api/pkg/handler/apihandler.go similarity index 97% rename from api/src/handler/apihandler.go rename to api/pkg/handler/apihandler.go index 8aa63f1725ee..bb200b72c41f 100644 --- a/api/src/handler/apihandler.go +++ b/api/pkg/handler/apihandler.go @@ -22,59 +22,59 @@ import ( v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/api/src/resource/networkpolicy" + "k8s.io/dashboard/api/pkg/resource/networkpolicy" - "github.com/kubernetes/dashboard/api/src/handler/parser" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" + "k8s.io/dashboard/api/pkg/handler/parser" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/api/src/plugin" + "k8s.io/dashboard/api/pkg/plugin" "github.com/emicklei/go-restful/v3" "golang.org/x/net/xsrftoken" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/tools/remotecommand" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/auth" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/integration" - "github.com/kubernetes/dashboard/api/src/resource/clusterrole" - "github.com/kubernetes/dashboard/api/src/resource/clusterrolebinding" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/configmap" - "github.com/kubernetes/dashboard/api/src/resource/container" - "github.com/kubernetes/dashboard/api/src/resource/controller" - "github.com/kubernetes/dashboard/api/src/resource/cronjob" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition" - "github.com/kubernetes/dashboard/api/src/resource/daemonset" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/deployment" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/horizontalpodautoscaler" - "github.com/kubernetes/dashboard/api/src/resource/ingress" - "github.com/kubernetes/dashboard/api/src/resource/job" - "github.com/kubernetes/dashboard/api/src/resource/logs" - ns "github.com/kubernetes/dashboard/api/src/resource/namespace" - "github.com/kubernetes/dashboard/api/src/resource/node" - "github.com/kubernetes/dashboard/api/src/resource/persistentvolume" - "github.com/kubernetes/dashboard/api/src/resource/persistentvolumeclaim" - "github.com/kubernetes/dashboard/api/src/resource/pod" - "github.com/kubernetes/dashboard/api/src/resource/replicaset" - "github.com/kubernetes/dashboard/api/src/resource/replicationcontroller" - "github.com/kubernetes/dashboard/api/src/resource/role" - "github.com/kubernetes/dashboard/api/src/resource/rolebinding" - "github.com/kubernetes/dashboard/api/src/resource/secret" - resourceService "github.com/kubernetes/dashboard/api/src/resource/service" - "github.com/kubernetes/dashboard/api/src/resource/serviceaccount" - "github.com/kubernetes/dashboard/api/src/resource/statefulset" - "github.com/kubernetes/dashboard/api/src/resource/storageclass" - "github.com/kubernetes/dashboard/api/src/scaling" - "github.com/kubernetes/dashboard/api/src/settings" - settingsApi "github.com/kubernetes/dashboard/api/src/settings/api" - "github.com/kubernetes/dashboard/api/src/systembanner" - "github.com/kubernetes/dashboard/api/src/validation" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/auth" + authApi "k8s.io/dashboard/api/pkg/auth/api" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/integration" + "k8s.io/dashboard/api/pkg/resource/clusterrole" + "k8s.io/dashboard/api/pkg/resource/clusterrolebinding" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/configmap" + "k8s.io/dashboard/api/pkg/resource/container" + "k8s.io/dashboard/api/pkg/resource/controller" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition" + "k8s.io/dashboard/api/pkg/resource/daemonset" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/deployment" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/horizontalpodautoscaler" + "k8s.io/dashboard/api/pkg/resource/ingress" + "k8s.io/dashboard/api/pkg/resource/job" + "k8s.io/dashboard/api/pkg/resource/logs" + ns "k8s.io/dashboard/api/pkg/resource/namespace" + "k8s.io/dashboard/api/pkg/resource/node" + "k8s.io/dashboard/api/pkg/resource/persistentvolume" + "k8s.io/dashboard/api/pkg/resource/persistentvolumeclaim" + "k8s.io/dashboard/api/pkg/resource/pod" + "k8s.io/dashboard/api/pkg/resource/replicaset" + "k8s.io/dashboard/api/pkg/resource/replicationcontroller" + "k8s.io/dashboard/api/pkg/resource/role" + "k8s.io/dashboard/api/pkg/resource/rolebinding" + "k8s.io/dashboard/api/pkg/resource/secret" + resourceService "k8s.io/dashboard/api/pkg/resource/service" + "k8s.io/dashboard/api/pkg/resource/serviceaccount" + "k8s.io/dashboard/api/pkg/resource/statefulset" + "k8s.io/dashboard/api/pkg/resource/storageclass" + "k8s.io/dashboard/api/pkg/scaling" + "k8s.io/dashboard/api/pkg/settings" + settingsApi "k8s.io/dashboard/api/pkg/settings/api" + "k8s.io/dashboard/api/pkg/systembanner" + "k8s.io/dashboard/api/pkg/validation" ) const ( diff --git a/api/src/handler/apihandler_test.go b/api/pkg/handler/apihandler_test.go similarity index 90% rename from api/src/handler/apihandler_test.go rename to api/pkg/handler/apihandler_test.go index 4515bb984ad3..fd2475eb27de 100644 --- a/api/src/handler/apihandler_test.go +++ b/api/pkg/handler/apihandler_test.go @@ -24,15 +24,15 @@ import ( "strings" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/args" - "github.com/kubernetes/dashboard/api/src/auth" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - "github.com/kubernetes/dashboard/api/src/auth/jwe" - "github.com/kubernetes/dashboard/api/src/client" - "github.com/kubernetes/dashboard/api/src/settings" - "github.com/kubernetes/dashboard/api/src/sync" - "github.com/kubernetes/dashboard/api/src/systembanner" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/auth" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/auth/jwe" + "k8s.io/dashboard/api/pkg/client" + "k8s.io/dashboard/api/pkg/settings" + "k8s.io/dashboard/api/pkg/sync" + "k8s.io/dashboard/api/pkg/systembanner" ) func getTokenManager() authApi.TokenManager { diff --git a/api/src/handler/confighandler.go b/api/pkg/handler/confighandler.go similarity index 100% rename from api/src/handler/confighandler.go rename to api/pkg/handler/confighandler.go diff --git a/api/src/handler/download.go b/api/pkg/handler/download.go similarity index 94% rename from api/src/handler/download.go rename to api/pkg/handler/download.go index 43fd8cc22a2d..9e0c25fdc0e6 100644 --- a/api/src/handler/download.go +++ b/api/pkg/handler/download.go @@ -19,7 +19,7 @@ import ( restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func handleDownload(response *restful.Response, result io.ReadCloser) { diff --git a/api/src/handler/filter.go b/api/pkg/handler/filter.go similarity index 96% rename from api/src/handler/filter.go rename to api/pkg/handler/filter.go index 1f88bb579bbd..8a51023a4a58 100644 --- a/api/src/handler/filter.go +++ b/api/pkg/handler/filter.go @@ -27,10 +27,10 @@ import ( "golang.org/x/net/xsrftoken" utilnet "k8s.io/apimachinery/pkg/util/net" - "github.com/kubernetes/dashboard/api/src/args" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/args" + authApi "k8s.io/dashboard/api/pkg/auth/api" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" ) const ( diff --git a/api/src/handler/gziphandler.go b/api/pkg/handler/gziphandler.go similarity index 100% rename from api/src/handler/gziphandler.go rename to api/pkg/handler/gziphandler.go diff --git a/api/src/handler/localehandler.go b/api/pkg/handler/localehandler.go similarity index 99% rename from api/src/handler/localehandler.go rename to api/pkg/handler/localehandler.go index 1592c7c726d8..c02028022909 100644 --- a/api/src/handler/localehandler.go +++ b/api/pkg/handler/localehandler.go @@ -24,7 +24,7 @@ import ( "github.com/golang/glog" "golang.org/x/text/language" - "github.com/kubernetes/dashboard/api/src/args" + "k8s.io/dashboard/api/pkg/args" ) const defaultLocaleDir = "en" diff --git a/api/src/handler/localehandler_test.go b/api/pkg/handler/localehandler_test.go similarity index 100% rename from api/src/handler/localehandler_test.go rename to api/pkg/handler/localehandler_test.go diff --git a/api/src/handler/metrics.go b/api/pkg/handler/metrics.go similarity index 100% rename from api/src/handler/metrics.go rename to api/pkg/handler/metrics.go diff --git a/api/src/handler/parser/parser.go b/api/pkg/handler/parser/parser.go similarity index 95% rename from api/src/handler/parser/parser.go rename to api/pkg/handler/parser/parser.go index e31888fd1250..e79e5902b2e5 100644 --- a/api/src/handler/parser/parser.go +++ b/api/pkg/handler/parser/parser.go @@ -19,8 +19,8 @@ import ( "strings" "github.com/emicklei/go-restful/v3" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func parsePaginationPathParameter(request *restful.Request) *dataselect.PaginationQuery { diff --git a/api/src/handler/terminal.go b/api/pkg/handler/terminal.go similarity index 100% rename from api/src/handler/terminal.go rename to api/pkg/handler/terminal.go diff --git a/api/src/integration/api/types.go b/api/pkg/integration/api/types.go similarity index 100% rename from api/src/integration/api/types.go rename to api/pkg/integration/api/types.go diff --git a/api/src/integration/handler.go b/api/pkg/integration/handler.go similarity index 97% rename from api/src/integration/handler.go rename to api/pkg/integration/handler.go index de6c8db6de41..08b5726babe2 100644 --- a/api/src/integration/handler.go +++ b/api/pkg/integration/handler.go @@ -18,7 +18,7 @@ import ( "net/http" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/integration/api" + "k8s.io/dashboard/api/pkg/integration/api" ) // IntegrationHandler manages all endpoints related to integrated applications, such as state. diff --git a/api/src/integration/handler_test.go b/api/pkg/integration/handler_test.go similarity index 100% rename from api/src/integration/handler_test.go rename to api/pkg/integration/handler_test.go diff --git a/api/src/integration/list.go b/api/pkg/integration/list.go similarity index 95% rename from api/src/integration/list.go rename to api/pkg/integration/list.go index 66e0c607f7ab..a4989e32a8f3 100644 --- a/api/src/integration/list.go +++ b/api/pkg/integration/list.go @@ -15,7 +15,7 @@ package integration import ( - "github.com/kubernetes/dashboard/api/src/integration/api" + "k8s.io/dashboard/api/pkg/integration/api" ) // IntegrationsGetter is responsible for listing all supported integrations. diff --git a/api/src/integration/manager.go b/api/pkg/integration/manager.go similarity index 92% rename from api/src/integration/manager.go rename to api/pkg/integration/manager.go index 5781a62bda4d..d1b939aca61f 100644 --- a/api/src/integration/manager.go +++ b/api/pkg/integration/manager.go @@ -17,10 +17,10 @@ package integration import ( "fmt" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/integration/api" - "github.com/kubernetes/dashboard/api/src/integration/metric" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/integration/api" + "k8s.io/dashboard/api/pkg/integration/metric" ) // IntegrationManager is responsible for management of all integrated applications. diff --git a/api/src/integration/manager_test.go b/api/pkg/integration/manager_test.go similarity index 83% rename from api/src/integration/manager_test.go rename to api/pkg/integration/manager_test.go index fce50e108343..5b40a5a04a34 100644 --- a/api/src/integration/manager_test.go +++ b/api/pkg/integration/manager_test.go @@ -18,9 +18,9 @@ import ( "strings" "testing" - "github.com/kubernetes/dashboard/api/src/client" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/integration/api" + "k8s.io/dashboard/api/pkg/client" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/integration/api" ) func areErrorsEqual(err1, err2 error) bool { @@ -52,16 +52,16 @@ func TestIntegrationManager_GetState(t *testing.T) { { "Server provided and using in-cluster heapster", "http://127.0.0.1:8080", "", &api.IntegrationState{ - Connected: false, - Error: errors.NewInvalid("Get http://127.0.0.1:8080/api/v1/namespaces/kube-system/services/heapster/proxy/healthz: dial tcp 127.0.0.1:8080: connect: connection refused"), - }, nil, + Connected: false, + Error: errors.NewInvalid("Get http://127.0.0.1:8080/api/v1/namespaces/kube-system/services/heapster/proxy/healthz: dial tcp 127.0.0.1:8080: connect: connection refused"), + }, nil, }, { "Server provided and using external heapster", "http://127.0.0.1:8080", "http://127.0.0.1:8081", &api.IntegrationState{ - Connected: false, - Error: errors.NewInvalid("Get http://127.0.0.1:8081/healthz: dial tcp 127.0.0.1:8081: connect: connection refused"), - }, nil, + Connected: false, + Error: errors.NewInvalid("Get http://127.0.0.1:8081/healthz: dial tcp 127.0.0.1:8081: connect: connection refused"), + }, nil, }, } diff --git a/api/src/integration/metric/api/types.go b/api/pkg/integration/metric/api/types.go similarity index 98% rename from api/src/integration/metric/api/types.go rename to api/pkg/integration/metric/api/types.go index 02903ef8c328..6d9f96c7f42c 100644 --- a/api/src/integration/metric/api/types.go +++ b/api/pkg/integration/metric/api/types.go @@ -18,10 +18,10 @@ import ( "fmt" "time" - "github.com/kubernetes/dashboard/api/src/api" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" + "k8s.io/dashboard/api/pkg/api" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" ) // MetricClient is an interface that exposes API used by dashboard to show graphs and sparklines. diff --git a/api/src/integration/metric/common/aggregation.go b/api/pkg/integration/metric/common/aggregation.go similarity index 98% rename from api/src/integration/metric/common/aggregation.go rename to api/pkg/integration/metric/common/aggregation.go index 9d231dfb89af..51e4d29eee3c 100644 --- a/api/src/integration/metric/common/aggregation.go +++ b/api/pkg/integration/metric/common/aggregation.go @@ -17,7 +17,7 @@ package common import ( "sort" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) // SortableInt64 implements sort.Interface for []int64. This allows to use built in sort with int64. diff --git a/api/src/integration/metric/common/aggregation_test.go b/api/pkg/integration/metric/common/aggregation_test.go similarity index 98% rename from api/src/integration/metric/common/aggregation_test.go rename to api/pkg/integration/metric/common/aggregation_test.go index 82fa3d026b8f..6ab54bea5ff9 100644 --- a/api/src/integration/metric/common/aggregation_test.go +++ b/api/pkg/integration/metric/common/aggregation_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" "k8s.io/apimachinery/pkg/types" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) func getMetricPromises(metrics []metricapi.Metric) metricapi.MetricPromises { diff --git a/api/src/integration/metric/heapster/client.go b/api/pkg/integration/metric/heapster/client.go similarity index 96% rename from api/src/integration/metric/heapster/client.go rename to api/pkg/integration/metric/heapster/client.go index ba872295d6f7..cb02f7a7d968 100644 --- a/api/src/integration/metric/heapster/client.go +++ b/api/pkg/integration/metric/heapster/client.go @@ -26,11 +26,11 @@ import ( "k8s.io/client-go/rest" heapster "k8s.io/heapster/metrics/api/v1/types" - "github.com/kubernetes/dashboard/api/src/client" - "github.com/kubernetes/dashboard/api/src/errors" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/integration/metric/common" + "k8s.io/dashboard/api/pkg/client" + "k8s.io/dashboard/api/pkg/errors" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/integration/metric/common" ) // Heapster client implements MetricClient and Integration interfaces. diff --git a/api/src/integration/metric/heapster/client_test.go b/api/pkg/integration/metric/heapster/client_test.go similarity index 98% rename from api/src/integration/metric/heapster/client_test.go rename to api/pkg/integration/metric/heapster/client_test.go index cbc627679003..c1b83288ce2e 100644 --- a/api/src/integration/metric/heapster/client_test.go +++ b/api/pkg/integration/metric/heapster/client_test.go @@ -31,11 +31,11 @@ import ( "k8s.io/client-go/rest" heapster "k8s.io/heapster/metrics/api/v1/types" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/client" - "github.com/kubernetes/dashboard/api/src/errors" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/client" + "k8s.io/dashboard/api/pkg/errors" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) func areErrorsEqual(err1, err2 error) bool { diff --git a/api/src/integration/metric/heapster/common.go b/api/pkg/integration/metric/heapster/common.go similarity index 96% rename from api/src/integration/metric/heapster/common.go rename to api/pkg/integration/metric/heapster/common.go index a2d0e48272b3..6297f00158c6 100644 --- a/api/src/integration/metric/heapster/common.go +++ b/api/pkg/integration/metric/heapster/common.go @@ -15,8 +15,8 @@ package heapster import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" heapster "k8s.io/heapster/metrics/api/v1/types" ) diff --git a/api/src/integration/metric/heapster/model.go b/api/pkg/integration/metric/heapster/model.go similarity index 91% rename from api/src/integration/metric/heapster/model.go rename to api/pkg/integration/metric/heapster/model.go index 4cb560e78c8f..dfdaf3a32573 100644 --- a/api/src/integration/metric/heapster/model.go +++ b/api/pkg/integration/metric/heapster/model.go @@ -15,8 +15,8 @@ package heapster import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" heapster "k8s.io/heapster/metrics/api/v1/types" ) diff --git a/api/src/integration/metric/heapster/restclient.go b/api/pkg/integration/metric/heapster/restclient.go similarity index 100% rename from api/src/integration/metric/heapster/restclient.go rename to api/pkg/integration/metric/heapster/restclient.go diff --git a/api/src/integration/metric/heapster/selector.go b/api/pkg/integration/metric/heapster/selector.go similarity index 97% rename from api/src/integration/metric/heapster/selector.go rename to api/pkg/integration/metric/heapster/selector.go index c987317cde4e..825bb740e976 100644 --- a/api/src/integration/metric/heapster/selector.go +++ b/api/pkg/integration/metric/heapster/selector.go @@ -18,10 +18,10 @@ import ( "fmt" "github.com/emicklei/go-restful/v3/log" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) type heapsterSelector struct { diff --git a/api/src/integration/metric/heapster/selector_test.go b/api/pkg/integration/metric/heapster/selector_test.go similarity index 96% rename from api/src/integration/metric/heapster/selector_test.go rename to api/pkg/integration/metric/heapster/selector_test.go index 47d1359f51cd..83a48bf6cba5 100644 --- a/api/src/integration/metric/heapster/selector_test.go +++ b/api/pkg/integration/metric/heapster/selector_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) func TestGetHeapsterSelector(t *testing.T) { diff --git a/api/src/integration/metric/manager.go b/api/pkg/integration/metric/manager.go similarity index 93% rename from api/src/integration/metric/manager.go rename to api/pkg/integration/metric/manager.go index 488d4422398c..2ae1ec28dff8 100644 --- a/api/src/integration/metric/manager.go +++ b/api/pkg/integration/metric/manager.go @@ -19,12 +19,12 @@ import ( "log" "time" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/integration/metric/heapster" - "github.com/kubernetes/dashboard/api/src/integration/metric/sidecar" "k8s.io/apimachinery/pkg/util/wait" + clientapi "k8s.io/dashboard/api/pkg/client/api" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/integration/metric/heapster" + "k8s.io/dashboard/api/pkg/integration/metric/sidecar" ) // MetricManager is responsible for management of all integrated applications related to metrics. diff --git a/api/src/integration/metric/manager_test.go b/api/pkg/integration/metric/manager_test.go similarity index 94% rename from api/src/integration/metric/manager_test.go rename to api/pkg/integration/metric/manager_test.go index 894215a5b006..b871ec2b09b5 100644 --- a/api/src/integration/metric/manager_test.go +++ b/api/pkg/integration/metric/manager_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/client" - "github.com/kubernetes/dashboard/api/src/errors" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" - "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/client" + "k8s.io/dashboard/api/pkg/errors" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + "k8s.io/dashboard/api/pkg/integration/metric/api" ) const fakeMetricClientID integrationapi.IntegrationID = "test-id" diff --git a/api/src/integration/metric/sidecar/client.go b/api/pkg/integration/metric/sidecar/client.go similarity index 97% rename from api/src/integration/metric/sidecar/client.go rename to api/pkg/integration/metric/sidecar/client.go index cebc7cbb3f73..4546543c0431 100644 --- a/api/src/integration/metric/sidecar/client.go +++ b/api/pkg/integration/metric/sidecar/client.go @@ -22,13 +22,13 @@ import ( "log" "strings" - "github.com/kubernetes/dashboard/api/src/client" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/integration/metric/common" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" + "k8s.io/dashboard/api/pkg/client" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/integration/metric/common" ) // Sidecar client implements MetricClient and Integration interfaces. diff --git a/api/src/integration/metric/sidecar/client_test.go b/api/pkg/integration/metric/sidecar/client_test.go similarity index 98% rename from api/src/integration/metric/sidecar/client_test.go rename to api/pkg/integration/metric/sidecar/client_test.go index 60faaebf658b..88d9a8c25049 100644 --- a/api/src/integration/metric/sidecar/client_test.go +++ b/api/pkg/integration/metric/sidecar/client_test.go @@ -28,13 +28,13 @@ import ( "errors" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/client" - integrationapi "github.com/kubernetes/dashboard/api/src/integration/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/client" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) func areErrorsEqual(err1, err2 error) bool { diff --git a/api/src/integration/metric/sidecar/common.go b/api/pkg/integration/metric/sidecar/common.go similarity index 95% rename from api/src/integration/metric/sidecar/common.go rename to api/pkg/integration/metric/sidecar/common.go index 18e7c66694c4..d1cb7d190a06 100644 --- a/api/src/integration/metric/sidecar/common.go +++ b/api/pkg/integration/metric/sidecar/common.go @@ -15,8 +15,8 @@ package sidecar import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) // compress compresses list of SidecarSelectors to equivalent, shorter one in order to perform smaller number of requests. diff --git a/api/src/integration/metric/sidecar/model.go b/api/pkg/integration/metric/sidecar/model.go similarity index 91% rename from api/src/integration/metric/sidecar/model.go rename to api/pkg/integration/metric/sidecar/model.go index e8030ff9cdd4..f673ea6cbff7 100644 --- a/api/src/integration/metric/sidecar/model.go +++ b/api/pkg/integration/metric/sidecar/model.go @@ -15,8 +15,8 @@ package sidecar import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) // SidecarAllInOneDownloadConfig holds config information specifying whether given native Sidecar diff --git a/api/src/integration/metric/sidecar/restclient.go b/api/pkg/integration/metric/sidecar/restclient.go similarity index 98% rename from api/src/integration/metric/sidecar/restclient.go rename to api/pkg/integration/metric/sidecar/restclient.go index cc3d16786bb7..cfabd4f2f75d 100644 --- a/api/src/integration/metric/sidecar/restclient.go +++ b/api/pkg/integration/metric/sidecar/restclient.go @@ -17,8 +17,8 @@ package sidecar import ( "context" - "github.com/kubernetes/dashboard/api/src/args" "k8s.io/client-go/rest" + "k8s.io/dashboard/api/pkg/args" ) // SidecarRESTClient is used to make raw requests to sidecar. diff --git a/api/src/integration/metric/sidecar/selector.go b/api/pkg/integration/metric/sidecar/selector.go similarity index 97% rename from api/src/integration/metric/sidecar/selector.go rename to api/pkg/integration/metric/sidecar/selector.go index 0f7e1476b200..a22fd1b7f8fd 100644 --- a/api/src/integration/metric/sidecar/selector.go +++ b/api/pkg/integration/metric/sidecar/selector.go @@ -18,10 +18,10 @@ import ( "fmt" "github.com/emicklei/go-restful/v3/log" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) type sidecarSelector struct { diff --git a/api/src/integration/metric/sidecar/selector_test.go b/api/pkg/integration/metric/sidecar/selector_test.go similarity index 96% rename from api/src/integration/metric/sidecar/selector_test.go rename to api/pkg/integration/metric/sidecar/selector_test.go index 27ac5fa46069..934db4231b02 100644 --- a/api/src/integration/metric/sidecar/selector_test.go +++ b/api/pkg/integration/metric/sidecar/selector_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/plugin/apis/register.go b/api/pkg/plugin/apis/register.go similarity index 100% rename from api/src/plugin/apis/register.go rename to api/pkg/plugin/apis/register.go diff --git a/api/src/plugin/apis/v1alpha1/doc.go b/api/pkg/plugin/apis/v1alpha1/doc.go similarity index 100% rename from api/src/plugin/apis/v1alpha1/doc.go rename to api/pkg/plugin/apis/v1alpha1/doc.go diff --git a/api/src/plugin/apis/v1alpha1/register.go b/api/pkg/plugin/apis/v1alpha1/register.go similarity index 97% rename from api/src/plugin/apis/v1alpha1/register.go rename to api/pkg/plugin/apis/v1alpha1/register.go index 6ff2360f6652..aeb46db3ee7d 100644 --- a/api/src/plugin/apis/v1alpha1/register.go +++ b/api/pkg/plugin/apis/v1alpha1/register.go @@ -19,7 +19,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "github.com/kubernetes/dashboard/api/src/plugin/apis" + "k8s.io/dashboard/api/pkg/plugin/apis" ) // SchemeGroupVersion is group version used to register these objects diff --git a/api/src/plugin/apis/v1alpha1/types.go b/api/pkg/plugin/apis/v1alpha1/types.go similarity index 100% rename from api/src/plugin/apis/v1alpha1/types.go rename to api/pkg/plugin/apis/v1alpha1/types.go diff --git a/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go b/api/pkg/plugin/apis/v1alpha1/zz_generated.deepcopy.go similarity index 100% rename from api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go rename to api/pkg/plugin/apis/v1alpha1/zz_generated.deepcopy.go diff --git a/api/src/plugin/client/clientset/versioned/clientset.go b/api/pkg/plugin/client/clientset/versioned/clientset.go similarity index 97% rename from api/src/plugin/client/clientset/versioned/clientset.go rename to api/pkg/plugin/client/clientset/versioned/clientset.go index 0568451395a9..71195a23a76f 100644 --- a/api/src/plugin/client/clientset/versioned/clientset.go +++ b/api/pkg/plugin/client/clientset/versioned/clientset.go @@ -20,7 +20,7 @@ import ( "fmt" "net/http" - dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1" discovery "k8s.io/client-go/discovery" rest "k8s.io/client-go/rest" flowcontrol "k8s.io/client-go/util/flowcontrol" diff --git a/api/src/plugin/client/clientset/versioned/doc.go b/api/pkg/plugin/client/clientset/versioned/doc.go similarity index 100% rename from api/src/plugin/client/clientset/versioned/doc.go rename to api/pkg/plugin/client/clientset/versioned/doc.go diff --git a/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go b/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go similarity index 88% rename from api/src/plugin/client/clientset/versioned/fake/clientset_generated.go rename to api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go index 7a77de2a1497..0b5becbdd967 100644 --- a/api/src/plugin/client/clientset/versioned/fake/clientset_generated.go +++ b/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go @@ -17,9 +17,9 @@ package fake import ( - clientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" - dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1" - fakedashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake" + clientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1" + fakedashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/discovery" diff --git a/api/src/plugin/client/clientset/versioned/fake/doc.go b/api/pkg/plugin/client/clientset/versioned/fake/doc.go similarity index 100% rename from api/src/plugin/client/clientset/versioned/fake/doc.go rename to api/pkg/plugin/client/clientset/versioned/fake/doc.go diff --git a/api/src/plugin/client/clientset/versioned/fake/register.go b/api/pkg/plugin/client/clientset/versioned/fake/register.go similarity index 95% rename from api/src/plugin/client/clientset/versioned/fake/register.go rename to api/pkg/plugin/client/clientset/versioned/fake/register.go index fafc622f6ddc..cf4443c2c217 100644 --- a/api/src/plugin/client/clientset/versioned/fake/register.go +++ b/api/pkg/plugin/client/clientset/versioned/fake/register.go @@ -17,7 +17,7 @@ package fake import ( - dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/clientset/versioned/scheme/doc.go b/api/pkg/plugin/client/clientset/versioned/scheme/doc.go similarity index 100% rename from api/src/plugin/client/clientset/versioned/scheme/doc.go rename to api/pkg/plugin/client/clientset/versioned/scheme/doc.go diff --git a/api/src/plugin/client/clientset/versioned/scheme/register.go b/api/pkg/plugin/client/clientset/versioned/scheme/register.go similarity index 95% rename from api/src/plugin/client/clientset/versioned/scheme/register.go rename to api/pkg/plugin/client/clientset/versioned/scheme/register.go index 6f7b47707062..e6d8fbfc85bb 100644 --- a/api/src/plugin/client/clientset/versioned/scheme/register.go +++ b/api/pkg/plugin/client/clientset/versioned/scheme/register.go @@ -17,7 +17,7 @@ package scheme import ( - dashboardv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go similarity index 95% rename from api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go rename to api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go index 5ff675fd6408..404a14512225 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go +++ b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go @@ -19,8 +19,8 @@ package v1alpha1 import ( "net/http" - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" - "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/scheme" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/scheme" rest "k8s.io/client-go/rest" ) diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go similarity index 100% rename from api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go rename to api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go similarity index 100% rename from api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go rename to api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go similarity index 91% rename from api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go rename to api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go index 00e44e87c741..966313ef21ba 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go +++ b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go @@ -17,7 +17,7 @@ package fake import ( - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" ) diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go similarity index 98% rename from api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go rename to api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go index c681a41cafed..64503de6aa1b 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go +++ b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go @@ -19,7 +19,7 @@ package fake import ( "context" - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go similarity index 100% rename from api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go rename to api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go diff --git a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go similarity index 97% rename from api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go rename to api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go index bb41e5c277fd..af2e7a98f8bb 100644 --- a/api/src/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go +++ b/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go @@ -20,8 +20,8 @@ import ( "context" "time" - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" - scheme "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/scheme" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + scheme "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" diff --git a/api/src/plugin/client/informers/externalversions/apis/interface.go b/api/pkg/plugin/client/informers/externalversions/apis/interface.go similarity index 86% rename from api/src/plugin/client/informers/externalversions/apis/interface.go rename to api/pkg/plugin/client/informers/externalversions/apis/interface.go index 8ab875e9bd08..efc6f600d889 100644 --- a/api/src/plugin/client/informers/externalversions/apis/interface.go +++ b/api/pkg/plugin/client/informers/externalversions/apis/interface.go @@ -17,8 +17,8 @@ package apis import ( - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/apis/v1alpha1" - internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1" + internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" ) // Interface provides access to each of this group's versions. diff --git a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go b/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go similarity index 92% rename from api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go rename to api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go index b47e0af146c4..a6f2ef1f7dda 100644 --- a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/interface.go +++ b/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go @@ -17,7 +17,7 @@ package v1alpha1 import ( - internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" + internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" ) // Interface provides access to all the informers in this group version. diff --git a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go b/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go similarity index 89% rename from api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go rename to api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go index da68dc2ce05c..874e2ff539ab 100644 --- a/api/src/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go +++ b/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go @@ -20,10 +20,10 @@ import ( "context" time "time" - apisv1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" - versioned "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" - internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/client/listers/apis/v1alpha1" + apisv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + versioned "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/listers/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" diff --git a/api/src/plugin/client/informers/externalversions/factory.go b/api/pkg/plugin/client/informers/externalversions/factory.go similarity index 95% rename from api/src/plugin/client/informers/externalversions/factory.go rename to api/pkg/plugin/client/informers/externalversions/factory.go index fd9a4da54017..aac6df05ee0f 100644 --- a/api/src/plugin/client/informers/externalversions/factory.go +++ b/api/pkg/plugin/client/informers/externalversions/factory.go @@ -21,9 +21,9 @@ import ( sync "sync" time "time" - versioned "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" - apis "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/apis" - internalinterfaces "github.com/kubernetes/dashboard/api/src/plugin/client/informers/externalversions/internalinterfaces" + versioned "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + apis "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/apis" + internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/api/src/plugin/client/informers/externalversions/generic.go b/api/pkg/plugin/client/informers/externalversions/generic.go similarity index 96% rename from api/src/plugin/client/informers/externalversions/generic.go rename to api/pkg/plugin/client/informers/externalversions/generic.go index cd7bc0841675..b18766698f9c 100644 --- a/api/src/plugin/client/informers/externalversions/generic.go +++ b/api/pkg/plugin/client/informers/externalversions/generic.go @@ -19,7 +19,7 @@ package externalversions import ( "fmt" - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" schema "k8s.io/apimachinery/pkg/runtime/schema" cache "k8s.io/client-go/tools/cache" ) diff --git a/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go similarity index 94% rename from api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go rename to api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go index f9c1515a98e3..e3798e7158e7 100644 --- a/api/src/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go +++ b/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -19,7 +19,7 @@ package internalinterfaces import ( time "time" - versioned "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" + versioned "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" cache "k8s.io/client-go/tools/cache" diff --git a/api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go b/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go similarity index 100% rename from api/src/plugin/client/listers/apis/v1alpha1/expansion_generated.go rename to api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go diff --git a/api/src/plugin/client/listers/apis/v1alpha1/plugin.go b/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go similarity index 97% rename from api/src/plugin/client/listers/apis/v1alpha1/plugin.go rename to api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go index 79af03bed4c2..62b6b91ab5bc 100644 --- a/api/src/plugin/client/listers/apis/v1alpha1/plugin.go +++ b/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go @@ -17,7 +17,7 @@ package v1alpha1 import ( - v1alpha1 "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/tools/cache" diff --git a/api/src/plugin/config.go b/api/pkg/plugin/config.go similarity index 97% rename from api/src/plugin/config.go rename to api/pkg/plugin/config.go index da085d66b20c..3e776620ae8b 100644 --- a/api/src/plugin/config.go +++ b/api/pkg/plugin/config.go @@ -18,8 +18,8 @@ import ( "net/http" "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/handler/parser" apiErrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/dashboard/api/pkg/handler/parser" ) // Config holds the information required by the frontend application to bootstrap. diff --git a/api/src/plugin/config_test.go b/api/pkg/plugin/config_test.go similarity index 91% rename from api/src/plugin/config_test.go rename to api/pkg/plugin/config_test.go index e31ddbfd95e2..9d1ad75305a9 100644 --- a/api/src/plugin/config_test.go +++ b/api/pkg/plugin/config_test.go @@ -20,13 +20,13 @@ import ( "net/http/httptest" "testing" - "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" + "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" "github.com/emicklei/go-restful/v3" - authApi "github.com/kubernetes/dashboard/api/src/auth/api" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" - fakePluginClientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/fake" + authApi "k8s.io/dashboard/api/pkg/auth/api" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/fake" v1 "k8s.io/api/authorization/v1" coreV1 "k8s.io/api/core/v1" "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" diff --git a/api/src/plugin/detail.go b/api/pkg/plugin/detail.go similarity index 93% rename from api/src/plugin/detail.go rename to api/pkg/plugin/detail.go index 396fa0e1ffb9..94691ced39b2 100644 --- a/api/src/plugin/detail.go +++ b/api/pkg/plugin/detail.go @@ -17,9 +17,9 @@ package plugin import ( "context" - pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" ) // GetPluginSource has the logic to get the actual plugin source code from information in Plugin.Spec diff --git a/api/src/plugin/detail_test.go b/api/pkg/plugin/detail_test.go similarity index 95% rename from api/src/plugin/detail_test.go rename to api/pkg/plugin/detail_test.go index 9e1ba93b975c..61910b37d485 100644 --- a/api/src/plugin/detail_test.go +++ b/api/pkg/plugin/detail_test.go @@ -23,12 +23,12 @@ import ( "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" - fakePluginClientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/fake" coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" fakeK8sClient "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/fake" ) var srcData = "randomPluginSourceCode" diff --git a/api/src/plugin/handler.go b/api/pkg/plugin/handler.go similarity index 94% rename from api/src/plugin/handler.go rename to api/pkg/plugin/handler.go index 5c8e32ed776b..95b1915a9f23 100644 --- a/api/src/plugin/handler.go +++ b/api/pkg/plugin/handler.go @@ -19,11 +19,11 @@ import ( "path/filepath" "strings" - "github.com/kubernetes/dashboard/api/src/handler/parser" + "k8s.io/dashboard/api/pkg/handler/parser" "github.com/emicklei/go-restful/v3" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/errors" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" ) const ( diff --git a/api/src/plugin/handler_test.go b/api/pkg/plugin/handler_test.go similarity index 100% rename from api/src/plugin/handler_test.go rename to api/pkg/plugin/handler_test.go diff --git a/api/src/plugin/list.go b/api/pkg/plugin/list.go similarity index 92% rename from api/src/plugin/list.go rename to api/pkg/plugin/list.go index ac471d1caa81..824f8f2faee7 100644 --- a/api/src/plugin/list.go +++ b/api/pkg/plugin/list.go @@ -18,12 +18,12 @@ import ( "context" "fmt" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" - pluginclientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // PluginList holds only necessary information and is used to diff --git a/api/src/plugin/list_test.go b/api/pkg/plugin/list_test.go similarity index 92% rename from api/src/plugin/list_test.go rename to api/pkg/plugin/list_test.go index 41b3333c7578..8293e547ffe5 100644 --- a/api/src/plugin/list_test.go +++ b/api/pkg/plugin/list_test.go @@ -22,10 +22,10 @@ import ( "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1" - fakePluginClientset "github.com/kubernetes/dashboard/api/src/plugin/client/clientset/versioned/fake" + "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/fake" coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/clusterrole/common.go b/api/pkg/resource/clusterrole/common.go similarity index 96% rename from api/src/resource/clusterrole/common.go rename to api/pkg/resource/clusterrole/common.go index a892068beb82..826ef9732db7 100644 --- a/api/src/resource/clusterrole/common.go +++ b/api/pkg/resource/clusterrole/common.go @@ -15,7 +15,7 @@ package clusterrole import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []ClusterRole diff --git a/api/src/resource/clusterrole/detail.go b/api/pkg/resource/clusterrole/detail.go similarity index 100% rename from api/src/resource/clusterrole/detail.go rename to api/pkg/resource/clusterrole/detail.go diff --git a/api/src/resource/clusterrole/list.go b/api/pkg/resource/clusterrole/list.go similarity index 92% rename from api/src/resource/clusterrole/list.go rename to api/pkg/resource/clusterrole/list.go index 51b1a33d17af..0c55b7338a7f 100644 --- a/api/src/resource/clusterrole/list.go +++ b/api/pkg/resource/clusterrole/list.go @@ -17,12 +17,12 @@ package clusterrole import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) type ClusterRoleList struct { diff --git a/api/src/resource/clusterrole/list_test.go b/api/pkg/resource/clusterrole/list_test.go similarity index 93% rename from api/src/resource/clusterrole/list_test.go rename to api/pkg/resource/clusterrole/list_test.go index 0d6f41a4f5d1..1d64a3b20441 100644 --- a/api/src/resource/clusterrole/list_test.go +++ b/api/pkg/resource/clusterrole/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/clusterrolebinding/common.go b/api/pkg/resource/clusterrolebinding/common.go similarity index 96% rename from api/src/resource/clusterrolebinding/common.go rename to api/pkg/resource/clusterrolebinding/common.go index 2ef4bf263b7b..5d00e27d2b14 100644 --- a/api/src/resource/clusterrolebinding/common.go +++ b/api/pkg/resource/clusterrolebinding/common.go @@ -15,7 +15,7 @@ package clusterrolebinding import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []ClusterRoleBinding diff --git a/api/src/resource/clusterrolebinding/detail.go b/api/pkg/resource/clusterrolebinding/detail.go similarity index 100% rename from api/src/resource/clusterrolebinding/detail.go rename to api/pkg/resource/clusterrolebinding/detail.go diff --git a/api/src/resource/clusterrolebinding/list.go b/api/pkg/resource/clusterrolebinding/list.go similarity index 94% rename from api/src/resource/clusterrolebinding/list.go rename to api/pkg/resource/clusterrolebinding/list.go index 19a0d0050c48..4cc899546558 100644 --- a/api/src/resource/clusterrolebinding/list.go +++ b/api/pkg/resource/clusterrolebinding/list.go @@ -17,12 +17,12 @@ package clusterrolebinding import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // ClusterRoleBindingList contains a list of clusterRoleBindings in the cluster. diff --git a/api/src/resource/clusterrolebinding/list_test.go b/api/pkg/resource/clusterrolebinding/list_test.go similarity index 94% rename from api/src/resource/clusterrolebinding/list_test.go rename to api/pkg/resource/clusterrolebinding/list_test.go index 5996ebca9d04..90cba8b0a946 100644 --- a/api/src/resource/clusterrolebinding/list_test.go +++ b/api/pkg/resource/clusterrolebinding/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestToRbacClusterRoleBindingLists(t *testing.T) { diff --git a/api/src/resource/common/condition.go b/api/pkg/resource/common/condition.go similarity index 100% rename from api/src/resource/common/condition.go rename to api/pkg/resource/common/condition.go diff --git a/api/src/resource/common/endpoint.go b/api/pkg/resource/common/endpoint.go similarity index 100% rename from api/src/resource/common/endpoint.go rename to api/pkg/resource/common/endpoint.go diff --git a/api/src/resource/common/endpoint_test.go b/api/pkg/resource/common/endpoint_test.go similarity index 100% rename from api/src/resource/common/endpoint_test.go rename to api/pkg/resource/common/endpoint_test.go diff --git a/api/src/resource/common/event.go b/api/pkg/resource/common/event.go similarity index 98% rename from api/src/resource/common/event.go rename to api/pkg/resource/common/event.go index 7beca5e21e24..b02726d7700b 100644 --- a/api/src/resource/common/event.go +++ b/api/pkg/resource/common/event.go @@ -15,8 +15,8 @@ package common import ( - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" ) // EventList is an events response structure. diff --git a/api/src/resource/common/namespace.go b/api/pkg/resource/common/namespace.go similarity index 100% rename from api/src/resource/common/namespace.go rename to api/pkg/resource/common/namespace.go diff --git a/api/src/resource/common/namespace_test.go b/api/pkg/resource/common/namespace_test.go similarity index 100% rename from api/src/resource/common/namespace_test.go rename to api/pkg/resource/common/namespace_test.go diff --git a/api/src/resource/common/pod.go b/api/pkg/resource/common/pod.go similarity index 100% rename from api/src/resource/common/pod.go rename to api/pkg/resource/common/pod.go diff --git a/api/src/resource/common/pod_test.go b/api/pkg/resource/common/pod_test.go similarity index 100% rename from api/src/resource/common/pod_test.go rename to api/pkg/resource/common/pod_test.go diff --git a/api/src/resource/common/podinfo.go b/api/pkg/resource/common/podinfo.go similarity index 100% rename from api/src/resource/common/podinfo.go rename to api/pkg/resource/common/podinfo.go diff --git a/api/src/resource/common/podinfo_test.go b/api/pkg/resource/common/podinfo_test.go similarity index 100% rename from api/src/resource/common/podinfo_test.go rename to api/pkg/resource/common/podinfo_test.go diff --git a/api/src/resource/common/resourcechannels.go b/api/pkg/resource/common/resourcechannels.go similarity index 99% rename from api/src/resource/common/resourcechannels.go rename to api/pkg/resource/common/resourcechannels.go index 6c07384d6288..fcfe99e7e2fe 100644 --- a/api/src/resource/common/resourcechannels.go +++ b/api/pkg/resource/common/resourcechannels.go @@ -31,7 +31,7 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/api" + "k8s.io/dashboard/api/pkg/api" ) // ResourceChannels struct holds channels to resource lists. Each list channel is paired with diff --git a/api/src/resource/common/resourcestatus.go b/api/pkg/resource/common/resourcestatus.go similarity index 100% rename from api/src/resource/common/resourcestatus.go rename to api/pkg/resource/common/resourcestatus.go diff --git a/api/src/resource/common/service.go b/api/pkg/resource/common/service.go similarity index 96% rename from api/src/resource/common/service.go rename to api/pkg/resource/common/service.go index 61824d49f41b..c8fb0b6dcd4c 100644 --- a/api/src/resource/common/service.go +++ b/api/pkg/resource/common/service.go @@ -15,8 +15,8 @@ package common import ( - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" ) // FilterNamespacedServicesBySelector returns services targeted by given resource selector in diff --git a/api/src/resource/common/service_test.go b/api/pkg/resource/common/service_test.go similarity index 100% rename from api/src/resource/common/service_test.go rename to api/pkg/resource/common/service_test.go diff --git a/api/src/resource/common/serviceport.go b/api/pkg/resource/common/serviceport.go similarity index 100% rename from api/src/resource/common/serviceport.go rename to api/pkg/resource/common/serviceport.go diff --git a/api/src/resource/common/serviceport_test.go b/api/pkg/resource/common/serviceport_test.go similarity index 100% rename from api/src/resource/common/serviceport_test.go rename to api/pkg/resource/common/serviceport_test.go diff --git a/api/src/resource/configmap/common.go b/api/pkg/resource/configmap/common.go similarity index 96% rename from api/src/resource/configmap/common.go rename to api/pkg/resource/configmap/common.go index dd0c58a8e02b..203f746e5e27 100644 --- a/api/src/resource/configmap/common.go +++ b/api/pkg/resource/configmap/common.go @@ -15,8 +15,8 @@ package configmap import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []api.ConfigMap diff --git a/api/src/resource/configmap/detail.go b/api/pkg/resource/configmap/detail.go similarity index 100% rename from api/src/resource/configmap/detail.go rename to api/pkg/resource/configmap/detail.go diff --git a/api/src/resource/configmap/detail_test.go b/api/pkg/resource/configmap/detail_test.go similarity index 96% rename from api/src/resource/configmap/detail_test.go rename to api/pkg/resource/configmap/detail_test.go index d35647adfd86..5acfd95a211b 100644 --- a/api/src/resource/configmap/detail_test.go +++ b/api/pkg/resource/configmap/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" ) func TestGetConfigMapDetail(t *testing.T) { diff --git a/api/src/resource/configmap/list.go b/api/pkg/resource/configmap/list.go similarity index 93% rename from api/src/resource/configmap/list.go rename to api/pkg/resource/configmap/list.go index 11f5b112f71e..34cd11857986 100644 --- a/api/src/resource/configmap/list.go +++ b/api/pkg/resource/configmap/list.go @@ -17,10 +17,10 @@ package configmap import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/configmap/list_test.go b/api/pkg/resource/configmap/list_test.go similarity index 93% rename from api/src/resource/configmap/list_test.go rename to api/pkg/resource/configmap/list_test.go index fb9673148607..cd6b3c34893f 100644 --- a/api/src/resource/configmap/list_test.go +++ b/api/pkg/resource/configmap/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestToConfigMapList(t *testing.T) { diff --git a/api/src/resource/container/logs.go b/api/pkg/resource/container/logs.go similarity index 98% rename from api/src/resource/container/logs.go rename to api/pkg/resource/container/logs.go index ab97bf927692..a06c25e70a1c 100644 --- a/api/src/resource/container/logs.go +++ b/api/pkg/resource/container/logs.go @@ -18,11 +18,11 @@ import ( "context" "io" - "github.com/kubernetes/dashboard/api/src/resource/logs" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/scheme" + "k8s.io/dashboard/api/pkg/resource/logs" ) // maximum number of lines loaded from the apiserver diff --git a/api/src/resource/container/logs_test.go b/api/pkg/resource/container/logs_test.go similarity index 99% rename from api/src/resource/container/logs_test.go rename to api/pkg/resource/container/logs_test.go index 33cb77f6bae3..d4f18b7f2f74 100644 --- a/api/src/resource/container/logs_test.go +++ b/api/pkg/resource/container/logs_test.go @@ -19,8 +19,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/resource/logs" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/resource/logs" ) var log1 = logs.LogLine{ diff --git a/api/src/resource/controller/controller.go b/api/pkg/resource/controller/controller.go similarity index 98% rename from api/src/resource/controller/controller.go rename to api/pkg/resource/controller/controller.go index cad196f363c6..c3a72065be28 100644 --- a/api/src/resource/controller/controller.go +++ b/api/pkg/resource/controller/controller.go @@ -19,9 +19,9 @@ import ( "fmt" "strings" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/event" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/event" apps "k8s.io/api/apps/v1" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" diff --git a/api/src/resource/controller/controller_test.go b/api/pkg/resource/controller/controller_test.go similarity index 97% rename from api/src/resource/controller/controller_test.go rename to api/pkg/resource/controller/controller_test.go index 19ebfa2a61cb..fb54087a1c3c 100644 --- a/api/src/resource/controller/controller_test.go +++ b/api/pkg/resource/controller/controller_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" meta "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" ) func TestGetPodNames(t *testing.T) { diff --git a/api/src/resource/cronjob/common.go b/api/pkg/resource/cronjob/common.go similarity index 91% rename from api/src/resource/cronjob/common.go rename to api/pkg/resource/cronjob/common.go index bcbd8cfe7904..b7567d374df3 100644 --- a/api/src/resource/cronjob/common.go +++ b/api/pkg/resource/cronjob/common.go @@ -15,11 +15,11 @@ package cronjob import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" batchv1beta1 "k8s.io/api/batch/v1beta1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []batch.CronJob diff --git a/api/src/resource/cronjob/common_test.go b/api/pkg/resource/cronjob/common_test.go similarity index 94% rename from api/src/resource/cronjob/common_test.go rename to api/pkg/resource/cronjob/common_test.go index ea95617ff73a..0e1030b465ca 100644 --- a/api/src/resource/cronjob/common_test.go +++ b/api/pkg/resource/cronjob/common_test.go @@ -15,7 +15,7 @@ package cronjob_test import ( - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) var ( diff --git a/api/src/resource/cronjob/detail.go b/api/pkg/resource/cronjob/detail.go similarity index 100% rename from api/src/resource/cronjob/detail.go rename to api/pkg/resource/cronjob/detail.go diff --git a/api/src/resource/cronjob/detail_test.go b/api/pkg/resource/cronjob/detail_test.go similarity index 93% rename from api/src/resource/cronjob/detail_test.go rename to api/pkg/resource/cronjob/detail_test.go index 01044bd09765..0ae54ad2a8f3 100644 --- a/api/src/resource/cronjob/detail_test.go +++ b/api/pkg/resource/cronjob/detail_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/cronjob" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetCronJobDetail(t *testing.T) { diff --git a/api/src/resource/cronjob/events.go b/api/pkg/resource/cronjob/events.go similarity index 85% rename from api/src/resource/cronjob/events.go rename to api/pkg/resource/cronjob/events.go index c59dc16061c3..f87a721744b5 100644 --- a/api/src/resource/cronjob/events.go +++ b/api/pkg/resource/cronjob/events.go @@ -15,10 +15,10 @@ package cronjob import ( - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetCronJobEvents gets events associated to cron job. diff --git a/api/src/resource/cronjob/events_test.go b/api/pkg/resource/cronjob/events_test.go similarity index 91% rename from api/src/resource/cronjob/events_test.go rename to api/pkg/resource/cronjob/events_test.go index 98ac980c2591..db2a9fdf3275 100644 --- a/api/src/resource/cronjob/events_test.go +++ b/api/pkg/resource/cronjob/events_test.go @@ -18,13 +18,13 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/cronjob" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetJobEvents(t *testing.T) { diff --git a/api/src/resource/cronjob/jobs.go b/api/pkg/resource/cronjob/jobs.go similarity index 92% rename from api/src/resource/cronjob/jobs.go rename to api/pkg/resource/cronjob/jobs.go index 0776e36a3a2d..b3b48b5cc222 100644 --- a/api/src/resource/cronjob/jobs.go +++ b/api/pkg/resource/cronjob/jobs.go @@ -17,12 +17,12 @@ package cronjob import ( "context" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/job" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/job" batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" diff --git a/api/src/resource/cronjob/jobs_test.go b/api/pkg/resource/cronjob/jobs_test.go similarity index 97% rename from api/src/resource/cronjob/jobs_test.go rename to api/pkg/resource/cronjob/jobs_test.go index 18b5a8d775db..2906bbe448d0 100644 --- a/api/src/resource/cronjob/jobs_test.go +++ b/api/pkg/resource/cronjob/jobs_test.go @@ -19,11 +19,11 @@ import ( "strings" "testing" - "github.com/kubernetes/dashboard/api/src/resource/cronjob" batch "k8s.io/api/batch/v1beta1" "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/resource/cronjob" ) func TestTriggerCronJobWithInvalidName(t *testing.T) { diff --git a/api/src/resource/cronjob/list.go b/api/pkg/resource/cronjob/list.go similarity index 93% rename from api/src/resource/cronjob/list.go rename to api/pkg/resource/cronjob/list.go index 654919e05b10..f15d3348d473 100644 --- a/api/src/resource/cronjob/list.go +++ b/api/pkg/resource/cronjob/list.go @@ -17,14 +17,14 @@ package cronjob import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" "k8s.io/api/batch/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // CronJobList contains a list of CronJobs in the cluster. diff --git a/api/src/resource/cronjob/list_test.go b/api/pkg/resource/cronjob/list_test.go similarity index 90% rename from api/src/resource/cronjob/list_test.go rename to api/pkg/resource/cronjob/list_test.go index 2792c25eab97..4ae5aed03a81 100644 --- a/api/src/resource/cronjob/list_test.go +++ b/api/pkg/resource/cronjob/list_test.go @@ -18,13 +18,13 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/cronjob" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1beta1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetCronJobListFromChannels(t *testing.T) { diff --git a/api/src/resource/customresourcedefinition/common.go b/api/pkg/resource/customresourcedefinition/common.go similarity index 93% rename from api/src/resource/customresourcedefinition/common.go rename to api/pkg/resource/customresourcedefinition/common.go index 328bed045b0e..14a1e1123834 100644 --- a/api/src/resource/customresourcedefinition/common.go +++ b/api/pkg/resource/customresourcedefinition/common.go @@ -26,11 +26,11 @@ import ( "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" - crdv1 "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/v1" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/types" + crdv1 "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) var ( diff --git a/api/src/resource/customresourcedefinition/events.go b/api/pkg/resource/customresourcedefinition/events.go similarity index 84% rename from api/src/resource/customresourcedefinition/events.go rename to api/pkg/resource/customresourcedefinition/events.go index 4e9a69e40030..cead81548a2e 100644 --- a/api/src/resource/customresourcedefinition/events.go +++ b/api/pkg/resource/customresourcedefinition/events.go @@ -17,9 +17,9 @@ package customresourcedefinition import ( client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetEventsForCustomResourceObject gets events that are associated with this CR object. diff --git a/api/src/resource/customresourcedefinition/events_test.go b/api/pkg/resource/customresourcedefinition/events_test.go similarity index 93% rename from api/src/resource/customresourcedefinition/events_test.go rename to api/pkg/resource/customresourcedefinition/events_test.go index 827a1b350d8c..0356f4c1f228 100644 --- a/api/src/resource/customresourcedefinition/events_test.go +++ b/api/pkg/resource/customresourcedefinition/events_test.go @@ -20,9 +20,9 @@ import ( coreV1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" diff --git a/api/src/resource/customresourcedefinition/types/types.go b/api/pkg/resource/customresourcedefinition/types/types.go similarity index 98% rename from api/src/resource/customresourcedefinition/types/types.go rename to api/pkg/resource/customresourcedefinition/types/types.go index cba05790971c..42e3e38d0022 100644 --- a/api/src/resource/customresourcedefinition/types/types.go +++ b/api/pkg/resource/customresourcedefinition/types/types.go @@ -21,8 +21,8 @@ import ( "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" ) // CustomResourceDefinitionList contains a list of Custom Resource Definitions in the cluster. diff --git a/api/src/resource/customresourcedefinition/v1/client.go b/api/pkg/resource/customresourcedefinition/v1/client.go similarity index 100% rename from api/src/resource/customresourcedefinition/v1/client.go rename to api/pkg/resource/customresourcedefinition/v1/client.go diff --git a/api/src/resource/customresourcedefinition/v1/common.go b/api/pkg/resource/customresourcedefinition/v1/common.go similarity index 95% rename from api/src/resource/customresourcedefinition/v1/common.go rename to api/pkg/resource/customresourcedefinition/v1/common.go index 7ce735e79d55..31cc820506c5 100644 --- a/api/src/resource/customresourcedefinition/v1/common.go +++ b/api/pkg/resource/customresourcedefinition/v1/common.go @@ -15,12 +15,12 @@ package v1 import ( - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/types" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) type CustomResourceDefinitionCell apiextensions.CustomResourceDefinition diff --git a/api/src/resource/customresourcedefinition/v1/detail.go b/api/pkg/resource/customresourcedefinition/v1/detail.go similarity index 92% rename from api/src/resource/customresourcedefinition/v1/detail.go rename to api/pkg/resource/customresourcedefinition/v1/detail.go index a40786ea31c4..e1b413126a11 100644 --- a/api/src/resource/customresourcedefinition/v1/detail.go +++ b/api/pkg/resource/customresourcedefinition/v1/detail.go @@ -22,10 +22,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/types" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // GetCustomResourceDefinitionDetail returns detailed information about a custom resource definition. diff --git a/api/src/resource/customresourcedefinition/v1/list.go b/api/pkg/resource/customresourcedefinition/v1/list.go similarity index 92% rename from api/src/resource/customresourcedefinition/v1/list.go rename to api/pkg/resource/customresourcedefinition/v1/list.go index 156b99140e06..f1e36a04e502 100644 --- a/api/src/resource/customresourcedefinition/v1/list.go +++ b/api/pkg/resource/customresourcedefinition/v1/list.go @@ -19,11 +19,11 @@ import ( apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/types" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // GetCustomResourceDefinitionList returns all the custom resource definitions in the cluster. diff --git a/api/src/resource/customresourcedefinition/v1/list_test.go b/api/pkg/resource/customresourcedefinition/v1/list_test.go similarity index 95% rename from api/src/resource/customresourcedefinition/v1/list_test.go rename to api/pkg/resource/customresourcedefinition/v1/list_test.go index 837852245a38..79a3c2d4fcc5 100644 --- a/api/src/resource/customresourcedefinition/v1/list_test.go +++ b/api/pkg/resource/customresourcedefinition/v1/list_test.go @@ -23,9 +23,9 @@ import ( "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/types" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetCustomResourceDefinition(t *testing.T) { diff --git a/api/src/resource/customresourcedefinition/v1/objects.go b/api/pkg/resource/customresourcedefinition/v1/objects.go similarity index 94% rename from api/src/resource/customresourcedefinition/v1/objects.go rename to api/pkg/resource/customresourcedefinition/v1/objects.go index 5f077a18ba47..5d9b1f911178 100644 --- a/api/src/resource/customresourcedefinition/v1/objects.go +++ b/api/pkg/resource/customresourcedefinition/v1/objects.go @@ -24,11 +24,11 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/customresourcedefinition/types" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition/types" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // GetCustomResourceObjectList gets objects for a CR. diff --git a/api/src/resource/daemonset/common.go b/api/pkg/resource/daemonset/common.go similarity index 92% rename from api/src/resource/daemonset/common.go rename to api/pkg/resource/daemonset/common.go index 8d581c733381..b130dc9d2e36 100644 --- a/api/src/resource/daemonset/common.go +++ b/api/pkg/resource/daemonset/common.go @@ -17,17 +17,17 @@ package daemonset import ( "context" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetServicesForDSDeletion is based on given selector returns list of services that are candidates for deletion. diff --git a/api/src/resource/daemonset/common_test.go b/api/pkg/resource/daemonset/common_test.go similarity index 100% rename from api/src/resource/daemonset/common_test.go rename to api/pkg/resource/daemonset/common_test.go diff --git a/api/src/resource/daemonset/detail.go b/api/pkg/resource/daemonset/detail.go similarity index 94% rename from api/src/resource/daemonset/detail.go rename to api/pkg/resource/daemonset/detail.go index 50255082672c..74c107c3275f 100644 --- a/api/src/resource/daemonset/detail.go +++ b/api/pkg/resource/daemonset/detail.go @@ -18,11 +18,11 @@ import ( "context" "log" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" ) // DaemonSetDetail represents detailed information about a Daemon Set. diff --git a/api/src/resource/daemonset/list.go b/api/pkg/resource/daemonset/list.go similarity index 93% rename from api/src/resource/daemonset/list.go rename to api/pkg/resource/daemonset/list.go index 92d3f65868d3..a0566e5b0cb9 100644 --- a/api/src/resource/daemonset/list.go +++ b/api/pkg/resource/daemonset/list.go @@ -15,12 +15,12 @@ package daemonset import ( - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/daemonset/list_test.go b/api/pkg/resource/daemonset/list_test.go similarity index 97% rename from api/src/resource/daemonset/list_test.go rename to api/pkg/resource/daemonset/list_test.go index 02833fcd6c44..f4e3645866ac 100644 --- a/api/src/resource/daemonset/list_test.go +++ b/api/pkg/resource/daemonset/list_test.go @@ -23,12 +23,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func TestGetDaemonSetListFromChannels(t *testing.T) { diff --git a/api/src/resource/daemonset/pods.go b/api/pkg/resource/daemonset/pods.go similarity index 86% rename from api/src/resource/daemonset/pods.go rename to api/pkg/resource/daemonset/pods.go index 9f9878af4156..fcc18b431f83 100644 --- a/api/src/resource/daemonset/pods.go +++ b/api/pkg/resource/daemonset/pods.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/daemonset/services.go b/api/pkg/resource/daemonset/services.go similarity index 87% rename from api/src/resource/daemonset/services.go rename to api/pkg/resource/daemonset/services.go index 1b78f39fe68c..3530d2eec512 100644 --- a/api/src/resource/daemonset/services.go +++ b/api/pkg/resource/daemonset/services.go @@ -17,12 +17,12 @@ package daemonset import ( "context" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/service" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/service" ) // GetDaemonSetServices returns list of services that are related to daemon set targeted by given diff --git a/api/src/resource/dataselect/dataselect.go b/api/pkg/resource/dataselect/dataselect.go similarity index 98% rename from api/src/resource/dataselect/dataselect.go rename to api/pkg/resource/dataselect/dataselect.go index f31e16202c45..5e6ba5bf6e63 100644 --- a/api/src/resource/dataselect/dataselect.go +++ b/api/pkg/resource/dataselect/dataselect.go @@ -18,8 +18,8 @@ import ( "log" "sort" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) // GenericDataCell describes the interface of the data cell that contains all the necessary methods needed to perform diff --git a/api/src/resource/dataselect/dataselect_test.go b/api/pkg/resource/dataselect/dataselect_test.go similarity index 100% rename from api/src/resource/dataselect/dataselect_test.go rename to api/pkg/resource/dataselect/dataselect_test.go diff --git a/api/src/resource/dataselect/dataselectquery.go b/api/pkg/resource/dataselect/dataselectquery.go similarity index 98% rename from api/src/resource/dataselect/dataselectquery.go rename to api/pkg/resource/dataselect/dataselectquery.go index 528683011807..2ce9daf7672c 100644 --- a/api/src/resource/dataselect/dataselectquery.go +++ b/api/pkg/resource/dataselect/dataselectquery.go @@ -15,7 +15,7 @@ package dataselect import ( - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) // DataSelectQuery is options for GenericDataSelect which takes []GenericDataCell and returns selected data. diff --git a/api/src/resource/dataselect/pagination.go b/api/pkg/resource/dataselect/pagination.go similarity index 100% rename from api/src/resource/dataselect/pagination.go rename to api/pkg/resource/dataselect/pagination.go diff --git a/api/src/resource/dataselect/pagination_test.go b/api/pkg/resource/dataselect/pagination_test.go similarity index 100% rename from api/src/resource/dataselect/pagination_test.go rename to api/pkg/resource/dataselect/pagination_test.go diff --git a/api/src/resource/dataselect/propertyname.go b/api/pkg/resource/dataselect/propertyname.go similarity index 100% rename from api/src/resource/dataselect/propertyname.go rename to api/pkg/resource/dataselect/propertyname.go diff --git a/api/src/resource/dataselect/stdcomparabletypes.go b/api/pkg/resource/dataselect/stdcomparabletypes.go similarity index 100% rename from api/src/resource/dataselect/stdcomparabletypes.go rename to api/pkg/resource/dataselect/stdcomparabletypes.go diff --git a/api/src/resource/dataselect/stdcomparabletypes_test.go b/api/pkg/resource/dataselect/stdcomparabletypes_test.go similarity index 100% rename from api/src/resource/dataselect/stdcomparabletypes_test.go rename to api/pkg/resource/dataselect/stdcomparabletypes_test.go diff --git a/api/src/resource/deployment/common.go b/api/pkg/resource/deployment/common.go similarity index 91% rename from api/src/resource/deployment/common.go rename to api/pkg/resource/deployment/common.go index af03602dbe55..a5132aedc6e7 100644 --- a/api/src/resource/deployment/common.go +++ b/api/pkg/resource/deployment/common.go @@ -15,13 +15,13 @@ package deployment import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // The code below allows to perform complex data section on Deployment diff --git a/api/src/resource/deployment/deploy.go b/api/pkg/resource/deployment/deploy.go similarity index 99% rename from api/src/resource/deployment/deploy.go rename to api/pkg/resource/deployment/deploy.go index 9cc06698ef20..1d62fa79f07a 100644 --- a/api/src/resource/deployment/deploy.go +++ b/api/pkg/resource/deployment/deploy.go @@ -35,7 +35,7 @@ import ( client "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) const ( diff --git a/api/src/resource/deployment/deploy_test.go b/api/pkg/resource/deployment/deploy_test.go similarity index 100% rename from api/src/resource/deployment/deploy_test.go rename to api/pkg/resource/deployment/deploy_test.go diff --git a/api/src/resource/deployment/detail.go b/api/pkg/resource/deployment/detail.go similarity index 98% rename from api/src/resource/deployment/detail.go rename to api/pkg/resource/deployment/detail.go index 418d5ad794f0..40e602752dac 100644 --- a/api/src/resource/deployment/detail.go +++ b/api/pkg/resource/deployment/detail.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" ) // RollingUpdateStrategy is behavior of a rolling update. See RollingUpdateDeployment K8s object. diff --git a/api/src/resource/deployment/detail_test.go b/api/pkg/resource/deployment/detail_test.go similarity index 96% rename from api/src/resource/deployment/detail_test.go rename to api/pkg/resource/deployment/detail_test.go index e1094c5d0ab3..60a40b030c99 100644 --- a/api/src/resource/deployment/detail_test.go +++ b/api/pkg/resource/deployment/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/deployment/list.go b/api/pkg/resource/deployment/list.go similarity index 94% rename from api/src/resource/deployment/list.go rename to api/pkg/resource/deployment/list.go index 4e7d0f112b94..c519110e710e 100644 --- a/api/src/resource/deployment/list.go +++ b/api/pkg/resource/deployment/list.go @@ -17,15 +17,15 @@ package deployment import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // DeploymentList contains a list of Deployments in the cluster. diff --git a/api/src/resource/deployment/list_test.go b/api/pkg/resource/deployment/list_test.go similarity index 94% rename from api/src/resource/deployment/list_test.go rename to api/pkg/resource/deployment/list_test.go index b19715e0a657..b90ea436cbc3 100644 --- a/api/src/resource/deployment/list_test.go +++ b/api/pkg/resource/deployment/list_test.go @@ -23,12 +23,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func getReplicasPointer(replicas int32) *int32 { diff --git a/api/src/resource/deployment/newreplicasets.go b/api/pkg/resource/deployment/newreplicasets.go similarity index 91% rename from api/src/resource/deployment/newreplicasets.go rename to api/pkg/resource/deployment/newreplicasets.go index e65f87f23668..86c59d5d5a92 100644 --- a/api/src/resource/deployment/newreplicasets.go +++ b/api/pkg/resource/deployment/newreplicasets.go @@ -21,10 +21,10 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/replicaset" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/replicaset" ) // GetDeploymentNewReplicaSet returns old replica sets targeting Deployment with given name diff --git a/api/src/resource/deployment/oldreplicasets.go b/api/pkg/resource/deployment/oldreplicasets.go similarity index 91% rename from api/src/resource/deployment/oldreplicasets.go rename to api/pkg/resource/deployment/oldreplicasets.go index 23ff83d9b4ae..b143c1d5c5c4 100644 --- a/api/src/resource/deployment/oldreplicasets.go +++ b/api/pkg/resource/deployment/oldreplicasets.go @@ -17,11 +17,11 @@ package deployment import ( "context" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/replicaset" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/replicaset" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/deployment/pods.go b/api/pkg/resource/deployment/pods.go similarity index 85% rename from api/src/resource/deployment/pods.go rename to api/pkg/resource/deployment/pods.go index 71650368db2a..d2229ff1599e 100644 --- a/api/src/resource/deployment/pods.go +++ b/api/pkg/resource/deployment/pods.go @@ -17,12 +17,12 @@ package deployment import ( "context" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/deployment/rollout.go b/api/pkg/resource/deployment/rollout.go similarity index 100% rename from api/src/resource/deployment/rollout.go rename to api/pkg/resource/deployment/rollout.go diff --git a/api/src/resource/deployment/util.go b/api/pkg/resource/deployment/util.go similarity index 97% rename from api/src/resource/deployment/util.go rename to api/pkg/resource/deployment/util.go index 0d593d8df81e..814bac3632aa 100644 --- a/api/src/resource/deployment/util.go +++ b/api/pkg/resource/deployment/util.go @@ -18,7 +18,7 @@ import ( apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/api/src/resource/common" + "k8s.io/dashboard/api/pkg/resource/common" ) // Methods below are taken from kubernetes repo: diff --git a/api/src/resource/endpoint/endpoint.go b/api/pkg/resource/endpoint/endpoint.go similarity index 96% rename from api/src/resource/endpoint/endpoint.go rename to api/pkg/resource/endpoint/endpoint.go index f21eda7dd1ef..4207e42ca33f 100644 --- a/api/src/resource/endpoint/endpoint.go +++ b/api/pkg/resource/endpoint/endpoint.go @@ -17,13 +17,13 @@ package endpoint import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" ) type Endpoint struct { diff --git a/api/src/resource/endpoint/list.go b/api/pkg/resource/endpoint/list.go similarity index 96% rename from api/src/resource/endpoint/list.go rename to api/pkg/resource/endpoint/list.go index 2a0bcc954719..6abc3799c9a0 100644 --- a/api/src/resource/endpoint/list.go +++ b/api/pkg/resource/endpoint/list.go @@ -15,8 +15,8 @@ package endpoint import ( - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" ) type EndpointList struct { diff --git a/api/src/resource/event/common.go b/api/pkg/resource/event/common.go similarity index 97% rename from api/src/resource/event/common.go rename to api/pkg/resource/event/common.go index 5f97d45aaca0..4bc4448ac879 100644 --- a/api/src/resource/event/common.go +++ b/api/pkg/resource/event/common.go @@ -17,10 +17,10 @@ package event import ( "context" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" diff --git a/api/src/resource/event/common_test.go b/api/pkg/resource/event/common_test.go similarity index 96% rename from api/src/resource/event/common_test.go rename to api/pkg/resource/event/common_test.go index caa5bce8acd2..bc4011f26f4d 100644 --- a/api/src/resource/event/common_test.go +++ b/api/pkg/resource/event/common_test.go @@ -18,13 +18,13 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetEvents(t *testing.T) { diff --git a/api/src/resource/event/event.go b/api/pkg/resource/event/event.go similarity index 98% rename from api/src/resource/event/event.go rename to api/pkg/resource/event/event.go index d8a472214558..1fb3d579a75f 100644 --- a/api/src/resource/event/event.go +++ b/api/pkg/resource/event/event.go @@ -17,9 +17,9 @@ package event import ( "strings" - "github.com/kubernetes/dashboard/api/src/resource/common" api "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" + "k8s.io/dashboard/api/pkg/resource/common" ) // FailedReasonPartials is an array of partial strings to correctly filter warning events. diff --git a/api/src/resource/event/event_test.go b/api/pkg/resource/event/event_test.go similarity index 99% rename from api/src/resource/event/event_test.go rename to api/pkg/resource/event/event_test.go index 479d405eff79..fda611722a61 100644 --- a/api/src/resource/event/event_test.go +++ b/api/pkg/resource/event/event_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/resource/common" + "k8s.io/dashboard/api/pkg/resource/common" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/event/list.go b/api/pkg/resource/event/list.go similarity index 90% rename from api/src/resource/event/list.go rename to api/pkg/resource/event/list.go index f0bc49fbcee8..f7f78d2bd497 100644 --- a/api/src/resource/event/list.go +++ b/api/pkg/resource/event/list.go @@ -17,10 +17,10 @@ package event import ( "log" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func GetEventList(client k8sClient.Interface, nsQuery *common.NamespaceQuery, diff --git a/api/src/resource/horizontalpodautoscaler/common.go b/api/pkg/resource/horizontalpodautoscaler/common.go similarity index 97% rename from api/src/resource/horizontalpodautoscaler/common.go rename to api/pkg/resource/horizontalpodautoscaler/common.go index 3827691aef44..5e3e359887ac 100644 --- a/api/src/resource/horizontalpodautoscaler/common.go +++ b/api/pkg/resource/horizontalpodautoscaler/common.go @@ -15,8 +15,8 @@ package horizontalpodautoscaler import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" autoscaling "k8s.io/api/autoscaling/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // ScaleTargetRef is a simple mapping of an autoscaling.CrossVersionObjectReference diff --git a/api/src/resource/horizontalpodautoscaler/detail.go b/api/pkg/resource/horizontalpodautoscaler/detail.go similarity index 100% rename from api/src/resource/horizontalpodautoscaler/detail.go rename to api/pkg/resource/horizontalpodautoscaler/detail.go diff --git a/api/src/resource/horizontalpodautoscaler/detail_test.go b/api/pkg/resource/horizontalpodautoscaler/detail_test.go similarity index 98% rename from api/src/resource/horizontalpodautoscaler/detail_test.go rename to api/pkg/resource/horizontalpodautoscaler/detail_test.go index e4d867d9b7f1..902f50a75b4c 100644 --- a/api/src/resource/horizontalpodautoscaler/detail_test.go +++ b/api/pkg/resource/horizontalpodautoscaler/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" + "k8s.io/dashboard/api/pkg/api" autoscaling "k8s.io/api/autoscaling/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/horizontalpodautoscaler/list.go b/api/pkg/resource/horizontalpodautoscaler/list.go similarity index 95% rename from api/src/resource/horizontalpodautoscaler/list.go rename to api/pkg/resource/horizontalpodautoscaler/list.go index 3cd3423f8237..6da09eac4e5e 100644 --- a/api/src/resource/horizontalpodautoscaler/list.go +++ b/api/pkg/resource/horizontalpodautoscaler/list.go @@ -17,10 +17,10 @@ package horizontalpodautoscaler import ( "strings" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" autoscaling "k8s.io/api/autoscaling/v1" k8sClient "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/horizontalpodautoscaler/list_test.go b/api/pkg/resource/horizontalpodautoscaler/list_test.go similarity index 97% rename from api/src/resource/horizontalpodautoscaler/list_test.go rename to api/pkg/resource/horizontalpodautoscaler/list_test.go index 438f810473a5..7926417a0980 100644 --- a/api/src/resource/horizontalpodautoscaler/list_test.go +++ b/api/pkg/resource/horizontalpodautoscaler/list_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" autoscaling "k8s.io/api/autoscaling/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/ingress/common.go b/api/pkg/resource/ingress/common.go similarity index 96% rename from api/src/resource/ingress/common.go rename to api/pkg/resource/ingress/common.go index 2652d8672ab6..88508c858bae 100644 --- a/api/src/resource/ingress/common.go +++ b/api/pkg/resource/ingress/common.go @@ -15,8 +15,8 @@ package ingress import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/networking/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []extensions.Ingress diff --git a/api/src/resource/ingress/detail.go b/api/pkg/resource/ingress/detail.go similarity index 100% rename from api/src/resource/ingress/detail.go rename to api/pkg/resource/ingress/detail.go diff --git a/api/src/resource/ingress/filter.go b/api/pkg/resource/ingress/filter.go similarity index 97% rename from api/src/resource/ingress/filter.go rename to api/pkg/resource/ingress/filter.go index d7aa869e020a..0e85720c6ffc 100644 --- a/api/src/resource/ingress/filter.go +++ b/api/pkg/resource/ingress/filter.go @@ -15,8 +15,8 @@ package ingress import ( - "github.com/kubernetes/dashboard/api/src/api" networkingv1 "k8s.io/api/networking/v1" + "k8s.io/dashboard/api/pkg/api" ) func FilterIngressByService(ingresses []networkingv1.Ingress, serviceName string) []networkingv1.Ingress { diff --git a/api/src/resource/ingress/list.go b/api/pkg/resource/ingress/list.go similarity index 94% rename from api/src/resource/ingress/list.go rename to api/pkg/resource/ingress/list.go index 8b3d55629389..bff3af3684cc 100644 --- a/api/src/resource/ingress/list.go +++ b/api/pkg/resource/ingress/list.go @@ -17,12 +17,12 @@ package ingress import ( "context" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/networking/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // Ingress - a single ingress returned to the frontend. diff --git a/api/src/resource/job/common.go b/api/pkg/resource/job/common.go similarity index 91% rename from api/src/resource/job/common.go rename to api/pkg/resource/job/common.go index 959b9beafbc9..c2f2a37ef63d 100644 --- a/api/src/resource/job/common.go +++ b/api/pkg/resource/job/common.go @@ -15,12 +15,12 @@ package job import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []batch.Job diff --git a/api/src/resource/job/detail.go b/api/pkg/resource/job/detail.go similarity index 94% rename from api/src/resource/job/detail.go rename to api/pkg/resource/job/detail.go index 3d9b8a4c5267..3bd32b5768ac 100644 --- a/api/src/resource/job/detail.go +++ b/api/pkg/resource/job/detail.go @@ -17,11 +17,11 @@ package job import ( "context" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" ) // JobDetail is a presentation layer view of Kubernetes Job resource. diff --git a/api/src/resource/job/detail_test.go b/api/pkg/resource/job/detail_test.go similarity index 94% rename from api/src/resource/job/detail_test.go rename to api/pkg/resource/job/detail_test.go index 27f8e3a1f40e..147d628a8b7c 100644 --- a/api/src/resource/job/detail_test.go +++ b/api/pkg/resource/job/detail_test.go @@ -18,13 +18,13 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func createJob(name, namespace string, jobCompletions int32, labelSelector map[string]string) *batch.Job { diff --git a/api/src/resource/job/events.go b/api/pkg/resource/job/events.go similarity index 85% rename from api/src/resource/job/events.go rename to api/pkg/resource/job/events.go index c523d017ee60..7fdcc6519c20 100644 --- a/api/src/resource/job/events.go +++ b/api/pkg/resource/job/events.go @@ -15,10 +15,10 @@ package job import ( - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetJobEvents gets events associated to job. diff --git a/api/src/resource/job/events_test.go b/api/pkg/resource/job/events_test.go similarity index 93% rename from api/src/resource/job/events_test.go rename to api/pkg/resource/job/events_test.go index c8cd74aa696d..af59876aae3d 100644 --- a/api/src/resource/job/events_test.go +++ b/api/pkg/resource/job/events_test.go @@ -18,13 +18,13 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetJobEvents(t *testing.T) { diff --git a/api/src/resource/job/list.go b/api/pkg/resource/job/list.go similarity index 95% rename from api/src/resource/job/list.go rename to api/pkg/resource/job/list.go index 877cbf5dfdf0..2f8ff02757c3 100644 --- a/api/src/resource/job/list.go +++ b/api/pkg/resource/job/list.go @@ -17,12 +17,12 @@ package job import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/job/list_test.go b/api/pkg/resource/job/list_test.go similarity index 96% rename from api/src/resource/job/list_test.go rename to api/pkg/resource/job/list_test.go index 580ced0a571a..998f89dca69d 100644 --- a/api/src/resource/job/list_test.go +++ b/api/pkg/resource/job/list_test.go @@ -23,11 +23,11 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetJobListFromChannels(t *testing.T) { diff --git a/api/src/resource/job/pods.go b/api/pkg/resource/job/pods.go similarity index 90% rename from api/src/resource/job/pods.go rename to api/pkg/resource/job/pods.go index b9f5996da950..66c3c456440b 100644 --- a/api/src/resource/job/pods.go +++ b/api/pkg/resource/job/pods.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/limitrange/detail.go b/api/pkg/resource/limitrange/detail.go similarity index 100% rename from api/src/resource/limitrange/detail.go rename to api/pkg/resource/limitrange/detail.go diff --git a/api/src/resource/limitrange/detail_test.go b/api/pkg/resource/limitrange/detail_test.go similarity index 100% rename from api/src/resource/limitrange/detail_test.go rename to api/pkg/resource/limitrange/detail_test.go diff --git a/api/src/resource/logs/logs.go b/api/pkg/resource/logs/logs.go similarity index 100% rename from api/src/resource/logs/logs.go rename to api/pkg/resource/logs/logs.go diff --git a/api/src/resource/logs/source.go b/api/pkg/resource/logs/source.go similarity index 93% rename from api/src/resource/logs/source.go rename to api/pkg/resource/logs/source.go index 429ece747847..b2a12c5be3e9 100644 --- a/api/src/resource/logs/source.go +++ b/api/pkg/resource/logs/source.go @@ -17,11 +17,11 @@ package logs import ( "context" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/controller" meta "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/controller" ) // GetLogSources returns all log sources for a given resource. A log source identifies a log file through the combination of pod & container diff --git a/api/src/resource/namespace/common.go b/api/pkg/resource/namespace/common.go similarity index 97% rename from api/src/resource/namespace/common.go rename to api/pkg/resource/namespace/common.go index 3fdd71f55a17..82868d507d9b 100644 --- a/api/src/resource/namespace/common.go +++ b/api/pkg/resource/namespace/common.go @@ -18,10 +18,10 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // NamespaceSpec is a specification of namespace to create. diff --git a/api/src/resource/namespace/detail.go b/api/pkg/resource/namespace/detail.go similarity index 94% rename from api/src/resource/namespace/detail.go rename to api/pkg/resource/namespace/detail.go index 783bfb0b020c..47c408e6e6e7 100644 --- a/api/src/resource/namespace/detail.go +++ b/api/pkg/resource/namespace/detail.go @@ -18,13 +18,13 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/limitrange" - rq "github.com/kubernetes/dashboard/api/src/resource/resourcequota" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/limitrange" + rq "k8s.io/dashboard/api/pkg/resource/resourcequota" ) // NamespaceDetail is a presentation layer view of Kubernetes Namespace resource. This means it is Namespace plus diff --git a/api/src/resource/namespace/detail_test.go b/api/pkg/resource/namespace/detail_test.go similarity index 96% rename from api/src/resource/namespace/detail_test.go rename to api/pkg/resource/namespace/detail_test.go index 34b3cddb295d..35c0ac975d56 100644 --- a/api/src/resource/namespace/detail_test.go +++ b/api/pkg/resource/namespace/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" ) func TestGetNamespaceDetail(t *testing.T) { diff --git a/api/src/resource/namespace/list.go b/api/pkg/resource/namespace/list.go similarity index 93% rename from api/src/resource/namespace/list.go rename to api/pkg/resource/namespace/list.go index b722571aa39f..d19b04c16e2c 100644 --- a/api/src/resource/namespace/list.go +++ b/api/pkg/resource/namespace/list.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // NamespaceList contains a list of namespaces in the cluster. diff --git a/api/src/resource/namespace/list_test.go b/api/pkg/resource/namespace/list_test.go similarity index 93% rename from api/src/resource/namespace/list_test.go rename to api/pkg/resource/namespace/list_test.go index 97b9352efc3d..9912301488b2 100644 --- a/api/src/resource/namespace/list_test.go +++ b/api/pkg/resource/namespace/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetNamespaceList(t *testing.T) { diff --git a/api/src/resource/networkpolicy/common.go b/api/pkg/resource/networkpolicy/common.go similarity index 96% rename from api/src/resource/networkpolicy/common.go rename to api/pkg/resource/networkpolicy/common.go index 9e9e3e310577..f0da28d495a2 100644 --- a/api/src/resource/networkpolicy/common.go +++ b/api/pkg/resource/networkpolicy/common.go @@ -15,8 +15,8 @@ package networkpolicy import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/networking/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) type ServiceAccountCell v1.NetworkPolicy diff --git a/api/src/resource/networkpolicy/detail.go b/api/pkg/resource/networkpolicy/detail.go similarity index 100% rename from api/src/resource/networkpolicy/detail.go rename to api/pkg/resource/networkpolicy/detail.go diff --git a/api/src/resource/networkpolicy/list.go b/api/pkg/resource/networkpolicy/list.go similarity index 92% rename from api/src/resource/networkpolicy/list.go rename to api/pkg/resource/networkpolicy/list.go index eb24ce9748fe..91fbd2574c3f 100644 --- a/api/src/resource/networkpolicy/list.go +++ b/api/pkg/resource/networkpolicy/list.go @@ -21,10 +21,10 @@ import ( client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // NetworkPolicy contains an information about single network policy in the list. diff --git a/api/src/resource/node/common.go b/api/pkg/resource/node/common.go similarity index 91% rename from api/src/resource/node/common.go rename to api/pkg/resource/node/common.go index 6784719848b8..eb8eeb91fe91 100644 --- a/api/src/resource/node/common.go +++ b/api/pkg/resource/node/common.go @@ -15,11 +15,11 @@ package node import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) //getContainerImages returns container image strings from the given node. diff --git a/api/src/resource/node/detail.go b/api/pkg/resource/node/detail.go similarity index 96% rename from api/src/resource/node/detail.go rename to api/pkg/resource/node/detail.go index 972c36996c11..77ef95e5c0c1 100644 --- a/api/src/resource/node/detail.go +++ b/api/pkg/resource/node/detail.go @@ -24,13 +24,13 @@ import ( "k8s.io/apimachinery/pkg/fields" k8sClient "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" ) // NodeAllocatedResources describes node allocated resources. diff --git a/api/src/resource/node/detail_test.go b/api/pkg/resource/node/detail_test.go similarity index 89% rename from api/src/resource/node/detail_test.go rename to api/pkg/resource/node/detail_test.go index de31bfe408a0..f04cb45964c4 100644 --- a/api/src/resource/node/detail_test.go +++ b/api/pkg/resource/node/detail_test.go @@ -18,14 +18,14 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/pod" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/pod" ) func TestGetNodeDetail(t *testing.T) { diff --git a/api/src/resource/node/list.go b/api/pkg/resource/node/list.go similarity index 93% rename from api/src/resource/node/list.go rename to api/pkg/resource/node/list.go index 935747a298b8..b6876b766397 100644 --- a/api/src/resource/node/list.go +++ b/api/pkg/resource/node/list.go @@ -21,10 +21,10 @@ import ( v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // NodeList contains a list of nodes in the cluster. diff --git a/api/src/resource/node/list_test.go b/api/pkg/resource/node/list_test.go similarity index 91% rename from api/src/resource/node/list_test.go rename to api/pkg/resource/node/list_test.go index edab217a530a..08aada1f8e95 100644 --- a/api/src/resource/node/list_test.go +++ b/api/pkg/resource/node/list_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetNodeList(t *testing.T) { diff --git a/api/src/resource/persistentvolume/common.go b/api/pkg/resource/persistentvolume/common.go similarity index 95% rename from api/src/resource/persistentvolume/common.go rename to api/pkg/resource/persistentvolume/common.go index 9370efc5febd..5fceeb91877c 100644 --- a/api/src/resource/persistentvolume/common.go +++ b/api/pkg/resource/persistentvolume/common.go @@ -19,12 +19,12 @@ import ( "log" "strings" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // GetStorageClassPersistentVolumes gets persistentvolumes that are associated with this storageclass. diff --git a/api/src/resource/persistentvolume/common_test.go b/api/pkg/resource/persistentvolume/common_test.go similarity index 96% rename from api/src/resource/persistentvolume/common_test.go rename to api/pkg/resource/persistentvolume/common_test.go index 04d230a7b86d..88efeca93d07 100644 --- a/api/src/resource/persistentvolume/common_test.go +++ b/api/pkg/resource/persistentvolume/common_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetPersistentVolumeClaim(t *testing.T) { diff --git a/api/src/resource/persistentvolume/detail.go b/api/pkg/resource/persistentvolume/detail.go similarity index 100% rename from api/src/resource/persistentvolume/detail.go rename to api/pkg/resource/persistentvolume/detail.go diff --git a/api/src/resource/persistentvolume/detail_test.go b/api/pkg/resource/persistentvolume/detail_test.go similarity index 98% rename from api/src/resource/persistentvolume/detail_test.go rename to api/pkg/resource/persistentvolume/detail_test.go index 8916a166e5e3..07c07549765b 100644 --- a/api/src/resource/persistentvolume/detail_test.go +++ b/api/pkg/resource/persistentvolume/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" + "k8s.io/dashboard/api/pkg/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/persistentvolume/list.go b/api/pkg/resource/persistentvolume/list.go similarity index 94% rename from api/src/resource/persistentvolume/list.go rename to api/pkg/resource/persistentvolume/list.go index cfbdda433afa..c786f13dcb70 100644 --- a/api/src/resource/persistentvolume/list.go +++ b/api/pkg/resource/persistentvolume/list.go @@ -17,12 +17,12 @@ package persistentvolume import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // PersistentVolumeList contains a list of Persistent Volumes in the cluster. diff --git a/api/src/resource/persistentvolume/list_test.go b/api/pkg/resource/persistentvolume/list_test.go similarity index 95% rename from api/src/resource/persistentvolume/list_test.go rename to api/pkg/resource/persistentvolume/list_test.go index ddb1fd606adb..a35475de0978 100644 --- a/api/src/resource/persistentvolume/list_test.go +++ b/api/pkg/resource/persistentvolume/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestToPersistentVolumeList(t *testing.T) { diff --git a/api/src/resource/persistentvolumeclaim/common.go b/api/pkg/resource/persistentvolumeclaim/common.go similarity index 95% rename from api/src/resource/persistentvolumeclaim/common.go rename to api/pkg/resource/persistentvolumeclaim/common.go index 407578949b62..a4e616dd24fb 100644 --- a/api/src/resource/persistentvolumeclaim/common.go +++ b/api/pkg/resource/persistentvolumeclaim/common.go @@ -19,12 +19,12 @@ import ( "log" "strings" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []api.PersistentVolumeClaim diff --git a/api/src/resource/persistentvolumeclaim/common_test.go b/api/pkg/resource/persistentvolumeclaim/common_test.go similarity index 95% rename from api/src/resource/persistentvolumeclaim/common_test.go rename to api/pkg/resource/persistentvolumeclaim/common_test.go index 64640af3d581..e3a00d9ad7fe 100644 --- a/api/src/resource/persistentvolumeclaim/common_test.go +++ b/api/pkg/resource/persistentvolumeclaim/common_test.go @@ -18,11 +18,11 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetPodPersistentVolumeClaims(t *testing.T) { diff --git a/api/src/resource/persistentvolumeclaim/detail.go b/api/pkg/resource/persistentvolumeclaim/detail.go similarity index 100% rename from api/src/resource/persistentvolumeclaim/detail.go rename to api/pkg/resource/persistentvolumeclaim/detail.go diff --git a/api/src/resource/persistentvolumeclaim/detail_test.go b/api/pkg/resource/persistentvolumeclaim/detail_test.go similarity index 97% rename from api/src/resource/persistentvolumeclaim/detail_test.go rename to api/pkg/resource/persistentvolumeclaim/detail_test.go index 1b087d0afd5f..6aca29a3b727 100644 --- a/api/src/resource/persistentvolumeclaim/detail_test.go +++ b/api/pkg/resource/persistentvolumeclaim/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" ) func TestGetPersistentVolumeClaimDetail(t *testing.T) { diff --git a/api/src/resource/persistentvolumeclaim/list.go b/api/pkg/resource/persistentvolumeclaim/list.go similarity index 94% rename from api/src/resource/persistentvolumeclaim/list.go rename to api/pkg/resource/persistentvolumeclaim/list.go index a59b8b77d4df..00f6f7304c67 100644 --- a/api/src/resource/persistentvolumeclaim/list.go +++ b/api/pkg/resource/persistentvolumeclaim/list.go @@ -17,12 +17,12 @@ package persistentvolumeclaim import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // PersistentVolumeClaimList contains a list of Persistent Volume Claims in the cluster. diff --git a/api/src/resource/persistentvolumeclaim/list_test.go b/api/pkg/resource/persistentvolumeclaim/list_test.go similarity index 94% rename from api/src/resource/persistentvolumeclaim/list_test.go rename to api/pkg/resource/persistentvolumeclaim/list_test.go index 2caa4a33a1c7..1abb848c53c8 100644 --- a/api/src/resource/persistentvolumeclaim/list_test.go +++ b/api/pkg/resource/persistentvolumeclaim/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetPersistentVolumeClaimList(t *testing.T) { diff --git a/api/src/resource/pod/common.go b/api/pkg/resource/pod/common.go similarity index 96% rename from api/src/resource/pod/common.go rename to api/pkg/resource/pod/common.go index a466d3706663..4e049be86f63 100644 --- a/api/src/resource/pod/common.go +++ b/api/pkg/resource/pod/common.go @@ -19,11 +19,11 @@ import ( v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // getRestartCount return the restart count of given pod (total number of its containers restarts). diff --git a/api/src/resource/pod/common_test.go b/api/pkg/resource/pod/common_test.go similarity index 98% rename from api/src/resource/pod/common_test.go rename to api/pkg/resource/pod/common_test.go index d3685c1f679c..eb63f1fbebb4 100644 --- a/api/src/resource/pod/common_test.go +++ b/api/pkg/resource/pod/common_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/pod/detail.go b/api/pkg/resource/pod/detail.go similarity index 97% rename from api/src/resource/pod/detail.go rename to api/pkg/resource/pod/detail.go index cf2a02e468b2..5ef0e35bdaa1 100644 --- a/api/src/resource/pod/detail.go +++ b/api/pkg/resource/pod/detail.go @@ -30,13 +30,13 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/api" - errorHandler "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/controller" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/persistentvolumeclaim" + "k8s.io/dashboard/api/pkg/api" + errorHandler "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/controller" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/persistentvolumeclaim" ) // PodDetail is a presentation layer view of Kubernetes Pod resource. diff --git a/api/src/resource/pod/detail_test.go b/api/pkg/resource/pod/detail_test.go similarity index 94% rename from api/src/resource/pod/detail_test.go rename to api/pkg/resource/pod/detail_test.go index 4eb9eead8a7b..e43ea752d35f 100644 --- a/api/src/resource/pod/detail_test.go +++ b/api/pkg/resource/pod/detail_test.go @@ -19,15 +19,15 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/controller" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/persistentvolumeclaim" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/controller" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/persistentvolumeclaim" ) func TestGetPodDetail(t *testing.T) { diff --git a/api/src/resource/pod/events.go b/api/pkg/resource/pod/events.go similarity index 83% rename from api/src/resource/pod/events.go rename to api/pkg/resource/pod/events.go index 1c2710bbdf32..c920757064c4 100644 --- a/api/src/resource/pod/events.go +++ b/api/pkg/resource/pod/events.go @@ -15,10 +15,10 @@ package pod import ( - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetEventsForPod gets events that are associated with this pod. diff --git a/api/src/resource/pod/events_test.go b/api/pkg/resource/pod/events_test.go similarity index 92% rename from api/src/resource/pod/events_test.go rename to api/pkg/resource/pod/events_test.go index 492d5cbab5a8..85dfcdbff73c 100644 --- a/api/src/resource/pod/events_test.go +++ b/api/pkg/resource/pod/events_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/pod/fieldpath.go b/api/pkg/resource/pod/fieldpath.go similarity index 100% rename from api/src/resource/pod/fieldpath.go rename to api/pkg/resource/pod/fieldpath.go diff --git a/api/src/resource/pod/fieldpath_test.go b/api/pkg/resource/pod/fieldpath_test.go similarity index 100% rename from api/src/resource/pod/fieldpath_test.go rename to api/pkg/resource/pod/fieldpath_test.go diff --git a/api/src/resource/pod/list.go b/api/pkg/resource/pod/list.go similarity index 93% rename from api/src/resource/pod/list.go rename to api/pkg/resource/pod/list.go index 7cacb5e742d1..f1c007868829 100644 --- a/api/src/resource/pod/list.go +++ b/api/pkg/resource/pod/list.go @@ -17,12 +17,12 @@ package pod import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/pod/list_test.go b/api/pkg/resource/pod/list_test.go similarity index 91% rename from api/src/resource/pod/list_test.go rename to api/pkg/resource/pod/list_test.go index 4ec85d4eb387..217c75e7e556 100644 --- a/api/src/resource/pod/list_test.go +++ b/api/pkg/resource/pod/list_test.go @@ -22,12 +22,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/pod" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/pod" ) func TestGetPodListFromChannels(t *testing.T) { diff --git a/api/src/resource/pod/metrics.go b/api/pkg/resource/pod/metrics.go similarity index 93% rename from api/src/resource/pod/metrics.go rename to api/pkg/resource/pod/metrics.go index 7569c1ce8280..5aa34d112736 100644 --- a/api/src/resource/pod/metrics.go +++ b/api/pkg/resource/pod/metrics.go @@ -20,10 +20,10 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // MetricsByPod is a metrics map by pod name. diff --git a/api/src/resource/replicaset/common.go b/api/pkg/resource/replicaset/common.go similarity index 89% rename from api/src/resource/replicaset/common.go rename to api/pkg/resource/replicaset/common.go index 4fbb7dfc5d78..7e71e3542178 100644 --- a/api/src/resource/replicaset/common.go +++ b/api/pkg/resource/replicaset/common.go @@ -15,13 +15,13 @@ package replicaset import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // The code below allows to perform complex data section on Replica Set diff --git a/api/src/resource/replicaset/common_test.go b/api/pkg/resource/replicaset/common_test.go similarity index 93% rename from api/src/resource/replicaset/common_test.go rename to api/pkg/resource/replicaset/common_test.go index ac8fae8969ec..e506e8787c32 100644 --- a/api/src/resource/replicaset/common_test.go +++ b/api/pkg/resource/replicaset/common_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" ) func TestToReplicaSet(t *testing.T) { diff --git a/api/src/resource/replicaset/detail.go b/api/pkg/resource/replicaset/detail.go similarity index 91% rename from api/src/resource/replicaset/detail.go rename to api/pkg/resource/replicaset/detail.go index a41114615e56..4363ce64f538 100644 --- a/api/src/resource/replicaset/detail.go +++ b/api/pkg/resource/replicaset/detail.go @@ -18,13 +18,13 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - hpa "github.com/kubernetes/dashboard/api/src/resource/horizontalpodautoscaler" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + hpa "k8s.io/dashboard/api/pkg/resource/horizontalpodautoscaler" ) // ReplicaSetDetail is a presentation layer view of Kubernetes Replica Set resource. This means diff --git a/api/src/resource/replicaset/detail_test.go b/api/pkg/resource/replicaset/detail_test.go similarity index 93% rename from api/src/resource/replicaset/detail_test.go rename to api/pkg/resource/replicaset/detail_test.go index 651adc70455d..43d344c499a4 100644 --- a/api/src/resource/replicaset/detail_test.go +++ b/api/pkg/resource/replicaset/detail_test.go @@ -18,15 +18,15 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/horizontalpodautoscaler" - "github.com/kubernetes/dashboard/api/src/resource/pod" - "github.com/kubernetes/dashboard/api/src/resource/service" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/horizontalpodautoscaler" + "k8s.io/dashboard/api/pkg/resource/pod" + "k8s.io/dashboard/api/pkg/resource/service" ) func TestGetReplicaSetDetail(t *testing.T) { diff --git a/api/src/resource/replicaset/list.go b/api/pkg/resource/replicaset/list.go similarity index 93% rename from api/src/resource/replicaset/list.go rename to api/pkg/resource/replicaset/list.go index dd60320003a4..32ee751da51c 100644 --- a/api/src/resource/replicaset/list.go +++ b/api/pkg/resource/replicaset/list.go @@ -17,15 +17,15 @@ package replicaset import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // ReplicaSetList contains a list of Replica Sets in the cluster. diff --git a/api/src/resource/replicaset/list_test.go b/api/pkg/resource/replicaset/list_test.go similarity index 96% rename from api/src/resource/replicaset/list_test.go rename to api/pkg/resource/replicaset/list_test.go index 3013bb8e6292..819d0c809d92 100644 --- a/api/src/resource/replicaset/list_test.go +++ b/api/pkg/resource/replicaset/list_test.go @@ -24,12 +24,12 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func TestGetReplicaSetListFromChannels(t *testing.T) { diff --git a/api/src/resource/replicaset/pods.go b/api/pkg/resource/replicaset/pods.go similarity index 89% rename from api/src/resource/replicaset/pods.go rename to api/pkg/resource/replicaset/pods.go index e439ee6a761f..f02ee6fb8b41 100644 --- a/api/src/resource/replicaset/pods.go +++ b/api/pkg/resource/replicaset/pods.go @@ -18,17 +18,17 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" ) // GetReplicaSetPods return list of pods targeting replica set. diff --git a/api/src/resource/replicaset/services.go b/api/pkg/resource/replicaset/services.go similarity index 87% rename from api/src/resource/replicaset/services.go rename to api/pkg/resource/replicaset/services.go index 4311ea0d271b..e684f7b6f32b 100644 --- a/api/src/resource/replicaset/services.go +++ b/api/pkg/resource/replicaset/services.go @@ -17,12 +17,12 @@ package replicaset import ( "context" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/service" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/service" ) // GetReplicaSetServices returns list of services that are related to replica set targeted by given name. diff --git a/api/src/resource/replicationcontroller/common.go b/api/pkg/resource/replicationcontroller/common.go similarity index 94% rename from api/src/resource/replicationcontroller/common.go rename to api/pkg/resource/replicationcontroller/common.go index fa8be7d3bda6..fbb6dd8a4042 100644 --- a/api/src/resource/replicationcontroller/common.go +++ b/api/pkg/resource/replicationcontroller/common.go @@ -17,16 +17,16 @@ package replicationcontroller import ( "context" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // Transforms simple selector map to labels.Selector object that can be used when querying for diff --git a/api/src/resource/replicationcontroller/common_test.go b/api/pkg/resource/replicationcontroller/common_test.go similarity index 100% rename from api/src/resource/replicationcontroller/common_test.go rename to api/pkg/resource/replicationcontroller/common_test.go diff --git a/api/src/resource/replicationcontroller/detail.go b/api/pkg/resource/replicationcontroller/detail.go similarity index 97% rename from api/src/resource/replicationcontroller/detail.go rename to api/pkg/resource/replicationcontroller/detail.go index 0b783823ba27..0a7dc1921ecb 100644 --- a/api/src/resource/replicationcontroller/detail.go +++ b/api/pkg/resource/replicationcontroller/detail.go @@ -18,11 +18,11 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" ) // ReplicationControllerDetail represents detailed information about a Replication Controller. diff --git a/api/src/resource/replicationcontroller/detail_test.go b/api/pkg/resource/replicationcontroller/detail_test.go similarity index 100% rename from api/src/resource/replicationcontroller/detail_test.go rename to api/pkg/resource/replicationcontroller/detail_test.go diff --git a/api/src/resource/replicationcontroller/list.go b/api/pkg/resource/replicationcontroller/list.go similarity index 93% rename from api/src/resource/replicationcontroller/list.go rename to api/pkg/resource/replicationcontroller/list.go index 86bf771a7ac9..af2cdc681dc7 100644 --- a/api/src/resource/replicationcontroller/list.go +++ b/api/pkg/resource/replicationcontroller/list.go @@ -17,14 +17,14 @@ package replicationcontroller import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // ReplicationControllerList contains a list of Replication Controllers in the cluster. diff --git a/api/src/resource/replicationcontroller/list_test.go b/api/pkg/resource/replicationcontroller/list_test.go similarity index 96% rename from api/src/resource/replicationcontroller/list_test.go rename to api/pkg/resource/replicationcontroller/list_test.go index 11ed42c7f3a2..f6646bf3be9c 100644 --- a/api/src/resource/replicationcontroller/list_test.go +++ b/api/pkg/resource/replicationcontroller/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/api/src/resource/replicationcontroller/pods.go b/api/pkg/resource/replicationcontroller/pods.go similarity index 87% rename from api/src/resource/replicationcontroller/pods.go rename to api/pkg/resource/replicationcontroller/pods.go index 9d0bb67374da..38e5ca69a0e4 100644 --- a/api/src/resource/replicationcontroller/pods.go +++ b/api/pkg/resource/replicationcontroller/pods.go @@ -18,15 +18,15 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" ) // GetReplicationControllerPods return list of pods targeting replication controller associated diff --git a/api/src/resource/replicationcontroller/services.go b/api/pkg/resource/replicationcontroller/services.go similarity index 88% rename from api/src/resource/replicationcontroller/services.go rename to api/pkg/resource/replicationcontroller/services.go index 977cb72070c8..349bcddd3fa3 100644 --- a/api/src/resource/replicationcontroller/services.go +++ b/api/pkg/resource/replicationcontroller/services.go @@ -17,12 +17,12 @@ package replicationcontroller import ( "context" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/service" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/service" ) // GetReplicationControllerServices returns list of services that are related to replication diff --git a/api/src/resource/resourcequota/detail.go b/api/pkg/resource/resourcequota/detail.go similarity index 97% rename from api/src/resource/resourcequota/detail.go rename to api/pkg/resource/resourcequota/detail.go index 8c097b9ff860..006bdb397f80 100644 --- a/api/src/resource/resourcequota/detail.go +++ b/api/pkg/resource/resourcequota/detail.go @@ -15,8 +15,8 @@ package resourcequota import ( - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" ) // ResourceStatus provides the status of the resource defined by a resource quota. diff --git a/api/src/resource/resourcequota/detail_test.go b/api/pkg/resource/resourcequota/detail_test.go similarity index 97% rename from api/src/resource/resourcequota/detail_test.go rename to api/pkg/resource/resourcequota/detail_test.go index 80492e722175..0d5969a4c89a 100644 --- a/api/src/resource/resourcequota/detail_test.go +++ b/api/pkg/resource/resourcequota/detail_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" ) func TestGetResourceQuotaDetail(t *testing.T) { diff --git a/api/src/resource/role/common.go b/api/pkg/resource/role/common.go similarity index 96% rename from api/src/resource/role/common.go rename to api/pkg/resource/role/common.go index 146550e3bf03..bf2d79ff87ec 100644 --- a/api/src/resource/role/common.go +++ b/api/pkg/resource/role/common.go @@ -15,7 +15,7 @@ package role import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []Role diff --git a/api/src/resource/role/detail.go b/api/pkg/resource/role/detail.go similarity index 100% rename from api/src/resource/role/detail.go rename to api/pkg/resource/role/detail.go diff --git a/api/src/resource/role/list.go b/api/pkg/resource/role/list.go similarity index 92% rename from api/src/resource/role/list.go rename to api/pkg/resource/role/list.go index 72d4c3a5d1e5..bed42fda9e81 100644 --- a/api/src/resource/role/list.go +++ b/api/pkg/resource/role/list.go @@ -17,12 +17,12 @@ package role import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // RoleList contains a list of role in the cluster. diff --git a/api/src/resource/role/list_test.go b/api/pkg/resource/role/list_test.go similarity index 93% rename from api/src/resource/role/list_test.go rename to api/pkg/resource/role/list_test.go index b6b51f50bd10..7a19e9ec2567 100644 --- a/api/src/resource/role/list_test.go +++ b/api/pkg/resource/role/list_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/api/src/resource/rolebinding/common.go b/api/pkg/resource/rolebinding/common.go similarity index 96% rename from api/src/resource/rolebinding/common.go rename to api/pkg/resource/rolebinding/common.go index 92e8ac246fd5..a40b9175d25b 100644 --- a/api/src/resource/rolebinding/common.go +++ b/api/pkg/resource/rolebinding/common.go @@ -15,7 +15,7 @@ package rolebinding import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []RoleBinding diff --git a/api/src/resource/rolebinding/detail.go b/api/pkg/resource/rolebinding/detail.go similarity index 100% rename from api/src/resource/rolebinding/detail.go rename to api/pkg/resource/rolebinding/detail.go diff --git a/api/src/resource/rolebinding/list.go b/api/pkg/resource/rolebinding/list.go similarity index 93% rename from api/src/resource/rolebinding/list.go rename to api/pkg/resource/rolebinding/list.go index c10ca3c675cc..155a39229dc1 100644 --- a/api/src/resource/rolebinding/list.go +++ b/api/pkg/resource/rolebinding/list.go @@ -17,10 +17,10 @@ package rolebinding import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" rbac "k8s.io/api/rbac/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/rolebinding/list_test.go b/api/pkg/resource/rolebinding/list_test.go similarity index 94% rename from api/src/resource/rolebinding/list_test.go rename to api/pkg/resource/rolebinding/list_test.go index d78a3436d6ef..0a8f914fed5e 100644 --- a/api/src/resource/rolebinding/list_test.go +++ b/api/pkg/resource/rolebinding/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestToRbacRoleBindingLists(t *testing.T) { diff --git a/api/src/resource/secret/common.go b/api/pkg/resource/secret/common.go similarity index 96% rename from api/src/resource/secret/common.go rename to api/pkg/resource/secret/common.go index f52d3c9cd974..ac37e3da3e59 100644 --- a/api/src/resource/secret/common.go +++ b/api/pkg/resource/secret/common.go @@ -15,7 +15,7 @@ package secret import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/dataselect" api "k8s.io/api/core/v1" ) diff --git a/api/src/resource/secret/detail.go b/api/pkg/resource/secret/detail.go similarity index 100% rename from api/src/resource/secret/detail.go rename to api/pkg/resource/secret/detail.go diff --git a/api/src/resource/secret/detail_test.go b/api/pkg/resource/secret/detail_test.go similarity index 96% rename from api/src/resource/secret/detail_test.go rename to api/pkg/resource/secret/detail_test.go index 7298f4a5b415..4ecb9823f07a 100644 --- a/api/src/resource/secret/detail_test.go +++ b/api/pkg/resource/secret/detail_test.go @@ -18,7 +18,7 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" + "k8s.io/dashboard/api/pkg/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/api/src/resource/secret/list.go b/api/pkg/resource/secret/list.go similarity index 95% rename from api/src/resource/secret/list.go rename to api/pkg/resource/secret/list.go index d336d7284072..5e9076ae31e7 100644 --- a/api/src/resource/secret/list.go +++ b/api/pkg/resource/secret/list.go @@ -18,13 +18,13 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // SecretSpec is a common interface for the specification of different secrets. diff --git a/api/src/resource/secret/list_test.go b/api/pkg/resource/secret/list_test.go similarity index 92% rename from api/src/resource/secret/list_test.go rename to api/pkg/resource/secret/list_test.go index 2254e0a9d082..00a57947073b 100644 --- a/api/src/resource/secret/list_test.go +++ b/api/pkg/resource/secret/list_test.go @@ -18,11 +18,11 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestToSecretList(t *testing.T) { diff --git a/api/src/resource/service/common.go b/api/pkg/resource/service/common.go similarity index 96% rename from api/src/resource/service/common.go rename to api/pkg/resource/service/common.go index e97db1c261ee..f469e95f65cf 100644 --- a/api/src/resource/service/common.go +++ b/api/pkg/resource/service/common.go @@ -15,8 +15,8 @@ package service import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []api.Service diff --git a/api/src/resource/service/detail.go b/api/pkg/resource/service/detail.go similarity index 95% rename from api/src/resource/service/detail.go rename to api/pkg/resource/service/detail.go index 70178ac72e86..fe360c549196 100644 --- a/api/src/resource/service/detail.go +++ b/api/pkg/resource/service/detail.go @@ -18,11 +18,11 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/endpoint" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/endpoint" ) // Service is a representation of a service. diff --git a/api/src/resource/service/detail_test.go b/api/pkg/resource/service/detail_test.go similarity index 94% rename from api/src/resource/service/detail_test.go rename to api/pkg/resource/service/detail_test.go index 0f4d2b29cc4e..33cc674b8300 100644 --- a/api/src/resource/service/detail_test.go +++ b/api/pkg/resource/service/detail_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/endpoint" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/endpoint" ) func TestGetServiceDetail(t *testing.T) { diff --git a/api/src/resource/service/events.go b/api/pkg/resource/service/events.go similarity index 85% rename from api/src/resource/service/events.go rename to api/pkg/resource/service/events.go index 30dacc5b1577..ae29fd86dcb4 100644 --- a/api/src/resource/service/events.go +++ b/api/pkg/resource/service/events.go @@ -17,11 +17,11 @@ package service import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetServiceEvents returns model events for a service with the given name in the given namespace. diff --git a/api/src/resource/service/events_test.go b/api/pkg/resource/service/events_test.go similarity index 92% rename from api/src/resource/service/events_test.go rename to api/pkg/resource/service/events_test.go index 24bf6f50fc74..833c8e52e143 100644 --- a/api/src/resource/service/events_test.go +++ b/api/pkg/resource/service/events_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestServiceEvents(t *testing.T) { diff --git a/api/src/resource/service/ingress.go b/api/pkg/resource/service/ingress.go similarity index 85% rename from api/src/resource/service/ingress.go rename to api/pkg/resource/service/ingress.go index 4e2d34fa1b63..d4a035184aed 100644 --- a/api/src/resource/service/ingress.go +++ b/api/pkg/resource/service/ingress.go @@ -15,11 +15,11 @@ package service import ( - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/ingress" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/ingress" ) func GetServiceIngressList(client client.Interface, dsQuery *dataselect.DataSelectQuery, diff --git a/api/src/resource/service/list.go b/api/pkg/resource/service/list.go similarity index 95% rename from api/src/resource/service/list.go rename to api/pkg/resource/service/list.go index 0268042d178f..a296f7962e36 100644 --- a/api/src/resource/service/list.go +++ b/api/pkg/resource/service/list.go @@ -17,12 +17,12 @@ package service import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // Service is a representation of a service. diff --git a/api/src/resource/service/list_test.go b/api/pkg/resource/service/list_test.go similarity index 94% rename from api/src/resource/service/list_test.go rename to api/pkg/resource/service/list_test.go index da4c4851b838..255c982a0713 100644 --- a/api/src/resource/service/list_test.go +++ b/api/pkg/resource/service/list_test.go @@ -18,15 +18,15 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/resource/endpoint" - "github.com/kubernetes/dashboard/api/src/resource/pod" + "k8s.io/dashboard/api/pkg/resource/endpoint" + "k8s.io/dashboard/api/pkg/resource/pod" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetServiceList(t *testing.T) { diff --git a/api/src/resource/service/pods.go b/api/pkg/resource/service/pods.go similarity index 85% rename from api/src/resource/service/pods.go rename to api/pkg/resource/service/pods.go index 7f122336770c..906a08ab59cb 100644 --- a/api/src/resource/service/pods.go +++ b/api/pkg/resource/service/pods.go @@ -17,16 +17,16 @@ package service import ( "context" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" ) // GetServicePods gets list of pods targeted by given label selector in given namespace. diff --git a/api/src/resource/service/pods_test.go b/api/pkg/resource/service/pods_test.go similarity index 87% rename from api/src/resource/service/pods_test.go rename to api/pkg/resource/service/pods_test.go index 568bc368d456..897c2149d6f5 100644 --- a/api/src/resource/service/pods_test.go +++ b/api/pkg/resource/service/pods_test.go @@ -18,14 +18,14 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/pod" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/pod" ) func TestGetServicePods(t *testing.T) { diff --git a/api/src/resource/serviceaccount/common.go b/api/pkg/resource/serviceaccount/common.go similarity index 96% rename from api/src/resource/serviceaccount/common.go rename to api/pkg/resource/serviceaccount/common.go index c21f751accad..cfce2bb5a518 100644 --- a/api/src/resource/serviceaccount/common.go +++ b/api/pkg/resource/serviceaccount/common.go @@ -15,7 +15,7 @@ package serviceaccount import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" ) diff --git a/api/src/resource/serviceaccount/detail.go b/api/pkg/resource/serviceaccount/detail.go similarity index 100% rename from api/src/resource/serviceaccount/detail.go rename to api/pkg/resource/serviceaccount/detail.go diff --git a/api/src/resource/serviceaccount/list.go b/api/pkg/resource/serviceaccount/list.go similarity index 92% rename from api/src/resource/serviceaccount/list.go rename to api/pkg/resource/serviceaccount/list.go index 5c9be8faf9fc..81332c8eaf5c 100644 --- a/api/src/resource/serviceaccount/list.go +++ b/api/pkg/resource/serviceaccount/list.go @@ -19,10 +19,10 @@ import ( v1 "k8s.io/api/core/v1" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" client "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/serviceaccount/secrets.go b/api/pkg/resource/serviceaccount/secrets.go similarity index 95% rename from api/src/resource/serviceaccount/secrets.go rename to api/pkg/resource/serviceaccount/secrets.go index b7aea3cbb979..9e7b5ef9b747 100644 --- a/api/src/resource/serviceaccount/secrets.go +++ b/api/pkg/resource/serviceaccount/secrets.go @@ -17,9 +17,9 @@ package serviceaccount import ( "context" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/secret" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/secret" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" diff --git a/api/src/resource/statefulset/common.go b/api/pkg/resource/statefulset/common.go similarity index 89% rename from api/src/resource/statefulset/common.go rename to api/pkg/resource/statefulset/common.go index d6d27255b8ff..c0acfafa8348 100644 --- a/api/src/resource/statefulset/common.go +++ b/api/pkg/resource/statefulset/common.go @@ -15,13 +15,13 @@ package statefulset import ( - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // The code below allows to perform complex data section on []apps.StatefulSet diff --git a/api/src/resource/statefulset/detail.go b/api/pkg/resource/statefulset/detail.go similarity index 91% rename from api/src/resource/statefulset/detail.go rename to api/pkg/resource/statefulset/detail.go index 33820b00add0..9d426ea781db 100644 --- a/api/src/resource/statefulset/detail.go +++ b/api/pkg/resource/statefulset/detail.go @@ -18,12 +18,12 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" apps "k8s.io/api/apps/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" ) // StatefulSetDetail is a presentation layer view of Kubernetes Stateful Set resource. This means it is Stateful diff --git a/api/src/resource/statefulset/list.go b/api/pkg/resource/statefulset/list.go similarity index 93% rename from api/src/resource/statefulset/list.go rename to api/pkg/resource/statefulset/list.go index 9d8f4d5b110d..f9739ced750a 100644 --- a/api/src/resource/statefulset/list.go +++ b/api/pkg/resource/statefulset/list.go @@ -17,15 +17,15 @@ package statefulset import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // StatefulSetList contains a list of Stateful Sets in the cluster. diff --git a/api/src/resource/statefulset/list_test.go b/api/pkg/resource/statefulset/list_test.go similarity index 95% rename from api/src/resource/statefulset/list_test.go rename to api/pkg/resource/statefulset/list_test.go index 37bd09d9fe87..0536fc264105 100644 --- a/api/src/resource/statefulset/list_test.go +++ b/api/pkg/resource/statefulset/list_test.go @@ -23,12 +23,12 @@ import ( k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/api/src/api" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func getReplicasPointer(replicas int32) *int32 { diff --git a/api/src/resource/statefulset/pods.go b/api/pkg/resource/statefulset/pods.go similarity index 87% rename from api/src/resource/statefulset/pods.go rename to api/pkg/resource/statefulset/pods.go index 4632059624fc..ecfe9f215a16 100644 --- a/api/src/resource/statefulset/pods.go +++ b/api/pkg/resource/statefulset/pods.go @@ -18,16 +18,16 @@ import ( "context" "log" - "github.com/kubernetes/dashboard/api/src/errors" - metricapi "github.com/kubernetes/dashboard/api/src/integration/metric/api" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" - "github.com/kubernetes/dashboard/api/src/resource/event" - "github.com/kubernetes/dashboard/api/src/resource/pod" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" ) // GetStatefulSetPods return list of pods targeting pet set. diff --git a/api/src/resource/storageclass/common.go b/api/pkg/resource/storageclass/common.go similarity index 96% rename from api/src/resource/storageclass/common.go rename to api/pkg/resource/storageclass/common.go index eea6b2f82235..3becefc126f3 100644 --- a/api/src/resource/storageclass/common.go +++ b/api/pkg/resource/storageclass/common.go @@ -15,8 +15,8 @@ package storageclass import ( - "github.com/kubernetes/dashboard/api/src/resource/dataselect" storage "k8s.io/api/storage/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []storage.StorageClass diff --git a/api/src/resource/storageclass/detail.go b/api/pkg/resource/storageclass/detail.go similarity index 100% rename from api/src/resource/storageclass/detail.go rename to api/pkg/resource/storageclass/detail.go diff --git a/api/src/resource/storageclass/detail_test.go b/api/pkg/resource/storageclass/detail_test.go similarity index 96% rename from api/src/resource/storageclass/detail_test.go rename to api/pkg/resource/storageclass/detail_test.go index 19504965ac05..3eee76b68973 100644 --- a/api/src/resource/storageclass/detail_test.go +++ b/api/pkg/resource/storageclass/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" storage "k8s.io/api/storage/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" ) func TestToStorageClass(t *testing.T) { diff --git a/api/src/resource/storageclass/list.go b/api/pkg/resource/storageclass/list.go similarity index 93% rename from api/src/resource/storageclass/list.go rename to api/pkg/resource/storageclass/list.go index 48a60cb55423..704f74a7cafc 100644 --- a/api/src/resource/storageclass/list.go +++ b/api/pkg/resource/storageclass/list.go @@ -17,10 +17,10 @@ package storageclass import ( "log" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/resource/common" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" storage "k8s.io/api/storage/v1" "k8s.io/client-go/kubernetes" ) diff --git a/api/src/resource/storageclass/list_test.go b/api/pkg/resource/storageclass/list_test.go similarity index 95% rename from api/src/resource/storageclass/list_test.go rename to api/pkg/resource/storageclass/list_test.go index cfa888c23ffa..ebfe7dbccfb0 100644 --- a/api/src/resource/storageclass/list_test.go +++ b/api/pkg/resource/storageclass/list_test.go @@ -18,11 +18,11 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/api" - "github.com/kubernetes/dashboard/api/src/resource/dataselect" storage "k8s.io/api/storage/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetStorageClassList(t *testing.T) { diff --git a/api/src/scaling/scale.go b/api/pkg/scaling/scale.go similarity index 100% rename from api/src/scaling/scale.go rename to api/pkg/scaling/scale.go diff --git a/api/src/settings/api/types.go b/api/pkg/settings/api/types.go similarity index 100% rename from api/src/settings/api/types.go rename to api/pkg/settings/api/types.go diff --git a/api/src/settings/handler.go b/api/pkg/settings/handler.go similarity index 95% rename from api/src/settings/handler.go rename to api/pkg/settings/handler.go index 09f196bc7efb..ed7ed3706e93 100644 --- a/api/src/settings/handler.go +++ b/api/pkg/settings/handler.go @@ -19,10 +19,10 @@ import ( restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/args" - clientapi "github.com/kubernetes/dashboard/api/src/client/api" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/settings/api" + "k8s.io/dashboard/api/pkg/args" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/settings/api" ) // SettingsHandler manages all endpoints related to settings management. diff --git a/api/src/settings/handler_test.go b/api/pkg/settings/handler_test.go similarity index 100% rename from api/src/settings/handler_test.go rename to api/pkg/settings/handler_test.go diff --git a/api/src/settings/manager.go b/api/pkg/settings/manager.go similarity index 97% rename from api/src/settings/manager.go rename to api/pkg/settings/manager.go index 0fdcbb15bab5..345d37c15f0c 100644 --- a/api/src/settings/manager.go +++ b/api/pkg/settings/manager.go @@ -25,9 +25,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/args" - "github.com/kubernetes/dashboard/api/src/errors" - "github.com/kubernetes/dashboard/api/src/settings/api" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/settings/api" ) // SettingsManager is a structure containing all settings manager members. diff --git a/api/src/settings/manager_test.go b/api/pkg/settings/manager_test.go similarity index 97% rename from api/src/settings/manager_test.go rename to api/pkg/settings/manager_test.go index dc9925e39110..8d43ef893273 100644 --- a/api/src/settings/manager_test.go +++ b/api/pkg/settings/manager_test.go @@ -18,8 +18,8 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/api/src/settings/api" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/settings/api" ) func TestNewSettingsManager(t *testing.T) { diff --git a/api/src/sync/api/types.go b/api/pkg/sync/api/types.go similarity index 100% rename from api/src/sync/api/types.go rename to api/pkg/sync/api/types.go diff --git a/api/src/sync/manager.go b/api/pkg/sync/manager.go similarity index 95% rename from api/src/sync/manager.go rename to api/pkg/sync/manager.go index cd71052572b4..9dbf73dc2e08 100644 --- a/api/src/sync/manager.go +++ b/api/pkg/sync/manager.go @@ -15,9 +15,9 @@ package sync import ( - syncApi "github.com/kubernetes/dashboard/api/src/sync/api" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes" + syncApi "k8s.io/dashboard/api/pkg/sync/api" ) // Implements SynchronizerManager interface. diff --git a/api/src/sync/manager_test.go b/api/pkg/sync/manager_test.go similarity index 100% rename from api/src/sync/manager_test.go rename to api/pkg/sync/manager_test.go diff --git a/api/src/sync/overwatch.go b/api/pkg/sync/overwatch.go similarity index 98% rename from api/src/sync/overwatch.go rename to api/pkg/sync/overwatch.go index 8d2509ddaf61..fdadd0e2cfdb 100644 --- a/api/src/sync/overwatch.go +++ b/api/pkg/sync/overwatch.go @@ -21,7 +21,7 @@ import ( "k8s.io/apimachinery/pkg/util/wait" - syncApi "github.com/kubernetes/dashboard/api/src/sync/api" + syncApi "k8s.io/dashboard/api/pkg/sync/api" ) // Overwatch is watching over every registered synchronizer. In case of error it will be logged and if RestartPolicy diff --git a/api/src/sync/poll/secret.go b/api/pkg/sync/poll/secret.go similarity index 95% rename from api/src/sync/poll/secret.go rename to api/pkg/sync/poll/secret.go index 69cde77f40df..1ffa04b66fef 100644 --- a/api/src/sync/poll/secret.go +++ b/api/pkg/sync/poll/secret.go @@ -23,8 +23,8 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/errors" - syncapi "github.com/kubernetes/dashboard/api/src/sync/api" + "k8s.io/dashboard/api/pkg/errors" + syncapi "k8s.io/dashboard/api/pkg/sync/api" ) // SecretPoller implements Poller interface. See Poller for more information. diff --git a/api/src/sync/poll/secret_test.go b/api/pkg/sync/poll/secret_test.go similarity index 96% rename from api/src/sync/poll/secret_test.go rename to api/pkg/sync/poll/secret_test.go index 20a99084cc61..289575b813dc 100644 --- a/api/src/sync/poll/secret_test.go +++ b/api/pkg/sync/poll/secret_test.go @@ -18,11 +18,11 @@ import ( "testing" "time" - "github.com/kubernetes/dashboard/api/src/sync/poll" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/sync/poll" ) func TestNewSecretPoller(t *testing.T) { diff --git a/api/src/sync/poll/watcher.go b/api/pkg/sync/poll/watcher.go similarity index 100% rename from api/src/sync/poll/watcher.go rename to api/pkg/sync/poll/watcher.go diff --git a/api/src/sync/poll/watcher_test.go b/api/pkg/sync/poll/watcher_test.go similarity index 93% rename from api/src/sync/poll/watcher_test.go rename to api/pkg/sync/poll/watcher_test.go index 1837d4f09a97..eb5d9c9aa090 100644 --- a/api/src/sync/poll/watcher_test.go +++ b/api/pkg/sync/poll/watcher_test.go @@ -17,7 +17,7 @@ package poll_test import ( "testing" - "github.com/kubernetes/dashboard/api/src/sync/poll" + "k8s.io/dashboard/api/pkg/sync/poll" ) func TestNewPollWatcher(t *testing.T) { diff --git a/api/src/sync/secret.go b/api/pkg/sync/secret.go similarity index 97% rename from api/src/sync/secret.go rename to api/pkg/sync/secret.go index 22e31e37cebf..d2e58f41cf48 100644 --- a/api/src/sync/secret.go +++ b/api/pkg/sync/secret.go @@ -28,9 +28,9 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/errors" - syncApi "github.com/kubernetes/dashboard/api/src/sync/api" - "github.com/kubernetes/dashboard/api/src/sync/poll" + "k8s.io/dashboard/api/pkg/errors" + syncApi "k8s.io/dashboard/api/pkg/sync/api" + "k8s.io/dashboard/api/pkg/sync/poll" ) // Time interval between which secret should be resynchronized. diff --git a/api/src/sync/secret_test.go b/api/pkg/sync/secret_test.go similarity index 99% rename from api/src/sync/secret_test.go rename to api/pkg/sync/secret_test.go index 21a35ad2c0a5..fd23cd1bc63a 100644 --- a/api/src/sync/secret_test.go +++ b/api/pkg/sync/secret_test.go @@ -18,7 +18,6 @@ import ( "testing" "time" - syncApi "github.com/kubernetes/dashboard/api/src/sync/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -26,6 +25,7 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes/fake" k8stest "k8s.io/client-go/testing" + syncApi "k8s.io/dashboard/api/pkg/sync/api" ) // Implements sync api Poller interface diff --git a/api/src/systembanner/api/types.go b/api/pkg/systembanner/api/types.go similarity index 100% rename from api/src/systembanner/api/types.go rename to api/pkg/systembanner/api/types.go diff --git a/api/src/systembanner/handler.go b/api/pkg/systembanner/handler.go similarity index 95% rename from api/src/systembanner/handler.go rename to api/pkg/systembanner/handler.go index 51f4062e70c7..cd4b4d1b8883 100644 --- a/api/src/systembanner/handler.go +++ b/api/pkg/systembanner/handler.go @@ -18,7 +18,7 @@ import ( "net/http" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/systembanner/api" + "k8s.io/dashboard/api/pkg/systembanner/api" ) // SystemBannerHandler manages all endpoints related to system banner management. diff --git a/api/src/systembanner/manager.go b/api/pkg/systembanner/manager.go similarity index 95% rename from api/src/systembanner/manager.go rename to api/pkg/systembanner/manager.go index 4a497b3dc477..53a941c82ee0 100644 --- a/api/src/systembanner/manager.go +++ b/api/pkg/systembanner/manager.go @@ -15,7 +15,7 @@ package systembanner import ( - "github.com/kubernetes/dashboard/api/src/systembanner/api" + "k8s.io/dashboard/api/pkg/systembanner/api" ) // SystemBannerManager is a structure containing all system banner manager members. diff --git a/api/src/validation/validateappname.go b/api/pkg/validation/validateappname.go similarity index 97% rename from api/src/validation/validateappname.go rename to api/pkg/validation/validateappname.go index 1b9007ad5467..8337c9b55f3d 100644 --- a/api/src/validation/validateappname.go +++ b/api/pkg/validation/validateappname.go @@ -21,7 +21,7 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) // AppNameValiditySpec is a specification for application name validation request. diff --git a/api/src/validation/validateappname_test.go b/api/pkg/validation/validateappname_test.go similarity index 100% rename from api/src/validation/validateappname_test.go rename to api/pkg/validation/validateappname_test.go diff --git a/api/src/validation/validateimagereference.go b/api/pkg/validation/validateimagereference.go similarity index 100% rename from api/src/validation/validateimagereference.go rename to api/pkg/validation/validateimagereference.go diff --git a/api/src/validation/validateimagereference_test.go b/api/pkg/validation/validateimagereference_test.go similarity index 100% rename from api/src/validation/validateimagereference_test.go rename to api/pkg/validation/validateimagereference_test.go diff --git a/api/src/validation/validateloginstatus.go b/api/pkg/validation/validateloginstatus.go similarity index 95% rename from api/src/validation/validateloginstatus.go rename to api/pkg/validation/validateloginstatus.go index 731f8ad51da3..a884da4df860 100644 --- a/api/src/validation/validateloginstatus.go +++ b/api/pkg/validation/validateloginstatus.go @@ -16,8 +16,8 @@ package validation import ( restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/args" - "github.com/kubernetes/dashboard/api/src/client" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/client" ) // LoginStatus is returned as a response to login status check. Used by the frontend to determine if is logged in diff --git a/api/src/validation/validateloginstatus_test.go b/api/pkg/validation/validateloginstatus_test.go similarity index 97% rename from api/src/validation/validateloginstatus_test.go rename to api/pkg/validation/validateloginstatus_test.go index 9d46bb8629b0..bbbb31af1429 100644 --- a/api/src/validation/validateloginstatus_test.go +++ b/api/pkg/validation/validateloginstatus_test.go @@ -22,7 +22,7 @@ import ( "testing" restful "github.com/emicklei/go-restful/v3" - "github.com/kubernetes/dashboard/api/src/client" + "k8s.io/dashboard/api/pkg/client" ) func TestValidateLoginStatus(t *testing.T) { diff --git a/api/src/validation/validateprotocol.go b/api/pkg/validation/validateprotocol.go similarity index 100% rename from api/src/validation/validateprotocol.go rename to api/pkg/validation/validateprotocol.go diff --git a/api/src/validation/validateprotocol_test.go b/api/pkg/validation/validateprotocol_test.go similarity index 100% rename from api/src/validation/validateprotocol_test.go rename to api/pkg/validation/validateprotocol_test.go diff --git a/api/src/validation/validaterbacstatus.go b/api/pkg/validation/validaterbacstatus.go similarity index 100% rename from api/src/validation/validaterbacstatus.go rename to api/pkg/validation/validaterbacstatus.go diff --git a/api/src/validation/validaterbacstatus_test.go b/api/pkg/validation/validaterbacstatus_test.go similarity index 98% rename from api/src/validation/validaterbacstatus_test.go rename to api/pkg/validation/validaterbacstatus_test.go index 828d6effd5b4..56bcc35edf97 100644 --- a/api/src/validation/validaterbacstatus_test.go +++ b/api/pkg/validation/validaterbacstatus_test.go @@ -24,7 +24,7 @@ import ( "k8s.io/client-go/kubernetes/fake" test "k8s.io/client-go/testing" - "github.com/kubernetes/dashboard/api/src/errors" + "k8s.io/dashboard/api/pkg/errors" ) func areErrorsEqual(err1, err2 error) bool { From b78a86727d7d35ad8f493815aeb8376f9c875abb Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 13:46:00 +0200 Subject: [PATCH 011/162] Update backend structure --- api/{scripts => hack}/codegen-update.sh | 8 ++++---- api/{scripts => hack}/codegen-verify.sh | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename api/{scripts => hack}/codegen-update.sh (83%) rename api/{scripts => hack}/codegen-verify.sh (100%) diff --git a/api/scripts/codegen-update.sh b/api/hack/codegen-update.sh similarity index 83% rename from api/scripts/codegen-update.sh rename to api/hack/codegen-update.sh index 4cee45478a67..755b04164493 100755 --- a/api/scripts/codegen-update.sh +++ b/api/hack/codegen-update.sh @@ -20,13 +20,13 @@ set -o pipefail CODEGEN_VERSION="v0.23.6" CODEGEN_BIN="${GOPATH}/pkg/mod/k8s.io/code-generator@${CODEGEN_VERSION}/generate-groups.sh" -SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) -SOURCE_DIR="${SCRIPT_DIR}/../src" -CODEGEN_DIR="${SCRIPT_DIR}/../codegen" +HACK_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) +SOURCE_DIR="${HACK_DIR}/../src" +CODEGEN_DIR="${HACK_DIR}/../codegen" "${CODEGEN_BIN}" "deepcopy,client,informer,lister" \ github.com/kubernetes/dashboard/api/src/plugin/client github.com/kubernetes/dashboard/api/src/plugin apis:v1alpha1 \ - --go-header-file "${SCRIPT_DIR}/../../aio/scripts/license-header.go.txt" --output-base "${CODEGEN_DIR}" + --go-header-file "${HACK_DIR}/../../aio/scripts/license-header.go.txt" --output-base "${CODEGEN_DIR}" rm -rf "${SOURCE_DIR}/plugin/client" diff --git a/api/scripts/codegen-verify.sh b/api/hack/codegen-verify.sh similarity index 100% rename from api/scripts/codegen-verify.sh rename to api/hack/codegen-verify.sh From 3f86d49378873b304cc5a2bf13be0880dc311d73 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 13:57:17 +0200 Subject: [PATCH 012/162] Add modules dir --- {api => modules/api}/.air.toml | 0 {api => modules/api}/.dockerignore | 0 {api => modules/api}/.gitignore | 0 {api => modules/api}/.golangci.yml | 0 {api => modules/api}/go.mod | 0 {api => modules/api}/go.sum | 0 {api => modules/api}/hack/codegen-update.sh | 0 {api => modules/api}/hack/codegen-verify.sh | 0 {api => modules/api}/main.go | 0 {api => modules/api}/pkg/api/types.go | 0 {api => modules/api}/pkg/api/types_test.go | 0 {api => modules/api}/pkg/args/builder.go | 0 {api => modules/api}/pkg/args/holder.go | 0 {api => modules/api}/pkg/auth/api/common.go | 0 .../api}/pkg/auth/api/common_test.go | 0 {api => modules/api}/pkg/auth/api/types.go | 0 {api => modules/api}/pkg/auth/basic.go | 0 {api => modules/api}/pkg/auth/handler.go | 0 {api => modules/api}/pkg/auth/handler_test.go | 0 {api => modules/api}/pkg/auth/jwe/keyholder.go | 0 .../api}/pkg/auth/jwe/keyholder_test.go | 0 {api => modules/api}/pkg/auth/jwe/manager.go | 0 .../api}/pkg/auth/jwe/manager_test.go | 0 {api => modules/api}/pkg/auth/jwe/util.go | 0 {api => modules/api}/pkg/auth/kubeconfig.go | 0 .../api}/pkg/auth/kubeconfig_test.go | 0 {api => modules/api}/pkg/auth/manager.go | 0 {api => modules/api}/pkg/auth/manager_test.go | 0 {api => modules/api}/pkg/auth/token.go | 0 {api => modules/api}/pkg/cert/api/types.go | 0 {api => modules/api}/pkg/cert/ecdsa/creator.go | 0 .../api}/pkg/cert/ecdsa/creator_test.go | 8 +++----- {api => modules/api}/pkg/cert/manager.go | 0 {api => modules/api}/pkg/client/api/common.go | 0 .../api}/pkg/client/api/common_test.go | 4 +--- {api => modules/api}/pkg/client/api/types.go | 0 {api => modules/api}/pkg/client/csrf/manager.go | 0 .../api}/pkg/client/csrf/manager_test.go | 3 +-- {api => modules/api}/pkg/client/manager.go | 0 {api => modules/api}/pkg/client/manager_test.go | 0 {api => modules/api}/pkg/client/verber.go | 0 {api => modules/api}/pkg/client/verber_test.go | 0 {api => modules/api}/pkg/errors/errors.go | 0 {api => modules/api}/pkg/errors/handler.go | 0 {api => modules/api}/pkg/errors/handler_test.go | 14 ++++++-------- {api => modules/api}/pkg/errors/localizer.go | 0 .../api}/pkg/errors/localizer_test.go | 16 +++++++--------- {api => modules/api}/pkg/handler/apihandler.go | 0 .../api}/pkg/handler/apihandler_test.go | 0 .../api}/pkg/handler/confighandler.go | 0 {api => modules/api}/pkg/handler/download.go | 0 {api => modules/api}/pkg/handler/filter.go | 0 {api => modules/api}/pkg/handler/gziphandler.go | 0 .../api}/pkg/handler/localehandler.go | 0 .../api}/pkg/handler/localehandler_test.go | 0 {api => modules/api}/pkg/handler/metrics.go | 0 .../api}/pkg/handler/parser/parser.go | 0 {api => modules/api}/pkg/handler/terminal.go | 0 .../api}/pkg/integration/api/types.go | 0 {api => modules/api}/pkg/integration/handler.go | 0 .../api}/pkg/integration/handler_test.go | 0 {api => modules/api}/pkg/integration/list.go | 0 {api => modules/api}/pkg/integration/manager.go | 0 .../api}/pkg/integration/manager_test.go | 0 .../api}/pkg/integration/metric/api/types.go | 0 .../integration/metric/common/aggregation.go | 0 .../metric/common/aggregation_test.go | 0 .../pkg/integration/metric/heapster/client.go | 0 .../integration/metric/heapster/client_test.go | 0 .../pkg/integration/metric/heapster/common.go | 0 .../pkg/integration/metric/heapster/model.go | 0 .../integration/metric/heapster/restclient.go | 0 .../pkg/integration/metric/heapster/selector.go | 0 .../metric/heapster/selector_test.go | 0 .../api}/pkg/integration/metric/manager.go | 0 .../api}/pkg/integration/metric/manager_test.go | 0 .../pkg/integration/metric/sidecar/client.go | 0 .../integration/metric/sidecar/client_test.go | 0 .../pkg/integration/metric/sidecar/common.go | 0 .../pkg/integration/metric/sidecar/model.go | 0 .../integration/metric/sidecar/restclient.go | 0 .../pkg/integration/metric/sidecar/selector.go | 0 .../integration/metric/sidecar/selector_test.go | 0 .../api}/pkg/plugin/apis/register.go | 0 .../api}/pkg/plugin/apis/v1alpha1/doc.go | 0 .../api}/pkg/plugin/apis/v1alpha1/register.go | 0 .../api}/pkg/plugin/apis/v1alpha1/types.go | 0 .../apis/v1alpha1/zz_generated.deepcopy.go | 0 .../client/clientset/versioned/clientset.go | 0 .../plugin/client/clientset/versioned/doc.go | 0 .../versioned/fake/clientset_generated.go | 0 .../client/clientset/versioned/fake/doc.go | 0 .../client/clientset/versioned/fake/register.go | 0 .../client/clientset/versioned/scheme/doc.go | 0 .../clientset/versioned/scheme/register.go | 0 .../typed/apis/v1alpha1/apis_client.go | 0 .../versioned/typed/apis/v1alpha1/doc.go | 0 .../versioned/typed/apis/v1alpha1/fake/doc.go | 0 .../apis/v1alpha1/fake/fake_apis_client.go | 0 .../typed/apis/v1alpha1/fake/fake_plugin.go | 0 .../typed/apis/v1alpha1/generated_expansion.go | 0 .../versioned/typed/apis/v1alpha1/plugin.go | 0 .../externalversions/apis/interface.go | 0 .../externalversions/apis/v1alpha1/interface.go | 0 .../externalversions/apis/v1alpha1/plugin.go | 0 .../informers/externalversions/factory.go | 0 .../informers/externalversions/generic.go | 0 .../internalinterfaces/factory_interfaces.go | 0 .../apis/v1alpha1/expansion_generated.go | 0 .../client/listers/apis/v1alpha1/plugin.go | 0 {api => modules/api}/pkg/plugin/config.go | 0 {api => modules/api}/pkg/plugin/config_test.go | 0 {api => modules/api}/pkg/plugin/detail.go | 0 {api => modules/api}/pkg/plugin/detail_test.go | 0 {api => modules/api}/pkg/plugin/handler.go | 0 {api => modules/api}/pkg/plugin/handler_test.go | 0 {api => modules/api}/pkg/plugin/list.go | 0 {api => modules/api}/pkg/plugin/list_test.go | 0 .../api}/pkg/resource/clusterrole/common.go | 0 .../api}/pkg/resource/clusterrole/detail.go | 0 .../api}/pkg/resource/clusterrole/list.go | 0 .../api}/pkg/resource/clusterrole/list_test.go | 0 .../pkg/resource/clusterrolebinding/common.go | 0 .../pkg/resource/clusterrolebinding/detail.go | 0 .../pkg/resource/clusterrolebinding/list.go | 0 .../resource/clusterrolebinding/list_test.go | 0 .../api}/pkg/resource/common/condition.go | 0 .../api}/pkg/resource/common/endpoint.go | 0 .../api}/pkg/resource/common/endpoint_test.go | 0 .../api}/pkg/resource/common/event.go | 0 .../api}/pkg/resource/common/namespace.go | 0 .../api}/pkg/resource/common/namespace_test.go | 0 {api => modules/api}/pkg/resource/common/pod.go | 0 .../api}/pkg/resource/common/pod_test.go | 0 .../api}/pkg/resource/common/podinfo.go | 0 .../api}/pkg/resource/common/podinfo_test.go | 0 .../pkg/resource/common/resourcechannels.go | 0 .../api}/pkg/resource/common/resourcestatus.go | 0 .../api}/pkg/resource/common/service.go | 0 .../api}/pkg/resource/common/service_test.go | 0 .../api}/pkg/resource/common/serviceport.go | 0 .../pkg/resource/common/serviceport_test.go | 0 .../api}/pkg/resource/configmap/common.go | 0 .../api}/pkg/resource/configmap/detail.go | 0 .../api}/pkg/resource/configmap/detail_test.go | 0 .../api}/pkg/resource/configmap/list.go | 0 .../api}/pkg/resource/configmap/list_test.go | 0 .../api}/pkg/resource/container/logs.go | 0 .../api}/pkg/resource/container/logs_test.go | 0 .../api}/pkg/resource/controller/controller.go | 0 .../pkg/resource/controller/controller_test.go | 0 .../api}/pkg/resource/cronjob/common.go | 0 .../api}/pkg/resource/cronjob/common_test.go | 0 .../api}/pkg/resource/cronjob/detail.go | 0 .../api}/pkg/resource/cronjob/detail_test.go | 9 ++++----- .../api}/pkg/resource/cronjob/events.go | 0 .../api}/pkg/resource/cronjob/events_test.go | 3 +-- .../api}/pkg/resource/cronjob/jobs.go | 0 .../api}/pkg/resource/cronjob/jobs_test.go | 7 +++---- .../api}/pkg/resource/cronjob/list.go | 0 .../api}/pkg/resource/cronjob/list_test.go | 13 ++++++------- .../resource/customresourcedefinition/common.go | 0 .../resource/customresourcedefinition/events.go | 0 .../customresourcedefinition/events_test.go | 0 .../customresourcedefinition/types/types.go | 0 .../customresourcedefinition/v1/client.go | 0 .../customresourcedefinition/v1/common.go | 0 .../customresourcedefinition/v1/detail.go | 0 .../customresourcedefinition/v1/list.go | 0 .../customresourcedefinition/v1/list_test.go | 0 .../customresourcedefinition/v1/objects.go | 0 .../api}/pkg/resource/daemonset/common.go | 0 .../api}/pkg/resource/daemonset/common_test.go | 0 .../api}/pkg/resource/daemonset/detail.go | 0 .../api}/pkg/resource/daemonset/list.go | 0 .../api}/pkg/resource/daemonset/list_test.go | 0 .../api}/pkg/resource/daemonset/pods.go | 0 .../api}/pkg/resource/daemonset/services.go | 0 .../api}/pkg/resource/dataselect/dataselect.go | 0 .../pkg/resource/dataselect/dataselect_test.go | 0 .../pkg/resource/dataselect/dataselectquery.go | 0 .../api}/pkg/resource/dataselect/pagination.go | 0 .../pkg/resource/dataselect/pagination_test.go | 0 .../pkg/resource/dataselect/propertyname.go | 0 .../resource/dataselect/stdcomparabletypes.go | 0 .../dataselect/stdcomparabletypes_test.go | 0 .../api}/pkg/resource/deployment/common.go | 0 .../api}/pkg/resource/deployment/deploy.go | 0 .../api}/pkg/resource/deployment/deploy_test.go | 0 .../api}/pkg/resource/deployment/detail.go | 0 .../api}/pkg/resource/deployment/detail_test.go | 0 .../api}/pkg/resource/deployment/list.go | 0 .../api}/pkg/resource/deployment/list_test.go | 0 .../pkg/resource/deployment/newreplicasets.go | 0 .../pkg/resource/deployment/oldreplicasets.go | 0 .../api}/pkg/resource/deployment/pods.go | 0 .../api}/pkg/resource/deployment/rollout.go | 0 .../api}/pkg/resource/deployment/util.go | 0 .../api}/pkg/resource/endpoint/endpoint.go | 0 .../api}/pkg/resource/endpoint/list.go | 0 .../api}/pkg/resource/event/common.go | 0 .../api}/pkg/resource/event/common_test.go | 0 .../api}/pkg/resource/event/event.go | 0 .../api}/pkg/resource/event/event_test.go | 0 {api => modules/api}/pkg/resource/event/list.go | 0 .../resource/horizontalpodautoscaler/common.go | 0 .../resource/horizontalpodautoscaler/detail.go | 0 .../horizontalpodautoscaler/detail_test.go | 0 .../resource/horizontalpodautoscaler/list.go | 0 .../horizontalpodautoscaler/list_test.go | 0 .../api}/pkg/resource/ingress/common.go | 0 .../api}/pkg/resource/ingress/detail.go | 0 .../api}/pkg/resource/ingress/filter.go | 0 .../api}/pkg/resource/ingress/list.go | 0 {api => modules/api}/pkg/resource/job/common.go | 0 {api => modules/api}/pkg/resource/job/detail.go | 0 .../api}/pkg/resource/job/detail_test.go | 0 {api => modules/api}/pkg/resource/job/events.go | 0 .../api}/pkg/resource/job/events_test.go | 0 {api => modules/api}/pkg/resource/job/list.go | 0 .../api}/pkg/resource/job/list_test.go | 0 {api => modules/api}/pkg/resource/job/pods.go | 0 .../api}/pkg/resource/limitrange/detail.go | 0 .../api}/pkg/resource/limitrange/detail_test.go | 0 {api => modules/api}/pkg/resource/logs/logs.go | 0 .../api}/pkg/resource/logs/source.go | 0 .../api}/pkg/resource/namespace/common.go | 0 .../api}/pkg/resource/namespace/detail.go | 0 .../api}/pkg/resource/namespace/detail_test.go | 0 .../api}/pkg/resource/namespace/list.go | 0 .../api}/pkg/resource/namespace/list_test.go | 0 .../api}/pkg/resource/networkpolicy/common.go | 0 .../api}/pkg/resource/networkpolicy/detail.go | 0 .../api}/pkg/resource/networkpolicy/list.go | 0 .../api}/pkg/resource/node/common.go | 0 .../api}/pkg/resource/node/detail.go | 0 .../api}/pkg/resource/node/detail_test.go | 0 {api => modules/api}/pkg/resource/node/list.go | 0 .../api}/pkg/resource/node/list_test.go | 0 .../pkg/resource/persistentvolume/common.go | 0 .../resource/persistentvolume/common_test.go | 0 .../pkg/resource/persistentvolume/detail.go | 0 .../resource/persistentvolume/detail_test.go | 0 .../api}/pkg/resource/persistentvolume/list.go | 0 .../pkg/resource/persistentvolume/list_test.go | 0 .../resource/persistentvolumeclaim/common.go | 0 .../persistentvolumeclaim/common_test.go | 0 .../resource/persistentvolumeclaim/detail.go | 0 .../persistentvolumeclaim/detail_test.go | 0 .../pkg/resource/persistentvolumeclaim/list.go | 0 .../resource/persistentvolumeclaim/list_test.go | 0 {api => modules/api}/pkg/resource/pod/common.go | 0 .../api}/pkg/resource/pod/common_test.go | 0 {api => modules/api}/pkg/resource/pod/detail.go | 0 .../api}/pkg/resource/pod/detail_test.go | 0 {api => modules/api}/pkg/resource/pod/events.go | 0 .../api}/pkg/resource/pod/events_test.go | 0 .../api}/pkg/resource/pod/fieldpath.go | 0 .../api}/pkg/resource/pod/fieldpath_test.go | 0 {api => modules/api}/pkg/resource/pod/list.go | 0 .../api}/pkg/resource/pod/list_test.go | 13 ++++++------- .../api}/pkg/resource/pod/metrics.go | 0 .../api}/pkg/resource/replicaset/common.go | 0 .../api}/pkg/resource/replicaset/common_test.go | 0 .../api}/pkg/resource/replicaset/detail.go | 0 .../api}/pkg/resource/replicaset/detail_test.go | 0 .../api}/pkg/resource/replicaset/list.go | 0 .../api}/pkg/resource/replicaset/list_test.go | 0 .../api}/pkg/resource/replicaset/pods.go | 0 .../api}/pkg/resource/replicaset/services.go | 0 .../resource/replicationcontroller/common.go | 0 .../replicationcontroller/common_test.go | 0 .../resource/replicationcontroller/detail.go | 0 .../replicationcontroller/detail_test.go | 0 .../pkg/resource/replicationcontroller/list.go | 0 .../resource/replicationcontroller/list_test.go | 0 .../pkg/resource/replicationcontroller/pods.go | 0 .../resource/replicationcontroller/services.go | 0 .../api}/pkg/resource/resourcequota/detail.go | 0 .../pkg/resource/resourcequota/detail_test.go | 0 .../api}/pkg/resource/role/common.go | 0 .../api}/pkg/resource/role/detail.go | 0 {api => modules/api}/pkg/resource/role/list.go | 0 .../api}/pkg/resource/role/list_test.go | 0 .../api}/pkg/resource/rolebinding/common.go | 0 .../api}/pkg/resource/rolebinding/detail.go | 0 .../api}/pkg/resource/rolebinding/list.go | 0 .../api}/pkg/resource/rolebinding/list_test.go | 0 .../api}/pkg/resource/secret/common.go | 0 .../api}/pkg/resource/secret/detail.go | 0 .../api}/pkg/resource/secret/detail_test.go | 0 .../api}/pkg/resource/secret/list.go | 0 .../api}/pkg/resource/secret/list_test.go | 0 .../api}/pkg/resource/service/common.go | 0 .../api}/pkg/resource/service/detail.go | 0 .../api}/pkg/resource/service/detail_test.go | 0 .../api}/pkg/resource/service/events.go | 0 .../api}/pkg/resource/service/events_test.go | 0 .../api}/pkg/resource/service/ingress.go | 0 .../api}/pkg/resource/service/list.go | 0 .../api}/pkg/resource/service/list_test.go | 0 .../api}/pkg/resource/service/pods.go | 0 .../api}/pkg/resource/service/pods_test.go | 0 .../api}/pkg/resource/serviceaccount/common.go | 0 .../api}/pkg/resource/serviceaccount/detail.go | 0 .../api}/pkg/resource/serviceaccount/list.go | 0 .../api}/pkg/resource/serviceaccount/secrets.go | 0 .../api}/pkg/resource/statefulset/common.go | 0 .../api}/pkg/resource/statefulset/detail.go | 0 .../api}/pkg/resource/statefulset/list.go | 0 .../api}/pkg/resource/statefulset/list_test.go | 0 .../api}/pkg/resource/statefulset/pods.go | 0 .../api}/pkg/resource/storageclass/common.go | 0 .../api}/pkg/resource/storageclass/detail.go | 0 .../pkg/resource/storageclass/detail_test.go | 0 .../api}/pkg/resource/storageclass/list.go | 0 .../api}/pkg/resource/storageclass/list_test.go | 0 {api => modules/api}/pkg/scaling/scale.go | 0 {api => modules/api}/pkg/settings/api/types.go | 0 {api => modules/api}/pkg/settings/handler.go | 0 .../api}/pkg/settings/handler_test.go | 0 {api => modules/api}/pkg/settings/manager.go | 0 .../api}/pkg/settings/manager_test.go | 0 {api => modules/api}/pkg/sync/api/types.go | 0 {api => modules/api}/pkg/sync/manager.go | 0 {api => modules/api}/pkg/sync/manager_test.go | 0 {api => modules/api}/pkg/sync/overwatch.go | 0 {api => modules/api}/pkg/sync/poll/secret.go | 0 .../api}/pkg/sync/poll/secret_test.go | 5 ++--- {api => modules/api}/pkg/sync/poll/watcher.go | 0 .../api}/pkg/sync/poll/watcher_test.go | 4 +--- {api => modules/api}/pkg/sync/secret.go | 0 {api => modules/api}/pkg/sync/secret_test.go | 0 .../api}/pkg/systembanner/api/types.go | 0 .../api}/pkg/systembanner/handler.go | 0 .../api}/pkg/systembanner/manager.go | 0 .../api}/pkg/validation/validateappname.go | 0 .../api}/pkg/validation/validateappname_test.go | 0 .../pkg/validation/validateimagereference.go | 0 .../validation/validateimagereference_test.go | 0 .../api}/pkg/validation/validateloginstatus.go | 0 .../pkg/validation/validateloginstatus_test.go | 0 .../api}/pkg/validation/validateprotocol.go | 0 .../pkg/validation/validateprotocol_test.go | 0 .../api}/pkg/validation/validaterbacstatus.go | 0 .../pkg/validation/validaterbacstatus_test.go | 0 {web => modules/web}/.babelrc | 0 {web => modules/web}/.browserslistrc | 0 {web => modules/web}/.dockerignore | 0 {web => modules/web}/.eslintignore | 0 {web => modules/web}/.eslintrc.yaml | 0 {web => modules/web}/.gitignore | 0 {web => modules/web}/.jsbeautifyrc | 0 {web => modules/web}/.npmrc | 0 {web => modules/web}/.prettierrc.cjs | 0 {web => modules/web}/.stylelintrc.yaml | 0 {web => modules/web}/angular.json | 0 {web => modules/web}/cypress.json | 0 {web => modules/web}/cypress/fixtures/crd.yaml | 0 .../web}/cypress/fixtures/example-foo.yaml | 0 .../web}/cypress/integration/specs/nav.spec.ts | 0 .../cypress/integration/specs/userpanel.spec.ts | 0 .../web}/cypress/pages/abstractPage.ts | 0 .../web}/cypress/pages/navbarPage.ts | 0 .../web}/cypress/pages/userpanelPage.ts | 0 .../web}/cypress/plugins/cy-ts-preprocessor.ts | 0 {web => modules/web}/cypress/plugins/index.ts | 0 {web => modules/web}/cypress/support/index.ts | 0 {web => modules/web}/i18n/de/OWNERS | 0 {web => modules/web}/i18n/de/messages.de.xlf | 0 {web => modules/web}/i18n/es/OWNERS | 0 {web => modules/web}/i18n/es/messages.es.xlf | 0 {web => modules/web}/i18n/fr/OWNERS | 0 {web => modules/web}/i18n/fr/messages.fr.xlf | 0 {web => modules/web}/i18n/ja/OWNERS | 0 {web => modules/web}/i18n/ja/README.md | 0 {web => modules/web}/i18n/ja/messages.ja.xlf | 0 {web => modules/web}/i18n/ko/OWNERS | 0 {web => modules/web}/i18n/ko/messages.ko.xlf | 0 {web => modules/web}/i18n/locale_conf.json | 0 {web => modules/web}/i18n/messages.xlf | 0 {web => modules/web}/i18n/zh-Hans/OWNERS | 0 .../web}/i18n/zh-Hans/messages.zh-Hans.xlf | 0 {web => modules/web}/i18n/zh-Hant-HK/OWNERS | 0 .../i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf | 0 {web => modules/web}/i18n/zh-Hant/OWNERS | 0 .../web}/i18n/zh-Hant/messages.zh-Hant.xlf | 0 {web => modules/web}/jest.config.js | 0 {web => modules/web}/package-lock.json | 0 {web => modules/web}/package.json | 0 {web => modules/web}/proxy-https.conf.json | 0 {web => modules/web}/proxy.conf.json | 0 {web => modules/web}/scripts/check-html.sh | 0 {web => modules/web}/scripts/version.mjs | 0 {web => modules/web}/scripts/xliffmerge.sh | 0 {web => modules/web}/src/_dark.scss | 0 {web => modules/web}/src/_light.scss | 0 {web => modules/web}/src/_mixins.scss | 0 {web => modules/web}/src/_theming.scss | 0 {web => modules/web}/src/_variables.scss | 0 .../web}/src/about/actionbar/component.ts | 0 .../web}/src/about/actionbar/template.html | 0 .../web}/src/about/component.spec.ts | 0 {web => modules/web}/src/about/component.ts | 0 {web => modules/web}/src/about/module.ts | 0 {web => modules/web}/src/about/routing.ts | 0 {web => modules/web}/src/about/style.scss | 0 {web => modules/web}/src/about/template.html | 0 .../web}/src/assets/config/config.json | 0 .../src/assets/images/kubernetes-logo-text.svg | 0 .../web}/src/assets/images/kubernetes-logo.png | Bin .../web}/src/assets/images/kubernetes-logo.svg | 0 .../web}/src/assets/images/pin-crossed.svg | 0 {web => modules/web}/src/assets/images/pin.svg | 0 {web => modules/web}/src/assets/robots.txt | 0 {web => modules/web}/src/chrome/component.ts | 0 {web => modules/web}/src/chrome/module.ts | 0 .../web}/src/chrome/nav/component.ts | 0 .../web}/src/chrome/nav/hamburger/component.ts | 0 .../web}/src/chrome/nav/hamburger/template.html | 0 .../web}/src/chrome/nav/item/component.ts | 0 .../web}/src/chrome/nav/item/style.scss | 0 .../web}/src/chrome/nav/item/template.html | 0 {web => modules/web}/src/chrome/nav/module.ts | 0 .../web}/src/chrome/nav/pinner/component.ts | 0 .../web}/src/chrome/nav/pinner/template.html | 0 {web => modules/web}/src/chrome/nav/style.scss | 0 .../web}/src/chrome/nav/template.html | 0 .../web}/src/chrome/notifications/component.ts | 0 .../web}/src/chrome/notifications/style.scss | 0 .../web}/src/chrome/notifications/template.html | 0 {web => modules/web}/src/chrome/routing.ts | 0 .../web}/src/chrome/search/component.ts | 0 .../web}/src/chrome/search/style.scss | 0 .../web}/src/chrome/search/template.html | 0 {web => modules/web}/src/chrome/style.scss | 0 {web => modules/web}/src/chrome/template.html | 0 .../web}/src/chrome/userpanel/component.ts | 0 .../web}/src/chrome/userpanel/style.scss | 0 .../web}/src/chrome/userpanel/template.html | 0 .../web}/src/common/animations/animations.ts | 0 .../common/components/actionbar/component.ts | 0 .../actionbar/detailactions/component.ts | 0 .../actionbar/detailactions/delete/component.ts | 0 .../detailactions/delete/template.html | 0 .../actionbar/detailactions/edit/component.ts | 0 .../actionbar/detailactions/edit/template.html | 0 .../actionbar/detailactions/exec/component.ts | 0 .../actionbar/detailactions/exec/template.html | 0 .../actionbar/detailactions/logs/component.ts | 0 .../actionbar/detailactions/logs/template.html | 0 .../actionbar/detailactions/pin/component.ts | 0 .../actionbar/detailactions/pin/template.html | 0 .../detailactions/restart/component.ts | 0 .../detailactions/restart/template.html | 0 .../actionbar/detailactions/scale/component.ts | 0 .../actionbar/detailactions/scale/template.html | 0 .../actionbar/detailactions/template.html | 0 .../detailactions/trigger/component.ts | 0 .../detailactions/trigger/template.html | 0 .../common/components/actionbar/template.html | 0 .../components/actionbars/default/component.ts | 0 .../components/actionbars/default/template.html | 0 .../actionbars/logsdefault/component.ts | 0 .../actionbars/logsdefault/template.html | 0 .../actionbars/logsexecdefault/component.ts | 0 .../actionbars/logsexecdefault/template.html | 0 .../actionbars/logsscaledefault/component.ts | 0 .../actionbars/logsscaledefault/template.html | 0 .../actionbars/pindefault/component.ts | 0 .../actionbars/pindefault/template.html | 0 .../src/common/components/actionbars/routing.ts | 0 .../actionbars/scaledefault/component.ts | 0 .../actionbars/scaledefault/template.html | 0 .../actionbars/triggerdefault/component.ts | 0 .../actionbars/triggerdefault/template.html | 0 .../common/components/breadcrumbs/component.ts | 0 .../common/components/breadcrumbs/style.scss | 0 .../common/components/breadcrumbs/template.html | 0 .../common/components/card/component.spec.ts | 0 .../src/common/components/card/component.ts | 0 .../web}/src/common/components/card/style.scss | 0 .../src/common/components/card/template.html | 0 .../components/chips/chipdialog/dialog.ts | 0 .../components/chips/chipdialog/template.html | 0 .../src/common/components/chips/component.ts | 0 .../web}/src/common/components/chips/style.scss | 0 .../src/common/components/chips/template.html | 0 .../common/components/condition/component.ts | 0 .../common/components/condition/template.html | 0 .../common/components/container/component.ts | 0 .../src/common/components/container/style.scss | 0 .../common/components/container/template.html | 0 .../src/common/components/creator/component.ts | 0 .../src/common/components/creator/template.html | 0 .../src/common/components/date/component.ts | 0 .../web}/src/common/components/date/style.scss | 0 .../src/common/components/date/template.html | 0 .../components/endpoint/cardlist/component.ts | 0 .../components/endpoint/cardlist/style.scss | 0 .../components/endpoint/cardlist/template.html | 0 .../components/endpoint/external/component.ts | 0 .../components/endpoint/external/style.scss | 0 .../components/endpoint/external/template.html | 0 .../components/endpoint/internal/component.ts | 0 .../components/endpoint/internal/style.scss | 0 .../components/endpoint/internal/template.html | 0 .../src/common/components/graph/component.ts | 0 .../web}/src/common/components/graph/helper.ts | 0 .../web}/src/common/components/graph/style.scss | 0 .../src/common/components/graph/template.html | 0 .../components/graphcard/component.spec.ts | 0 .../common/components/graphcard/component.ts | 0 .../common/components/graphcard/template.html | 0 .../common/components/graphmetrics/component.ts | 0 .../components/graphmetrics/template.html | 0 .../components/hiddenproperty/component.ts | 0 .../common/components/hiddenproperty/style.scss | 0 .../components/hiddenproperty/template.html | 0 .../components/ingressrulelist/component.ts | 0 .../components/ingressrulelist/template.html | 0 .../src/common/components/limits/component.ts | 0 .../src/common/components/limits/template.html | 0 .../common/components/list/column/component.ts | 0 .../components/list/column/menu/component.ts | 0 .../components/list/column/menu/template.html | 0 .../common/components/list/column/template.html | 0 .../common/components/list/filter/component.ts | 0 .../common/components/list/filter/style.scss | 0 .../common/components/list/filter/template.html | 0 .../components/list/rowdetail/component.ts | 0 .../common/components/list/rowdetail/style.scss | 0 .../components/list/rowdetail/template.html | 0 .../common/components/list/spinner/component.ts | 0 .../components/list/spinner/template.html | 0 .../components/list/zerostate/component.ts | 0 .../common/components/list/zerostate/style.scss | 0 .../components/list/zerostate/template.html | 0 .../web}/src/common/components/module.ts | 0 .../components/namespace/changedialog/dialog.ts | 0 .../namespace/changedialog/template.html | 0 .../common/components/namespace/component.ts | 0 .../src/common/components/namespace/style.scss | 0 .../common/components/namespace/template.html | 0 .../components/objectmeta/component.spec.ts | 0 .../common/components/objectmeta/component.ts | 0 .../common/components/objectmeta/template.html | 0 .../common/components/podstatus/component.ts | 0 .../common/components/podstatus/template.html | 0 .../common/components/policyrule/component.ts | 0 .../common/components/policyrule/template.html | 0 .../src/common/components/probe/component.ts | 0 .../src/common/components/probe/template.html | 0 .../src/common/components/property/component.ts | 0 .../src/common/components/property/style.scss | 0 .../common/components/property/template.html | 0 .../src/common/components/proxy/component.ts | 0 .../src/common/components/quotas/component.ts | 0 .../src/common/components/quotas/template.html | 0 .../resourcelist/clusterrole/component.ts | 0 .../resourcelist/clusterrole/template.html | 0 .../clusterrolebinding/component.ts | 0 .../clusterrolebinding/template.html | 0 .../resourcelist/configmap/component.ts | 0 .../resourcelist/configmap/template.html | 0 .../components/resourcelist/crd/component.ts | 0 .../components/resourcelist/crd/template.html | 0 .../resourcelist/crdobject/component.ts | 0 .../resourcelist/crdobject/template.html | 0 .../resourcelist/crdversion/component.ts | 0 .../resourcelist/crdversion/template.html | 0 .../resourcelist/cronjob/component.ts | 0 .../resourcelist/cronjob/template.html | 0 .../resourcelist/daemonset/component.ts | 0 .../resourcelist/daemonset/template.html | 0 .../resourcelist/deployment/component.ts | 0 .../resourcelist/deployment/template.html | 0 .../components/resourcelist/event/component.ts | 0 .../components/resourcelist/event/template.html | 0 .../common/components/resourcelist/groupids.ts | 0 .../horizontalpodautoscaler/component.ts | 0 .../horizontalpodautoscaler/template.html | 0 .../resourcelist/ingress/component.ts | 0 .../components/resourcelist/ingress/style.scss | 0 .../resourcelist/ingress/template.html | 0 .../components/resourcelist/job/component.ts | 0 .../components/resourcelist/job/template.html | 0 .../resourcelist/namespace/component.ts | 0 .../resourcelist/namespace/template.html | 0 .../resourcelist/networkpolicy/component.ts | 0 .../resourcelist/networkpolicy/template.html | 0 .../components/resourcelist/node/component.ts | 0 .../components/resourcelist/node/template.html | 0 .../resourcelist/persistentvolume/component.ts | 0 .../resourcelist/persistentvolume/template.html | 0 .../persistentvolumeclaim/component.ts | 0 .../persistentvolumeclaim/template.html | 0 .../components/resourcelist/plugin/component.ts | 0 .../resourcelist/plugin/template.html | 0 .../components/resourcelist/pod/component.ts | 0 .../components/resourcelist/pod/template.html | 0 .../resourcelist/replicaset/component.ts | 0 .../resourcelist/replicaset/template.html | 0 .../replicationcontroller/component.ts | 0 .../replicationcontroller/template.html | 0 .../components/resourcelist/role/component.ts | 0 .../components/resourcelist/role/template.html | 0 .../resourcelist/rolebinding/component.ts | 0 .../resourcelist/rolebinding/template.html | 0 .../components/resourcelist/secret/component.ts | 0 .../resourcelist/secret/template.html | 0 .../resourcelist/service/component.ts | 0 .../resourcelist/service/template.html | 0 .../resourcelist/serviceaccount/component.ts | 0 .../resourcelist/serviceaccount/template.html | 0 .../resourcelist/statefulset/component.ts | 0 .../resourcelist/statefulset/template.html | 0 .../common/components/resourcelist/statuses.ts | 0 .../resourcelist/storageclass/component.ts | 0 .../resourcelist/storageclass/template.html | 0 .../components/securitycontext/component.ts | 0 .../components/securitycontext/template.html | 0 .../components/sparkline/cpu/component.ts | 0 .../components/sparkline/cpu/template.html | 0 .../components/sparkline/memory/component.ts | 0 .../components/sparkline/memory/template.html | 0 .../common/components/sparkline/sparkline.ts | 0 .../src/common/components/subject/component.ts | 0 .../src/common/components/subject/template.html | 0 .../common/components/textinput/component.ts | 0 .../src/common/components/textinput/style.scss | 0 .../common/components/textinput/template.html | 0 .../common/components/uploadfile/component.ts | 0 .../src/common/components/uploadfile/style.scss | 0 .../common/components/uploadfile/template.html | 0 .../common/components/volumemount/component.ts | 0 .../common/components/volumemount/template.html | 0 .../components/workloadstatus/component.spec.ts | 0 .../components/workloadstatus/component.ts | 0 .../common/components/workloadstatus/style.scss | 0 .../components/workloadstatus/template.html | 0 .../common/components/zerostate/component.ts | 0 .../src/common/components/zerostate/style.scss | 0 .../common/components/zerostate/template.html | 0 .../web}/src/common/dialogs/alert/dialog.ts | 0 .../web}/src/common/dialogs/alert/template.html | 0 .../web}/src/common/dialogs/config/dialog.ts | 0 .../src/common/dialogs/config/template.html | 0 .../src/common/dialogs/deleteresource/dialog.ts | 0 .../common/dialogs/deleteresource/template.html | 0 .../web}/src/common/dialogs/download/dialog.ts | 0 .../web}/src/common/dialogs/download/style.scss | 0 .../src/common/dialogs/download/template.html | 0 .../src/common/dialogs/editresource/dialog.ts | 0 .../common/dialogs/editresource/template.html | 0 .../web}/src/common/dialogs/module.ts | 0 .../common/dialogs/previewdeployment/dialog.ts | 0 .../dialogs/previewdeployment/template.html | 0 .../common/dialogs/restartresource/dialog.ts | 0 .../dialogs/restartresource/template.html | 0 .../src/common/dialogs/scaleresource/dialog.ts | 0 .../common/dialogs/scaleresource/template.html | 0 .../common/dialogs/triggerresource/dialog.ts | 0 .../dialogs/triggerresource/template.html | 0 .../common/directives/autofocus/directive.ts | 0 .../web}/src/common/directives/module.ts | 0 .../web}/src/common/errors/errors.ts | 0 .../web}/src/common/interfaces/candeactivate.ts | 0 .../web}/src/common/params/params.ts | 0 .../web}/src/common/pipes/commaseparated.ts | 0 .../web}/src/common/pipes/coreformatter.spec.ts | 0 .../web}/src/common/pipes/coreformatter.ts | 0 .../web}/src/common/pipes/filterby.ts | 0 .../src/common/pipes/memoryformatter.spec.ts | 0 .../web}/src/common/pipes/memoryformatter.ts | 0 {web => modules/web}/src/common/pipes/module.ts | 0 .../web}/src/common/pipes/relativetime.ts | 0 .../web}/src/common/pipes/stripansi.ts | 0 {web => modules/web}/src/common/pipes/trim.ts | 0 {web => modules/web}/src/common/pipes/untrim.ts | 0 .../web}/src/common/resources/groupedlist.ts | 0 .../web}/src/common/resources/list.ts | 0 .../web}/src/common/resources/rawresource.ts | 0 .../web}/src/common/resources/resource.ts | 0 .../web}/src/common/services/create/module.ts | 0 .../web}/src/common/services/create/service.ts | 0 .../src/common/services/global/actionbar.ts | 0 .../web}/src/common/services/global/assets.ts | 0 .../common/services/global/authentication.ts | 0 .../src/common/services/global/authorizer.ts | 0 .../web}/src/common/services/global/config.ts | 0 .../src/common/services/global/csrftoken.ts | 0 .../web}/src/common/services/global/decoder.ts | 0 .../common/services/global/globalsettings.ts | 0 .../web}/src/common/services/global/history.ts | 0 .../src/common/services/global/interceptor.ts | 0 .../web}/src/common/services/global/loader.ts | 0 .../src/common/services/global/localsettings.ts | 0 .../web}/src/common/services/global/logs.ts | 0 .../web}/src/common/services/global/module.ts | 0 .../src/common/services/global/namespace.ts | 0 .../src/common/services/global/notifications.ts | 0 .../web}/src/common/services/global/params.ts | 0 .../web}/src/common/services/global/pinner.ts | 0 .../web}/src/common/services/global/plugin.ts | 0 .../web}/src/common/services/global/state.ts | 0 .../web}/src/common/services/global/theme.ts | 0 .../web}/src/common/services/global/title.ts | 0 .../web}/src/common/services/global/verber.ts | 0 .../web}/src/common/services/guard/auth.ts | 0 .../src/common/services/guard/candeactivate.ts | 0 .../web}/src/common/services/guard/login.ts | 0 .../web}/src/common/services/guard/module.ts | 0 .../web}/src/common/services/guard/search.ts | 0 .../web}/src/common/services/nav/module.ts | 0 .../web}/src/common/services/nav/service.ts | 0 .../pluginloader/clientloader.service.ts | 0 .../services/pluginloader/pluginexternals.ts | 0 .../pluginloader/pluginloader.service.ts | 0 .../src/common/services/resource/endpoint.ts | 0 .../web}/src/common/services/resource/module.ts | 0 .../src/common/services/resource/resource.ts | 0 .../src/common/services/resource/utility.ts | 0 {web => modules/web}/src/core.module.ts | 0 .../web}/src/crd/crdobject/component.ts | 0 .../web}/src/crd/crdobject/template.html | 0 .../web}/src/crd/detail/component.ts | 0 .../web}/src/crd/detail/template.html | 0 {web => modules/web}/src/crd/list/component.ts | 0 {web => modules/web}/src/crd/module.ts | 0 {web => modules/web}/src/crd/routing.ts | 0 {web => modules/web}/src/create/component.ts | 0 .../web}/src/create/from/file/component.ts | 0 .../web}/src/create/from/file/style.scss | 0 .../web}/src/create/from/file/template.html | 0 .../web}/src/create/from/form/component.ts | 0 .../create/from/form/createnamespace/dialog.ts | 0 .../from/form/createnamespace/template.html | 0 .../src/create/from/form/createsecret/dialog.ts | 0 .../create/from/form/createsecret/template.html | 0 .../create/from/form/deploylabel/component.ts | 0 .../create/from/form/deploylabel/deploylabel.ts | 0 .../create/from/form/deploylabel/template.html | 0 .../from/form/environmentvariables/component.ts | 0 .../form/environmentvariables/template.html | 0 .../create/from/form/helpsection/component.ts | 0 .../src/create/from/form/helpsection/style.scss | 0 .../create/from/form/helpsection/template.html | 0 .../from/form/helpsection/userhelp/component.ts | 0 .../from/form/helpsection/userhelp/style.scss | 0 .../form/helpsection/userhelp/template.html | 0 .../web}/src/create/from/form/module.ts | 0 .../create/from/form/portmappings/component.ts | 0 .../create/from/form/portmappings/style.scss | 0 .../create/from/form/portmappings/template.html | 0 .../web}/src/create/from/form/style.scss | 0 .../web}/src/create/from/form/template.html | 0 .../from/form/validator/uniquename.validator.ts | 0 .../create/from/form/validator/validators.ts | 0 .../validator/validimagereference.validator.ts | 0 .../form/validator/validprotocol.validator.ts | 0 .../form/validator/warnthreshold.validator.ts | 0 .../web}/src/create/from/input/component.ts | 0 .../web}/src/create/from/input/style.scss | 0 .../web}/src/create/from/input/template.html | 0 {web => modules/web}/src/create/module.ts | 0 {web => modules/web}/src/create/routing.ts | 0 {web => modules/web}/src/create/style.scss | 0 {web => modules/web}/src/create/template.html | 0 .../web}/src/environments/environment.prod.ts | 0 .../web}/src/environments/environment.ts | 0 {web => modules/web}/src/error/component.ts | 0 {web => modules/web}/src/error/handler.ts | 0 {web => modules/web}/src/error/module.ts | 0 {web => modules/web}/src/error/routing.ts | 0 {web => modules/web}/src/error/style.scss | 0 {web => modules/web}/src/error/template.html | 0 {web => modules/web}/src/index.component.ts | 0 {web => modules/web}/src/index.config.ts | 0 {web => modules/web}/src/index.html | 0 {web => modules/web}/src/index.messages.ts | 0 {web => modules/web}/src/index.module.ts | 0 {web => modules/web}/src/index.routing.ts | 0 {web => modules/web}/src/index.scss | 0 {web => modules/web}/src/index.ts | 0 .../web}/src/login/component.spec.ts | 0 {web => modules/web}/src/login/component.ts | 0 {web => modules/web}/src/login/module.ts | 0 {web => modules/web}/src/login/style.scss | 0 {web => modules/web}/src/login/template.html | 0 {web => modules/web}/src/logs/component.ts | 0 {web => modules/web}/src/logs/module.ts | 0 {web => modules/web}/src/logs/routing.ts | 0 {web => modules/web}/src/logs/style.scss | 0 {web => modules/web}/src/logs/template.html | 0 .../web}/src/overview/component.spec.ts | 0 {web => modules/web}/src/overview/component.ts | 0 {web => modules/web}/src/overview/helper.ts | 0 {web => modules/web}/src/overview/module.ts | 0 {web => modules/web}/src/overview/routing.ts | 0 {web => modules/web}/src/overview/template.html | 0 {web => modules/web}/src/plugin/component.ts | 0 .../web}/src/plugin/detail/component.ts | 0 {web => modules/web}/src/plugin/holder.ts | 0 .../web}/src/plugin/list/component.ts | 0 {web => modules/web}/src/plugin/module.ts | 0 {web => modules/web}/src/plugin/routing.ts | 0 {web => modules/web}/src/plugin/template.html | 0 {web => modules/web}/src/polyfills.ts | 0 .../cluster/clusterrole/detail/component.ts | 0 .../cluster/clusterrole/detail/template.html | 0 .../cluster/clusterrole/list/component.ts | 0 .../src/resource/cluster/clusterrole/module.ts | 0 .../src/resource/cluster/clusterrole/routing.ts | 0 .../clusterrolebinding/detail/component.ts | 0 .../clusterrolebinding/detail/template.html | 0 .../clusterrolebinding/list/component.ts | 0 .../cluster/clusterrolebinding/module.ts | 0 .../cluster/clusterrolebinding/routing.ts | 0 .../web}/src/resource/cluster/component.ts | 0 .../resource/cluster/event/list/component.ts | 0 .../web}/src/resource/cluster/event/module.ts | 0 .../web}/src/resource/cluster/event/routing.ts | 0 .../web}/src/resource/cluster/module.ts | 0 .../namespace/detail/actionbar/component.ts | 0 .../namespace/detail/actionbar/template.html | 0 .../cluster/namespace/detail/component.ts | 0 .../cluster/namespace/detail/template.html | 0 .../cluster/namespace/list/component.ts | 0 .../src/resource/cluster/namespace/module.ts | 0 .../src/resource/cluster/namespace/routing.ts | 0 .../cluster/networkpolicy/detail/component.ts | 0 .../cluster/networkpolicy/detail/template.html | 0 .../cluster/networkpolicy/list/component.ts | 0 .../resource/cluster/networkpolicy/module.ts | 0 .../resource/cluster/networkpolicy/routing.ts | 0 .../resource/cluster/node/detail/component.ts | 0 .../resource/cluster/node/detail/template.html | 0 .../src/resource/cluster/node/list/component.ts | 0 .../web}/src/resource/cluster/node/module.ts | 0 .../web}/src/resource/cluster/node/routing.ts | 0 .../persistentvolume/detail/component.ts | 0 .../persistentvolume/detail/source/component.ts | 0 .../persistentvolume/detail/source/style.scss | 0 .../detail/source/template.html | 0 .../persistentvolume/detail/template.html | 0 .../cluster/persistentvolume/list/component.ts | 0 .../resource/cluster/persistentvolume/module.ts | 0 .../cluster/persistentvolume/routing.ts | 0 .../resource/cluster/role/detail/component.ts | 0 .../resource/cluster/role/detail/template.html | 0 .../src/resource/cluster/role/list/component.ts | 0 .../web}/src/resource/cluster/role/module.ts | 0 .../web}/src/resource/cluster/role/routing.ts | 0 .../cluster/rolebinding/detail/component.ts | 0 .../cluster/rolebinding/detail/template.html | 0 .../cluster/rolebinding/list/component.ts | 0 .../src/resource/cluster/rolebinding/module.ts | 0 .../src/resource/cluster/rolebinding/routing.ts | 0 .../web}/src/resource/cluster/routing.ts | 0 .../cluster/serviceaccount/detail/component.ts | 0 .../cluster/serviceaccount/detail/template.html | 0 .../cluster/serviceaccount/list/component.ts | 0 .../resource/cluster/serviceaccount/module.ts | 0 .../resource/cluster/serviceaccount/routing.ts | 0 .../web}/src/resource/cluster/template.html | 0 .../web}/src/resource/config/component.ts | 0 .../config/configmap/detail/component.ts | 0 .../config/configmap/detail/template.html | 0 .../resource/config/configmap/list/component.ts | 0 .../src/resource/config/configmap/module.ts | 0 .../src/resource/config/configmap/routing.ts | 0 .../web}/src/resource/config/module.ts | 0 .../persistentvolumeclaim/detail/component.ts | 0 .../persistentvolumeclaim/detail/template.html | 0 .../persistentvolumeclaim/list/component.ts | 0 .../config/persistentvolumeclaim/module.ts | 0 .../config/persistentvolumeclaim/routing.ts | 0 .../web}/src/resource/config/routing.ts | 0 .../resource/config/secret/detail/component.ts | 0 .../config/secret/detail/edit/component.ts | 0 .../config/secret/detail/edit/style.scss | 0 .../config/secret/detail/edit/template.html | 0 .../resource/config/secret/detail/template.html | 0 .../resource/config/secret/list/component.ts | 0 .../resource/config/secret/list/template.html | 0 .../web}/src/resource/config/secret/module.ts | 0 .../web}/src/resource/config/secret/routing.ts | 0 .../config/storageclass/detail/component.ts | 0 .../config/storageclass/detail/style.scss | 0 .../config/storageclass/detail/template.html | 0 .../config/storageclass/list/component.ts | 0 .../src/resource/config/storageclass/module.ts | 0 .../src/resource/config/storageclass/routing.ts | 0 .../web}/src/resource/config/template.html | 0 .../web}/src/resource/discovery/component.ts | 0 .../discovery/ingress/detail/component.spec.ts | 0 .../discovery/ingress/detail/component.ts | 0 .../discovery/ingress/detail/template.html | 0 .../discovery/ingress/list/component.ts | 0 .../src/resource/discovery/ingress/module.ts | 0 .../src/resource/discovery/ingress/routing.ts | 0 .../web}/src/resource/discovery/module.ts | 0 .../web}/src/resource/discovery/routing.ts | 0 .../discovery/service/detail/component.spec.ts | 0 .../discovery/service/detail/component.ts | 0 .../discovery/service/detail/template.html | 0 .../discovery/service/list/component.ts | 0 .../src/resource/discovery/service/module.ts | 0 .../src/resource/discovery/service/routing.ts | 0 .../web}/src/resource/discovery/template.html | 0 .../web}/src/resource/workloads/component.ts | 0 .../workloads/cronjob/detail/component.ts | 0 .../workloads/cronjob/detail/template.html | 0 .../workloads/cronjob/list/component.ts | 0 .../src/resource/workloads/cronjob/module.ts | 0 .../src/resource/workloads/cronjob/routing.ts | 0 .../daemonset/detail/actionbar/component.ts | 0 .../daemonset/detail/actionbar/template.html | 0 .../workloads/daemonset/detail/component.ts | 0 .../workloads/daemonset/detail/template.html | 0 .../workloads/daemonset/list/component.ts | 0 .../src/resource/workloads/daemonset/module.ts | 0 .../src/resource/workloads/daemonset/routing.ts | 0 .../workloads/deployment/detail/component.ts | 0 .../workloads/deployment/detail/template.html | 0 .../workloads/deployment/list/component.ts | 0 .../src/resource/workloads/deployment/module.ts | 0 .../resource/workloads/deployment/routing.ts | 0 .../resource/workloads/job/detail/component.ts | 0 .../resource/workloads/job/detail/template.html | 0 .../resource/workloads/job/list/component.ts | 0 .../web}/src/resource/workloads/job/module.ts | 0 .../web}/src/resource/workloads/job/routing.ts | 0 .../web}/src/resource/workloads/module.ts | 0 .../resource/workloads/pod/detail/component.ts | 0 .../resource/workloads/pod/detail/style.scss | 0 .../resource/workloads/pod/detail/template.html | 0 .../resource/workloads/pod/list/component.ts | 0 .../web}/src/resource/workloads/pod/module.ts | 0 .../web}/src/resource/workloads/pod/routing.ts | 0 .../workloads/replicaset/detail/component.ts | 0 .../workloads/replicaset/detail/template.html | 0 .../workloads/replicaset/list/component.ts | 0 .../src/resource/workloads/replicaset/module.ts | 0 .../resource/workloads/replicaset/routing.ts | 0 .../replicationcontroller/detail/component.ts | 0 .../replicationcontroller/detail/template.html | 0 .../replicationcontroller/list/component.ts | 0 .../workloads/replicationcontroller/module.ts | 0 .../workloads/replicationcontroller/routing.ts | 0 .../web}/src/resource/workloads/routing.ts | 0 .../workloads/statefulset/detail/component.ts | 0 .../workloads/statefulset/detail/template.html | 0 .../workloads/statefulset/list/component.ts | 0 .../resource/workloads/statefulset/module.ts | 0 .../resource/workloads/statefulset/routing.ts | 0 .../web}/src/resource/workloads/template.html | 0 {web => modules/web}/src/search/component.ts | 0 {web => modules/web}/src/search/module.ts | 0 {web => modules/web}/src/search/routing.ts | 0 {web => modules/web}/src/search/template.html | 0 {web => modules/web}/src/settings/component.ts | 0 .../web}/src/settings/entry/component.ts | 0 .../web}/src/settings/entry/template.html | 0 .../web}/src/settings/global/component.ts | 0 .../global/namespace/adddialog/dialog.ts | 0 .../global/namespace/adddialog/template.html | 0 .../src/settings/global/namespace/component.ts | 0 .../global/namespace/editdialog/dialog.ts | 0 .../global/namespace/editdialog/template.html | 0 .../src/settings/global/namespace/style.scss | 0 .../src/settings/global/namespace/template.html | 0 .../settings/global/saveanywaysdialog/dialog.ts | 0 .../global/saveanywaysdialog/template.html | 0 .../web}/src/settings/global/service.ts | 0 .../web}/src/settings/global/style.scss | 0 .../web}/src/settings/global/template.html | 0 .../web}/src/settings/local/component.ts | 0 .../web}/src/settings/local/style.scss | 0 .../web}/src/settings/local/template.html | 0 {web => modules/web}/src/settings/module.ts | 0 {web => modules/web}/src/settings/routing.ts | 0 {web => modules/web}/src/shared.module.ts | 0 {web => modules/web}/src/shell/component.ts | 0 {web => modules/web}/src/shell/module.ts | 0 {web => modules/web}/src/shell/routing.ts | 0 {web => modules/web}/src/shell/styles.scss | 0 {web => modules/web}/src/shell/template.html | 0 {web => modules/web}/src/systemjs.d.ts | 0 {web => modules/web}/src/test.base.mocks.ts | 0 {web => modules/web}/src/test.base.ts | 0 {web => modules/web}/src/typings/root.api.ts | 0 {web => modules/web}/src/typings/root.shared.ts | 0 {web => modules/web}/src/typings/root.ui.ts | 0 {web => modules/web}/src/typings/volume.api.ts | 0 {web => modules/web}/tsconfig.app.json | 0 {web => modules/web}/tsconfig.e2e.json | 0 {web => modules/web}/tsconfig.json | 0 {web => modules/web}/tsconfig.spec.json | 0 1000 files changed, 41 insertions(+), 58 deletions(-) rename {api => modules/api}/.air.toml (100%) rename {api => modules/api}/.dockerignore (100%) rename {api => modules/api}/.gitignore (100%) rename {api => modules/api}/.golangci.yml (100%) rename {api => modules/api}/go.mod (100%) rename {api => modules/api}/go.sum (100%) rename {api => modules/api}/hack/codegen-update.sh (100%) rename {api => modules/api}/hack/codegen-verify.sh (100%) rename {api => modules/api}/main.go (100%) rename {api => modules/api}/pkg/api/types.go (100%) rename {api => modules/api}/pkg/api/types_test.go (100%) rename {api => modules/api}/pkg/args/builder.go (100%) rename {api => modules/api}/pkg/args/holder.go (100%) rename {api => modules/api}/pkg/auth/api/common.go (100%) rename {api => modules/api}/pkg/auth/api/common_test.go (100%) rename {api => modules/api}/pkg/auth/api/types.go (100%) rename {api => modules/api}/pkg/auth/basic.go (100%) rename {api => modules/api}/pkg/auth/handler.go (100%) rename {api => modules/api}/pkg/auth/handler_test.go (100%) rename {api => modules/api}/pkg/auth/jwe/keyholder.go (100%) rename {api => modules/api}/pkg/auth/jwe/keyholder_test.go (100%) rename {api => modules/api}/pkg/auth/jwe/manager.go (100%) rename {api => modules/api}/pkg/auth/jwe/manager_test.go (100%) rename {api => modules/api}/pkg/auth/jwe/util.go (100%) rename {api => modules/api}/pkg/auth/kubeconfig.go (100%) rename {api => modules/api}/pkg/auth/kubeconfig_test.go (100%) rename {api => modules/api}/pkg/auth/manager.go (100%) rename {api => modules/api}/pkg/auth/manager_test.go (100%) rename {api => modules/api}/pkg/auth/token.go (100%) rename {api => modules/api}/pkg/cert/api/types.go (100%) rename {api => modules/api}/pkg/cert/ecdsa/creator.go (100%) rename {api => modules/api}/pkg/cert/ecdsa/creator_test.go (84%) rename {api => modules/api}/pkg/cert/manager.go (100%) rename {api => modules/api}/pkg/client/api/common.go (100%) rename {api => modules/api}/pkg/client/api/common_test.go (91%) rename {api => modules/api}/pkg/client/api/types.go (100%) rename {api => modules/api}/pkg/client/csrf/manager.go (100%) rename {api => modules/api}/pkg/client/csrf/manager_test.go (94%) rename {api => modules/api}/pkg/client/manager.go (100%) rename {api => modules/api}/pkg/client/manager_test.go (100%) rename {api => modules/api}/pkg/client/verber.go (100%) rename {api => modules/api}/pkg/client/verber_test.go (100%) rename {api => modules/api}/pkg/errors/errors.go (100%) rename {api => modules/api}/pkg/errors/handler.go (100%) rename {api => modules/api}/pkg/errors/handler_test.go (74%) rename {api => modules/api}/pkg/errors/localizer.go (100%) rename {api => modules/api}/pkg/errors/localizer_test.go (73%) rename {api => modules/api}/pkg/handler/apihandler.go (100%) rename {api => modules/api}/pkg/handler/apihandler_test.go (100%) rename {api => modules/api}/pkg/handler/confighandler.go (100%) rename {api => modules/api}/pkg/handler/download.go (100%) rename {api => modules/api}/pkg/handler/filter.go (100%) rename {api => modules/api}/pkg/handler/gziphandler.go (100%) rename {api => modules/api}/pkg/handler/localehandler.go (100%) rename {api => modules/api}/pkg/handler/localehandler_test.go (100%) rename {api => modules/api}/pkg/handler/metrics.go (100%) rename {api => modules/api}/pkg/handler/parser/parser.go (100%) rename {api => modules/api}/pkg/handler/terminal.go (100%) rename {api => modules/api}/pkg/integration/api/types.go (100%) rename {api => modules/api}/pkg/integration/handler.go (100%) rename {api => modules/api}/pkg/integration/handler_test.go (100%) rename {api => modules/api}/pkg/integration/list.go (100%) rename {api => modules/api}/pkg/integration/manager.go (100%) rename {api => modules/api}/pkg/integration/manager_test.go (100%) rename {api => modules/api}/pkg/integration/metric/api/types.go (100%) rename {api => modules/api}/pkg/integration/metric/common/aggregation.go (100%) rename {api => modules/api}/pkg/integration/metric/common/aggregation_test.go (100%) rename {api => modules/api}/pkg/integration/metric/heapster/client.go (100%) rename {api => modules/api}/pkg/integration/metric/heapster/client_test.go (100%) rename {api => modules/api}/pkg/integration/metric/heapster/common.go (100%) rename {api => modules/api}/pkg/integration/metric/heapster/model.go (100%) rename {api => modules/api}/pkg/integration/metric/heapster/restclient.go (100%) rename {api => modules/api}/pkg/integration/metric/heapster/selector.go (100%) rename {api => modules/api}/pkg/integration/metric/heapster/selector_test.go (100%) rename {api => modules/api}/pkg/integration/metric/manager.go (100%) rename {api => modules/api}/pkg/integration/metric/manager_test.go (100%) rename {api => modules/api}/pkg/integration/metric/sidecar/client.go (100%) rename {api => modules/api}/pkg/integration/metric/sidecar/client_test.go (100%) rename {api => modules/api}/pkg/integration/metric/sidecar/common.go (100%) rename {api => modules/api}/pkg/integration/metric/sidecar/model.go (100%) rename {api => modules/api}/pkg/integration/metric/sidecar/restclient.go (100%) rename {api => modules/api}/pkg/integration/metric/sidecar/selector.go (100%) rename {api => modules/api}/pkg/integration/metric/sidecar/selector_test.go (100%) rename {api => modules/api}/pkg/plugin/apis/register.go (100%) rename {api => modules/api}/pkg/plugin/apis/v1alpha1/doc.go (100%) rename {api => modules/api}/pkg/plugin/apis/v1alpha1/register.go (100%) rename {api => modules/api}/pkg/plugin/apis/v1alpha1/types.go (100%) rename {api => modules/api}/pkg/plugin/apis/v1alpha1/zz_generated.deepcopy.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/clientset.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/doc.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/fake/doc.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/fake/register.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/scheme/doc.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/scheme/register.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go (100%) rename {api => modules/api}/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go (100%) rename {api => modules/api}/pkg/plugin/client/informers/externalversions/apis/interface.go (100%) rename {api => modules/api}/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go (100%) rename {api => modules/api}/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go (100%) rename {api => modules/api}/pkg/plugin/client/informers/externalversions/factory.go (100%) rename {api => modules/api}/pkg/plugin/client/informers/externalversions/generic.go (100%) rename {api => modules/api}/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go (100%) rename {api => modules/api}/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go (100%) rename {api => modules/api}/pkg/plugin/client/listers/apis/v1alpha1/plugin.go (100%) rename {api => modules/api}/pkg/plugin/config.go (100%) rename {api => modules/api}/pkg/plugin/config_test.go (100%) rename {api => modules/api}/pkg/plugin/detail.go (100%) rename {api => modules/api}/pkg/plugin/detail_test.go (100%) rename {api => modules/api}/pkg/plugin/handler.go (100%) rename {api => modules/api}/pkg/plugin/handler_test.go (100%) rename {api => modules/api}/pkg/plugin/list.go (100%) rename {api => modules/api}/pkg/plugin/list_test.go (100%) rename {api => modules/api}/pkg/resource/clusterrole/common.go (100%) rename {api => modules/api}/pkg/resource/clusterrole/detail.go (100%) rename {api => modules/api}/pkg/resource/clusterrole/list.go (100%) rename {api => modules/api}/pkg/resource/clusterrole/list_test.go (100%) rename {api => modules/api}/pkg/resource/clusterrolebinding/common.go (100%) rename {api => modules/api}/pkg/resource/clusterrolebinding/detail.go (100%) rename {api => modules/api}/pkg/resource/clusterrolebinding/list.go (100%) rename {api => modules/api}/pkg/resource/clusterrolebinding/list_test.go (100%) rename {api => modules/api}/pkg/resource/common/condition.go (100%) rename {api => modules/api}/pkg/resource/common/endpoint.go (100%) rename {api => modules/api}/pkg/resource/common/endpoint_test.go (100%) rename {api => modules/api}/pkg/resource/common/event.go (100%) rename {api => modules/api}/pkg/resource/common/namespace.go (100%) rename {api => modules/api}/pkg/resource/common/namespace_test.go (100%) rename {api => modules/api}/pkg/resource/common/pod.go (100%) rename {api => modules/api}/pkg/resource/common/pod_test.go (100%) rename {api => modules/api}/pkg/resource/common/podinfo.go (100%) rename {api => modules/api}/pkg/resource/common/podinfo_test.go (100%) rename {api => modules/api}/pkg/resource/common/resourcechannels.go (100%) rename {api => modules/api}/pkg/resource/common/resourcestatus.go (100%) rename {api => modules/api}/pkg/resource/common/service.go (100%) rename {api => modules/api}/pkg/resource/common/service_test.go (100%) rename {api => modules/api}/pkg/resource/common/serviceport.go (100%) rename {api => modules/api}/pkg/resource/common/serviceport_test.go (100%) rename {api => modules/api}/pkg/resource/configmap/common.go (100%) rename {api => modules/api}/pkg/resource/configmap/detail.go (100%) rename {api => modules/api}/pkg/resource/configmap/detail_test.go (100%) rename {api => modules/api}/pkg/resource/configmap/list.go (100%) rename {api => modules/api}/pkg/resource/configmap/list_test.go (100%) rename {api => modules/api}/pkg/resource/container/logs.go (100%) rename {api => modules/api}/pkg/resource/container/logs_test.go (100%) rename {api => modules/api}/pkg/resource/controller/controller.go (100%) rename {api => modules/api}/pkg/resource/controller/controller_test.go (100%) rename {api => modules/api}/pkg/resource/cronjob/common.go (100%) rename {api => modules/api}/pkg/resource/cronjob/common_test.go (100%) rename {api => modules/api}/pkg/resource/cronjob/detail.go (100%) rename {api => modules/api}/pkg/resource/cronjob/detail_test.go (91%) rename {api => modules/api}/pkg/resource/cronjob/events.go (100%) rename {api => modules/api}/pkg/resource/cronjob/events_test.go (94%) rename {api => modules/api}/pkg/resource/cronjob/jobs.go (100%) rename {api => modules/api}/pkg/resource/cronjob/jobs_test.go (90%) rename {api => modules/api}/pkg/resource/cronjob/list.go (100%) rename {api => modules/api}/pkg/resource/cronjob/list_test.go (90%) rename {api => modules/api}/pkg/resource/customresourcedefinition/common.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/events.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/events_test.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/types/types.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/v1/client.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/v1/common.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/v1/detail.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/v1/list.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/v1/list_test.go (100%) rename {api => modules/api}/pkg/resource/customresourcedefinition/v1/objects.go (100%) rename {api => modules/api}/pkg/resource/daemonset/common.go (100%) rename {api => modules/api}/pkg/resource/daemonset/common_test.go (100%) rename {api => modules/api}/pkg/resource/daemonset/detail.go (100%) rename {api => modules/api}/pkg/resource/daemonset/list.go (100%) rename {api => modules/api}/pkg/resource/daemonset/list_test.go (100%) rename {api => modules/api}/pkg/resource/daemonset/pods.go (100%) rename {api => modules/api}/pkg/resource/daemonset/services.go (100%) rename {api => modules/api}/pkg/resource/dataselect/dataselect.go (100%) rename {api => modules/api}/pkg/resource/dataselect/dataselect_test.go (100%) rename {api => modules/api}/pkg/resource/dataselect/dataselectquery.go (100%) rename {api => modules/api}/pkg/resource/dataselect/pagination.go (100%) rename {api => modules/api}/pkg/resource/dataselect/pagination_test.go (100%) rename {api => modules/api}/pkg/resource/dataselect/propertyname.go (100%) rename {api => modules/api}/pkg/resource/dataselect/stdcomparabletypes.go (100%) rename {api => modules/api}/pkg/resource/dataselect/stdcomparabletypes_test.go (100%) rename {api => modules/api}/pkg/resource/deployment/common.go (100%) rename {api => modules/api}/pkg/resource/deployment/deploy.go (100%) rename {api => modules/api}/pkg/resource/deployment/deploy_test.go (100%) rename {api => modules/api}/pkg/resource/deployment/detail.go (100%) rename {api => modules/api}/pkg/resource/deployment/detail_test.go (100%) rename {api => modules/api}/pkg/resource/deployment/list.go (100%) rename {api => modules/api}/pkg/resource/deployment/list_test.go (100%) rename {api => modules/api}/pkg/resource/deployment/newreplicasets.go (100%) rename {api => modules/api}/pkg/resource/deployment/oldreplicasets.go (100%) rename {api => modules/api}/pkg/resource/deployment/pods.go (100%) rename {api => modules/api}/pkg/resource/deployment/rollout.go (100%) rename {api => modules/api}/pkg/resource/deployment/util.go (100%) rename {api => modules/api}/pkg/resource/endpoint/endpoint.go (100%) rename {api => modules/api}/pkg/resource/endpoint/list.go (100%) rename {api => modules/api}/pkg/resource/event/common.go (100%) rename {api => modules/api}/pkg/resource/event/common_test.go (100%) rename {api => modules/api}/pkg/resource/event/event.go (100%) rename {api => modules/api}/pkg/resource/event/event_test.go (100%) rename {api => modules/api}/pkg/resource/event/list.go (100%) rename {api => modules/api}/pkg/resource/horizontalpodautoscaler/common.go (100%) rename {api => modules/api}/pkg/resource/horizontalpodautoscaler/detail.go (100%) rename {api => modules/api}/pkg/resource/horizontalpodautoscaler/detail_test.go (100%) rename {api => modules/api}/pkg/resource/horizontalpodautoscaler/list.go (100%) rename {api => modules/api}/pkg/resource/horizontalpodautoscaler/list_test.go (100%) rename {api => modules/api}/pkg/resource/ingress/common.go (100%) rename {api => modules/api}/pkg/resource/ingress/detail.go (100%) rename {api => modules/api}/pkg/resource/ingress/filter.go (100%) rename {api => modules/api}/pkg/resource/ingress/list.go (100%) rename {api => modules/api}/pkg/resource/job/common.go (100%) rename {api => modules/api}/pkg/resource/job/detail.go (100%) rename {api => modules/api}/pkg/resource/job/detail_test.go (100%) rename {api => modules/api}/pkg/resource/job/events.go (100%) rename {api => modules/api}/pkg/resource/job/events_test.go (100%) rename {api => modules/api}/pkg/resource/job/list.go (100%) rename {api => modules/api}/pkg/resource/job/list_test.go (100%) rename {api => modules/api}/pkg/resource/job/pods.go (100%) rename {api => modules/api}/pkg/resource/limitrange/detail.go (100%) rename {api => modules/api}/pkg/resource/limitrange/detail_test.go (100%) rename {api => modules/api}/pkg/resource/logs/logs.go (100%) rename {api => modules/api}/pkg/resource/logs/source.go (100%) rename {api => modules/api}/pkg/resource/namespace/common.go (100%) rename {api => modules/api}/pkg/resource/namespace/detail.go (100%) rename {api => modules/api}/pkg/resource/namespace/detail_test.go (100%) rename {api => modules/api}/pkg/resource/namespace/list.go (100%) rename {api => modules/api}/pkg/resource/namespace/list_test.go (100%) rename {api => modules/api}/pkg/resource/networkpolicy/common.go (100%) rename {api => modules/api}/pkg/resource/networkpolicy/detail.go (100%) rename {api => modules/api}/pkg/resource/networkpolicy/list.go (100%) rename {api => modules/api}/pkg/resource/node/common.go (100%) rename {api => modules/api}/pkg/resource/node/detail.go (100%) rename {api => modules/api}/pkg/resource/node/detail_test.go (100%) rename {api => modules/api}/pkg/resource/node/list.go (100%) rename {api => modules/api}/pkg/resource/node/list_test.go (100%) rename {api => modules/api}/pkg/resource/persistentvolume/common.go (100%) rename {api => modules/api}/pkg/resource/persistentvolume/common_test.go (100%) rename {api => modules/api}/pkg/resource/persistentvolume/detail.go (100%) rename {api => modules/api}/pkg/resource/persistentvolume/detail_test.go (100%) rename {api => modules/api}/pkg/resource/persistentvolume/list.go (100%) rename {api => modules/api}/pkg/resource/persistentvolume/list_test.go (100%) rename {api => modules/api}/pkg/resource/persistentvolumeclaim/common.go (100%) rename {api => modules/api}/pkg/resource/persistentvolumeclaim/common_test.go (100%) rename {api => modules/api}/pkg/resource/persistentvolumeclaim/detail.go (100%) rename {api => modules/api}/pkg/resource/persistentvolumeclaim/detail_test.go (100%) rename {api => modules/api}/pkg/resource/persistentvolumeclaim/list.go (100%) rename {api => modules/api}/pkg/resource/persistentvolumeclaim/list_test.go (100%) rename {api => modules/api}/pkg/resource/pod/common.go (100%) rename {api => modules/api}/pkg/resource/pod/common_test.go (100%) rename {api => modules/api}/pkg/resource/pod/detail.go (100%) rename {api => modules/api}/pkg/resource/pod/detail_test.go (100%) rename {api => modules/api}/pkg/resource/pod/events.go (100%) rename {api => modules/api}/pkg/resource/pod/events_test.go (100%) rename {api => modules/api}/pkg/resource/pod/fieldpath.go (100%) rename {api => modules/api}/pkg/resource/pod/fieldpath_test.go (100%) rename {api => modules/api}/pkg/resource/pod/list.go (100%) rename {api => modules/api}/pkg/resource/pod/list_test.go (93%) rename {api => modules/api}/pkg/resource/pod/metrics.go (100%) rename {api => modules/api}/pkg/resource/replicaset/common.go (100%) rename {api => modules/api}/pkg/resource/replicaset/common_test.go (100%) rename {api => modules/api}/pkg/resource/replicaset/detail.go (100%) rename {api => modules/api}/pkg/resource/replicaset/detail_test.go (100%) rename {api => modules/api}/pkg/resource/replicaset/list.go (100%) rename {api => modules/api}/pkg/resource/replicaset/list_test.go (100%) rename {api => modules/api}/pkg/resource/replicaset/pods.go (100%) rename {api => modules/api}/pkg/resource/replicaset/services.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/common.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/common_test.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/detail.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/detail_test.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/list.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/list_test.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/pods.go (100%) rename {api => modules/api}/pkg/resource/replicationcontroller/services.go (100%) rename {api => modules/api}/pkg/resource/resourcequota/detail.go (100%) rename {api => modules/api}/pkg/resource/resourcequota/detail_test.go (100%) rename {api => modules/api}/pkg/resource/role/common.go (100%) rename {api => modules/api}/pkg/resource/role/detail.go (100%) rename {api => modules/api}/pkg/resource/role/list.go (100%) rename {api => modules/api}/pkg/resource/role/list_test.go (100%) rename {api => modules/api}/pkg/resource/rolebinding/common.go (100%) rename {api => modules/api}/pkg/resource/rolebinding/detail.go (100%) rename {api => modules/api}/pkg/resource/rolebinding/list.go (100%) rename {api => modules/api}/pkg/resource/rolebinding/list_test.go (100%) rename {api => modules/api}/pkg/resource/secret/common.go (100%) rename {api => modules/api}/pkg/resource/secret/detail.go (100%) rename {api => modules/api}/pkg/resource/secret/detail_test.go (100%) rename {api => modules/api}/pkg/resource/secret/list.go (100%) rename {api => modules/api}/pkg/resource/secret/list_test.go (100%) rename {api => modules/api}/pkg/resource/service/common.go (100%) rename {api => modules/api}/pkg/resource/service/detail.go (100%) rename {api => modules/api}/pkg/resource/service/detail_test.go (100%) rename {api => modules/api}/pkg/resource/service/events.go (100%) rename {api => modules/api}/pkg/resource/service/events_test.go (100%) rename {api => modules/api}/pkg/resource/service/ingress.go (100%) rename {api => modules/api}/pkg/resource/service/list.go (100%) rename {api => modules/api}/pkg/resource/service/list_test.go (100%) rename {api => modules/api}/pkg/resource/service/pods.go (100%) rename {api => modules/api}/pkg/resource/service/pods_test.go (100%) rename {api => modules/api}/pkg/resource/serviceaccount/common.go (100%) rename {api => modules/api}/pkg/resource/serviceaccount/detail.go (100%) rename {api => modules/api}/pkg/resource/serviceaccount/list.go (100%) rename {api => modules/api}/pkg/resource/serviceaccount/secrets.go (100%) rename {api => modules/api}/pkg/resource/statefulset/common.go (100%) rename {api => modules/api}/pkg/resource/statefulset/detail.go (100%) rename {api => modules/api}/pkg/resource/statefulset/list.go (100%) rename {api => modules/api}/pkg/resource/statefulset/list_test.go (100%) rename {api => modules/api}/pkg/resource/statefulset/pods.go (100%) rename {api => modules/api}/pkg/resource/storageclass/common.go (100%) rename {api => modules/api}/pkg/resource/storageclass/detail.go (100%) rename {api => modules/api}/pkg/resource/storageclass/detail_test.go (100%) rename {api => modules/api}/pkg/resource/storageclass/list.go (100%) rename {api => modules/api}/pkg/resource/storageclass/list_test.go (100%) rename {api => modules/api}/pkg/scaling/scale.go (100%) rename {api => modules/api}/pkg/settings/api/types.go (100%) rename {api => modules/api}/pkg/settings/handler.go (100%) rename {api => modules/api}/pkg/settings/handler_test.go (100%) rename {api => modules/api}/pkg/settings/manager.go (100%) rename {api => modules/api}/pkg/settings/manager_test.go (100%) rename {api => modules/api}/pkg/sync/api/types.go (100%) rename {api => modules/api}/pkg/sync/manager.go (100%) rename {api => modules/api}/pkg/sync/manager_test.go (100%) rename {api => modules/api}/pkg/sync/overwatch.go (100%) rename {api => modules/api}/pkg/sync/poll/secret.go (100%) rename {api => modules/api}/pkg/sync/poll/secret_test.go (90%) rename {api => modules/api}/pkg/sync/poll/watcher.go (100%) rename {api => modules/api}/pkg/sync/poll/watcher_test.go (91%) rename {api => modules/api}/pkg/sync/secret.go (100%) rename {api => modules/api}/pkg/sync/secret_test.go (100%) rename {api => modules/api}/pkg/systembanner/api/types.go (100%) rename {api => modules/api}/pkg/systembanner/handler.go (100%) rename {api => modules/api}/pkg/systembanner/manager.go (100%) rename {api => modules/api}/pkg/validation/validateappname.go (100%) rename {api => modules/api}/pkg/validation/validateappname_test.go (100%) rename {api => modules/api}/pkg/validation/validateimagereference.go (100%) rename {api => modules/api}/pkg/validation/validateimagereference_test.go (100%) rename {api => modules/api}/pkg/validation/validateloginstatus.go (100%) rename {api => modules/api}/pkg/validation/validateloginstatus_test.go (100%) rename {api => modules/api}/pkg/validation/validateprotocol.go (100%) rename {api => modules/api}/pkg/validation/validateprotocol_test.go (100%) rename {api => modules/api}/pkg/validation/validaterbacstatus.go (100%) rename {api => modules/api}/pkg/validation/validaterbacstatus_test.go (100%) rename {web => modules/web}/.babelrc (100%) rename {web => modules/web}/.browserslistrc (100%) rename {web => modules/web}/.dockerignore (100%) rename {web => modules/web}/.eslintignore (100%) rename {web => modules/web}/.eslintrc.yaml (100%) rename {web => modules/web}/.gitignore (100%) rename {web => modules/web}/.jsbeautifyrc (100%) rename {web => modules/web}/.npmrc (100%) rename {web => modules/web}/.prettierrc.cjs (100%) rename {web => modules/web}/.stylelintrc.yaml (100%) rename {web => modules/web}/angular.json (100%) rename {web => modules/web}/cypress.json (100%) rename {web => modules/web}/cypress/fixtures/crd.yaml (100%) rename {web => modules/web}/cypress/fixtures/example-foo.yaml (100%) rename {web => modules/web}/cypress/integration/specs/nav.spec.ts (100%) rename {web => modules/web}/cypress/integration/specs/userpanel.spec.ts (100%) rename {web => modules/web}/cypress/pages/abstractPage.ts (100%) rename {web => modules/web}/cypress/pages/navbarPage.ts (100%) rename {web => modules/web}/cypress/pages/userpanelPage.ts (100%) rename {web => modules/web}/cypress/plugins/cy-ts-preprocessor.ts (100%) rename {web => modules/web}/cypress/plugins/index.ts (100%) rename {web => modules/web}/cypress/support/index.ts (100%) rename {web => modules/web}/i18n/de/OWNERS (100%) rename {web => modules/web}/i18n/de/messages.de.xlf (100%) rename {web => modules/web}/i18n/es/OWNERS (100%) rename {web => modules/web}/i18n/es/messages.es.xlf (100%) rename {web => modules/web}/i18n/fr/OWNERS (100%) rename {web => modules/web}/i18n/fr/messages.fr.xlf (100%) rename {web => modules/web}/i18n/ja/OWNERS (100%) rename {web => modules/web}/i18n/ja/README.md (100%) rename {web => modules/web}/i18n/ja/messages.ja.xlf (100%) rename {web => modules/web}/i18n/ko/OWNERS (100%) rename {web => modules/web}/i18n/ko/messages.ko.xlf (100%) rename {web => modules/web}/i18n/locale_conf.json (100%) rename {web => modules/web}/i18n/messages.xlf (100%) rename {web => modules/web}/i18n/zh-Hans/OWNERS (100%) rename {web => modules/web}/i18n/zh-Hans/messages.zh-Hans.xlf (100%) rename {web => modules/web}/i18n/zh-Hant-HK/OWNERS (100%) rename {web => modules/web}/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf (100%) rename {web => modules/web}/i18n/zh-Hant/OWNERS (100%) rename {web => modules/web}/i18n/zh-Hant/messages.zh-Hant.xlf (100%) rename {web => modules/web}/jest.config.js (100%) rename {web => modules/web}/package-lock.json (100%) rename {web => modules/web}/package.json (100%) rename {web => modules/web}/proxy-https.conf.json (100%) rename {web => modules/web}/proxy.conf.json (100%) rename {web => modules/web}/scripts/check-html.sh (100%) rename {web => modules/web}/scripts/version.mjs (100%) rename {web => modules/web}/scripts/xliffmerge.sh (100%) rename {web => modules/web}/src/_dark.scss (100%) rename {web => modules/web}/src/_light.scss (100%) rename {web => modules/web}/src/_mixins.scss (100%) rename {web => modules/web}/src/_theming.scss (100%) rename {web => modules/web}/src/_variables.scss (100%) rename {web => modules/web}/src/about/actionbar/component.ts (100%) rename {web => modules/web}/src/about/actionbar/template.html (100%) rename {web => modules/web}/src/about/component.spec.ts (100%) rename {web => modules/web}/src/about/component.ts (100%) rename {web => modules/web}/src/about/module.ts (100%) rename {web => modules/web}/src/about/routing.ts (100%) rename {web => modules/web}/src/about/style.scss (100%) rename {web => modules/web}/src/about/template.html (100%) rename {web => modules/web}/src/assets/config/config.json (100%) rename {web => modules/web}/src/assets/images/kubernetes-logo-text.svg (100%) rename {web => modules/web}/src/assets/images/kubernetes-logo.png (100%) rename {web => modules/web}/src/assets/images/kubernetes-logo.svg (100%) rename {web => modules/web}/src/assets/images/pin-crossed.svg (100%) rename {web => modules/web}/src/assets/images/pin.svg (100%) rename {web => modules/web}/src/assets/robots.txt (100%) rename {web => modules/web}/src/chrome/component.ts (100%) rename {web => modules/web}/src/chrome/module.ts (100%) rename {web => modules/web}/src/chrome/nav/component.ts (100%) rename {web => modules/web}/src/chrome/nav/hamburger/component.ts (100%) rename {web => modules/web}/src/chrome/nav/hamburger/template.html (100%) rename {web => modules/web}/src/chrome/nav/item/component.ts (100%) rename {web => modules/web}/src/chrome/nav/item/style.scss (100%) rename {web => modules/web}/src/chrome/nav/item/template.html (100%) rename {web => modules/web}/src/chrome/nav/module.ts (100%) rename {web => modules/web}/src/chrome/nav/pinner/component.ts (100%) rename {web => modules/web}/src/chrome/nav/pinner/template.html (100%) rename {web => modules/web}/src/chrome/nav/style.scss (100%) rename {web => modules/web}/src/chrome/nav/template.html (100%) rename {web => modules/web}/src/chrome/notifications/component.ts (100%) rename {web => modules/web}/src/chrome/notifications/style.scss (100%) rename {web => modules/web}/src/chrome/notifications/template.html (100%) rename {web => modules/web}/src/chrome/routing.ts (100%) rename {web => modules/web}/src/chrome/search/component.ts (100%) rename {web => modules/web}/src/chrome/search/style.scss (100%) rename {web => modules/web}/src/chrome/search/template.html (100%) rename {web => modules/web}/src/chrome/style.scss (100%) rename {web => modules/web}/src/chrome/template.html (100%) rename {web => modules/web}/src/chrome/userpanel/component.ts (100%) rename {web => modules/web}/src/chrome/userpanel/style.scss (100%) rename {web => modules/web}/src/chrome/userpanel/template.html (100%) rename {web => modules/web}/src/common/animations/animations.ts (100%) rename {web => modules/web}/src/common/components/actionbar/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/delete/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/delete/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/edit/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/edit/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/exec/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/exec/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/logs/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/logs/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/pin/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/pin/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/restart/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/restart/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/scale/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/scale/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/trigger/component.ts (100%) rename {web => modules/web}/src/common/components/actionbar/detailactions/trigger/template.html (100%) rename {web => modules/web}/src/common/components/actionbar/template.html (100%) rename {web => modules/web}/src/common/components/actionbars/default/component.ts (100%) rename {web => modules/web}/src/common/components/actionbars/default/template.html (100%) rename {web => modules/web}/src/common/components/actionbars/logsdefault/component.ts (100%) rename {web => modules/web}/src/common/components/actionbars/logsdefault/template.html (100%) rename {web => modules/web}/src/common/components/actionbars/logsexecdefault/component.ts (100%) rename {web => modules/web}/src/common/components/actionbars/logsexecdefault/template.html (100%) rename {web => modules/web}/src/common/components/actionbars/logsscaledefault/component.ts (100%) rename {web => modules/web}/src/common/components/actionbars/logsscaledefault/template.html (100%) rename {web => modules/web}/src/common/components/actionbars/pindefault/component.ts (100%) rename {web => modules/web}/src/common/components/actionbars/pindefault/template.html (100%) rename {web => modules/web}/src/common/components/actionbars/routing.ts (100%) rename {web => modules/web}/src/common/components/actionbars/scaledefault/component.ts (100%) rename {web => modules/web}/src/common/components/actionbars/scaledefault/template.html (100%) rename {web => modules/web}/src/common/components/actionbars/triggerdefault/component.ts (100%) rename {web => modules/web}/src/common/components/actionbars/triggerdefault/template.html (100%) rename {web => modules/web}/src/common/components/breadcrumbs/component.ts (100%) rename {web => modules/web}/src/common/components/breadcrumbs/style.scss (100%) rename {web => modules/web}/src/common/components/breadcrumbs/template.html (100%) rename {web => modules/web}/src/common/components/card/component.spec.ts (100%) rename {web => modules/web}/src/common/components/card/component.ts (100%) rename {web => modules/web}/src/common/components/card/style.scss (100%) rename {web => modules/web}/src/common/components/card/template.html (100%) rename {web => modules/web}/src/common/components/chips/chipdialog/dialog.ts (100%) rename {web => modules/web}/src/common/components/chips/chipdialog/template.html (100%) rename {web => modules/web}/src/common/components/chips/component.ts (100%) rename {web => modules/web}/src/common/components/chips/style.scss (100%) rename {web => modules/web}/src/common/components/chips/template.html (100%) rename {web => modules/web}/src/common/components/condition/component.ts (100%) rename {web => modules/web}/src/common/components/condition/template.html (100%) rename {web => modules/web}/src/common/components/container/component.ts (100%) rename {web => modules/web}/src/common/components/container/style.scss (100%) rename {web => modules/web}/src/common/components/container/template.html (100%) rename {web => modules/web}/src/common/components/creator/component.ts (100%) rename {web => modules/web}/src/common/components/creator/template.html (100%) rename {web => modules/web}/src/common/components/date/component.ts (100%) rename {web => modules/web}/src/common/components/date/style.scss (100%) rename {web => modules/web}/src/common/components/date/template.html (100%) rename {web => modules/web}/src/common/components/endpoint/cardlist/component.ts (100%) rename {web => modules/web}/src/common/components/endpoint/cardlist/style.scss (100%) rename {web => modules/web}/src/common/components/endpoint/cardlist/template.html (100%) rename {web => modules/web}/src/common/components/endpoint/external/component.ts (100%) rename {web => modules/web}/src/common/components/endpoint/external/style.scss (100%) rename {web => modules/web}/src/common/components/endpoint/external/template.html (100%) rename {web => modules/web}/src/common/components/endpoint/internal/component.ts (100%) rename {web => modules/web}/src/common/components/endpoint/internal/style.scss (100%) rename {web => modules/web}/src/common/components/endpoint/internal/template.html (100%) rename {web => modules/web}/src/common/components/graph/component.ts (100%) rename {web => modules/web}/src/common/components/graph/helper.ts (100%) rename {web => modules/web}/src/common/components/graph/style.scss (100%) rename {web => modules/web}/src/common/components/graph/template.html (100%) rename {web => modules/web}/src/common/components/graphcard/component.spec.ts (100%) rename {web => modules/web}/src/common/components/graphcard/component.ts (100%) rename {web => modules/web}/src/common/components/graphcard/template.html (100%) rename {web => modules/web}/src/common/components/graphmetrics/component.ts (100%) rename {web => modules/web}/src/common/components/graphmetrics/template.html (100%) rename {web => modules/web}/src/common/components/hiddenproperty/component.ts (100%) rename {web => modules/web}/src/common/components/hiddenproperty/style.scss (100%) rename {web => modules/web}/src/common/components/hiddenproperty/template.html (100%) rename {web => modules/web}/src/common/components/ingressrulelist/component.ts (100%) rename {web => modules/web}/src/common/components/ingressrulelist/template.html (100%) rename {web => modules/web}/src/common/components/limits/component.ts (100%) rename {web => modules/web}/src/common/components/limits/template.html (100%) rename {web => modules/web}/src/common/components/list/column/component.ts (100%) rename {web => modules/web}/src/common/components/list/column/menu/component.ts (100%) rename {web => modules/web}/src/common/components/list/column/menu/template.html (100%) rename {web => modules/web}/src/common/components/list/column/template.html (100%) rename {web => modules/web}/src/common/components/list/filter/component.ts (100%) rename {web => modules/web}/src/common/components/list/filter/style.scss (100%) rename {web => modules/web}/src/common/components/list/filter/template.html (100%) rename {web => modules/web}/src/common/components/list/rowdetail/component.ts (100%) rename {web => modules/web}/src/common/components/list/rowdetail/style.scss (100%) rename {web => modules/web}/src/common/components/list/rowdetail/template.html (100%) rename {web => modules/web}/src/common/components/list/spinner/component.ts (100%) rename {web => modules/web}/src/common/components/list/spinner/template.html (100%) rename {web => modules/web}/src/common/components/list/zerostate/component.ts (100%) rename {web => modules/web}/src/common/components/list/zerostate/style.scss (100%) rename {web => modules/web}/src/common/components/list/zerostate/template.html (100%) rename {web => modules/web}/src/common/components/module.ts (100%) rename {web => modules/web}/src/common/components/namespace/changedialog/dialog.ts (100%) rename {web => modules/web}/src/common/components/namespace/changedialog/template.html (100%) rename {web => modules/web}/src/common/components/namespace/component.ts (100%) rename {web => modules/web}/src/common/components/namespace/style.scss (100%) rename {web => modules/web}/src/common/components/namespace/template.html (100%) rename {web => modules/web}/src/common/components/objectmeta/component.spec.ts (100%) rename {web => modules/web}/src/common/components/objectmeta/component.ts (100%) rename {web => modules/web}/src/common/components/objectmeta/template.html (100%) rename {web => modules/web}/src/common/components/podstatus/component.ts (100%) rename {web => modules/web}/src/common/components/podstatus/template.html (100%) rename {web => modules/web}/src/common/components/policyrule/component.ts (100%) rename {web => modules/web}/src/common/components/policyrule/template.html (100%) rename {web => modules/web}/src/common/components/probe/component.ts (100%) rename {web => modules/web}/src/common/components/probe/template.html (100%) rename {web => modules/web}/src/common/components/property/component.ts (100%) rename {web => modules/web}/src/common/components/property/style.scss (100%) rename {web => modules/web}/src/common/components/property/template.html (100%) rename {web => modules/web}/src/common/components/proxy/component.ts (100%) rename {web => modules/web}/src/common/components/quotas/component.ts (100%) rename {web => modules/web}/src/common/components/quotas/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/clusterrole/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/clusterrole/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/clusterrolebinding/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/clusterrolebinding/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/configmap/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/configmap/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/crd/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/crd/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/crdobject/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/crdobject/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/crdversion/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/crdversion/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/cronjob/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/cronjob/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/daemonset/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/daemonset/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/deployment/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/deployment/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/event/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/event/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/groupids.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/horizontalpodautoscaler/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/horizontalpodautoscaler/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/ingress/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/ingress/style.scss (100%) rename {web => modules/web}/src/common/components/resourcelist/ingress/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/job/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/job/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/namespace/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/namespace/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/networkpolicy/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/networkpolicy/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/node/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/node/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/persistentvolume/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/persistentvolume/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/persistentvolumeclaim/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/persistentvolumeclaim/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/plugin/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/plugin/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/pod/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/pod/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/replicaset/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/replicaset/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/replicationcontroller/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/replicationcontroller/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/role/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/role/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/rolebinding/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/rolebinding/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/secret/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/secret/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/service/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/service/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/serviceaccount/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/serviceaccount/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/statefulset/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/statefulset/template.html (100%) rename {web => modules/web}/src/common/components/resourcelist/statuses.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/storageclass/component.ts (100%) rename {web => modules/web}/src/common/components/resourcelist/storageclass/template.html (100%) rename {web => modules/web}/src/common/components/securitycontext/component.ts (100%) rename {web => modules/web}/src/common/components/securitycontext/template.html (100%) rename {web => modules/web}/src/common/components/sparkline/cpu/component.ts (100%) rename {web => modules/web}/src/common/components/sparkline/cpu/template.html (100%) rename {web => modules/web}/src/common/components/sparkline/memory/component.ts (100%) rename {web => modules/web}/src/common/components/sparkline/memory/template.html (100%) rename {web => modules/web}/src/common/components/sparkline/sparkline.ts (100%) rename {web => modules/web}/src/common/components/subject/component.ts (100%) rename {web => modules/web}/src/common/components/subject/template.html (100%) rename {web => modules/web}/src/common/components/textinput/component.ts (100%) rename {web => modules/web}/src/common/components/textinput/style.scss (100%) rename {web => modules/web}/src/common/components/textinput/template.html (100%) rename {web => modules/web}/src/common/components/uploadfile/component.ts (100%) rename {web => modules/web}/src/common/components/uploadfile/style.scss (100%) rename {web => modules/web}/src/common/components/uploadfile/template.html (100%) rename {web => modules/web}/src/common/components/volumemount/component.ts (100%) rename {web => modules/web}/src/common/components/volumemount/template.html (100%) rename {web => modules/web}/src/common/components/workloadstatus/component.spec.ts (100%) rename {web => modules/web}/src/common/components/workloadstatus/component.ts (100%) rename {web => modules/web}/src/common/components/workloadstatus/style.scss (100%) rename {web => modules/web}/src/common/components/workloadstatus/template.html (100%) rename {web => modules/web}/src/common/components/zerostate/component.ts (100%) rename {web => modules/web}/src/common/components/zerostate/style.scss (100%) rename {web => modules/web}/src/common/components/zerostate/template.html (100%) rename {web => modules/web}/src/common/dialogs/alert/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/alert/template.html (100%) rename {web => modules/web}/src/common/dialogs/config/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/config/template.html (100%) rename {web => modules/web}/src/common/dialogs/deleteresource/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/deleteresource/template.html (100%) rename {web => modules/web}/src/common/dialogs/download/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/download/style.scss (100%) rename {web => modules/web}/src/common/dialogs/download/template.html (100%) rename {web => modules/web}/src/common/dialogs/editresource/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/editresource/template.html (100%) rename {web => modules/web}/src/common/dialogs/module.ts (100%) rename {web => modules/web}/src/common/dialogs/previewdeployment/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/previewdeployment/template.html (100%) rename {web => modules/web}/src/common/dialogs/restartresource/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/restartresource/template.html (100%) rename {web => modules/web}/src/common/dialogs/scaleresource/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/scaleresource/template.html (100%) rename {web => modules/web}/src/common/dialogs/triggerresource/dialog.ts (100%) rename {web => modules/web}/src/common/dialogs/triggerresource/template.html (100%) rename {web => modules/web}/src/common/directives/autofocus/directive.ts (100%) rename {web => modules/web}/src/common/directives/module.ts (100%) rename {web => modules/web}/src/common/errors/errors.ts (100%) rename {web => modules/web}/src/common/interfaces/candeactivate.ts (100%) rename {web => modules/web}/src/common/params/params.ts (100%) rename {web => modules/web}/src/common/pipes/commaseparated.ts (100%) rename {web => modules/web}/src/common/pipes/coreformatter.spec.ts (100%) rename {web => modules/web}/src/common/pipes/coreformatter.ts (100%) rename {web => modules/web}/src/common/pipes/filterby.ts (100%) rename {web => modules/web}/src/common/pipes/memoryformatter.spec.ts (100%) rename {web => modules/web}/src/common/pipes/memoryformatter.ts (100%) rename {web => modules/web}/src/common/pipes/module.ts (100%) rename {web => modules/web}/src/common/pipes/relativetime.ts (100%) rename {web => modules/web}/src/common/pipes/stripansi.ts (100%) rename {web => modules/web}/src/common/pipes/trim.ts (100%) rename {web => modules/web}/src/common/pipes/untrim.ts (100%) rename {web => modules/web}/src/common/resources/groupedlist.ts (100%) rename {web => modules/web}/src/common/resources/list.ts (100%) rename {web => modules/web}/src/common/resources/rawresource.ts (100%) rename {web => modules/web}/src/common/resources/resource.ts (100%) rename {web => modules/web}/src/common/services/create/module.ts (100%) rename {web => modules/web}/src/common/services/create/service.ts (100%) rename {web => modules/web}/src/common/services/global/actionbar.ts (100%) rename {web => modules/web}/src/common/services/global/assets.ts (100%) rename {web => modules/web}/src/common/services/global/authentication.ts (100%) rename {web => modules/web}/src/common/services/global/authorizer.ts (100%) rename {web => modules/web}/src/common/services/global/config.ts (100%) rename {web => modules/web}/src/common/services/global/csrftoken.ts (100%) rename {web => modules/web}/src/common/services/global/decoder.ts (100%) rename {web => modules/web}/src/common/services/global/globalsettings.ts (100%) rename {web => modules/web}/src/common/services/global/history.ts (100%) rename {web => modules/web}/src/common/services/global/interceptor.ts (100%) rename {web => modules/web}/src/common/services/global/loader.ts (100%) rename {web => modules/web}/src/common/services/global/localsettings.ts (100%) rename {web => modules/web}/src/common/services/global/logs.ts (100%) rename {web => modules/web}/src/common/services/global/module.ts (100%) rename {web => modules/web}/src/common/services/global/namespace.ts (100%) rename {web => modules/web}/src/common/services/global/notifications.ts (100%) rename {web => modules/web}/src/common/services/global/params.ts (100%) rename {web => modules/web}/src/common/services/global/pinner.ts (100%) rename {web => modules/web}/src/common/services/global/plugin.ts (100%) rename {web => modules/web}/src/common/services/global/state.ts (100%) rename {web => modules/web}/src/common/services/global/theme.ts (100%) rename {web => modules/web}/src/common/services/global/title.ts (100%) rename {web => modules/web}/src/common/services/global/verber.ts (100%) rename {web => modules/web}/src/common/services/guard/auth.ts (100%) rename {web => modules/web}/src/common/services/guard/candeactivate.ts (100%) rename {web => modules/web}/src/common/services/guard/login.ts (100%) rename {web => modules/web}/src/common/services/guard/module.ts (100%) rename {web => modules/web}/src/common/services/guard/search.ts (100%) rename {web => modules/web}/src/common/services/nav/module.ts (100%) rename {web => modules/web}/src/common/services/nav/service.ts (100%) rename {web => modules/web}/src/common/services/pluginloader/clientloader.service.ts (100%) rename {web => modules/web}/src/common/services/pluginloader/pluginexternals.ts (100%) rename {web => modules/web}/src/common/services/pluginloader/pluginloader.service.ts (100%) rename {web => modules/web}/src/common/services/resource/endpoint.ts (100%) rename {web => modules/web}/src/common/services/resource/module.ts (100%) rename {web => modules/web}/src/common/services/resource/resource.ts (100%) rename {web => modules/web}/src/common/services/resource/utility.ts (100%) rename {web => modules/web}/src/core.module.ts (100%) rename {web => modules/web}/src/crd/crdobject/component.ts (100%) rename {web => modules/web}/src/crd/crdobject/template.html (100%) rename {web => modules/web}/src/crd/detail/component.ts (100%) rename {web => modules/web}/src/crd/detail/template.html (100%) rename {web => modules/web}/src/crd/list/component.ts (100%) rename {web => modules/web}/src/crd/module.ts (100%) rename {web => modules/web}/src/crd/routing.ts (100%) rename {web => modules/web}/src/create/component.ts (100%) rename {web => modules/web}/src/create/from/file/component.ts (100%) rename {web => modules/web}/src/create/from/file/style.scss (100%) rename {web => modules/web}/src/create/from/file/template.html (100%) rename {web => modules/web}/src/create/from/form/component.ts (100%) rename {web => modules/web}/src/create/from/form/createnamespace/dialog.ts (100%) rename {web => modules/web}/src/create/from/form/createnamespace/template.html (100%) rename {web => modules/web}/src/create/from/form/createsecret/dialog.ts (100%) rename {web => modules/web}/src/create/from/form/createsecret/template.html (100%) rename {web => modules/web}/src/create/from/form/deploylabel/component.ts (100%) rename {web => modules/web}/src/create/from/form/deploylabel/deploylabel.ts (100%) rename {web => modules/web}/src/create/from/form/deploylabel/template.html (100%) rename {web => modules/web}/src/create/from/form/environmentvariables/component.ts (100%) rename {web => modules/web}/src/create/from/form/environmentvariables/template.html (100%) rename {web => modules/web}/src/create/from/form/helpsection/component.ts (100%) rename {web => modules/web}/src/create/from/form/helpsection/style.scss (100%) rename {web => modules/web}/src/create/from/form/helpsection/template.html (100%) rename {web => modules/web}/src/create/from/form/helpsection/userhelp/component.ts (100%) rename {web => modules/web}/src/create/from/form/helpsection/userhelp/style.scss (100%) rename {web => modules/web}/src/create/from/form/helpsection/userhelp/template.html (100%) rename {web => modules/web}/src/create/from/form/module.ts (100%) rename {web => modules/web}/src/create/from/form/portmappings/component.ts (100%) rename {web => modules/web}/src/create/from/form/portmappings/style.scss (100%) rename {web => modules/web}/src/create/from/form/portmappings/template.html (100%) rename {web => modules/web}/src/create/from/form/style.scss (100%) rename {web => modules/web}/src/create/from/form/template.html (100%) rename {web => modules/web}/src/create/from/form/validator/uniquename.validator.ts (100%) rename {web => modules/web}/src/create/from/form/validator/validators.ts (100%) rename {web => modules/web}/src/create/from/form/validator/validimagereference.validator.ts (100%) rename {web => modules/web}/src/create/from/form/validator/validprotocol.validator.ts (100%) rename {web => modules/web}/src/create/from/form/validator/warnthreshold.validator.ts (100%) rename {web => modules/web}/src/create/from/input/component.ts (100%) rename {web => modules/web}/src/create/from/input/style.scss (100%) rename {web => modules/web}/src/create/from/input/template.html (100%) rename {web => modules/web}/src/create/module.ts (100%) rename {web => modules/web}/src/create/routing.ts (100%) rename {web => modules/web}/src/create/style.scss (100%) rename {web => modules/web}/src/create/template.html (100%) rename {web => modules/web}/src/environments/environment.prod.ts (100%) rename {web => modules/web}/src/environments/environment.ts (100%) rename {web => modules/web}/src/error/component.ts (100%) rename {web => modules/web}/src/error/handler.ts (100%) rename {web => modules/web}/src/error/module.ts (100%) rename {web => modules/web}/src/error/routing.ts (100%) rename {web => modules/web}/src/error/style.scss (100%) rename {web => modules/web}/src/error/template.html (100%) rename {web => modules/web}/src/index.component.ts (100%) rename {web => modules/web}/src/index.config.ts (100%) rename {web => modules/web}/src/index.html (100%) rename {web => modules/web}/src/index.messages.ts (100%) rename {web => modules/web}/src/index.module.ts (100%) rename {web => modules/web}/src/index.routing.ts (100%) rename {web => modules/web}/src/index.scss (100%) rename {web => modules/web}/src/index.ts (100%) rename {web => modules/web}/src/login/component.spec.ts (100%) rename {web => modules/web}/src/login/component.ts (100%) rename {web => modules/web}/src/login/module.ts (100%) rename {web => modules/web}/src/login/style.scss (100%) rename {web => modules/web}/src/login/template.html (100%) rename {web => modules/web}/src/logs/component.ts (100%) rename {web => modules/web}/src/logs/module.ts (100%) rename {web => modules/web}/src/logs/routing.ts (100%) rename {web => modules/web}/src/logs/style.scss (100%) rename {web => modules/web}/src/logs/template.html (100%) rename {web => modules/web}/src/overview/component.spec.ts (100%) rename {web => modules/web}/src/overview/component.ts (100%) rename {web => modules/web}/src/overview/helper.ts (100%) rename {web => modules/web}/src/overview/module.ts (100%) rename {web => modules/web}/src/overview/routing.ts (100%) rename {web => modules/web}/src/overview/template.html (100%) rename {web => modules/web}/src/plugin/component.ts (100%) rename {web => modules/web}/src/plugin/detail/component.ts (100%) rename {web => modules/web}/src/plugin/holder.ts (100%) rename {web => modules/web}/src/plugin/list/component.ts (100%) rename {web => modules/web}/src/plugin/module.ts (100%) rename {web => modules/web}/src/plugin/routing.ts (100%) rename {web => modules/web}/src/plugin/template.html (100%) rename {web => modules/web}/src/polyfills.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrole/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrole/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/clusterrole/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrole/module.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrole/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrolebinding/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrolebinding/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/clusterrolebinding/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrolebinding/module.ts (100%) rename {web => modules/web}/src/resource/cluster/clusterrolebinding/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/component.ts (100%) rename {web => modules/web}/src/resource/cluster/event/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/event/module.ts (100%) rename {web => modules/web}/src/resource/cluster/event/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/module.ts (100%) rename {web => modules/web}/src/resource/cluster/namespace/detail/actionbar/component.ts (100%) rename {web => modules/web}/src/resource/cluster/namespace/detail/actionbar/template.html (100%) rename {web => modules/web}/src/resource/cluster/namespace/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/namespace/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/namespace/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/namespace/module.ts (100%) rename {web => modules/web}/src/resource/cluster/namespace/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/networkpolicy/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/networkpolicy/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/networkpolicy/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/networkpolicy/module.ts (100%) rename {web => modules/web}/src/resource/cluster/networkpolicy/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/node/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/node/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/node/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/node/module.ts (100%) rename {web => modules/web}/src/resource/cluster/node/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/detail/source/component.ts (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/detail/source/style.scss (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/detail/source/template.html (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/module.ts (100%) rename {web => modules/web}/src/resource/cluster/persistentvolume/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/role/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/role/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/role/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/role/module.ts (100%) rename {web => modules/web}/src/resource/cluster/role/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/rolebinding/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/rolebinding/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/rolebinding/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/rolebinding/module.ts (100%) rename {web => modules/web}/src/resource/cluster/rolebinding/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/serviceaccount/detail/component.ts (100%) rename {web => modules/web}/src/resource/cluster/serviceaccount/detail/template.html (100%) rename {web => modules/web}/src/resource/cluster/serviceaccount/list/component.ts (100%) rename {web => modules/web}/src/resource/cluster/serviceaccount/module.ts (100%) rename {web => modules/web}/src/resource/cluster/serviceaccount/routing.ts (100%) rename {web => modules/web}/src/resource/cluster/template.html (100%) rename {web => modules/web}/src/resource/config/component.ts (100%) rename {web => modules/web}/src/resource/config/configmap/detail/component.ts (100%) rename {web => modules/web}/src/resource/config/configmap/detail/template.html (100%) rename {web => modules/web}/src/resource/config/configmap/list/component.ts (100%) rename {web => modules/web}/src/resource/config/configmap/module.ts (100%) rename {web => modules/web}/src/resource/config/configmap/routing.ts (100%) rename {web => modules/web}/src/resource/config/module.ts (100%) rename {web => modules/web}/src/resource/config/persistentvolumeclaim/detail/component.ts (100%) rename {web => modules/web}/src/resource/config/persistentvolumeclaim/detail/template.html (100%) rename {web => modules/web}/src/resource/config/persistentvolumeclaim/list/component.ts (100%) rename {web => modules/web}/src/resource/config/persistentvolumeclaim/module.ts (100%) rename {web => modules/web}/src/resource/config/persistentvolumeclaim/routing.ts (100%) rename {web => modules/web}/src/resource/config/routing.ts (100%) rename {web => modules/web}/src/resource/config/secret/detail/component.ts (100%) rename {web => modules/web}/src/resource/config/secret/detail/edit/component.ts (100%) rename {web => modules/web}/src/resource/config/secret/detail/edit/style.scss (100%) rename {web => modules/web}/src/resource/config/secret/detail/edit/template.html (100%) rename {web => modules/web}/src/resource/config/secret/detail/template.html (100%) rename {web => modules/web}/src/resource/config/secret/list/component.ts (100%) rename {web => modules/web}/src/resource/config/secret/list/template.html (100%) rename {web => modules/web}/src/resource/config/secret/module.ts (100%) rename {web => modules/web}/src/resource/config/secret/routing.ts (100%) rename {web => modules/web}/src/resource/config/storageclass/detail/component.ts (100%) rename {web => modules/web}/src/resource/config/storageclass/detail/style.scss (100%) rename {web => modules/web}/src/resource/config/storageclass/detail/template.html (100%) rename {web => modules/web}/src/resource/config/storageclass/list/component.ts (100%) rename {web => modules/web}/src/resource/config/storageclass/module.ts (100%) rename {web => modules/web}/src/resource/config/storageclass/routing.ts (100%) rename {web => modules/web}/src/resource/config/template.html (100%) rename {web => modules/web}/src/resource/discovery/component.ts (100%) rename {web => modules/web}/src/resource/discovery/ingress/detail/component.spec.ts (100%) rename {web => modules/web}/src/resource/discovery/ingress/detail/component.ts (100%) rename {web => modules/web}/src/resource/discovery/ingress/detail/template.html (100%) rename {web => modules/web}/src/resource/discovery/ingress/list/component.ts (100%) rename {web => modules/web}/src/resource/discovery/ingress/module.ts (100%) rename {web => modules/web}/src/resource/discovery/ingress/routing.ts (100%) rename {web => modules/web}/src/resource/discovery/module.ts (100%) rename {web => modules/web}/src/resource/discovery/routing.ts (100%) rename {web => modules/web}/src/resource/discovery/service/detail/component.spec.ts (100%) rename {web => modules/web}/src/resource/discovery/service/detail/component.ts (100%) rename {web => modules/web}/src/resource/discovery/service/detail/template.html (100%) rename {web => modules/web}/src/resource/discovery/service/list/component.ts (100%) rename {web => modules/web}/src/resource/discovery/service/module.ts (100%) rename {web => modules/web}/src/resource/discovery/service/routing.ts (100%) rename {web => modules/web}/src/resource/discovery/template.html (100%) rename {web => modules/web}/src/resource/workloads/component.ts (100%) rename {web => modules/web}/src/resource/workloads/cronjob/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/cronjob/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/cronjob/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/cronjob/module.ts (100%) rename {web => modules/web}/src/resource/workloads/cronjob/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/daemonset/detail/actionbar/component.ts (100%) rename {web => modules/web}/src/resource/workloads/daemonset/detail/actionbar/template.html (100%) rename {web => modules/web}/src/resource/workloads/daemonset/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/daemonset/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/daemonset/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/daemonset/module.ts (100%) rename {web => modules/web}/src/resource/workloads/daemonset/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/deployment/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/deployment/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/deployment/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/deployment/module.ts (100%) rename {web => modules/web}/src/resource/workloads/deployment/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/job/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/job/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/job/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/job/module.ts (100%) rename {web => modules/web}/src/resource/workloads/job/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/module.ts (100%) rename {web => modules/web}/src/resource/workloads/pod/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/pod/detail/style.scss (100%) rename {web => modules/web}/src/resource/workloads/pod/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/pod/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/pod/module.ts (100%) rename {web => modules/web}/src/resource/workloads/pod/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/replicaset/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/replicaset/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/replicaset/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/replicaset/module.ts (100%) rename {web => modules/web}/src/resource/workloads/replicaset/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/replicationcontroller/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/replicationcontroller/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/replicationcontroller/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/replicationcontroller/module.ts (100%) rename {web => modules/web}/src/resource/workloads/replicationcontroller/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/statefulset/detail/component.ts (100%) rename {web => modules/web}/src/resource/workloads/statefulset/detail/template.html (100%) rename {web => modules/web}/src/resource/workloads/statefulset/list/component.ts (100%) rename {web => modules/web}/src/resource/workloads/statefulset/module.ts (100%) rename {web => modules/web}/src/resource/workloads/statefulset/routing.ts (100%) rename {web => modules/web}/src/resource/workloads/template.html (100%) rename {web => modules/web}/src/search/component.ts (100%) rename {web => modules/web}/src/search/module.ts (100%) rename {web => modules/web}/src/search/routing.ts (100%) rename {web => modules/web}/src/search/template.html (100%) rename {web => modules/web}/src/settings/component.ts (100%) rename {web => modules/web}/src/settings/entry/component.ts (100%) rename {web => modules/web}/src/settings/entry/template.html (100%) rename {web => modules/web}/src/settings/global/component.ts (100%) rename {web => modules/web}/src/settings/global/namespace/adddialog/dialog.ts (100%) rename {web => modules/web}/src/settings/global/namespace/adddialog/template.html (100%) rename {web => modules/web}/src/settings/global/namespace/component.ts (100%) rename {web => modules/web}/src/settings/global/namespace/editdialog/dialog.ts (100%) rename {web => modules/web}/src/settings/global/namespace/editdialog/template.html (100%) rename {web => modules/web}/src/settings/global/namespace/style.scss (100%) rename {web => modules/web}/src/settings/global/namespace/template.html (100%) rename {web => modules/web}/src/settings/global/saveanywaysdialog/dialog.ts (100%) rename {web => modules/web}/src/settings/global/saveanywaysdialog/template.html (100%) rename {web => modules/web}/src/settings/global/service.ts (100%) rename {web => modules/web}/src/settings/global/style.scss (100%) rename {web => modules/web}/src/settings/global/template.html (100%) rename {web => modules/web}/src/settings/local/component.ts (100%) rename {web => modules/web}/src/settings/local/style.scss (100%) rename {web => modules/web}/src/settings/local/template.html (100%) rename {web => modules/web}/src/settings/module.ts (100%) rename {web => modules/web}/src/settings/routing.ts (100%) rename {web => modules/web}/src/shared.module.ts (100%) rename {web => modules/web}/src/shell/component.ts (100%) rename {web => modules/web}/src/shell/module.ts (100%) rename {web => modules/web}/src/shell/routing.ts (100%) rename {web => modules/web}/src/shell/styles.scss (100%) rename {web => modules/web}/src/shell/template.html (100%) rename {web => modules/web}/src/systemjs.d.ts (100%) rename {web => modules/web}/src/test.base.mocks.ts (100%) rename {web => modules/web}/src/test.base.ts (100%) rename {web => modules/web}/src/typings/root.api.ts (100%) rename {web => modules/web}/src/typings/root.shared.ts (100%) rename {web => modules/web}/src/typings/root.ui.ts (100%) rename {web => modules/web}/src/typings/volume.api.ts (100%) rename {web => modules/web}/tsconfig.app.json (100%) rename {web => modules/web}/tsconfig.e2e.json (100%) rename {web => modules/web}/tsconfig.json (100%) rename {web => modules/web}/tsconfig.spec.json (100%) diff --git a/api/.air.toml b/modules/api/.air.toml similarity index 100% rename from api/.air.toml rename to modules/api/.air.toml diff --git a/api/.dockerignore b/modules/api/.dockerignore similarity index 100% rename from api/.dockerignore rename to modules/api/.dockerignore diff --git a/api/.gitignore b/modules/api/.gitignore similarity index 100% rename from api/.gitignore rename to modules/api/.gitignore diff --git a/api/.golangci.yml b/modules/api/.golangci.yml similarity index 100% rename from api/.golangci.yml rename to modules/api/.golangci.yml diff --git a/api/go.mod b/modules/api/go.mod similarity index 100% rename from api/go.mod rename to modules/api/go.mod diff --git a/api/go.sum b/modules/api/go.sum similarity index 100% rename from api/go.sum rename to modules/api/go.sum diff --git a/api/hack/codegen-update.sh b/modules/api/hack/codegen-update.sh similarity index 100% rename from api/hack/codegen-update.sh rename to modules/api/hack/codegen-update.sh diff --git a/api/hack/codegen-verify.sh b/modules/api/hack/codegen-verify.sh similarity index 100% rename from api/hack/codegen-verify.sh rename to modules/api/hack/codegen-verify.sh diff --git a/api/main.go b/modules/api/main.go similarity index 100% rename from api/main.go rename to modules/api/main.go diff --git a/api/pkg/api/types.go b/modules/api/pkg/api/types.go similarity index 100% rename from api/pkg/api/types.go rename to modules/api/pkg/api/types.go diff --git a/api/pkg/api/types_test.go b/modules/api/pkg/api/types_test.go similarity index 100% rename from api/pkg/api/types_test.go rename to modules/api/pkg/api/types_test.go diff --git a/api/pkg/args/builder.go b/modules/api/pkg/args/builder.go similarity index 100% rename from api/pkg/args/builder.go rename to modules/api/pkg/args/builder.go diff --git a/api/pkg/args/holder.go b/modules/api/pkg/args/holder.go similarity index 100% rename from api/pkg/args/holder.go rename to modules/api/pkg/args/holder.go diff --git a/api/pkg/auth/api/common.go b/modules/api/pkg/auth/api/common.go similarity index 100% rename from api/pkg/auth/api/common.go rename to modules/api/pkg/auth/api/common.go diff --git a/api/pkg/auth/api/common_test.go b/modules/api/pkg/auth/api/common_test.go similarity index 100% rename from api/pkg/auth/api/common_test.go rename to modules/api/pkg/auth/api/common_test.go diff --git a/api/pkg/auth/api/types.go b/modules/api/pkg/auth/api/types.go similarity index 100% rename from api/pkg/auth/api/types.go rename to modules/api/pkg/auth/api/types.go diff --git a/api/pkg/auth/basic.go b/modules/api/pkg/auth/basic.go similarity index 100% rename from api/pkg/auth/basic.go rename to modules/api/pkg/auth/basic.go diff --git a/api/pkg/auth/handler.go b/modules/api/pkg/auth/handler.go similarity index 100% rename from api/pkg/auth/handler.go rename to modules/api/pkg/auth/handler.go diff --git a/api/pkg/auth/handler_test.go b/modules/api/pkg/auth/handler_test.go similarity index 100% rename from api/pkg/auth/handler_test.go rename to modules/api/pkg/auth/handler_test.go diff --git a/api/pkg/auth/jwe/keyholder.go b/modules/api/pkg/auth/jwe/keyholder.go similarity index 100% rename from api/pkg/auth/jwe/keyholder.go rename to modules/api/pkg/auth/jwe/keyholder.go diff --git a/api/pkg/auth/jwe/keyholder_test.go b/modules/api/pkg/auth/jwe/keyholder_test.go similarity index 100% rename from api/pkg/auth/jwe/keyholder_test.go rename to modules/api/pkg/auth/jwe/keyholder_test.go diff --git a/api/pkg/auth/jwe/manager.go b/modules/api/pkg/auth/jwe/manager.go similarity index 100% rename from api/pkg/auth/jwe/manager.go rename to modules/api/pkg/auth/jwe/manager.go diff --git a/api/pkg/auth/jwe/manager_test.go b/modules/api/pkg/auth/jwe/manager_test.go similarity index 100% rename from api/pkg/auth/jwe/manager_test.go rename to modules/api/pkg/auth/jwe/manager_test.go diff --git a/api/pkg/auth/jwe/util.go b/modules/api/pkg/auth/jwe/util.go similarity index 100% rename from api/pkg/auth/jwe/util.go rename to modules/api/pkg/auth/jwe/util.go diff --git a/api/pkg/auth/kubeconfig.go b/modules/api/pkg/auth/kubeconfig.go similarity index 100% rename from api/pkg/auth/kubeconfig.go rename to modules/api/pkg/auth/kubeconfig.go diff --git a/api/pkg/auth/kubeconfig_test.go b/modules/api/pkg/auth/kubeconfig_test.go similarity index 100% rename from api/pkg/auth/kubeconfig_test.go rename to modules/api/pkg/auth/kubeconfig_test.go diff --git a/api/pkg/auth/manager.go b/modules/api/pkg/auth/manager.go similarity index 100% rename from api/pkg/auth/manager.go rename to modules/api/pkg/auth/manager.go diff --git a/api/pkg/auth/manager_test.go b/modules/api/pkg/auth/manager_test.go similarity index 100% rename from api/pkg/auth/manager_test.go rename to modules/api/pkg/auth/manager_test.go diff --git a/api/pkg/auth/token.go b/modules/api/pkg/auth/token.go similarity index 100% rename from api/pkg/auth/token.go rename to modules/api/pkg/auth/token.go diff --git a/api/pkg/cert/api/types.go b/modules/api/pkg/cert/api/types.go similarity index 100% rename from api/pkg/cert/api/types.go rename to modules/api/pkg/cert/api/types.go diff --git a/api/pkg/cert/ecdsa/creator.go b/modules/api/pkg/cert/ecdsa/creator.go similarity index 100% rename from api/pkg/cert/ecdsa/creator.go rename to modules/api/pkg/cert/ecdsa/creator.go diff --git a/api/pkg/cert/ecdsa/creator_test.go b/modules/api/pkg/cert/ecdsa/creator_test.go similarity index 84% rename from api/pkg/cert/ecdsa/creator_test.go rename to modules/api/pkg/cert/ecdsa/creator_test.go index 8f709cbf2abd..ee283c657dc6 100644 --- a/api/pkg/cert/ecdsa/creator_test.go +++ b/modules/api/pkg/cert/ecdsa/creator_test.go @@ -17,14 +17,12 @@ package ecdsa_test import ( "crypto/elliptic" "testing" - - "k8s.io/dashboard/api/pkg/cert/ecdsa" ) func TestNewECDSACreator(t *testing.T) { keyFile := "cert.key" certFile := "cert.crt" - creator := ecdsa.NewECDSACreator(keyFile, certFile, elliptic.P256()) + creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) if creator == nil { t.Fatal("Expected creator not to be nil.") @@ -34,7 +32,7 @@ func TestNewECDSACreator(t *testing.T) { func TestEcdsaCreator_GetCertFileName(t *testing.T) { keyFile := "cert.key" certFile := "cert.crt" - creator := ecdsa.NewECDSACreator(keyFile, certFile, elliptic.P256()) + creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) if creator.GetCertFileName() != certFile { t.Fatalf("Expected cert file name to equal %s but got %s.", certFile, creator.GetCertFileName()) @@ -44,7 +42,7 @@ func TestEcdsaCreator_GetCertFileName(t *testing.T) { func TestEcdsaCreator_GetKeyFileName(t *testing.T) { keyFile := "cert.key" certFile := "cert.crt" - creator := ecdsa.NewECDSACreator(keyFile, certFile, elliptic.P256()) + creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) if creator.GetKeyFileName() != keyFile { t.Fatalf("Expected cert key file name to equal %s but got %s.", keyFile, creator.GetKeyFileName()) diff --git a/api/pkg/cert/manager.go b/modules/api/pkg/cert/manager.go similarity index 100% rename from api/pkg/cert/manager.go rename to modules/api/pkg/cert/manager.go diff --git a/api/pkg/client/api/common.go b/modules/api/pkg/client/api/common.go similarity index 100% rename from api/pkg/client/api/common.go rename to modules/api/pkg/client/api/common.go diff --git a/api/pkg/client/api/common_test.go b/modules/api/pkg/client/api/common_test.go similarity index 91% rename from api/pkg/client/api/common_test.go rename to modules/api/pkg/client/api/common_test.go index ba46b20b2c8e..14684a7baa2a 100644 --- a/api/pkg/client/api/common_test.go +++ b/modules/api/pkg/client/api/common_test.go @@ -19,8 +19,6 @@ import ( "testing" v1 "k8s.io/api/authorization/v1" - - "k8s.io/dashboard/api/pkg/client/api" ) func TestToSelfSubjectAccessReview(t *testing.T) { @@ -39,7 +37,7 @@ func TestToSelfSubjectAccessReview(t *testing.T) { }, } - got := api.ToSelfSubjectAccessReview(ns, name, resourceName, verb) + got := ToSelfSubjectAccessReview(ns, name, resourceName, verb) if !reflect.DeepEqual(got, expected) { t.Fatalf("Expected to get %+v but got %+v", expected, got) } diff --git a/api/pkg/client/api/types.go b/modules/api/pkg/client/api/types.go similarity index 100% rename from api/pkg/client/api/types.go rename to modules/api/pkg/client/api/types.go diff --git a/api/pkg/client/csrf/manager.go b/modules/api/pkg/client/csrf/manager.go similarity index 100% rename from api/pkg/client/csrf/manager.go rename to modules/api/pkg/client/csrf/manager.go diff --git a/api/pkg/client/csrf/manager_test.go b/modules/api/pkg/client/csrf/manager_test.go similarity index 94% rename from api/pkg/client/csrf/manager_test.go rename to modules/api/pkg/client/csrf/manager_test.go index cd4b92a50d71..a4276b653543 100644 --- a/api/pkg/client/csrf/manager_test.go +++ b/modules/api/pkg/client/csrf/manager_test.go @@ -22,7 +22,6 @@ import ( "k8s.io/client-go/kubernetes/fake" "k8s.io/dashboard/api/pkg/client/api" - "k8s.io/dashboard/api/pkg/client/csrf" ) func TestCsrfTokenManager_Token(t *testing.T) { @@ -51,7 +50,7 @@ func TestCsrfTokenManager_Token(t *testing.T) { }() client := fake.NewSimpleClientset(c.csrfSecret) - manager := csrf.NewCsrfTokenManager(client) + manager := NewCsrfTokenManager(client) if (len(manager.Token()) == 0) == c.wantToken { t.Errorf("Expected token to exist: %v", c.wantToken) diff --git a/api/pkg/client/manager.go b/modules/api/pkg/client/manager.go similarity index 100% rename from api/pkg/client/manager.go rename to modules/api/pkg/client/manager.go diff --git a/api/pkg/client/manager_test.go b/modules/api/pkg/client/manager_test.go similarity index 100% rename from api/pkg/client/manager_test.go rename to modules/api/pkg/client/manager_test.go diff --git a/api/pkg/client/verber.go b/modules/api/pkg/client/verber.go similarity index 100% rename from api/pkg/client/verber.go rename to modules/api/pkg/client/verber.go diff --git a/api/pkg/client/verber_test.go b/modules/api/pkg/client/verber_test.go similarity index 100% rename from api/pkg/client/verber_test.go rename to modules/api/pkg/client/verber_test.go diff --git a/api/pkg/errors/errors.go b/modules/api/pkg/errors/errors.go similarity index 100% rename from api/pkg/errors/errors.go rename to modules/api/pkg/errors/errors.go diff --git a/api/pkg/errors/handler.go b/modules/api/pkg/errors/handler.go similarity index 100% rename from api/pkg/errors/handler.go rename to modules/api/pkg/errors/handler.go diff --git a/api/pkg/errors/handler_test.go b/modules/api/pkg/errors/handler_test.go similarity index 74% rename from api/pkg/errors/handler_test.go rename to modules/api/pkg/errors/handler_test.go index 30cb12dbcd35..ad002f4b34cf 100644 --- a/api/pkg/errors/handler_test.go +++ b/modules/api/pkg/errors/handler_test.go @@ -17,8 +17,6 @@ package errors_test import ( "reflect" "testing" - - "k8s.io/dashboard/api/pkg/errors" ) func TestHandleHTTPError(t *testing.T) { @@ -31,28 +29,28 @@ func TestHandleHTTPError(t *testing.T) { 500, }, { - errors.NewInvalid("some unknown error"), + NewInvalid("some unknown error"), 500, }, { - errors.NewInvalid(errors.MsgDeployNamespaceMismatchError), + NewInvalid(MsgDeployNamespaceMismatchError), 500, }, { - errors.NewInvalid(errors.MsgLoginUnauthorizedError), + NewInvalid(MsgLoginUnauthorizedError), 401, }, { - errors.NewInvalid(errors.MsgTokenExpiredError), + NewInvalid(MsgTokenExpiredError), 401, }, { - errors.NewInvalid(errors.MsgEncryptionKeyChanged), + NewInvalid(MsgEncryptionKeyChanged), 401, }, } for _, c := range cases { - actual := errors.HandleHTTPError(c.err) + actual := HandleHTTPError(c.err) if !reflect.DeepEqual(actual, c.expected) { t.Errorf("HandleHTTPError(%+v) == %+v, expected %+v", c.err, actual, c.expected) } diff --git a/api/pkg/errors/localizer.go b/modules/api/pkg/errors/localizer.go similarity index 100% rename from api/pkg/errors/localizer.go rename to modules/api/pkg/errors/localizer.go diff --git a/api/pkg/errors/localizer_test.go b/modules/api/pkg/errors/localizer_test.go similarity index 73% rename from api/pkg/errors/localizer_test.go rename to modules/api/pkg/errors/localizer_test.go index ec0da8a5273a..db56d5957dcf 100644 --- a/api/pkg/errors/localizer_test.go +++ b/modules/api/pkg/errors/localizer_test.go @@ -16,8 +16,6 @@ package errors_test import ( "testing" - - "k8s.io/dashboard/api/pkg/errors" ) func TestLocalizeError(t *testing.T) { @@ -30,20 +28,20 @@ func TestLocalizeError(t *testing.T) { nil, }, { - errors.NewInternal("some unknown error"), - errors.NewInternal("some unknown error"), + NewInternal("some unknown error"), + NewInternal("some unknown error"), }, { - errors.NewInvalid("does not match the namespace"), - errors.NewInvalid("MSG_DEPLOY_NAMESPACE_MISMATCH_ERROR"), + NewInvalid("does not match the namespace"), + NewInvalid("MSG_DEPLOY_NAMESPACE_MISMATCH_ERROR"), }, { - errors.NewInvalid("empty namespace may not be set"), - errors.NewInvalid("MSG_DEPLOY_EMPTY_NAMESPACE_ERROR"), + NewInvalid("empty namespace may not be set"), + NewInvalid("MSG_DEPLOY_EMPTY_NAMESPACE_ERROR"), }, } for _, c := range cases { - actual := errors.LocalizeError(c.err) + actual := LocalizeError(c.err) if !areErrorsEqual(actual, c.expected) { t.Errorf("LocalizeError(%+v) == %+v, expected %+v", c.err, actual, c.expected) } diff --git a/api/pkg/handler/apihandler.go b/modules/api/pkg/handler/apihandler.go similarity index 100% rename from api/pkg/handler/apihandler.go rename to modules/api/pkg/handler/apihandler.go diff --git a/api/pkg/handler/apihandler_test.go b/modules/api/pkg/handler/apihandler_test.go similarity index 100% rename from api/pkg/handler/apihandler_test.go rename to modules/api/pkg/handler/apihandler_test.go diff --git a/api/pkg/handler/confighandler.go b/modules/api/pkg/handler/confighandler.go similarity index 100% rename from api/pkg/handler/confighandler.go rename to modules/api/pkg/handler/confighandler.go diff --git a/api/pkg/handler/download.go b/modules/api/pkg/handler/download.go similarity index 100% rename from api/pkg/handler/download.go rename to modules/api/pkg/handler/download.go diff --git a/api/pkg/handler/filter.go b/modules/api/pkg/handler/filter.go similarity index 100% rename from api/pkg/handler/filter.go rename to modules/api/pkg/handler/filter.go diff --git a/api/pkg/handler/gziphandler.go b/modules/api/pkg/handler/gziphandler.go similarity index 100% rename from api/pkg/handler/gziphandler.go rename to modules/api/pkg/handler/gziphandler.go diff --git a/api/pkg/handler/localehandler.go b/modules/api/pkg/handler/localehandler.go similarity index 100% rename from api/pkg/handler/localehandler.go rename to modules/api/pkg/handler/localehandler.go diff --git a/api/pkg/handler/localehandler_test.go b/modules/api/pkg/handler/localehandler_test.go similarity index 100% rename from api/pkg/handler/localehandler_test.go rename to modules/api/pkg/handler/localehandler_test.go diff --git a/api/pkg/handler/metrics.go b/modules/api/pkg/handler/metrics.go similarity index 100% rename from api/pkg/handler/metrics.go rename to modules/api/pkg/handler/metrics.go diff --git a/api/pkg/handler/parser/parser.go b/modules/api/pkg/handler/parser/parser.go similarity index 100% rename from api/pkg/handler/parser/parser.go rename to modules/api/pkg/handler/parser/parser.go diff --git a/api/pkg/handler/terminal.go b/modules/api/pkg/handler/terminal.go similarity index 100% rename from api/pkg/handler/terminal.go rename to modules/api/pkg/handler/terminal.go diff --git a/api/pkg/integration/api/types.go b/modules/api/pkg/integration/api/types.go similarity index 100% rename from api/pkg/integration/api/types.go rename to modules/api/pkg/integration/api/types.go diff --git a/api/pkg/integration/handler.go b/modules/api/pkg/integration/handler.go similarity index 100% rename from api/pkg/integration/handler.go rename to modules/api/pkg/integration/handler.go diff --git a/api/pkg/integration/handler_test.go b/modules/api/pkg/integration/handler_test.go similarity index 100% rename from api/pkg/integration/handler_test.go rename to modules/api/pkg/integration/handler_test.go diff --git a/api/pkg/integration/list.go b/modules/api/pkg/integration/list.go similarity index 100% rename from api/pkg/integration/list.go rename to modules/api/pkg/integration/list.go diff --git a/api/pkg/integration/manager.go b/modules/api/pkg/integration/manager.go similarity index 100% rename from api/pkg/integration/manager.go rename to modules/api/pkg/integration/manager.go diff --git a/api/pkg/integration/manager_test.go b/modules/api/pkg/integration/manager_test.go similarity index 100% rename from api/pkg/integration/manager_test.go rename to modules/api/pkg/integration/manager_test.go diff --git a/api/pkg/integration/metric/api/types.go b/modules/api/pkg/integration/metric/api/types.go similarity index 100% rename from api/pkg/integration/metric/api/types.go rename to modules/api/pkg/integration/metric/api/types.go diff --git a/api/pkg/integration/metric/common/aggregation.go b/modules/api/pkg/integration/metric/common/aggregation.go similarity index 100% rename from api/pkg/integration/metric/common/aggregation.go rename to modules/api/pkg/integration/metric/common/aggregation.go diff --git a/api/pkg/integration/metric/common/aggregation_test.go b/modules/api/pkg/integration/metric/common/aggregation_test.go similarity index 100% rename from api/pkg/integration/metric/common/aggregation_test.go rename to modules/api/pkg/integration/metric/common/aggregation_test.go diff --git a/api/pkg/integration/metric/heapster/client.go b/modules/api/pkg/integration/metric/heapster/client.go similarity index 100% rename from api/pkg/integration/metric/heapster/client.go rename to modules/api/pkg/integration/metric/heapster/client.go diff --git a/api/pkg/integration/metric/heapster/client_test.go b/modules/api/pkg/integration/metric/heapster/client_test.go similarity index 100% rename from api/pkg/integration/metric/heapster/client_test.go rename to modules/api/pkg/integration/metric/heapster/client_test.go diff --git a/api/pkg/integration/metric/heapster/common.go b/modules/api/pkg/integration/metric/heapster/common.go similarity index 100% rename from api/pkg/integration/metric/heapster/common.go rename to modules/api/pkg/integration/metric/heapster/common.go diff --git a/api/pkg/integration/metric/heapster/model.go b/modules/api/pkg/integration/metric/heapster/model.go similarity index 100% rename from api/pkg/integration/metric/heapster/model.go rename to modules/api/pkg/integration/metric/heapster/model.go diff --git a/api/pkg/integration/metric/heapster/restclient.go b/modules/api/pkg/integration/metric/heapster/restclient.go similarity index 100% rename from api/pkg/integration/metric/heapster/restclient.go rename to modules/api/pkg/integration/metric/heapster/restclient.go diff --git a/api/pkg/integration/metric/heapster/selector.go b/modules/api/pkg/integration/metric/heapster/selector.go similarity index 100% rename from api/pkg/integration/metric/heapster/selector.go rename to modules/api/pkg/integration/metric/heapster/selector.go diff --git a/api/pkg/integration/metric/heapster/selector_test.go b/modules/api/pkg/integration/metric/heapster/selector_test.go similarity index 100% rename from api/pkg/integration/metric/heapster/selector_test.go rename to modules/api/pkg/integration/metric/heapster/selector_test.go diff --git a/api/pkg/integration/metric/manager.go b/modules/api/pkg/integration/metric/manager.go similarity index 100% rename from api/pkg/integration/metric/manager.go rename to modules/api/pkg/integration/metric/manager.go diff --git a/api/pkg/integration/metric/manager_test.go b/modules/api/pkg/integration/metric/manager_test.go similarity index 100% rename from api/pkg/integration/metric/manager_test.go rename to modules/api/pkg/integration/metric/manager_test.go diff --git a/api/pkg/integration/metric/sidecar/client.go b/modules/api/pkg/integration/metric/sidecar/client.go similarity index 100% rename from api/pkg/integration/metric/sidecar/client.go rename to modules/api/pkg/integration/metric/sidecar/client.go diff --git a/api/pkg/integration/metric/sidecar/client_test.go b/modules/api/pkg/integration/metric/sidecar/client_test.go similarity index 100% rename from api/pkg/integration/metric/sidecar/client_test.go rename to modules/api/pkg/integration/metric/sidecar/client_test.go diff --git a/api/pkg/integration/metric/sidecar/common.go b/modules/api/pkg/integration/metric/sidecar/common.go similarity index 100% rename from api/pkg/integration/metric/sidecar/common.go rename to modules/api/pkg/integration/metric/sidecar/common.go diff --git a/api/pkg/integration/metric/sidecar/model.go b/modules/api/pkg/integration/metric/sidecar/model.go similarity index 100% rename from api/pkg/integration/metric/sidecar/model.go rename to modules/api/pkg/integration/metric/sidecar/model.go diff --git a/api/pkg/integration/metric/sidecar/restclient.go b/modules/api/pkg/integration/metric/sidecar/restclient.go similarity index 100% rename from api/pkg/integration/metric/sidecar/restclient.go rename to modules/api/pkg/integration/metric/sidecar/restclient.go diff --git a/api/pkg/integration/metric/sidecar/selector.go b/modules/api/pkg/integration/metric/sidecar/selector.go similarity index 100% rename from api/pkg/integration/metric/sidecar/selector.go rename to modules/api/pkg/integration/metric/sidecar/selector.go diff --git a/api/pkg/integration/metric/sidecar/selector_test.go b/modules/api/pkg/integration/metric/sidecar/selector_test.go similarity index 100% rename from api/pkg/integration/metric/sidecar/selector_test.go rename to modules/api/pkg/integration/metric/sidecar/selector_test.go diff --git a/api/pkg/plugin/apis/register.go b/modules/api/pkg/plugin/apis/register.go similarity index 100% rename from api/pkg/plugin/apis/register.go rename to modules/api/pkg/plugin/apis/register.go diff --git a/api/pkg/plugin/apis/v1alpha1/doc.go b/modules/api/pkg/plugin/apis/v1alpha1/doc.go similarity index 100% rename from api/pkg/plugin/apis/v1alpha1/doc.go rename to modules/api/pkg/plugin/apis/v1alpha1/doc.go diff --git a/api/pkg/plugin/apis/v1alpha1/register.go b/modules/api/pkg/plugin/apis/v1alpha1/register.go similarity index 100% rename from api/pkg/plugin/apis/v1alpha1/register.go rename to modules/api/pkg/plugin/apis/v1alpha1/register.go diff --git a/api/pkg/plugin/apis/v1alpha1/types.go b/modules/api/pkg/plugin/apis/v1alpha1/types.go similarity index 100% rename from api/pkg/plugin/apis/v1alpha1/types.go rename to modules/api/pkg/plugin/apis/v1alpha1/types.go diff --git a/api/pkg/plugin/apis/v1alpha1/zz_generated.deepcopy.go b/modules/api/pkg/plugin/apis/v1alpha1/zz_generated.deepcopy.go similarity index 100% rename from api/pkg/plugin/apis/v1alpha1/zz_generated.deepcopy.go rename to modules/api/pkg/plugin/apis/v1alpha1/zz_generated.deepcopy.go diff --git a/api/pkg/plugin/client/clientset/versioned/clientset.go b/modules/api/pkg/plugin/client/clientset/versioned/clientset.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/clientset.go rename to modules/api/pkg/plugin/client/clientset/versioned/clientset.go diff --git a/api/pkg/plugin/client/clientset/versioned/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/doc.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/doc.go rename to modules/api/pkg/plugin/client/clientset/versioned/doc.go diff --git a/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go b/modules/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go rename to modules/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go diff --git a/api/pkg/plugin/client/clientset/versioned/fake/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/fake/doc.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/fake/doc.go rename to modules/api/pkg/plugin/client/clientset/versioned/fake/doc.go diff --git a/api/pkg/plugin/client/clientset/versioned/fake/register.go b/modules/api/pkg/plugin/client/clientset/versioned/fake/register.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/fake/register.go rename to modules/api/pkg/plugin/client/clientset/versioned/fake/register.go diff --git a/api/pkg/plugin/client/clientset/versioned/scheme/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/scheme/doc.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/scheme/doc.go rename to modules/api/pkg/plugin/client/clientset/versioned/scheme/doc.go diff --git a/api/pkg/plugin/client/clientset/versioned/scheme/register.go b/modules/api/pkg/plugin/client/clientset/versioned/scheme/register.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/scheme/register.go rename to modules/api/pkg/plugin/client/clientset/versioned/scheme/register.go diff --git a/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go rename to modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go diff --git a/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go rename to modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go diff --git a/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go rename to modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go diff --git a/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go rename to modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go diff --git a/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go rename to modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go diff --git a/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go rename to modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go diff --git a/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go similarity index 100% rename from api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go rename to modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go diff --git a/api/pkg/plugin/client/informers/externalversions/apis/interface.go b/modules/api/pkg/plugin/client/informers/externalversions/apis/interface.go similarity index 100% rename from api/pkg/plugin/client/informers/externalversions/apis/interface.go rename to modules/api/pkg/plugin/client/informers/externalversions/apis/interface.go diff --git a/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go b/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go similarity index 100% rename from api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go rename to modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go diff --git a/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go b/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go similarity index 100% rename from api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go rename to modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go diff --git a/api/pkg/plugin/client/informers/externalversions/factory.go b/modules/api/pkg/plugin/client/informers/externalversions/factory.go similarity index 100% rename from api/pkg/plugin/client/informers/externalversions/factory.go rename to modules/api/pkg/plugin/client/informers/externalversions/factory.go diff --git a/api/pkg/plugin/client/informers/externalversions/generic.go b/modules/api/pkg/plugin/client/informers/externalversions/generic.go similarity index 100% rename from api/pkg/plugin/client/informers/externalversions/generic.go rename to modules/api/pkg/plugin/client/informers/externalversions/generic.go diff --git a/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/modules/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go similarity index 100% rename from api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go rename to modules/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go diff --git a/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go b/modules/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go similarity index 100% rename from api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go rename to modules/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go diff --git a/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go b/modules/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go similarity index 100% rename from api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go rename to modules/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go diff --git a/api/pkg/plugin/config.go b/modules/api/pkg/plugin/config.go similarity index 100% rename from api/pkg/plugin/config.go rename to modules/api/pkg/plugin/config.go diff --git a/api/pkg/plugin/config_test.go b/modules/api/pkg/plugin/config_test.go similarity index 100% rename from api/pkg/plugin/config_test.go rename to modules/api/pkg/plugin/config_test.go diff --git a/api/pkg/plugin/detail.go b/modules/api/pkg/plugin/detail.go similarity index 100% rename from api/pkg/plugin/detail.go rename to modules/api/pkg/plugin/detail.go diff --git a/api/pkg/plugin/detail_test.go b/modules/api/pkg/plugin/detail_test.go similarity index 100% rename from api/pkg/plugin/detail_test.go rename to modules/api/pkg/plugin/detail_test.go diff --git a/api/pkg/plugin/handler.go b/modules/api/pkg/plugin/handler.go similarity index 100% rename from api/pkg/plugin/handler.go rename to modules/api/pkg/plugin/handler.go diff --git a/api/pkg/plugin/handler_test.go b/modules/api/pkg/plugin/handler_test.go similarity index 100% rename from api/pkg/plugin/handler_test.go rename to modules/api/pkg/plugin/handler_test.go diff --git a/api/pkg/plugin/list.go b/modules/api/pkg/plugin/list.go similarity index 100% rename from api/pkg/plugin/list.go rename to modules/api/pkg/plugin/list.go diff --git a/api/pkg/plugin/list_test.go b/modules/api/pkg/plugin/list_test.go similarity index 100% rename from api/pkg/plugin/list_test.go rename to modules/api/pkg/plugin/list_test.go diff --git a/api/pkg/resource/clusterrole/common.go b/modules/api/pkg/resource/clusterrole/common.go similarity index 100% rename from api/pkg/resource/clusterrole/common.go rename to modules/api/pkg/resource/clusterrole/common.go diff --git a/api/pkg/resource/clusterrole/detail.go b/modules/api/pkg/resource/clusterrole/detail.go similarity index 100% rename from api/pkg/resource/clusterrole/detail.go rename to modules/api/pkg/resource/clusterrole/detail.go diff --git a/api/pkg/resource/clusterrole/list.go b/modules/api/pkg/resource/clusterrole/list.go similarity index 100% rename from api/pkg/resource/clusterrole/list.go rename to modules/api/pkg/resource/clusterrole/list.go diff --git a/api/pkg/resource/clusterrole/list_test.go b/modules/api/pkg/resource/clusterrole/list_test.go similarity index 100% rename from api/pkg/resource/clusterrole/list_test.go rename to modules/api/pkg/resource/clusterrole/list_test.go diff --git a/api/pkg/resource/clusterrolebinding/common.go b/modules/api/pkg/resource/clusterrolebinding/common.go similarity index 100% rename from api/pkg/resource/clusterrolebinding/common.go rename to modules/api/pkg/resource/clusterrolebinding/common.go diff --git a/api/pkg/resource/clusterrolebinding/detail.go b/modules/api/pkg/resource/clusterrolebinding/detail.go similarity index 100% rename from api/pkg/resource/clusterrolebinding/detail.go rename to modules/api/pkg/resource/clusterrolebinding/detail.go diff --git a/api/pkg/resource/clusterrolebinding/list.go b/modules/api/pkg/resource/clusterrolebinding/list.go similarity index 100% rename from api/pkg/resource/clusterrolebinding/list.go rename to modules/api/pkg/resource/clusterrolebinding/list.go diff --git a/api/pkg/resource/clusterrolebinding/list_test.go b/modules/api/pkg/resource/clusterrolebinding/list_test.go similarity index 100% rename from api/pkg/resource/clusterrolebinding/list_test.go rename to modules/api/pkg/resource/clusterrolebinding/list_test.go diff --git a/api/pkg/resource/common/condition.go b/modules/api/pkg/resource/common/condition.go similarity index 100% rename from api/pkg/resource/common/condition.go rename to modules/api/pkg/resource/common/condition.go diff --git a/api/pkg/resource/common/endpoint.go b/modules/api/pkg/resource/common/endpoint.go similarity index 100% rename from api/pkg/resource/common/endpoint.go rename to modules/api/pkg/resource/common/endpoint.go diff --git a/api/pkg/resource/common/endpoint_test.go b/modules/api/pkg/resource/common/endpoint_test.go similarity index 100% rename from api/pkg/resource/common/endpoint_test.go rename to modules/api/pkg/resource/common/endpoint_test.go diff --git a/api/pkg/resource/common/event.go b/modules/api/pkg/resource/common/event.go similarity index 100% rename from api/pkg/resource/common/event.go rename to modules/api/pkg/resource/common/event.go diff --git a/api/pkg/resource/common/namespace.go b/modules/api/pkg/resource/common/namespace.go similarity index 100% rename from api/pkg/resource/common/namespace.go rename to modules/api/pkg/resource/common/namespace.go diff --git a/api/pkg/resource/common/namespace_test.go b/modules/api/pkg/resource/common/namespace_test.go similarity index 100% rename from api/pkg/resource/common/namespace_test.go rename to modules/api/pkg/resource/common/namespace_test.go diff --git a/api/pkg/resource/common/pod.go b/modules/api/pkg/resource/common/pod.go similarity index 100% rename from api/pkg/resource/common/pod.go rename to modules/api/pkg/resource/common/pod.go diff --git a/api/pkg/resource/common/pod_test.go b/modules/api/pkg/resource/common/pod_test.go similarity index 100% rename from api/pkg/resource/common/pod_test.go rename to modules/api/pkg/resource/common/pod_test.go diff --git a/api/pkg/resource/common/podinfo.go b/modules/api/pkg/resource/common/podinfo.go similarity index 100% rename from api/pkg/resource/common/podinfo.go rename to modules/api/pkg/resource/common/podinfo.go diff --git a/api/pkg/resource/common/podinfo_test.go b/modules/api/pkg/resource/common/podinfo_test.go similarity index 100% rename from api/pkg/resource/common/podinfo_test.go rename to modules/api/pkg/resource/common/podinfo_test.go diff --git a/api/pkg/resource/common/resourcechannels.go b/modules/api/pkg/resource/common/resourcechannels.go similarity index 100% rename from api/pkg/resource/common/resourcechannels.go rename to modules/api/pkg/resource/common/resourcechannels.go diff --git a/api/pkg/resource/common/resourcestatus.go b/modules/api/pkg/resource/common/resourcestatus.go similarity index 100% rename from api/pkg/resource/common/resourcestatus.go rename to modules/api/pkg/resource/common/resourcestatus.go diff --git a/api/pkg/resource/common/service.go b/modules/api/pkg/resource/common/service.go similarity index 100% rename from api/pkg/resource/common/service.go rename to modules/api/pkg/resource/common/service.go diff --git a/api/pkg/resource/common/service_test.go b/modules/api/pkg/resource/common/service_test.go similarity index 100% rename from api/pkg/resource/common/service_test.go rename to modules/api/pkg/resource/common/service_test.go diff --git a/api/pkg/resource/common/serviceport.go b/modules/api/pkg/resource/common/serviceport.go similarity index 100% rename from api/pkg/resource/common/serviceport.go rename to modules/api/pkg/resource/common/serviceport.go diff --git a/api/pkg/resource/common/serviceport_test.go b/modules/api/pkg/resource/common/serviceport_test.go similarity index 100% rename from api/pkg/resource/common/serviceport_test.go rename to modules/api/pkg/resource/common/serviceport_test.go diff --git a/api/pkg/resource/configmap/common.go b/modules/api/pkg/resource/configmap/common.go similarity index 100% rename from api/pkg/resource/configmap/common.go rename to modules/api/pkg/resource/configmap/common.go diff --git a/api/pkg/resource/configmap/detail.go b/modules/api/pkg/resource/configmap/detail.go similarity index 100% rename from api/pkg/resource/configmap/detail.go rename to modules/api/pkg/resource/configmap/detail.go diff --git a/api/pkg/resource/configmap/detail_test.go b/modules/api/pkg/resource/configmap/detail_test.go similarity index 100% rename from api/pkg/resource/configmap/detail_test.go rename to modules/api/pkg/resource/configmap/detail_test.go diff --git a/api/pkg/resource/configmap/list.go b/modules/api/pkg/resource/configmap/list.go similarity index 100% rename from api/pkg/resource/configmap/list.go rename to modules/api/pkg/resource/configmap/list.go diff --git a/api/pkg/resource/configmap/list_test.go b/modules/api/pkg/resource/configmap/list_test.go similarity index 100% rename from api/pkg/resource/configmap/list_test.go rename to modules/api/pkg/resource/configmap/list_test.go diff --git a/api/pkg/resource/container/logs.go b/modules/api/pkg/resource/container/logs.go similarity index 100% rename from api/pkg/resource/container/logs.go rename to modules/api/pkg/resource/container/logs.go diff --git a/api/pkg/resource/container/logs_test.go b/modules/api/pkg/resource/container/logs_test.go similarity index 100% rename from api/pkg/resource/container/logs_test.go rename to modules/api/pkg/resource/container/logs_test.go diff --git a/api/pkg/resource/controller/controller.go b/modules/api/pkg/resource/controller/controller.go similarity index 100% rename from api/pkg/resource/controller/controller.go rename to modules/api/pkg/resource/controller/controller.go diff --git a/api/pkg/resource/controller/controller_test.go b/modules/api/pkg/resource/controller/controller_test.go similarity index 100% rename from api/pkg/resource/controller/controller_test.go rename to modules/api/pkg/resource/controller/controller_test.go diff --git a/api/pkg/resource/cronjob/common.go b/modules/api/pkg/resource/cronjob/common.go similarity index 100% rename from api/pkg/resource/cronjob/common.go rename to modules/api/pkg/resource/cronjob/common.go diff --git a/api/pkg/resource/cronjob/common_test.go b/modules/api/pkg/resource/cronjob/common_test.go similarity index 100% rename from api/pkg/resource/cronjob/common_test.go rename to modules/api/pkg/resource/cronjob/common_test.go diff --git a/api/pkg/resource/cronjob/detail.go b/modules/api/pkg/resource/cronjob/detail.go similarity index 100% rename from api/pkg/resource/cronjob/detail.go rename to modules/api/pkg/resource/cronjob/detail.go diff --git a/api/pkg/resource/cronjob/detail_test.go b/modules/api/pkg/resource/cronjob/detail_test.go similarity index 91% rename from api/pkg/resource/cronjob/detail_test.go rename to modules/api/pkg/resource/cronjob/detail_test.go index 0ae54ad2a8f3..797c771a41d3 100644 --- a/api/pkg/resource/cronjob/detail_test.go +++ b/modules/api/pkg/resource/cronjob/detail_test.go @@ -22,7 +22,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/cronjob" "k8s.io/dashboard/api/pkg/resource/dataselect" ) @@ -31,7 +30,7 @@ func TestGetCronJobDetail(t *testing.T) { namespace, name string expectedActions []string raw *batch.CronJob - expected *cronjob.CronJobDetail + expected *CronJobDetail }{ { namespace, @@ -47,8 +46,8 @@ func TestGetCronJobDetail(t *testing.T) { Suspend: &suspend, }, }, - &cronjob.CronJobDetail{ - CronJob: cronjob.CronJob{ + &CronJobDetail{ + CronJob: CronJob{ ObjectMeta: api.ObjectMeta{ Name: name, Namespace: namespace, @@ -65,7 +64,7 @@ func TestGetCronJobDetail(t *testing.T) { for _, c := range cases { fakeClient := fake.NewSimpleClientset(c.raw) dataselect.DefaultDataSelectWithMetrics.MetricQuery = dataselect.NoMetrics - actual, _ := cronjob.GetCronJobDetail(fakeClient, c.namespace, c.name) + actual, _ := GetCronJobDetail(fakeClient, c.namespace, c.name) actions := fakeClient.Actions() if len(actions) != len(c.expectedActions) { diff --git a/api/pkg/resource/cronjob/events.go b/modules/api/pkg/resource/cronjob/events.go similarity index 100% rename from api/pkg/resource/cronjob/events.go rename to modules/api/pkg/resource/cronjob/events.go diff --git a/api/pkg/resource/cronjob/events_test.go b/modules/api/pkg/resource/cronjob/events_test.go similarity index 94% rename from api/pkg/resource/cronjob/events_test.go rename to modules/api/pkg/resource/cronjob/events_test.go index db2a9fdf3275..044f63386bd3 100644 --- a/api/pkg/resource/cronjob/events_test.go +++ b/modules/api/pkg/resource/cronjob/events_test.go @@ -23,7 +23,6 @@ import ( "k8s.io/client-go/kubernetes/fake" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/cronjob" "k8s.io/dashboard/api/pkg/resource/dataselect" ) @@ -69,7 +68,7 @@ func TestGetJobEvents(t *testing.T) { for _, c := range cases { fakeClient := fake.NewSimpleClientset(c.eventList) - actual, _ := cronjob.GetCronJobEvents(fakeClient, dataselect.NoDataSelect, c.namespace, c.name) + actual, _ := GetCronJobEvents(fakeClient, dataselect.NoDataSelect, c.namespace, c.name) actions := fakeClient.Actions() if len(actions) != len(c.expectedActions) { diff --git a/api/pkg/resource/cronjob/jobs.go b/modules/api/pkg/resource/cronjob/jobs.go similarity index 100% rename from api/pkg/resource/cronjob/jobs.go rename to modules/api/pkg/resource/cronjob/jobs.go diff --git a/api/pkg/resource/cronjob/jobs_test.go b/modules/api/pkg/resource/cronjob/jobs_test.go similarity index 90% rename from api/pkg/resource/cronjob/jobs_test.go rename to modules/api/pkg/resource/cronjob/jobs_test.go index 2906bbe448d0..cef762a91363 100644 --- a/api/pkg/resource/cronjob/jobs_test.go +++ b/modules/api/pkg/resource/cronjob/jobs_test.go @@ -23,13 +23,12 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "k8s.io/dashboard/api/pkg/resource/cronjob" ) func TestTriggerCronJobWithInvalidName(t *testing.T) { client := fake.NewSimpleClientset() - err := cronjob.TriggerCronJob(client, namespace, "invalidName") + err := TriggerCronJob(client, namespace, "invalidName") if !errors.IsNotFound(err) { t.Error("TriggerCronJob should return error when invalid name is passed") } @@ -50,7 +49,7 @@ func TestTriggerCronJobWithLongName(t *testing.T) { }} client := fake.NewSimpleClientset(&cron) - err := cronjob.TriggerCronJob(client, namespace, longName) + err := TriggerCronJob(client, namespace, longName) if err != nil { t.Error(err) } @@ -78,7 +77,7 @@ func TestTriggerCronJob(t *testing.T) { client := fake.NewSimpleClientset(&cron) - err := cronjob.TriggerCronJob(client, namespace, name) + err := TriggerCronJob(client, namespace, name) if err != nil { t.Error(err) } diff --git a/api/pkg/resource/cronjob/list.go b/modules/api/pkg/resource/cronjob/list.go similarity index 100% rename from api/pkg/resource/cronjob/list.go rename to modules/api/pkg/resource/cronjob/list.go diff --git a/api/pkg/resource/cronjob/list_test.go b/modules/api/pkg/resource/cronjob/list_test.go similarity index 90% rename from api/pkg/resource/cronjob/list_test.go rename to modules/api/pkg/resource/cronjob/list_test.go index 4ae5aed03a81..355dba34c0e4 100644 --- a/api/pkg/resource/cronjob/list_test.go +++ b/modules/api/pkg/resource/cronjob/list_test.go @@ -23,7 +23,6 @@ import ( "k8s.io/dashboard/api/pkg/api" metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/cronjob" "k8s.io/dashboard/api/pkg/resource/dataselect" ) @@ -31,17 +30,17 @@ func TestGetCronJobListFromChannels(t *testing.T) { cases := []struct { raw batch.CronJobList rawError error - expected *cronjob.CronJobList + expected *CronJobList expectedError error }{ { batch.CronJobList{}, nil, - &cronjob.CronJobList{ + &CronJobList{ ListMeta: api.ListMeta{}, CumulativeMetrics: make([]metricapi.Metric, 0), Status: common.ResourceStatus{}, - Items: []cronjob.CronJob{}, + Items: []CronJob{}, Errors: []error{}, }, nil, @@ -72,11 +71,11 @@ func TestGetCronJobListFromChannels(t *testing.T) { }, }, nil, - &cronjob.CronJobList{ + &CronJobList{ ListMeta: api.ListMeta{TotalItems: 2}, CumulativeMetrics: make([]metricapi.Metric, 0), Status: common.ResourceStatus{Failed: 2}, - Items: []cronjob.CronJob{{ + Items: []CronJob{{ ObjectMeta: api.ObjectMeta{ Name: name, Namespace: namespace, @@ -110,7 +109,7 @@ func TestGetCronJobListFromChannels(t *testing.T) { channels.CronJobList.Error <- c.rawError channels.CronJobList.List <- &c.raw - actual, err := cronjob.GetCronJobListFromChannels(channels, dataselect.NoDataSelect, nil) + actual, err := GetCronJobListFromChannels(channels, dataselect.NoDataSelect, nil) if !reflect.DeepEqual(actual, c.expected) { t.Errorf("GetCronJobListFromChannels() ==\n %#v\nExpected: %#v", actual, c.expected) } diff --git a/api/pkg/resource/customresourcedefinition/common.go b/modules/api/pkg/resource/customresourcedefinition/common.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/common.go rename to modules/api/pkg/resource/customresourcedefinition/common.go diff --git a/api/pkg/resource/customresourcedefinition/events.go b/modules/api/pkg/resource/customresourcedefinition/events.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/events.go rename to modules/api/pkg/resource/customresourcedefinition/events.go diff --git a/api/pkg/resource/customresourcedefinition/events_test.go b/modules/api/pkg/resource/customresourcedefinition/events_test.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/events_test.go rename to modules/api/pkg/resource/customresourcedefinition/events_test.go diff --git a/api/pkg/resource/customresourcedefinition/types/types.go b/modules/api/pkg/resource/customresourcedefinition/types/types.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/types/types.go rename to modules/api/pkg/resource/customresourcedefinition/types/types.go diff --git a/api/pkg/resource/customresourcedefinition/v1/client.go b/modules/api/pkg/resource/customresourcedefinition/v1/client.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/v1/client.go rename to modules/api/pkg/resource/customresourcedefinition/v1/client.go diff --git a/api/pkg/resource/customresourcedefinition/v1/common.go b/modules/api/pkg/resource/customresourcedefinition/v1/common.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/v1/common.go rename to modules/api/pkg/resource/customresourcedefinition/v1/common.go diff --git a/api/pkg/resource/customresourcedefinition/v1/detail.go b/modules/api/pkg/resource/customresourcedefinition/v1/detail.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/v1/detail.go rename to modules/api/pkg/resource/customresourcedefinition/v1/detail.go diff --git a/api/pkg/resource/customresourcedefinition/v1/list.go b/modules/api/pkg/resource/customresourcedefinition/v1/list.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/v1/list.go rename to modules/api/pkg/resource/customresourcedefinition/v1/list.go diff --git a/api/pkg/resource/customresourcedefinition/v1/list_test.go b/modules/api/pkg/resource/customresourcedefinition/v1/list_test.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/v1/list_test.go rename to modules/api/pkg/resource/customresourcedefinition/v1/list_test.go diff --git a/api/pkg/resource/customresourcedefinition/v1/objects.go b/modules/api/pkg/resource/customresourcedefinition/v1/objects.go similarity index 100% rename from api/pkg/resource/customresourcedefinition/v1/objects.go rename to modules/api/pkg/resource/customresourcedefinition/v1/objects.go diff --git a/api/pkg/resource/daemonset/common.go b/modules/api/pkg/resource/daemonset/common.go similarity index 100% rename from api/pkg/resource/daemonset/common.go rename to modules/api/pkg/resource/daemonset/common.go diff --git a/api/pkg/resource/daemonset/common_test.go b/modules/api/pkg/resource/daemonset/common_test.go similarity index 100% rename from api/pkg/resource/daemonset/common_test.go rename to modules/api/pkg/resource/daemonset/common_test.go diff --git a/api/pkg/resource/daemonset/detail.go b/modules/api/pkg/resource/daemonset/detail.go similarity index 100% rename from api/pkg/resource/daemonset/detail.go rename to modules/api/pkg/resource/daemonset/detail.go diff --git a/api/pkg/resource/daemonset/list.go b/modules/api/pkg/resource/daemonset/list.go similarity index 100% rename from api/pkg/resource/daemonset/list.go rename to modules/api/pkg/resource/daemonset/list.go diff --git a/api/pkg/resource/daemonset/list_test.go b/modules/api/pkg/resource/daemonset/list_test.go similarity index 100% rename from api/pkg/resource/daemonset/list_test.go rename to modules/api/pkg/resource/daemonset/list_test.go diff --git a/api/pkg/resource/daemonset/pods.go b/modules/api/pkg/resource/daemonset/pods.go similarity index 100% rename from api/pkg/resource/daemonset/pods.go rename to modules/api/pkg/resource/daemonset/pods.go diff --git a/api/pkg/resource/daemonset/services.go b/modules/api/pkg/resource/daemonset/services.go similarity index 100% rename from api/pkg/resource/daemonset/services.go rename to modules/api/pkg/resource/daemonset/services.go diff --git a/api/pkg/resource/dataselect/dataselect.go b/modules/api/pkg/resource/dataselect/dataselect.go similarity index 100% rename from api/pkg/resource/dataselect/dataselect.go rename to modules/api/pkg/resource/dataselect/dataselect.go diff --git a/api/pkg/resource/dataselect/dataselect_test.go b/modules/api/pkg/resource/dataselect/dataselect_test.go similarity index 100% rename from api/pkg/resource/dataselect/dataselect_test.go rename to modules/api/pkg/resource/dataselect/dataselect_test.go diff --git a/api/pkg/resource/dataselect/dataselectquery.go b/modules/api/pkg/resource/dataselect/dataselectquery.go similarity index 100% rename from api/pkg/resource/dataselect/dataselectquery.go rename to modules/api/pkg/resource/dataselect/dataselectquery.go diff --git a/api/pkg/resource/dataselect/pagination.go b/modules/api/pkg/resource/dataselect/pagination.go similarity index 100% rename from api/pkg/resource/dataselect/pagination.go rename to modules/api/pkg/resource/dataselect/pagination.go diff --git a/api/pkg/resource/dataselect/pagination_test.go b/modules/api/pkg/resource/dataselect/pagination_test.go similarity index 100% rename from api/pkg/resource/dataselect/pagination_test.go rename to modules/api/pkg/resource/dataselect/pagination_test.go diff --git a/api/pkg/resource/dataselect/propertyname.go b/modules/api/pkg/resource/dataselect/propertyname.go similarity index 100% rename from api/pkg/resource/dataselect/propertyname.go rename to modules/api/pkg/resource/dataselect/propertyname.go diff --git a/api/pkg/resource/dataselect/stdcomparabletypes.go b/modules/api/pkg/resource/dataselect/stdcomparabletypes.go similarity index 100% rename from api/pkg/resource/dataselect/stdcomparabletypes.go rename to modules/api/pkg/resource/dataselect/stdcomparabletypes.go diff --git a/api/pkg/resource/dataselect/stdcomparabletypes_test.go b/modules/api/pkg/resource/dataselect/stdcomparabletypes_test.go similarity index 100% rename from api/pkg/resource/dataselect/stdcomparabletypes_test.go rename to modules/api/pkg/resource/dataselect/stdcomparabletypes_test.go diff --git a/api/pkg/resource/deployment/common.go b/modules/api/pkg/resource/deployment/common.go similarity index 100% rename from api/pkg/resource/deployment/common.go rename to modules/api/pkg/resource/deployment/common.go diff --git a/api/pkg/resource/deployment/deploy.go b/modules/api/pkg/resource/deployment/deploy.go similarity index 100% rename from api/pkg/resource/deployment/deploy.go rename to modules/api/pkg/resource/deployment/deploy.go diff --git a/api/pkg/resource/deployment/deploy_test.go b/modules/api/pkg/resource/deployment/deploy_test.go similarity index 100% rename from api/pkg/resource/deployment/deploy_test.go rename to modules/api/pkg/resource/deployment/deploy_test.go diff --git a/api/pkg/resource/deployment/detail.go b/modules/api/pkg/resource/deployment/detail.go similarity index 100% rename from api/pkg/resource/deployment/detail.go rename to modules/api/pkg/resource/deployment/detail.go diff --git a/api/pkg/resource/deployment/detail_test.go b/modules/api/pkg/resource/deployment/detail_test.go similarity index 100% rename from api/pkg/resource/deployment/detail_test.go rename to modules/api/pkg/resource/deployment/detail_test.go diff --git a/api/pkg/resource/deployment/list.go b/modules/api/pkg/resource/deployment/list.go similarity index 100% rename from api/pkg/resource/deployment/list.go rename to modules/api/pkg/resource/deployment/list.go diff --git a/api/pkg/resource/deployment/list_test.go b/modules/api/pkg/resource/deployment/list_test.go similarity index 100% rename from api/pkg/resource/deployment/list_test.go rename to modules/api/pkg/resource/deployment/list_test.go diff --git a/api/pkg/resource/deployment/newreplicasets.go b/modules/api/pkg/resource/deployment/newreplicasets.go similarity index 100% rename from api/pkg/resource/deployment/newreplicasets.go rename to modules/api/pkg/resource/deployment/newreplicasets.go diff --git a/api/pkg/resource/deployment/oldreplicasets.go b/modules/api/pkg/resource/deployment/oldreplicasets.go similarity index 100% rename from api/pkg/resource/deployment/oldreplicasets.go rename to modules/api/pkg/resource/deployment/oldreplicasets.go diff --git a/api/pkg/resource/deployment/pods.go b/modules/api/pkg/resource/deployment/pods.go similarity index 100% rename from api/pkg/resource/deployment/pods.go rename to modules/api/pkg/resource/deployment/pods.go diff --git a/api/pkg/resource/deployment/rollout.go b/modules/api/pkg/resource/deployment/rollout.go similarity index 100% rename from api/pkg/resource/deployment/rollout.go rename to modules/api/pkg/resource/deployment/rollout.go diff --git a/api/pkg/resource/deployment/util.go b/modules/api/pkg/resource/deployment/util.go similarity index 100% rename from api/pkg/resource/deployment/util.go rename to modules/api/pkg/resource/deployment/util.go diff --git a/api/pkg/resource/endpoint/endpoint.go b/modules/api/pkg/resource/endpoint/endpoint.go similarity index 100% rename from api/pkg/resource/endpoint/endpoint.go rename to modules/api/pkg/resource/endpoint/endpoint.go diff --git a/api/pkg/resource/endpoint/list.go b/modules/api/pkg/resource/endpoint/list.go similarity index 100% rename from api/pkg/resource/endpoint/list.go rename to modules/api/pkg/resource/endpoint/list.go diff --git a/api/pkg/resource/event/common.go b/modules/api/pkg/resource/event/common.go similarity index 100% rename from api/pkg/resource/event/common.go rename to modules/api/pkg/resource/event/common.go diff --git a/api/pkg/resource/event/common_test.go b/modules/api/pkg/resource/event/common_test.go similarity index 100% rename from api/pkg/resource/event/common_test.go rename to modules/api/pkg/resource/event/common_test.go diff --git a/api/pkg/resource/event/event.go b/modules/api/pkg/resource/event/event.go similarity index 100% rename from api/pkg/resource/event/event.go rename to modules/api/pkg/resource/event/event.go diff --git a/api/pkg/resource/event/event_test.go b/modules/api/pkg/resource/event/event_test.go similarity index 100% rename from api/pkg/resource/event/event_test.go rename to modules/api/pkg/resource/event/event_test.go diff --git a/api/pkg/resource/event/list.go b/modules/api/pkg/resource/event/list.go similarity index 100% rename from api/pkg/resource/event/list.go rename to modules/api/pkg/resource/event/list.go diff --git a/api/pkg/resource/horizontalpodautoscaler/common.go b/modules/api/pkg/resource/horizontalpodautoscaler/common.go similarity index 100% rename from api/pkg/resource/horizontalpodautoscaler/common.go rename to modules/api/pkg/resource/horizontalpodautoscaler/common.go diff --git a/api/pkg/resource/horizontalpodautoscaler/detail.go b/modules/api/pkg/resource/horizontalpodautoscaler/detail.go similarity index 100% rename from api/pkg/resource/horizontalpodautoscaler/detail.go rename to modules/api/pkg/resource/horizontalpodautoscaler/detail.go diff --git a/api/pkg/resource/horizontalpodautoscaler/detail_test.go b/modules/api/pkg/resource/horizontalpodautoscaler/detail_test.go similarity index 100% rename from api/pkg/resource/horizontalpodautoscaler/detail_test.go rename to modules/api/pkg/resource/horizontalpodautoscaler/detail_test.go diff --git a/api/pkg/resource/horizontalpodautoscaler/list.go b/modules/api/pkg/resource/horizontalpodautoscaler/list.go similarity index 100% rename from api/pkg/resource/horizontalpodautoscaler/list.go rename to modules/api/pkg/resource/horizontalpodautoscaler/list.go diff --git a/api/pkg/resource/horizontalpodautoscaler/list_test.go b/modules/api/pkg/resource/horizontalpodautoscaler/list_test.go similarity index 100% rename from api/pkg/resource/horizontalpodautoscaler/list_test.go rename to modules/api/pkg/resource/horizontalpodautoscaler/list_test.go diff --git a/api/pkg/resource/ingress/common.go b/modules/api/pkg/resource/ingress/common.go similarity index 100% rename from api/pkg/resource/ingress/common.go rename to modules/api/pkg/resource/ingress/common.go diff --git a/api/pkg/resource/ingress/detail.go b/modules/api/pkg/resource/ingress/detail.go similarity index 100% rename from api/pkg/resource/ingress/detail.go rename to modules/api/pkg/resource/ingress/detail.go diff --git a/api/pkg/resource/ingress/filter.go b/modules/api/pkg/resource/ingress/filter.go similarity index 100% rename from api/pkg/resource/ingress/filter.go rename to modules/api/pkg/resource/ingress/filter.go diff --git a/api/pkg/resource/ingress/list.go b/modules/api/pkg/resource/ingress/list.go similarity index 100% rename from api/pkg/resource/ingress/list.go rename to modules/api/pkg/resource/ingress/list.go diff --git a/api/pkg/resource/job/common.go b/modules/api/pkg/resource/job/common.go similarity index 100% rename from api/pkg/resource/job/common.go rename to modules/api/pkg/resource/job/common.go diff --git a/api/pkg/resource/job/detail.go b/modules/api/pkg/resource/job/detail.go similarity index 100% rename from api/pkg/resource/job/detail.go rename to modules/api/pkg/resource/job/detail.go diff --git a/api/pkg/resource/job/detail_test.go b/modules/api/pkg/resource/job/detail_test.go similarity index 100% rename from api/pkg/resource/job/detail_test.go rename to modules/api/pkg/resource/job/detail_test.go diff --git a/api/pkg/resource/job/events.go b/modules/api/pkg/resource/job/events.go similarity index 100% rename from api/pkg/resource/job/events.go rename to modules/api/pkg/resource/job/events.go diff --git a/api/pkg/resource/job/events_test.go b/modules/api/pkg/resource/job/events_test.go similarity index 100% rename from api/pkg/resource/job/events_test.go rename to modules/api/pkg/resource/job/events_test.go diff --git a/api/pkg/resource/job/list.go b/modules/api/pkg/resource/job/list.go similarity index 100% rename from api/pkg/resource/job/list.go rename to modules/api/pkg/resource/job/list.go diff --git a/api/pkg/resource/job/list_test.go b/modules/api/pkg/resource/job/list_test.go similarity index 100% rename from api/pkg/resource/job/list_test.go rename to modules/api/pkg/resource/job/list_test.go diff --git a/api/pkg/resource/job/pods.go b/modules/api/pkg/resource/job/pods.go similarity index 100% rename from api/pkg/resource/job/pods.go rename to modules/api/pkg/resource/job/pods.go diff --git a/api/pkg/resource/limitrange/detail.go b/modules/api/pkg/resource/limitrange/detail.go similarity index 100% rename from api/pkg/resource/limitrange/detail.go rename to modules/api/pkg/resource/limitrange/detail.go diff --git a/api/pkg/resource/limitrange/detail_test.go b/modules/api/pkg/resource/limitrange/detail_test.go similarity index 100% rename from api/pkg/resource/limitrange/detail_test.go rename to modules/api/pkg/resource/limitrange/detail_test.go diff --git a/api/pkg/resource/logs/logs.go b/modules/api/pkg/resource/logs/logs.go similarity index 100% rename from api/pkg/resource/logs/logs.go rename to modules/api/pkg/resource/logs/logs.go diff --git a/api/pkg/resource/logs/source.go b/modules/api/pkg/resource/logs/source.go similarity index 100% rename from api/pkg/resource/logs/source.go rename to modules/api/pkg/resource/logs/source.go diff --git a/api/pkg/resource/namespace/common.go b/modules/api/pkg/resource/namespace/common.go similarity index 100% rename from api/pkg/resource/namespace/common.go rename to modules/api/pkg/resource/namespace/common.go diff --git a/api/pkg/resource/namespace/detail.go b/modules/api/pkg/resource/namespace/detail.go similarity index 100% rename from api/pkg/resource/namespace/detail.go rename to modules/api/pkg/resource/namespace/detail.go diff --git a/api/pkg/resource/namespace/detail_test.go b/modules/api/pkg/resource/namespace/detail_test.go similarity index 100% rename from api/pkg/resource/namespace/detail_test.go rename to modules/api/pkg/resource/namespace/detail_test.go diff --git a/api/pkg/resource/namespace/list.go b/modules/api/pkg/resource/namespace/list.go similarity index 100% rename from api/pkg/resource/namespace/list.go rename to modules/api/pkg/resource/namespace/list.go diff --git a/api/pkg/resource/namespace/list_test.go b/modules/api/pkg/resource/namespace/list_test.go similarity index 100% rename from api/pkg/resource/namespace/list_test.go rename to modules/api/pkg/resource/namespace/list_test.go diff --git a/api/pkg/resource/networkpolicy/common.go b/modules/api/pkg/resource/networkpolicy/common.go similarity index 100% rename from api/pkg/resource/networkpolicy/common.go rename to modules/api/pkg/resource/networkpolicy/common.go diff --git a/api/pkg/resource/networkpolicy/detail.go b/modules/api/pkg/resource/networkpolicy/detail.go similarity index 100% rename from api/pkg/resource/networkpolicy/detail.go rename to modules/api/pkg/resource/networkpolicy/detail.go diff --git a/api/pkg/resource/networkpolicy/list.go b/modules/api/pkg/resource/networkpolicy/list.go similarity index 100% rename from api/pkg/resource/networkpolicy/list.go rename to modules/api/pkg/resource/networkpolicy/list.go diff --git a/api/pkg/resource/node/common.go b/modules/api/pkg/resource/node/common.go similarity index 100% rename from api/pkg/resource/node/common.go rename to modules/api/pkg/resource/node/common.go diff --git a/api/pkg/resource/node/detail.go b/modules/api/pkg/resource/node/detail.go similarity index 100% rename from api/pkg/resource/node/detail.go rename to modules/api/pkg/resource/node/detail.go diff --git a/api/pkg/resource/node/detail_test.go b/modules/api/pkg/resource/node/detail_test.go similarity index 100% rename from api/pkg/resource/node/detail_test.go rename to modules/api/pkg/resource/node/detail_test.go diff --git a/api/pkg/resource/node/list.go b/modules/api/pkg/resource/node/list.go similarity index 100% rename from api/pkg/resource/node/list.go rename to modules/api/pkg/resource/node/list.go diff --git a/api/pkg/resource/node/list_test.go b/modules/api/pkg/resource/node/list_test.go similarity index 100% rename from api/pkg/resource/node/list_test.go rename to modules/api/pkg/resource/node/list_test.go diff --git a/api/pkg/resource/persistentvolume/common.go b/modules/api/pkg/resource/persistentvolume/common.go similarity index 100% rename from api/pkg/resource/persistentvolume/common.go rename to modules/api/pkg/resource/persistentvolume/common.go diff --git a/api/pkg/resource/persistentvolume/common_test.go b/modules/api/pkg/resource/persistentvolume/common_test.go similarity index 100% rename from api/pkg/resource/persistentvolume/common_test.go rename to modules/api/pkg/resource/persistentvolume/common_test.go diff --git a/api/pkg/resource/persistentvolume/detail.go b/modules/api/pkg/resource/persistentvolume/detail.go similarity index 100% rename from api/pkg/resource/persistentvolume/detail.go rename to modules/api/pkg/resource/persistentvolume/detail.go diff --git a/api/pkg/resource/persistentvolume/detail_test.go b/modules/api/pkg/resource/persistentvolume/detail_test.go similarity index 100% rename from api/pkg/resource/persistentvolume/detail_test.go rename to modules/api/pkg/resource/persistentvolume/detail_test.go diff --git a/api/pkg/resource/persistentvolume/list.go b/modules/api/pkg/resource/persistentvolume/list.go similarity index 100% rename from api/pkg/resource/persistentvolume/list.go rename to modules/api/pkg/resource/persistentvolume/list.go diff --git a/api/pkg/resource/persistentvolume/list_test.go b/modules/api/pkg/resource/persistentvolume/list_test.go similarity index 100% rename from api/pkg/resource/persistentvolume/list_test.go rename to modules/api/pkg/resource/persistentvolume/list_test.go diff --git a/api/pkg/resource/persistentvolumeclaim/common.go b/modules/api/pkg/resource/persistentvolumeclaim/common.go similarity index 100% rename from api/pkg/resource/persistentvolumeclaim/common.go rename to modules/api/pkg/resource/persistentvolumeclaim/common.go diff --git a/api/pkg/resource/persistentvolumeclaim/common_test.go b/modules/api/pkg/resource/persistentvolumeclaim/common_test.go similarity index 100% rename from api/pkg/resource/persistentvolumeclaim/common_test.go rename to modules/api/pkg/resource/persistentvolumeclaim/common_test.go diff --git a/api/pkg/resource/persistentvolumeclaim/detail.go b/modules/api/pkg/resource/persistentvolumeclaim/detail.go similarity index 100% rename from api/pkg/resource/persistentvolumeclaim/detail.go rename to modules/api/pkg/resource/persistentvolumeclaim/detail.go diff --git a/api/pkg/resource/persistentvolumeclaim/detail_test.go b/modules/api/pkg/resource/persistentvolumeclaim/detail_test.go similarity index 100% rename from api/pkg/resource/persistentvolumeclaim/detail_test.go rename to modules/api/pkg/resource/persistentvolumeclaim/detail_test.go diff --git a/api/pkg/resource/persistentvolumeclaim/list.go b/modules/api/pkg/resource/persistentvolumeclaim/list.go similarity index 100% rename from api/pkg/resource/persistentvolumeclaim/list.go rename to modules/api/pkg/resource/persistentvolumeclaim/list.go diff --git a/api/pkg/resource/persistentvolumeclaim/list_test.go b/modules/api/pkg/resource/persistentvolumeclaim/list_test.go similarity index 100% rename from api/pkg/resource/persistentvolumeclaim/list_test.go rename to modules/api/pkg/resource/persistentvolumeclaim/list_test.go diff --git a/api/pkg/resource/pod/common.go b/modules/api/pkg/resource/pod/common.go similarity index 100% rename from api/pkg/resource/pod/common.go rename to modules/api/pkg/resource/pod/common.go diff --git a/api/pkg/resource/pod/common_test.go b/modules/api/pkg/resource/pod/common_test.go similarity index 100% rename from api/pkg/resource/pod/common_test.go rename to modules/api/pkg/resource/pod/common_test.go diff --git a/api/pkg/resource/pod/detail.go b/modules/api/pkg/resource/pod/detail.go similarity index 100% rename from api/pkg/resource/pod/detail.go rename to modules/api/pkg/resource/pod/detail.go diff --git a/api/pkg/resource/pod/detail_test.go b/modules/api/pkg/resource/pod/detail_test.go similarity index 100% rename from api/pkg/resource/pod/detail_test.go rename to modules/api/pkg/resource/pod/detail_test.go diff --git a/api/pkg/resource/pod/events.go b/modules/api/pkg/resource/pod/events.go similarity index 100% rename from api/pkg/resource/pod/events.go rename to modules/api/pkg/resource/pod/events.go diff --git a/api/pkg/resource/pod/events_test.go b/modules/api/pkg/resource/pod/events_test.go similarity index 100% rename from api/pkg/resource/pod/events_test.go rename to modules/api/pkg/resource/pod/events_test.go diff --git a/api/pkg/resource/pod/fieldpath.go b/modules/api/pkg/resource/pod/fieldpath.go similarity index 100% rename from api/pkg/resource/pod/fieldpath.go rename to modules/api/pkg/resource/pod/fieldpath.go diff --git a/api/pkg/resource/pod/fieldpath_test.go b/modules/api/pkg/resource/pod/fieldpath_test.go similarity index 100% rename from api/pkg/resource/pod/fieldpath_test.go rename to modules/api/pkg/resource/pod/fieldpath_test.go diff --git a/api/pkg/resource/pod/list.go b/modules/api/pkg/resource/pod/list.go similarity index 100% rename from api/pkg/resource/pod/list.go rename to modules/api/pkg/resource/pod/list.go diff --git a/api/pkg/resource/pod/list_test.go b/modules/api/pkg/resource/pod/list_test.go similarity index 93% rename from api/pkg/resource/pod/list_test.go rename to modules/api/pkg/resource/pod/list_test.go index 217c75e7e556..badefc8b0b77 100644 --- a/api/pkg/resource/pod/list_test.go +++ b/modules/api/pkg/resource/pod/list_test.go @@ -27,7 +27,6 @@ import ( metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" - "k8s.io/dashboard/api/pkg/resource/pod" ) func TestGetPodListFromChannels(t *testing.T) { @@ -35,16 +34,16 @@ func TestGetPodListFromChannels(t *testing.T) { k8sPod v1.PodList k8sPodError error pods *v1.PodList - expected *pod.PodList + expected *PodList expectedError error }{ { v1.PodList{}, nil, &v1.PodList{}, - &pod.PodList{ + &PodList{ ListMeta: api.ListMeta{}, - Pods: []pod.Pod{}, + Pods: []Pod{}, CumulativeMetrics: make([]metricapi.Metric, 0), Errors: []error{}, }, @@ -91,11 +90,11 @@ func TestGetPodListFromChannels(t *testing.T) { }, nil, &v1.PodList{}, - &pod.PodList{ + &PodList{ ListMeta: api.ListMeta{TotalItems: 1}, CumulativeMetrics: make([]metricapi.Metric, 0), Status: common.ResourceStatus{Pending: 1}, - Pods: []pod.Pod{{ + Pods: []Pod{{ ObjectMeta: api.ObjectMeta{ Name: "pod-name", Namespace: "pod-namespace", @@ -130,7 +129,7 @@ func TestGetPodListFromChannels(t *testing.T) { channels.EventList.List <- &v1.EventList{} channels.EventList.Error <- nil - actual, err := pod.GetPodListFromChannels(channels, dataselect.NoDataSelect, nil) + actual, err := GetPodListFromChannels(channels, dataselect.NoDataSelect, nil) if !reflect.DeepEqual(actual, c.expected) { t.Errorf("GetPodListFromChannels() ==\n %#v\nExpected: %#v", actual, c.expected) } diff --git a/api/pkg/resource/pod/metrics.go b/modules/api/pkg/resource/pod/metrics.go similarity index 100% rename from api/pkg/resource/pod/metrics.go rename to modules/api/pkg/resource/pod/metrics.go diff --git a/api/pkg/resource/replicaset/common.go b/modules/api/pkg/resource/replicaset/common.go similarity index 100% rename from api/pkg/resource/replicaset/common.go rename to modules/api/pkg/resource/replicaset/common.go diff --git a/api/pkg/resource/replicaset/common_test.go b/modules/api/pkg/resource/replicaset/common_test.go similarity index 100% rename from api/pkg/resource/replicaset/common_test.go rename to modules/api/pkg/resource/replicaset/common_test.go diff --git a/api/pkg/resource/replicaset/detail.go b/modules/api/pkg/resource/replicaset/detail.go similarity index 100% rename from api/pkg/resource/replicaset/detail.go rename to modules/api/pkg/resource/replicaset/detail.go diff --git a/api/pkg/resource/replicaset/detail_test.go b/modules/api/pkg/resource/replicaset/detail_test.go similarity index 100% rename from api/pkg/resource/replicaset/detail_test.go rename to modules/api/pkg/resource/replicaset/detail_test.go diff --git a/api/pkg/resource/replicaset/list.go b/modules/api/pkg/resource/replicaset/list.go similarity index 100% rename from api/pkg/resource/replicaset/list.go rename to modules/api/pkg/resource/replicaset/list.go diff --git a/api/pkg/resource/replicaset/list_test.go b/modules/api/pkg/resource/replicaset/list_test.go similarity index 100% rename from api/pkg/resource/replicaset/list_test.go rename to modules/api/pkg/resource/replicaset/list_test.go diff --git a/api/pkg/resource/replicaset/pods.go b/modules/api/pkg/resource/replicaset/pods.go similarity index 100% rename from api/pkg/resource/replicaset/pods.go rename to modules/api/pkg/resource/replicaset/pods.go diff --git a/api/pkg/resource/replicaset/services.go b/modules/api/pkg/resource/replicaset/services.go similarity index 100% rename from api/pkg/resource/replicaset/services.go rename to modules/api/pkg/resource/replicaset/services.go diff --git a/api/pkg/resource/replicationcontroller/common.go b/modules/api/pkg/resource/replicationcontroller/common.go similarity index 100% rename from api/pkg/resource/replicationcontroller/common.go rename to modules/api/pkg/resource/replicationcontroller/common.go diff --git a/api/pkg/resource/replicationcontroller/common_test.go b/modules/api/pkg/resource/replicationcontroller/common_test.go similarity index 100% rename from api/pkg/resource/replicationcontroller/common_test.go rename to modules/api/pkg/resource/replicationcontroller/common_test.go diff --git a/api/pkg/resource/replicationcontroller/detail.go b/modules/api/pkg/resource/replicationcontroller/detail.go similarity index 100% rename from api/pkg/resource/replicationcontroller/detail.go rename to modules/api/pkg/resource/replicationcontroller/detail.go diff --git a/api/pkg/resource/replicationcontroller/detail_test.go b/modules/api/pkg/resource/replicationcontroller/detail_test.go similarity index 100% rename from api/pkg/resource/replicationcontroller/detail_test.go rename to modules/api/pkg/resource/replicationcontroller/detail_test.go diff --git a/api/pkg/resource/replicationcontroller/list.go b/modules/api/pkg/resource/replicationcontroller/list.go similarity index 100% rename from api/pkg/resource/replicationcontroller/list.go rename to modules/api/pkg/resource/replicationcontroller/list.go diff --git a/api/pkg/resource/replicationcontroller/list_test.go b/modules/api/pkg/resource/replicationcontroller/list_test.go similarity index 100% rename from api/pkg/resource/replicationcontroller/list_test.go rename to modules/api/pkg/resource/replicationcontroller/list_test.go diff --git a/api/pkg/resource/replicationcontroller/pods.go b/modules/api/pkg/resource/replicationcontroller/pods.go similarity index 100% rename from api/pkg/resource/replicationcontroller/pods.go rename to modules/api/pkg/resource/replicationcontroller/pods.go diff --git a/api/pkg/resource/replicationcontroller/services.go b/modules/api/pkg/resource/replicationcontroller/services.go similarity index 100% rename from api/pkg/resource/replicationcontroller/services.go rename to modules/api/pkg/resource/replicationcontroller/services.go diff --git a/api/pkg/resource/resourcequota/detail.go b/modules/api/pkg/resource/resourcequota/detail.go similarity index 100% rename from api/pkg/resource/resourcequota/detail.go rename to modules/api/pkg/resource/resourcequota/detail.go diff --git a/api/pkg/resource/resourcequota/detail_test.go b/modules/api/pkg/resource/resourcequota/detail_test.go similarity index 100% rename from api/pkg/resource/resourcequota/detail_test.go rename to modules/api/pkg/resource/resourcequota/detail_test.go diff --git a/api/pkg/resource/role/common.go b/modules/api/pkg/resource/role/common.go similarity index 100% rename from api/pkg/resource/role/common.go rename to modules/api/pkg/resource/role/common.go diff --git a/api/pkg/resource/role/detail.go b/modules/api/pkg/resource/role/detail.go similarity index 100% rename from api/pkg/resource/role/detail.go rename to modules/api/pkg/resource/role/detail.go diff --git a/api/pkg/resource/role/list.go b/modules/api/pkg/resource/role/list.go similarity index 100% rename from api/pkg/resource/role/list.go rename to modules/api/pkg/resource/role/list.go diff --git a/api/pkg/resource/role/list_test.go b/modules/api/pkg/resource/role/list_test.go similarity index 100% rename from api/pkg/resource/role/list_test.go rename to modules/api/pkg/resource/role/list_test.go diff --git a/api/pkg/resource/rolebinding/common.go b/modules/api/pkg/resource/rolebinding/common.go similarity index 100% rename from api/pkg/resource/rolebinding/common.go rename to modules/api/pkg/resource/rolebinding/common.go diff --git a/api/pkg/resource/rolebinding/detail.go b/modules/api/pkg/resource/rolebinding/detail.go similarity index 100% rename from api/pkg/resource/rolebinding/detail.go rename to modules/api/pkg/resource/rolebinding/detail.go diff --git a/api/pkg/resource/rolebinding/list.go b/modules/api/pkg/resource/rolebinding/list.go similarity index 100% rename from api/pkg/resource/rolebinding/list.go rename to modules/api/pkg/resource/rolebinding/list.go diff --git a/api/pkg/resource/rolebinding/list_test.go b/modules/api/pkg/resource/rolebinding/list_test.go similarity index 100% rename from api/pkg/resource/rolebinding/list_test.go rename to modules/api/pkg/resource/rolebinding/list_test.go diff --git a/api/pkg/resource/secret/common.go b/modules/api/pkg/resource/secret/common.go similarity index 100% rename from api/pkg/resource/secret/common.go rename to modules/api/pkg/resource/secret/common.go diff --git a/api/pkg/resource/secret/detail.go b/modules/api/pkg/resource/secret/detail.go similarity index 100% rename from api/pkg/resource/secret/detail.go rename to modules/api/pkg/resource/secret/detail.go diff --git a/api/pkg/resource/secret/detail_test.go b/modules/api/pkg/resource/secret/detail_test.go similarity index 100% rename from api/pkg/resource/secret/detail_test.go rename to modules/api/pkg/resource/secret/detail_test.go diff --git a/api/pkg/resource/secret/list.go b/modules/api/pkg/resource/secret/list.go similarity index 100% rename from api/pkg/resource/secret/list.go rename to modules/api/pkg/resource/secret/list.go diff --git a/api/pkg/resource/secret/list_test.go b/modules/api/pkg/resource/secret/list_test.go similarity index 100% rename from api/pkg/resource/secret/list_test.go rename to modules/api/pkg/resource/secret/list_test.go diff --git a/api/pkg/resource/service/common.go b/modules/api/pkg/resource/service/common.go similarity index 100% rename from api/pkg/resource/service/common.go rename to modules/api/pkg/resource/service/common.go diff --git a/api/pkg/resource/service/detail.go b/modules/api/pkg/resource/service/detail.go similarity index 100% rename from api/pkg/resource/service/detail.go rename to modules/api/pkg/resource/service/detail.go diff --git a/api/pkg/resource/service/detail_test.go b/modules/api/pkg/resource/service/detail_test.go similarity index 100% rename from api/pkg/resource/service/detail_test.go rename to modules/api/pkg/resource/service/detail_test.go diff --git a/api/pkg/resource/service/events.go b/modules/api/pkg/resource/service/events.go similarity index 100% rename from api/pkg/resource/service/events.go rename to modules/api/pkg/resource/service/events.go diff --git a/api/pkg/resource/service/events_test.go b/modules/api/pkg/resource/service/events_test.go similarity index 100% rename from api/pkg/resource/service/events_test.go rename to modules/api/pkg/resource/service/events_test.go diff --git a/api/pkg/resource/service/ingress.go b/modules/api/pkg/resource/service/ingress.go similarity index 100% rename from api/pkg/resource/service/ingress.go rename to modules/api/pkg/resource/service/ingress.go diff --git a/api/pkg/resource/service/list.go b/modules/api/pkg/resource/service/list.go similarity index 100% rename from api/pkg/resource/service/list.go rename to modules/api/pkg/resource/service/list.go diff --git a/api/pkg/resource/service/list_test.go b/modules/api/pkg/resource/service/list_test.go similarity index 100% rename from api/pkg/resource/service/list_test.go rename to modules/api/pkg/resource/service/list_test.go diff --git a/api/pkg/resource/service/pods.go b/modules/api/pkg/resource/service/pods.go similarity index 100% rename from api/pkg/resource/service/pods.go rename to modules/api/pkg/resource/service/pods.go diff --git a/api/pkg/resource/service/pods_test.go b/modules/api/pkg/resource/service/pods_test.go similarity index 100% rename from api/pkg/resource/service/pods_test.go rename to modules/api/pkg/resource/service/pods_test.go diff --git a/api/pkg/resource/serviceaccount/common.go b/modules/api/pkg/resource/serviceaccount/common.go similarity index 100% rename from api/pkg/resource/serviceaccount/common.go rename to modules/api/pkg/resource/serviceaccount/common.go diff --git a/api/pkg/resource/serviceaccount/detail.go b/modules/api/pkg/resource/serviceaccount/detail.go similarity index 100% rename from api/pkg/resource/serviceaccount/detail.go rename to modules/api/pkg/resource/serviceaccount/detail.go diff --git a/api/pkg/resource/serviceaccount/list.go b/modules/api/pkg/resource/serviceaccount/list.go similarity index 100% rename from api/pkg/resource/serviceaccount/list.go rename to modules/api/pkg/resource/serviceaccount/list.go diff --git a/api/pkg/resource/serviceaccount/secrets.go b/modules/api/pkg/resource/serviceaccount/secrets.go similarity index 100% rename from api/pkg/resource/serviceaccount/secrets.go rename to modules/api/pkg/resource/serviceaccount/secrets.go diff --git a/api/pkg/resource/statefulset/common.go b/modules/api/pkg/resource/statefulset/common.go similarity index 100% rename from api/pkg/resource/statefulset/common.go rename to modules/api/pkg/resource/statefulset/common.go diff --git a/api/pkg/resource/statefulset/detail.go b/modules/api/pkg/resource/statefulset/detail.go similarity index 100% rename from api/pkg/resource/statefulset/detail.go rename to modules/api/pkg/resource/statefulset/detail.go diff --git a/api/pkg/resource/statefulset/list.go b/modules/api/pkg/resource/statefulset/list.go similarity index 100% rename from api/pkg/resource/statefulset/list.go rename to modules/api/pkg/resource/statefulset/list.go diff --git a/api/pkg/resource/statefulset/list_test.go b/modules/api/pkg/resource/statefulset/list_test.go similarity index 100% rename from api/pkg/resource/statefulset/list_test.go rename to modules/api/pkg/resource/statefulset/list_test.go diff --git a/api/pkg/resource/statefulset/pods.go b/modules/api/pkg/resource/statefulset/pods.go similarity index 100% rename from api/pkg/resource/statefulset/pods.go rename to modules/api/pkg/resource/statefulset/pods.go diff --git a/api/pkg/resource/storageclass/common.go b/modules/api/pkg/resource/storageclass/common.go similarity index 100% rename from api/pkg/resource/storageclass/common.go rename to modules/api/pkg/resource/storageclass/common.go diff --git a/api/pkg/resource/storageclass/detail.go b/modules/api/pkg/resource/storageclass/detail.go similarity index 100% rename from api/pkg/resource/storageclass/detail.go rename to modules/api/pkg/resource/storageclass/detail.go diff --git a/api/pkg/resource/storageclass/detail_test.go b/modules/api/pkg/resource/storageclass/detail_test.go similarity index 100% rename from api/pkg/resource/storageclass/detail_test.go rename to modules/api/pkg/resource/storageclass/detail_test.go diff --git a/api/pkg/resource/storageclass/list.go b/modules/api/pkg/resource/storageclass/list.go similarity index 100% rename from api/pkg/resource/storageclass/list.go rename to modules/api/pkg/resource/storageclass/list.go diff --git a/api/pkg/resource/storageclass/list_test.go b/modules/api/pkg/resource/storageclass/list_test.go similarity index 100% rename from api/pkg/resource/storageclass/list_test.go rename to modules/api/pkg/resource/storageclass/list_test.go diff --git a/api/pkg/scaling/scale.go b/modules/api/pkg/scaling/scale.go similarity index 100% rename from api/pkg/scaling/scale.go rename to modules/api/pkg/scaling/scale.go diff --git a/api/pkg/settings/api/types.go b/modules/api/pkg/settings/api/types.go similarity index 100% rename from api/pkg/settings/api/types.go rename to modules/api/pkg/settings/api/types.go diff --git a/api/pkg/settings/handler.go b/modules/api/pkg/settings/handler.go similarity index 100% rename from api/pkg/settings/handler.go rename to modules/api/pkg/settings/handler.go diff --git a/api/pkg/settings/handler_test.go b/modules/api/pkg/settings/handler_test.go similarity index 100% rename from api/pkg/settings/handler_test.go rename to modules/api/pkg/settings/handler_test.go diff --git a/api/pkg/settings/manager.go b/modules/api/pkg/settings/manager.go similarity index 100% rename from api/pkg/settings/manager.go rename to modules/api/pkg/settings/manager.go diff --git a/api/pkg/settings/manager_test.go b/modules/api/pkg/settings/manager_test.go similarity index 100% rename from api/pkg/settings/manager_test.go rename to modules/api/pkg/settings/manager_test.go diff --git a/api/pkg/sync/api/types.go b/modules/api/pkg/sync/api/types.go similarity index 100% rename from api/pkg/sync/api/types.go rename to modules/api/pkg/sync/api/types.go diff --git a/api/pkg/sync/manager.go b/modules/api/pkg/sync/manager.go similarity index 100% rename from api/pkg/sync/manager.go rename to modules/api/pkg/sync/manager.go diff --git a/api/pkg/sync/manager_test.go b/modules/api/pkg/sync/manager_test.go similarity index 100% rename from api/pkg/sync/manager_test.go rename to modules/api/pkg/sync/manager_test.go diff --git a/api/pkg/sync/overwatch.go b/modules/api/pkg/sync/overwatch.go similarity index 100% rename from api/pkg/sync/overwatch.go rename to modules/api/pkg/sync/overwatch.go diff --git a/api/pkg/sync/poll/secret.go b/modules/api/pkg/sync/poll/secret.go similarity index 100% rename from api/pkg/sync/poll/secret.go rename to modules/api/pkg/sync/poll/secret.go diff --git a/api/pkg/sync/poll/secret_test.go b/modules/api/pkg/sync/poll/secret_test.go similarity index 90% rename from api/pkg/sync/poll/secret_test.go rename to modules/api/pkg/sync/poll/secret_test.go index 289575b813dc..2cc82f85c83c 100644 --- a/api/pkg/sync/poll/secret_test.go +++ b/modules/api/pkg/sync/poll/secret_test.go @@ -22,11 +22,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes/fake" - "k8s.io/dashboard/api/pkg/sync/poll" ) func TestNewSecretPoller(t *testing.T) { - poller := poll.NewSecretPoller("test-secret", "test-ns", nil) + poller := NewSecretPoller("test-secret", "test-ns", nil) if poller == nil { t.Fatal("Expected poller not to be nil.") @@ -44,7 +43,7 @@ func TestNewSecretPoller_Poll(t *testing.T) { }, } client := fake.NewSimpleClientset(event) - poller := poll.NewSecretPoller(sName, nsName, client) + poller := NewSecretPoller(sName, nsName, client) watcher := poller.Poll(1 * time.Second) select { diff --git a/api/pkg/sync/poll/watcher.go b/modules/api/pkg/sync/poll/watcher.go similarity index 100% rename from api/pkg/sync/poll/watcher.go rename to modules/api/pkg/sync/poll/watcher.go diff --git a/api/pkg/sync/poll/watcher_test.go b/modules/api/pkg/sync/poll/watcher_test.go similarity index 91% rename from api/pkg/sync/poll/watcher_test.go rename to modules/api/pkg/sync/poll/watcher_test.go index eb5d9c9aa090..acad68e7c1ce 100644 --- a/api/pkg/sync/poll/watcher_test.go +++ b/modules/api/pkg/sync/poll/watcher_test.go @@ -16,12 +16,10 @@ package poll_test import ( "testing" - - "k8s.io/dashboard/api/pkg/sync/poll" ) func TestNewPollWatcher(t *testing.T) { - watcher := poll.NewPollWatcher() + watcher := NewPollWatcher() if watcher == nil { t.Fatal("Expected watcher not to be nil.") diff --git a/api/pkg/sync/secret.go b/modules/api/pkg/sync/secret.go similarity index 100% rename from api/pkg/sync/secret.go rename to modules/api/pkg/sync/secret.go diff --git a/api/pkg/sync/secret_test.go b/modules/api/pkg/sync/secret_test.go similarity index 100% rename from api/pkg/sync/secret_test.go rename to modules/api/pkg/sync/secret_test.go diff --git a/api/pkg/systembanner/api/types.go b/modules/api/pkg/systembanner/api/types.go similarity index 100% rename from api/pkg/systembanner/api/types.go rename to modules/api/pkg/systembanner/api/types.go diff --git a/api/pkg/systembanner/handler.go b/modules/api/pkg/systembanner/handler.go similarity index 100% rename from api/pkg/systembanner/handler.go rename to modules/api/pkg/systembanner/handler.go diff --git a/api/pkg/systembanner/manager.go b/modules/api/pkg/systembanner/manager.go similarity index 100% rename from api/pkg/systembanner/manager.go rename to modules/api/pkg/systembanner/manager.go diff --git a/api/pkg/validation/validateappname.go b/modules/api/pkg/validation/validateappname.go similarity index 100% rename from api/pkg/validation/validateappname.go rename to modules/api/pkg/validation/validateappname.go diff --git a/api/pkg/validation/validateappname_test.go b/modules/api/pkg/validation/validateappname_test.go similarity index 100% rename from api/pkg/validation/validateappname_test.go rename to modules/api/pkg/validation/validateappname_test.go diff --git a/api/pkg/validation/validateimagereference.go b/modules/api/pkg/validation/validateimagereference.go similarity index 100% rename from api/pkg/validation/validateimagereference.go rename to modules/api/pkg/validation/validateimagereference.go diff --git a/api/pkg/validation/validateimagereference_test.go b/modules/api/pkg/validation/validateimagereference_test.go similarity index 100% rename from api/pkg/validation/validateimagereference_test.go rename to modules/api/pkg/validation/validateimagereference_test.go diff --git a/api/pkg/validation/validateloginstatus.go b/modules/api/pkg/validation/validateloginstatus.go similarity index 100% rename from api/pkg/validation/validateloginstatus.go rename to modules/api/pkg/validation/validateloginstatus.go diff --git a/api/pkg/validation/validateloginstatus_test.go b/modules/api/pkg/validation/validateloginstatus_test.go similarity index 100% rename from api/pkg/validation/validateloginstatus_test.go rename to modules/api/pkg/validation/validateloginstatus_test.go diff --git a/api/pkg/validation/validateprotocol.go b/modules/api/pkg/validation/validateprotocol.go similarity index 100% rename from api/pkg/validation/validateprotocol.go rename to modules/api/pkg/validation/validateprotocol.go diff --git a/api/pkg/validation/validateprotocol_test.go b/modules/api/pkg/validation/validateprotocol_test.go similarity index 100% rename from api/pkg/validation/validateprotocol_test.go rename to modules/api/pkg/validation/validateprotocol_test.go diff --git a/api/pkg/validation/validaterbacstatus.go b/modules/api/pkg/validation/validaterbacstatus.go similarity index 100% rename from api/pkg/validation/validaterbacstatus.go rename to modules/api/pkg/validation/validaterbacstatus.go diff --git a/api/pkg/validation/validaterbacstatus_test.go b/modules/api/pkg/validation/validaterbacstatus_test.go similarity index 100% rename from api/pkg/validation/validaterbacstatus_test.go rename to modules/api/pkg/validation/validaterbacstatus_test.go diff --git a/web/.babelrc b/modules/web/.babelrc similarity index 100% rename from web/.babelrc rename to modules/web/.babelrc diff --git a/web/.browserslistrc b/modules/web/.browserslistrc similarity index 100% rename from web/.browserslistrc rename to modules/web/.browserslistrc diff --git a/web/.dockerignore b/modules/web/.dockerignore similarity index 100% rename from web/.dockerignore rename to modules/web/.dockerignore diff --git a/web/.eslintignore b/modules/web/.eslintignore similarity index 100% rename from web/.eslintignore rename to modules/web/.eslintignore diff --git a/web/.eslintrc.yaml b/modules/web/.eslintrc.yaml similarity index 100% rename from web/.eslintrc.yaml rename to modules/web/.eslintrc.yaml diff --git a/web/.gitignore b/modules/web/.gitignore similarity index 100% rename from web/.gitignore rename to modules/web/.gitignore diff --git a/web/.jsbeautifyrc b/modules/web/.jsbeautifyrc similarity index 100% rename from web/.jsbeautifyrc rename to modules/web/.jsbeautifyrc diff --git a/web/.npmrc b/modules/web/.npmrc similarity index 100% rename from web/.npmrc rename to modules/web/.npmrc diff --git a/web/.prettierrc.cjs b/modules/web/.prettierrc.cjs similarity index 100% rename from web/.prettierrc.cjs rename to modules/web/.prettierrc.cjs diff --git a/web/.stylelintrc.yaml b/modules/web/.stylelintrc.yaml similarity index 100% rename from web/.stylelintrc.yaml rename to modules/web/.stylelintrc.yaml diff --git a/web/angular.json b/modules/web/angular.json similarity index 100% rename from web/angular.json rename to modules/web/angular.json diff --git a/web/cypress.json b/modules/web/cypress.json similarity index 100% rename from web/cypress.json rename to modules/web/cypress.json diff --git a/web/cypress/fixtures/crd.yaml b/modules/web/cypress/fixtures/crd.yaml similarity index 100% rename from web/cypress/fixtures/crd.yaml rename to modules/web/cypress/fixtures/crd.yaml diff --git a/web/cypress/fixtures/example-foo.yaml b/modules/web/cypress/fixtures/example-foo.yaml similarity index 100% rename from web/cypress/fixtures/example-foo.yaml rename to modules/web/cypress/fixtures/example-foo.yaml diff --git a/web/cypress/integration/specs/nav.spec.ts b/modules/web/cypress/integration/specs/nav.spec.ts similarity index 100% rename from web/cypress/integration/specs/nav.spec.ts rename to modules/web/cypress/integration/specs/nav.spec.ts diff --git a/web/cypress/integration/specs/userpanel.spec.ts b/modules/web/cypress/integration/specs/userpanel.spec.ts similarity index 100% rename from web/cypress/integration/specs/userpanel.spec.ts rename to modules/web/cypress/integration/specs/userpanel.spec.ts diff --git a/web/cypress/pages/abstractPage.ts b/modules/web/cypress/pages/abstractPage.ts similarity index 100% rename from web/cypress/pages/abstractPage.ts rename to modules/web/cypress/pages/abstractPage.ts diff --git a/web/cypress/pages/navbarPage.ts b/modules/web/cypress/pages/navbarPage.ts similarity index 100% rename from web/cypress/pages/navbarPage.ts rename to modules/web/cypress/pages/navbarPage.ts diff --git a/web/cypress/pages/userpanelPage.ts b/modules/web/cypress/pages/userpanelPage.ts similarity index 100% rename from web/cypress/pages/userpanelPage.ts rename to modules/web/cypress/pages/userpanelPage.ts diff --git a/web/cypress/plugins/cy-ts-preprocessor.ts b/modules/web/cypress/plugins/cy-ts-preprocessor.ts similarity index 100% rename from web/cypress/plugins/cy-ts-preprocessor.ts rename to modules/web/cypress/plugins/cy-ts-preprocessor.ts diff --git a/web/cypress/plugins/index.ts b/modules/web/cypress/plugins/index.ts similarity index 100% rename from web/cypress/plugins/index.ts rename to modules/web/cypress/plugins/index.ts diff --git a/web/cypress/support/index.ts b/modules/web/cypress/support/index.ts similarity index 100% rename from web/cypress/support/index.ts rename to modules/web/cypress/support/index.ts diff --git a/web/i18n/de/OWNERS b/modules/web/i18n/de/OWNERS similarity index 100% rename from web/i18n/de/OWNERS rename to modules/web/i18n/de/OWNERS diff --git a/web/i18n/de/messages.de.xlf b/modules/web/i18n/de/messages.de.xlf similarity index 100% rename from web/i18n/de/messages.de.xlf rename to modules/web/i18n/de/messages.de.xlf diff --git a/web/i18n/es/OWNERS b/modules/web/i18n/es/OWNERS similarity index 100% rename from web/i18n/es/OWNERS rename to modules/web/i18n/es/OWNERS diff --git a/web/i18n/es/messages.es.xlf b/modules/web/i18n/es/messages.es.xlf similarity index 100% rename from web/i18n/es/messages.es.xlf rename to modules/web/i18n/es/messages.es.xlf diff --git a/web/i18n/fr/OWNERS b/modules/web/i18n/fr/OWNERS similarity index 100% rename from web/i18n/fr/OWNERS rename to modules/web/i18n/fr/OWNERS diff --git a/web/i18n/fr/messages.fr.xlf b/modules/web/i18n/fr/messages.fr.xlf similarity index 100% rename from web/i18n/fr/messages.fr.xlf rename to modules/web/i18n/fr/messages.fr.xlf diff --git a/web/i18n/ja/OWNERS b/modules/web/i18n/ja/OWNERS similarity index 100% rename from web/i18n/ja/OWNERS rename to modules/web/i18n/ja/OWNERS diff --git a/web/i18n/ja/README.md b/modules/web/i18n/ja/README.md similarity index 100% rename from web/i18n/ja/README.md rename to modules/web/i18n/ja/README.md diff --git a/web/i18n/ja/messages.ja.xlf b/modules/web/i18n/ja/messages.ja.xlf similarity index 100% rename from web/i18n/ja/messages.ja.xlf rename to modules/web/i18n/ja/messages.ja.xlf diff --git a/web/i18n/ko/OWNERS b/modules/web/i18n/ko/OWNERS similarity index 100% rename from web/i18n/ko/OWNERS rename to modules/web/i18n/ko/OWNERS diff --git a/web/i18n/ko/messages.ko.xlf b/modules/web/i18n/ko/messages.ko.xlf similarity index 100% rename from web/i18n/ko/messages.ko.xlf rename to modules/web/i18n/ko/messages.ko.xlf diff --git a/web/i18n/locale_conf.json b/modules/web/i18n/locale_conf.json similarity index 100% rename from web/i18n/locale_conf.json rename to modules/web/i18n/locale_conf.json diff --git a/web/i18n/messages.xlf b/modules/web/i18n/messages.xlf similarity index 100% rename from web/i18n/messages.xlf rename to modules/web/i18n/messages.xlf diff --git a/web/i18n/zh-Hans/OWNERS b/modules/web/i18n/zh-Hans/OWNERS similarity index 100% rename from web/i18n/zh-Hans/OWNERS rename to modules/web/i18n/zh-Hans/OWNERS diff --git a/web/i18n/zh-Hans/messages.zh-Hans.xlf b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf similarity index 100% rename from web/i18n/zh-Hans/messages.zh-Hans.xlf rename to modules/web/i18n/zh-Hans/messages.zh-Hans.xlf diff --git a/web/i18n/zh-Hant-HK/OWNERS b/modules/web/i18n/zh-Hant-HK/OWNERS similarity index 100% rename from web/i18n/zh-Hant-HK/OWNERS rename to modules/web/i18n/zh-Hant-HK/OWNERS diff --git a/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf similarity index 100% rename from web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf rename to modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf diff --git a/web/i18n/zh-Hant/OWNERS b/modules/web/i18n/zh-Hant/OWNERS similarity index 100% rename from web/i18n/zh-Hant/OWNERS rename to modules/web/i18n/zh-Hant/OWNERS diff --git a/web/i18n/zh-Hant/messages.zh-Hant.xlf b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf similarity index 100% rename from web/i18n/zh-Hant/messages.zh-Hant.xlf rename to modules/web/i18n/zh-Hant/messages.zh-Hant.xlf diff --git a/web/jest.config.js b/modules/web/jest.config.js similarity index 100% rename from web/jest.config.js rename to modules/web/jest.config.js diff --git a/web/package-lock.json b/modules/web/package-lock.json similarity index 100% rename from web/package-lock.json rename to modules/web/package-lock.json diff --git a/web/package.json b/modules/web/package.json similarity index 100% rename from web/package.json rename to modules/web/package.json diff --git a/web/proxy-https.conf.json b/modules/web/proxy-https.conf.json similarity index 100% rename from web/proxy-https.conf.json rename to modules/web/proxy-https.conf.json diff --git a/web/proxy.conf.json b/modules/web/proxy.conf.json similarity index 100% rename from web/proxy.conf.json rename to modules/web/proxy.conf.json diff --git a/web/scripts/check-html.sh b/modules/web/scripts/check-html.sh similarity index 100% rename from web/scripts/check-html.sh rename to modules/web/scripts/check-html.sh diff --git a/web/scripts/version.mjs b/modules/web/scripts/version.mjs similarity index 100% rename from web/scripts/version.mjs rename to modules/web/scripts/version.mjs diff --git a/web/scripts/xliffmerge.sh b/modules/web/scripts/xliffmerge.sh similarity index 100% rename from web/scripts/xliffmerge.sh rename to modules/web/scripts/xliffmerge.sh diff --git a/web/src/_dark.scss b/modules/web/src/_dark.scss similarity index 100% rename from web/src/_dark.scss rename to modules/web/src/_dark.scss diff --git a/web/src/_light.scss b/modules/web/src/_light.scss similarity index 100% rename from web/src/_light.scss rename to modules/web/src/_light.scss diff --git a/web/src/_mixins.scss b/modules/web/src/_mixins.scss similarity index 100% rename from web/src/_mixins.scss rename to modules/web/src/_mixins.scss diff --git a/web/src/_theming.scss b/modules/web/src/_theming.scss similarity index 100% rename from web/src/_theming.scss rename to modules/web/src/_theming.scss diff --git a/web/src/_variables.scss b/modules/web/src/_variables.scss similarity index 100% rename from web/src/_variables.scss rename to modules/web/src/_variables.scss diff --git a/web/src/about/actionbar/component.ts b/modules/web/src/about/actionbar/component.ts similarity index 100% rename from web/src/about/actionbar/component.ts rename to modules/web/src/about/actionbar/component.ts diff --git a/web/src/about/actionbar/template.html b/modules/web/src/about/actionbar/template.html similarity index 100% rename from web/src/about/actionbar/template.html rename to modules/web/src/about/actionbar/template.html diff --git a/web/src/about/component.spec.ts b/modules/web/src/about/component.spec.ts similarity index 100% rename from web/src/about/component.spec.ts rename to modules/web/src/about/component.spec.ts diff --git a/web/src/about/component.ts b/modules/web/src/about/component.ts similarity index 100% rename from web/src/about/component.ts rename to modules/web/src/about/component.ts diff --git a/web/src/about/module.ts b/modules/web/src/about/module.ts similarity index 100% rename from web/src/about/module.ts rename to modules/web/src/about/module.ts diff --git a/web/src/about/routing.ts b/modules/web/src/about/routing.ts similarity index 100% rename from web/src/about/routing.ts rename to modules/web/src/about/routing.ts diff --git a/web/src/about/style.scss b/modules/web/src/about/style.scss similarity index 100% rename from web/src/about/style.scss rename to modules/web/src/about/style.scss diff --git a/web/src/about/template.html b/modules/web/src/about/template.html similarity index 100% rename from web/src/about/template.html rename to modules/web/src/about/template.html diff --git a/web/src/assets/config/config.json b/modules/web/src/assets/config/config.json similarity index 100% rename from web/src/assets/config/config.json rename to modules/web/src/assets/config/config.json diff --git a/web/src/assets/images/kubernetes-logo-text.svg b/modules/web/src/assets/images/kubernetes-logo-text.svg similarity index 100% rename from web/src/assets/images/kubernetes-logo-text.svg rename to modules/web/src/assets/images/kubernetes-logo-text.svg diff --git a/web/src/assets/images/kubernetes-logo.png b/modules/web/src/assets/images/kubernetes-logo.png similarity index 100% rename from web/src/assets/images/kubernetes-logo.png rename to modules/web/src/assets/images/kubernetes-logo.png diff --git a/web/src/assets/images/kubernetes-logo.svg b/modules/web/src/assets/images/kubernetes-logo.svg similarity index 100% rename from web/src/assets/images/kubernetes-logo.svg rename to modules/web/src/assets/images/kubernetes-logo.svg diff --git a/web/src/assets/images/pin-crossed.svg b/modules/web/src/assets/images/pin-crossed.svg similarity index 100% rename from web/src/assets/images/pin-crossed.svg rename to modules/web/src/assets/images/pin-crossed.svg diff --git a/web/src/assets/images/pin.svg b/modules/web/src/assets/images/pin.svg similarity index 100% rename from web/src/assets/images/pin.svg rename to modules/web/src/assets/images/pin.svg diff --git a/web/src/assets/robots.txt b/modules/web/src/assets/robots.txt similarity index 100% rename from web/src/assets/robots.txt rename to modules/web/src/assets/robots.txt diff --git a/web/src/chrome/component.ts b/modules/web/src/chrome/component.ts similarity index 100% rename from web/src/chrome/component.ts rename to modules/web/src/chrome/component.ts diff --git a/web/src/chrome/module.ts b/modules/web/src/chrome/module.ts similarity index 100% rename from web/src/chrome/module.ts rename to modules/web/src/chrome/module.ts diff --git a/web/src/chrome/nav/component.ts b/modules/web/src/chrome/nav/component.ts similarity index 100% rename from web/src/chrome/nav/component.ts rename to modules/web/src/chrome/nav/component.ts diff --git a/web/src/chrome/nav/hamburger/component.ts b/modules/web/src/chrome/nav/hamburger/component.ts similarity index 100% rename from web/src/chrome/nav/hamburger/component.ts rename to modules/web/src/chrome/nav/hamburger/component.ts diff --git a/web/src/chrome/nav/hamburger/template.html b/modules/web/src/chrome/nav/hamburger/template.html similarity index 100% rename from web/src/chrome/nav/hamburger/template.html rename to modules/web/src/chrome/nav/hamburger/template.html diff --git a/web/src/chrome/nav/item/component.ts b/modules/web/src/chrome/nav/item/component.ts similarity index 100% rename from web/src/chrome/nav/item/component.ts rename to modules/web/src/chrome/nav/item/component.ts diff --git a/web/src/chrome/nav/item/style.scss b/modules/web/src/chrome/nav/item/style.scss similarity index 100% rename from web/src/chrome/nav/item/style.scss rename to modules/web/src/chrome/nav/item/style.scss diff --git a/web/src/chrome/nav/item/template.html b/modules/web/src/chrome/nav/item/template.html similarity index 100% rename from web/src/chrome/nav/item/template.html rename to modules/web/src/chrome/nav/item/template.html diff --git a/web/src/chrome/nav/module.ts b/modules/web/src/chrome/nav/module.ts similarity index 100% rename from web/src/chrome/nav/module.ts rename to modules/web/src/chrome/nav/module.ts diff --git a/web/src/chrome/nav/pinner/component.ts b/modules/web/src/chrome/nav/pinner/component.ts similarity index 100% rename from web/src/chrome/nav/pinner/component.ts rename to modules/web/src/chrome/nav/pinner/component.ts diff --git a/web/src/chrome/nav/pinner/template.html b/modules/web/src/chrome/nav/pinner/template.html similarity index 100% rename from web/src/chrome/nav/pinner/template.html rename to modules/web/src/chrome/nav/pinner/template.html diff --git a/web/src/chrome/nav/style.scss b/modules/web/src/chrome/nav/style.scss similarity index 100% rename from web/src/chrome/nav/style.scss rename to modules/web/src/chrome/nav/style.scss diff --git a/web/src/chrome/nav/template.html b/modules/web/src/chrome/nav/template.html similarity index 100% rename from web/src/chrome/nav/template.html rename to modules/web/src/chrome/nav/template.html diff --git a/web/src/chrome/notifications/component.ts b/modules/web/src/chrome/notifications/component.ts similarity index 100% rename from web/src/chrome/notifications/component.ts rename to modules/web/src/chrome/notifications/component.ts diff --git a/web/src/chrome/notifications/style.scss b/modules/web/src/chrome/notifications/style.scss similarity index 100% rename from web/src/chrome/notifications/style.scss rename to modules/web/src/chrome/notifications/style.scss diff --git a/web/src/chrome/notifications/template.html b/modules/web/src/chrome/notifications/template.html similarity index 100% rename from web/src/chrome/notifications/template.html rename to modules/web/src/chrome/notifications/template.html diff --git a/web/src/chrome/routing.ts b/modules/web/src/chrome/routing.ts similarity index 100% rename from web/src/chrome/routing.ts rename to modules/web/src/chrome/routing.ts diff --git a/web/src/chrome/search/component.ts b/modules/web/src/chrome/search/component.ts similarity index 100% rename from web/src/chrome/search/component.ts rename to modules/web/src/chrome/search/component.ts diff --git a/web/src/chrome/search/style.scss b/modules/web/src/chrome/search/style.scss similarity index 100% rename from web/src/chrome/search/style.scss rename to modules/web/src/chrome/search/style.scss diff --git a/web/src/chrome/search/template.html b/modules/web/src/chrome/search/template.html similarity index 100% rename from web/src/chrome/search/template.html rename to modules/web/src/chrome/search/template.html diff --git a/web/src/chrome/style.scss b/modules/web/src/chrome/style.scss similarity index 100% rename from web/src/chrome/style.scss rename to modules/web/src/chrome/style.scss diff --git a/web/src/chrome/template.html b/modules/web/src/chrome/template.html similarity index 100% rename from web/src/chrome/template.html rename to modules/web/src/chrome/template.html diff --git a/web/src/chrome/userpanel/component.ts b/modules/web/src/chrome/userpanel/component.ts similarity index 100% rename from web/src/chrome/userpanel/component.ts rename to modules/web/src/chrome/userpanel/component.ts diff --git a/web/src/chrome/userpanel/style.scss b/modules/web/src/chrome/userpanel/style.scss similarity index 100% rename from web/src/chrome/userpanel/style.scss rename to modules/web/src/chrome/userpanel/style.scss diff --git a/web/src/chrome/userpanel/template.html b/modules/web/src/chrome/userpanel/template.html similarity index 100% rename from web/src/chrome/userpanel/template.html rename to modules/web/src/chrome/userpanel/template.html diff --git a/web/src/common/animations/animations.ts b/modules/web/src/common/animations/animations.ts similarity index 100% rename from web/src/common/animations/animations.ts rename to modules/web/src/common/animations/animations.ts diff --git a/web/src/common/components/actionbar/component.ts b/modules/web/src/common/components/actionbar/component.ts similarity index 100% rename from web/src/common/components/actionbar/component.ts rename to modules/web/src/common/components/actionbar/component.ts diff --git a/web/src/common/components/actionbar/detailactions/component.ts b/modules/web/src/common/components/actionbar/detailactions/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/component.ts rename to modules/web/src/common/components/actionbar/detailactions/component.ts diff --git a/web/src/common/components/actionbar/detailactions/delete/component.ts b/modules/web/src/common/components/actionbar/detailactions/delete/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/delete/component.ts rename to modules/web/src/common/components/actionbar/detailactions/delete/component.ts diff --git a/web/src/common/components/actionbar/detailactions/delete/template.html b/modules/web/src/common/components/actionbar/detailactions/delete/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/delete/template.html rename to modules/web/src/common/components/actionbar/detailactions/delete/template.html diff --git a/web/src/common/components/actionbar/detailactions/edit/component.ts b/modules/web/src/common/components/actionbar/detailactions/edit/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/edit/component.ts rename to modules/web/src/common/components/actionbar/detailactions/edit/component.ts diff --git a/web/src/common/components/actionbar/detailactions/edit/template.html b/modules/web/src/common/components/actionbar/detailactions/edit/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/edit/template.html rename to modules/web/src/common/components/actionbar/detailactions/edit/template.html diff --git a/web/src/common/components/actionbar/detailactions/exec/component.ts b/modules/web/src/common/components/actionbar/detailactions/exec/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/exec/component.ts rename to modules/web/src/common/components/actionbar/detailactions/exec/component.ts diff --git a/web/src/common/components/actionbar/detailactions/exec/template.html b/modules/web/src/common/components/actionbar/detailactions/exec/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/exec/template.html rename to modules/web/src/common/components/actionbar/detailactions/exec/template.html diff --git a/web/src/common/components/actionbar/detailactions/logs/component.ts b/modules/web/src/common/components/actionbar/detailactions/logs/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/logs/component.ts rename to modules/web/src/common/components/actionbar/detailactions/logs/component.ts diff --git a/web/src/common/components/actionbar/detailactions/logs/template.html b/modules/web/src/common/components/actionbar/detailactions/logs/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/logs/template.html rename to modules/web/src/common/components/actionbar/detailactions/logs/template.html diff --git a/web/src/common/components/actionbar/detailactions/pin/component.ts b/modules/web/src/common/components/actionbar/detailactions/pin/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/pin/component.ts rename to modules/web/src/common/components/actionbar/detailactions/pin/component.ts diff --git a/web/src/common/components/actionbar/detailactions/pin/template.html b/modules/web/src/common/components/actionbar/detailactions/pin/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/pin/template.html rename to modules/web/src/common/components/actionbar/detailactions/pin/template.html diff --git a/web/src/common/components/actionbar/detailactions/restart/component.ts b/modules/web/src/common/components/actionbar/detailactions/restart/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/restart/component.ts rename to modules/web/src/common/components/actionbar/detailactions/restart/component.ts diff --git a/web/src/common/components/actionbar/detailactions/restart/template.html b/modules/web/src/common/components/actionbar/detailactions/restart/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/restart/template.html rename to modules/web/src/common/components/actionbar/detailactions/restart/template.html diff --git a/web/src/common/components/actionbar/detailactions/scale/component.ts b/modules/web/src/common/components/actionbar/detailactions/scale/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/scale/component.ts rename to modules/web/src/common/components/actionbar/detailactions/scale/component.ts diff --git a/web/src/common/components/actionbar/detailactions/scale/template.html b/modules/web/src/common/components/actionbar/detailactions/scale/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/scale/template.html rename to modules/web/src/common/components/actionbar/detailactions/scale/template.html diff --git a/web/src/common/components/actionbar/detailactions/template.html b/modules/web/src/common/components/actionbar/detailactions/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/template.html rename to modules/web/src/common/components/actionbar/detailactions/template.html diff --git a/web/src/common/components/actionbar/detailactions/trigger/component.ts b/modules/web/src/common/components/actionbar/detailactions/trigger/component.ts similarity index 100% rename from web/src/common/components/actionbar/detailactions/trigger/component.ts rename to modules/web/src/common/components/actionbar/detailactions/trigger/component.ts diff --git a/web/src/common/components/actionbar/detailactions/trigger/template.html b/modules/web/src/common/components/actionbar/detailactions/trigger/template.html similarity index 100% rename from web/src/common/components/actionbar/detailactions/trigger/template.html rename to modules/web/src/common/components/actionbar/detailactions/trigger/template.html diff --git a/web/src/common/components/actionbar/template.html b/modules/web/src/common/components/actionbar/template.html similarity index 100% rename from web/src/common/components/actionbar/template.html rename to modules/web/src/common/components/actionbar/template.html diff --git a/web/src/common/components/actionbars/default/component.ts b/modules/web/src/common/components/actionbars/default/component.ts similarity index 100% rename from web/src/common/components/actionbars/default/component.ts rename to modules/web/src/common/components/actionbars/default/component.ts diff --git a/web/src/common/components/actionbars/default/template.html b/modules/web/src/common/components/actionbars/default/template.html similarity index 100% rename from web/src/common/components/actionbars/default/template.html rename to modules/web/src/common/components/actionbars/default/template.html diff --git a/web/src/common/components/actionbars/logsdefault/component.ts b/modules/web/src/common/components/actionbars/logsdefault/component.ts similarity index 100% rename from web/src/common/components/actionbars/logsdefault/component.ts rename to modules/web/src/common/components/actionbars/logsdefault/component.ts diff --git a/web/src/common/components/actionbars/logsdefault/template.html b/modules/web/src/common/components/actionbars/logsdefault/template.html similarity index 100% rename from web/src/common/components/actionbars/logsdefault/template.html rename to modules/web/src/common/components/actionbars/logsdefault/template.html diff --git a/web/src/common/components/actionbars/logsexecdefault/component.ts b/modules/web/src/common/components/actionbars/logsexecdefault/component.ts similarity index 100% rename from web/src/common/components/actionbars/logsexecdefault/component.ts rename to modules/web/src/common/components/actionbars/logsexecdefault/component.ts diff --git a/web/src/common/components/actionbars/logsexecdefault/template.html b/modules/web/src/common/components/actionbars/logsexecdefault/template.html similarity index 100% rename from web/src/common/components/actionbars/logsexecdefault/template.html rename to modules/web/src/common/components/actionbars/logsexecdefault/template.html diff --git a/web/src/common/components/actionbars/logsscaledefault/component.ts b/modules/web/src/common/components/actionbars/logsscaledefault/component.ts similarity index 100% rename from web/src/common/components/actionbars/logsscaledefault/component.ts rename to modules/web/src/common/components/actionbars/logsscaledefault/component.ts diff --git a/web/src/common/components/actionbars/logsscaledefault/template.html b/modules/web/src/common/components/actionbars/logsscaledefault/template.html similarity index 100% rename from web/src/common/components/actionbars/logsscaledefault/template.html rename to modules/web/src/common/components/actionbars/logsscaledefault/template.html diff --git a/web/src/common/components/actionbars/pindefault/component.ts b/modules/web/src/common/components/actionbars/pindefault/component.ts similarity index 100% rename from web/src/common/components/actionbars/pindefault/component.ts rename to modules/web/src/common/components/actionbars/pindefault/component.ts diff --git a/web/src/common/components/actionbars/pindefault/template.html b/modules/web/src/common/components/actionbars/pindefault/template.html similarity index 100% rename from web/src/common/components/actionbars/pindefault/template.html rename to modules/web/src/common/components/actionbars/pindefault/template.html diff --git a/web/src/common/components/actionbars/routing.ts b/modules/web/src/common/components/actionbars/routing.ts similarity index 100% rename from web/src/common/components/actionbars/routing.ts rename to modules/web/src/common/components/actionbars/routing.ts diff --git a/web/src/common/components/actionbars/scaledefault/component.ts b/modules/web/src/common/components/actionbars/scaledefault/component.ts similarity index 100% rename from web/src/common/components/actionbars/scaledefault/component.ts rename to modules/web/src/common/components/actionbars/scaledefault/component.ts diff --git a/web/src/common/components/actionbars/scaledefault/template.html b/modules/web/src/common/components/actionbars/scaledefault/template.html similarity index 100% rename from web/src/common/components/actionbars/scaledefault/template.html rename to modules/web/src/common/components/actionbars/scaledefault/template.html diff --git a/web/src/common/components/actionbars/triggerdefault/component.ts b/modules/web/src/common/components/actionbars/triggerdefault/component.ts similarity index 100% rename from web/src/common/components/actionbars/triggerdefault/component.ts rename to modules/web/src/common/components/actionbars/triggerdefault/component.ts diff --git a/web/src/common/components/actionbars/triggerdefault/template.html b/modules/web/src/common/components/actionbars/triggerdefault/template.html similarity index 100% rename from web/src/common/components/actionbars/triggerdefault/template.html rename to modules/web/src/common/components/actionbars/triggerdefault/template.html diff --git a/web/src/common/components/breadcrumbs/component.ts b/modules/web/src/common/components/breadcrumbs/component.ts similarity index 100% rename from web/src/common/components/breadcrumbs/component.ts rename to modules/web/src/common/components/breadcrumbs/component.ts diff --git a/web/src/common/components/breadcrumbs/style.scss b/modules/web/src/common/components/breadcrumbs/style.scss similarity index 100% rename from web/src/common/components/breadcrumbs/style.scss rename to modules/web/src/common/components/breadcrumbs/style.scss diff --git a/web/src/common/components/breadcrumbs/template.html b/modules/web/src/common/components/breadcrumbs/template.html similarity index 100% rename from web/src/common/components/breadcrumbs/template.html rename to modules/web/src/common/components/breadcrumbs/template.html diff --git a/web/src/common/components/card/component.spec.ts b/modules/web/src/common/components/card/component.spec.ts similarity index 100% rename from web/src/common/components/card/component.spec.ts rename to modules/web/src/common/components/card/component.spec.ts diff --git a/web/src/common/components/card/component.ts b/modules/web/src/common/components/card/component.ts similarity index 100% rename from web/src/common/components/card/component.ts rename to modules/web/src/common/components/card/component.ts diff --git a/web/src/common/components/card/style.scss b/modules/web/src/common/components/card/style.scss similarity index 100% rename from web/src/common/components/card/style.scss rename to modules/web/src/common/components/card/style.scss diff --git a/web/src/common/components/card/template.html b/modules/web/src/common/components/card/template.html similarity index 100% rename from web/src/common/components/card/template.html rename to modules/web/src/common/components/card/template.html diff --git a/web/src/common/components/chips/chipdialog/dialog.ts b/modules/web/src/common/components/chips/chipdialog/dialog.ts similarity index 100% rename from web/src/common/components/chips/chipdialog/dialog.ts rename to modules/web/src/common/components/chips/chipdialog/dialog.ts diff --git a/web/src/common/components/chips/chipdialog/template.html b/modules/web/src/common/components/chips/chipdialog/template.html similarity index 100% rename from web/src/common/components/chips/chipdialog/template.html rename to modules/web/src/common/components/chips/chipdialog/template.html diff --git a/web/src/common/components/chips/component.ts b/modules/web/src/common/components/chips/component.ts similarity index 100% rename from web/src/common/components/chips/component.ts rename to modules/web/src/common/components/chips/component.ts diff --git a/web/src/common/components/chips/style.scss b/modules/web/src/common/components/chips/style.scss similarity index 100% rename from web/src/common/components/chips/style.scss rename to modules/web/src/common/components/chips/style.scss diff --git a/web/src/common/components/chips/template.html b/modules/web/src/common/components/chips/template.html similarity index 100% rename from web/src/common/components/chips/template.html rename to modules/web/src/common/components/chips/template.html diff --git a/web/src/common/components/condition/component.ts b/modules/web/src/common/components/condition/component.ts similarity index 100% rename from web/src/common/components/condition/component.ts rename to modules/web/src/common/components/condition/component.ts diff --git a/web/src/common/components/condition/template.html b/modules/web/src/common/components/condition/template.html similarity index 100% rename from web/src/common/components/condition/template.html rename to modules/web/src/common/components/condition/template.html diff --git a/web/src/common/components/container/component.ts b/modules/web/src/common/components/container/component.ts similarity index 100% rename from web/src/common/components/container/component.ts rename to modules/web/src/common/components/container/component.ts diff --git a/web/src/common/components/container/style.scss b/modules/web/src/common/components/container/style.scss similarity index 100% rename from web/src/common/components/container/style.scss rename to modules/web/src/common/components/container/style.scss diff --git a/web/src/common/components/container/template.html b/modules/web/src/common/components/container/template.html similarity index 100% rename from web/src/common/components/container/template.html rename to modules/web/src/common/components/container/template.html diff --git a/web/src/common/components/creator/component.ts b/modules/web/src/common/components/creator/component.ts similarity index 100% rename from web/src/common/components/creator/component.ts rename to modules/web/src/common/components/creator/component.ts diff --git a/web/src/common/components/creator/template.html b/modules/web/src/common/components/creator/template.html similarity index 100% rename from web/src/common/components/creator/template.html rename to modules/web/src/common/components/creator/template.html diff --git a/web/src/common/components/date/component.ts b/modules/web/src/common/components/date/component.ts similarity index 100% rename from web/src/common/components/date/component.ts rename to modules/web/src/common/components/date/component.ts diff --git a/web/src/common/components/date/style.scss b/modules/web/src/common/components/date/style.scss similarity index 100% rename from web/src/common/components/date/style.scss rename to modules/web/src/common/components/date/style.scss diff --git a/web/src/common/components/date/template.html b/modules/web/src/common/components/date/template.html similarity index 100% rename from web/src/common/components/date/template.html rename to modules/web/src/common/components/date/template.html diff --git a/web/src/common/components/endpoint/cardlist/component.ts b/modules/web/src/common/components/endpoint/cardlist/component.ts similarity index 100% rename from web/src/common/components/endpoint/cardlist/component.ts rename to modules/web/src/common/components/endpoint/cardlist/component.ts diff --git a/web/src/common/components/endpoint/cardlist/style.scss b/modules/web/src/common/components/endpoint/cardlist/style.scss similarity index 100% rename from web/src/common/components/endpoint/cardlist/style.scss rename to modules/web/src/common/components/endpoint/cardlist/style.scss diff --git a/web/src/common/components/endpoint/cardlist/template.html b/modules/web/src/common/components/endpoint/cardlist/template.html similarity index 100% rename from web/src/common/components/endpoint/cardlist/template.html rename to modules/web/src/common/components/endpoint/cardlist/template.html diff --git a/web/src/common/components/endpoint/external/component.ts b/modules/web/src/common/components/endpoint/external/component.ts similarity index 100% rename from web/src/common/components/endpoint/external/component.ts rename to modules/web/src/common/components/endpoint/external/component.ts diff --git a/web/src/common/components/endpoint/external/style.scss b/modules/web/src/common/components/endpoint/external/style.scss similarity index 100% rename from web/src/common/components/endpoint/external/style.scss rename to modules/web/src/common/components/endpoint/external/style.scss diff --git a/web/src/common/components/endpoint/external/template.html b/modules/web/src/common/components/endpoint/external/template.html similarity index 100% rename from web/src/common/components/endpoint/external/template.html rename to modules/web/src/common/components/endpoint/external/template.html diff --git a/web/src/common/components/endpoint/internal/component.ts b/modules/web/src/common/components/endpoint/internal/component.ts similarity index 100% rename from web/src/common/components/endpoint/internal/component.ts rename to modules/web/src/common/components/endpoint/internal/component.ts diff --git a/web/src/common/components/endpoint/internal/style.scss b/modules/web/src/common/components/endpoint/internal/style.scss similarity index 100% rename from web/src/common/components/endpoint/internal/style.scss rename to modules/web/src/common/components/endpoint/internal/style.scss diff --git a/web/src/common/components/endpoint/internal/template.html b/modules/web/src/common/components/endpoint/internal/template.html similarity index 100% rename from web/src/common/components/endpoint/internal/template.html rename to modules/web/src/common/components/endpoint/internal/template.html diff --git a/web/src/common/components/graph/component.ts b/modules/web/src/common/components/graph/component.ts similarity index 100% rename from web/src/common/components/graph/component.ts rename to modules/web/src/common/components/graph/component.ts diff --git a/web/src/common/components/graph/helper.ts b/modules/web/src/common/components/graph/helper.ts similarity index 100% rename from web/src/common/components/graph/helper.ts rename to modules/web/src/common/components/graph/helper.ts diff --git a/web/src/common/components/graph/style.scss b/modules/web/src/common/components/graph/style.scss similarity index 100% rename from web/src/common/components/graph/style.scss rename to modules/web/src/common/components/graph/style.scss diff --git a/web/src/common/components/graph/template.html b/modules/web/src/common/components/graph/template.html similarity index 100% rename from web/src/common/components/graph/template.html rename to modules/web/src/common/components/graph/template.html diff --git a/web/src/common/components/graphcard/component.spec.ts b/modules/web/src/common/components/graphcard/component.spec.ts similarity index 100% rename from web/src/common/components/graphcard/component.spec.ts rename to modules/web/src/common/components/graphcard/component.spec.ts diff --git a/web/src/common/components/graphcard/component.ts b/modules/web/src/common/components/graphcard/component.ts similarity index 100% rename from web/src/common/components/graphcard/component.ts rename to modules/web/src/common/components/graphcard/component.ts diff --git a/web/src/common/components/graphcard/template.html b/modules/web/src/common/components/graphcard/template.html similarity index 100% rename from web/src/common/components/graphcard/template.html rename to modules/web/src/common/components/graphcard/template.html diff --git a/web/src/common/components/graphmetrics/component.ts b/modules/web/src/common/components/graphmetrics/component.ts similarity index 100% rename from web/src/common/components/graphmetrics/component.ts rename to modules/web/src/common/components/graphmetrics/component.ts diff --git a/web/src/common/components/graphmetrics/template.html b/modules/web/src/common/components/graphmetrics/template.html similarity index 100% rename from web/src/common/components/graphmetrics/template.html rename to modules/web/src/common/components/graphmetrics/template.html diff --git a/web/src/common/components/hiddenproperty/component.ts b/modules/web/src/common/components/hiddenproperty/component.ts similarity index 100% rename from web/src/common/components/hiddenproperty/component.ts rename to modules/web/src/common/components/hiddenproperty/component.ts diff --git a/web/src/common/components/hiddenproperty/style.scss b/modules/web/src/common/components/hiddenproperty/style.scss similarity index 100% rename from web/src/common/components/hiddenproperty/style.scss rename to modules/web/src/common/components/hiddenproperty/style.scss diff --git a/web/src/common/components/hiddenproperty/template.html b/modules/web/src/common/components/hiddenproperty/template.html similarity index 100% rename from web/src/common/components/hiddenproperty/template.html rename to modules/web/src/common/components/hiddenproperty/template.html diff --git a/web/src/common/components/ingressrulelist/component.ts b/modules/web/src/common/components/ingressrulelist/component.ts similarity index 100% rename from web/src/common/components/ingressrulelist/component.ts rename to modules/web/src/common/components/ingressrulelist/component.ts diff --git a/web/src/common/components/ingressrulelist/template.html b/modules/web/src/common/components/ingressrulelist/template.html similarity index 100% rename from web/src/common/components/ingressrulelist/template.html rename to modules/web/src/common/components/ingressrulelist/template.html diff --git a/web/src/common/components/limits/component.ts b/modules/web/src/common/components/limits/component.ts similarity index 100% rename from web/src/common/components/limits/component.ts rename to modules/web/src/common/components/limits/component.ts diff --git a/web/src/common/components/limits/template.html b/modules/web/src/common/components/limits/template.html similarity index 100% rename from web/src/common/components/limits/template.html rename to modules/web/src/common/components/limits/template.html diff --git a/web/src/common/components/list/column/component.ts b/modules/web/src/common/components/list/column/component.ts similarity index 100% rename from web/src/common/components/list/column/component.ts rename to modules/web/src/common/components/list/column/component.ts diff --git a/web/src/common/components/list/column/menu/component.ts b/modules/web/src/common/components/list/column/menu/component.ts similarity index 100% rename from web/src/common/components/list/column/menu/component.ts rename to modules/web/src/common/components/list/column/menu/component.ts diff --git a/web/src/common/components/list/column/menu/template.html b/modules/web/src/common/components/list/column/menu/template.html similarity index 100% rename from web/src/common/components/list/column/menu/template.html rename to modules/web/src/common/components/list/column/menu/template.html diff --git a/web/src/common/components/list/column/template.html b/modules/web/src/common/components/list/column/template.html similarity index 100% rename from web/src/common/components/list/column/template.html rename to modules/web/src/common/components/list/column/template.html diff --git a/web/src/common/components/list/filter/component.ts b/modules/web/src/common/components/list/filter/component.ts similarity index 100% rename from web/src/common/components/list/filter/component.ts rename to modules/web/src/common/components/list/filter/component.ts diff --git a/web/src/common/components/list/filter/style.scss b/modules/web/src/common/components/list/filter/style.scss similarity index 100% rename from web/src/common/components/list/filter/style.scss rename to modules/web/src/common/components/list/filter/style.scss diff --git a/web/src/common/components/list/filter/template.html b/modules/web/src/common/components/list/filter/template.html similarity index 100% rename from web/src/common/components/list/filter/template.html rename to modules/web/src/common/components/list/filter/template.html diff --git a/web/src/common/components/list/rowdetail/component.ts b/modules/web/src/common/components/list/rowdetail/component.ts similarity index 100% rename from web/src/common/components/list/rowdetail/component.ts rename to modules/web/src/common/components/list/rowdetail/component.ts diff --git a/web/src/common/components/list/rowdetail/style.scss b/modules/web/src/common/components/list/rowdetail/style.scss similarity index 100% rename from web/src/common/components/list/rowdetail/style.scss rename to modules/web/src/common/components/list/rowdetail/style.scss diff --git a/web/src/common/components/list/rowdetail/template.html b/modules/web/src/common/components/list/rowdetail/template.html similarity index 100% rename from web/src/common/components/list/rowdetail/template.html rename to modules/web/src/common/components/list/rowdetail/template.html diff --git a/web/src/common/components/list/spinner/component.ts b/modules/web/src/common/components/list/spinner/component.ts similarity index 100% rename from web/src/common/components/list/spinner/component.ts rename to modules/web/src/common/components/list/spinner/component.ts diff --git a/web/src/common/components/list/spinner/template.html b/modules/web/src/common/components/list/spinner/template.html similarity index 100% rename from web/src/common/components/list/spinner/template.html rename to modules/web/src/common/components/list/spinner/template.html diff --git a/web/src/common/components/list/zerostate/component.ts b/modules/web/src/common/components/list/zerostate/component.ts similarity index 100% rename from web/src/common/components/list/zerostate/component.ts rename to modules/web/src/common/components/list/zerostate/component.ts diff --git a/web/src/common/components/list/zerostate/style.scss b/modules/web/src/common/components/list/zerostate/style.scss similarity index 100% rename from web/src/common/components/list/zerostate/style.scss rename to modules/web/src/common/components/list/zerostate/style.scss diff --git a/web/src/common/components/list/zerostate/template.html b/modules/web/src/common/components/list/zerostate/template.html similarity index 100% rename from web/src/common/components/list/zerostate/template.html rename to modules/web/src/common/components/list/zerostate/template.html diff --git a/web/src/common/components/module.ts b/modules/web/src/common/components/module.ts similarity index 100% rename from web/src/common/components/module.ts rename to modules/web/src/common/components/module.ts diff --git a/web/src/common/components/namespace/changedialog/dialog.ts b/modules/web/src/common/components/namespace/changedialog/dialog.ts similarity index 100% rename from web/src/common/components/namespace/changedialog/dialog.ts rename to modules/web/src/common/components/namespace/changedialog/dialog.ts diff --git a/web/src/common/components/namespace/changedialog/template.html b/modules/web/src/common/components/namespace/changedialog/template.html similarity index 100% rename from web/src/common/components/namespace/changedialog/template.html rename to modules/web/src/common/components/namespace/changedialog/template.html diff --git a/web/src/common/components/namespace/component.ts b/modules/web/src/common/components/namespace/component.ts similarity index 100% rename from web/src/common/components/namespace/component.ts rename to modules/web/src/common/components/namespace/component.ts diff --git a/web/src/common/components/namespace/style.scss b/modules/web/src/common/components/namespace/style.scss similarity index 100% rename from web/src/common/components/namespace/style.scss rename to modules/web/src/common/components/namespace/style.scss diff --git a/web/src/common/components/namespace/template.html b/modules/web/src/common/components/namespace/template.html similarity index 100% rename from web/src/common/components/namespace/template.html rename to modules/web/src/common/components/namespace/template.html diff --git a/web/src/common/components/objectmeta/component.spec.ts b/modules/web/src/common/components/objectmeta/component.spec.ts similarity index 100% rename from web/src/common/components/objectmeta/component.spec.ts rename to modules/web/src/common/components/objectmeta/component.spec.ts diff --git a/web/src/common/components/objectmeta/component.ts b/modules/web/src/common/components/objectmeta/component.ts similarity index 100% rename from web/src/common/components/objectmeta/component.ts rename to modules/web/src/common/components/objectmeta/component.ts diff --git a/web/src/common/components/objectmeta/template.html b/modules/web/src/common/components/objectmeta/template.html similarity index 100% rename from web/src/common/components/objectmeta/template.html rename to modules/web/src/common/components/objectmeta/template.html diff --git a/web/src/common/components/podstatus/component.ts b/modules/web/src/common/components/podstatus/component.ts similarity index 100% rename from web/src/common/components/podstatus/component.ts rename to modules/web/src/common/components/podstatus/component.ts diff --git a/web/src/common/components/podstatus/template.html b/modules/web/src/common/components/podstatus/template.html similarity index 100% rename from web/src/common/components/podstatus/template.html rename to modules/web/src/common/components/podstatus/template.html diff --git a/web/src/common/components/policyrule/component.ts b/modules/web/src/common/components/policyrule/component.ts similarity index 100% rename from web/src/common/components/policyrule/component.ts rename to modules/web/src/common/components/policyrule/component.ts diff --git a/web/src/common/components/policyrule/template.html b/modules/web/src/common/components/policyrule/template.html similarity index 100% rename from web/src/common/components/policyrule/template.html rename to modules/web/src/common/components/policyrule/template.html diff --git a/web/src/common/components/probe/component.ts b/modules/web/src/common/components/probe/component.ts similarity index 100% rename from web/src/common/components/probe/component.ts rename to modules/web/src/common/components/probe/component.ts diff --git a/web/src/common/components/probe/template.html b/modules/web/src/common/components/probe/template.html similarity index 100% rename from web/src/common/components/probe/template.html rename to modules/web/src/common/components/probe/template.html diff --git a/web/src/common/components/property/component.ts b/modules/web/src/common/components/property/component.ts similarity index 100% rename from web/src/common/components/property/component.ts rename to modules/web/src/common/components/property/component.ts diff --git a/web/src/common/components/property/style.scss b/modules/web/src/common/components/property/style.scss similarity index 100% rename from web/src/common/components/property/style.scss rename to modules/web/src/common/components/property/style.scss diff --git a/web/src/common/components/property/template.html b/modules/web/src/common/components/property/template.html similarity index 100% rename from web/src/common/components/property/template.html rename to modules/web/src/common/components/property/template.html diff --git a/web/src/common/components/proxy/component.ts b/modules/web/src/common/components/proxy/component.ts similarity index 100% rename from web/src/common/components/proxy/component.ts rename to modules/web/src/common/components/proxy/component.ts diff --git a/web/src/common/components/quotas/component.ts b/modules/web/src/common/components/quotas/component.ts similarity index 100% rename from web/src/common/components/quotas/component.ts rename to modules/web/src/common/components/quotas/component.ts diff --git a/web/src/common/components/quotas/template.html b/modules/web/src/common/components/quotas/template.html similarity index 100% rename from web/src/common/components/quotas/template.html rename to modules/web/src/common/components/quotas/template.html diff --git a/web/src/common/components/resourcelist/clusterrole/component.ts b/modules/web/src/common/components/resourcelist/clusterrole/component.ts similarity index 100% rename from web/src/common/components/resourcelist/clusterrole/component.ts rename to modules/web/src/common/components/resourcelist/clusterrole/component.ts diff --git a/web/src/common/components/resourcelist/clusterrole/template.html b/modules/web/src/common/components/resourcelist/clusterrole/template.html similarity index 100% rename from web/src/common/components/resourcelist/clusterrole/template.html rename to modules/web/src/common/components/resourcelist/clusterrole/template.html diff --git a/web/src/common/components/resourcelist/clusterrolebinding/component.ts b/modules/web/src/common/components/resourcelist/clusterrolebinding/component.ts similarity index 100% rename from web/src/common/components/resourcelist/clusterrolebinding/component.ts rename to modules/web/src/common/components/resourcelist/clusterrolebinding/component.ts diff --git a/web/src/common/components/resourcelist/clusterrolebinding/template.html b/modules/web/src/common/components/resourcelist/clusterrolebinding/template.html similarity index 100% rename from web/src/common/components/resourcelist/clusterrolebinding/template.html rename to modules/web/src/common/components/resourcelist/clusterrolebinding/template.html diff --git a/web/src/common/components/resourcelist/configmap/component.ts b/modules/web/src/common/components/resourcelist/configmap/component.ts similarity index 100% rename from web/src/common/components/resourcelist/configmap/component.ts rename to modules/web/src/common/components/resourcelist/configmap/component.ts diff --git a/web/src/common/components/resourcelist/configmap/template.html b/modules/web/src/common/components/resourcelist/configmap/template.html similarity index 100% rename from web/src/common/components/resourcelist/configmap/template.html rename to modules/web/src/common/components/resourcelist/configmap/template.html diff --git a/web/src/common/components/resourcelist/crd/component.ts b/modules/web/src/common/components/resourcelist/crd/component.ts similarity index 100% rename from web/src/common/components/resourcelist/crd/component.ts rename to modules/web/src/common/components/resourcelist/crd/component.ts diff --git a/web/src/common/components/resourcelist/crd/template.html b/modules/web/src/common/components/resourcelist/crd/template.html similarity index 100% rename from web/src/common/components/resourcelist/crd/template.html rename to modules/web/src/common/components/resourcelist/crd/template.html diff --git a/web/src/common/components/resourcelist/crdobject/component.ts b/modules/web/src/common/components/resourcelist/crdobject/component.ts similarity index 100% rename from web/src/common/components/resourcelist/crdobject/component.ts rename to modules/web/src/common/components/resourcelist/crdobject/component.ts diff --git a/web/src/common/components/resourcelist/crdobject/template.html b/modules/web/src/common/components/resourcelist/crdobject/template.html similarity index 100% rename from web/src/common/components/resourcelist/crdobject/template.html rename to modules/web/src/common/components/resourcelist/crdobject/template.html diff --git a/web/src/common/components/resourcelist/crdversion/component.ts b/modules/web/src/common/components/resourcelist/crdversion/component.ts similarity index 100% rename from web/src/common/components/resourcelist/crdversion/component.ts rename to modules/web/src/common/components/resourcelist/crdversion/component.ts diff --git a/web/src/common/components/resourcelist/crdversion/template.html b/modules/web/src/common/components/resourcelist/crdversion/template.html similarity index 100% rename from web/src/common/components/resourcelist/crdversion/template.html rename to modules/web/src/common/components/resourcelist/crdversion/template.html diff --git a/web/src/common/components/resourcelist/cronjob/component.ts b/modules/web/src/common/components/resourcelist/cronjob/component.ts similarity index 100% rename from web/src/common/components/resourcelist/cronjob/component.ts rename to modules/web/src/common/components/resourcelist/cronjob/component.ts diff --git a/web/src/common/components/resourcelist/cronjob/template.html b/modules/web/src/common/components/resourcelist/cronjob/template.html similarity index 100% rename from web/src/common/components/resourcelist/cronjob/template.html rename to modules/web/src/common/components/resourcelist/cronjob/template.html diff --git a/web/src/common/components/resourcelist/daemonset/component.ts b/modules/web/src/common/components/resourcelist/daemonset/component.ts similarity index 100% rename from web/src/common/components/resourcelist/daemonset/component.ts rename to modules/web/src/common/components/resourcelist/daemonset/component.ts diff --git a/web/src/common/components/resourcelist/daemonset/template.html b/modules/web/src/common/components/resourcelist/daemonset/template.html similarity index 100% rename from web/src/common/components/resourcelist/daemonset/template.html rename to modules/web/src/common/components/resourcelist/daemonset/template.html diff --git a/web/src/common/components/resourcelist/deployment/component.ts b/modules/web/src/common/components/resourcelist/deployment/component.ts similarity index 100% rename from web/src/common/components/resourcelist/deployment/component.ts rename to modules/web/src/common/components/resourcelist/deployment/component.ts diff --git a/web/src/common/components/resourcelist/deployment/template.html b/modules/web/src/common/components/resourcelist/deployment/template.html similarity index 100% rename from web/src/common/components/resourcelist/deployment/template.html rename to modules/web/src/common/components/resourcelist/deployment/template.html diff --git a/web/src/common/components/resourcelist/event/component.ts b/modules/web/src/common/components/resourcelist/event/component.ts similarity index 100% rename from web/src/common/components/resourcelist/event/component.ts rename to modules/web/src/common/components/resourcelist/event/component.ts diff --git a/web/src/common/components/resourcelist/event/template.html b/modules/web/src/common/components/resourcelist/event/template.html similarity index 100% rename from web/src/common/components/resourcelist/event/template.html rename to modules/web/src/common/components/resourcelist/event/template.html diff --git a/web/src/common/components/resourcelist/groupids.ts b/modules/web/src/common/components/resourcelist/groupids.ts similarity index 100% rename from web/src/common/components/resourcelist/groupids.ts rename to modules/web/src/common/components/resourcelist/groupids.ts diff --git a/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts b/modules/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts similarity index 100% rename from web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts rename to modules/web/src/common/components/resourcelist/horizontalpodautoscaler/component.ts diff --git a/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html b/modules/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html similarity index 100% rename from web/src/common/components/resourcelist/horizontalpodautoscaler/template.html rename to modules/web/src/common/components/resourcelist/horizontalpodautoscaler/template.html diff --git a/web/src/common/components/resourcelist/ingress/component.ts b/modules/web/src/common/components/resourcelist/ingress/component.ts similarity index 100% rename from web/src/common/components/resourcelist/ingress/component.ts rename to modules/web/src/common/components/resourcelist/ingress/component.ts diff --git a/web/src/common/components/resourcelist/ingress/style.scss b/modules/web/src/common/components/resourcelist/ingress/style.scss similarity index 100% rename from web/src/common/components/resourcelist/ingress/style.scss rename to modules/web/src/common/components/resourcelist/ingress/style.scss diff --git a/web/src/common/components/resourcelist/ingress/template.html b/modules/web/src/common/components/resourcelist/ingress/template.html similarity index 100% rename from web/src/common/components/resourcelist/ingress/template.html rename to modules/web/src/common/components/resourcelist/ingress/template.html diff --git a/web/src/common/components/resourcelist/job/component.ts b/modules/web/src/common/components/resourcelist/job/component.ts similarity index 100% rename from web/src/common/components/resourcelist/job/component.ts rename to modules/web/src/common/components/resourcelist/job/component.ts diff --git a/web/src/common/components/resourcelist/job/template.html b/modules/web/src/common/components/resourcelist/job/template.html similarity index 100% rename from web/src/common/components/resourcelist/job/template.html rename to modules/web/src/common/components/resourcelist/job/template.html diff --git a/web/src/common/components/resourcelist/namespace/component.ts b/modules/web/src/common/components/resourcelist/namespace/component.ts similarity index 100% rename from web/src/common/components/resourcelist/namespace/component.ts rename to modules/web/src/common/components/resourcelist/namespace/component.ts diff --git a/web/src/common/components/resourcelist/namespace/template.html b/modules/web/src/common/components/resourcelist/namespace/template.html similarity index 100% rename from web/src/common/components/resourcelist/namespace/template.html rename to modules/web/src/common/components/resourcelist/namespace/template.html diff --git a/web/src/common/components/resourcelist/networkpolicy/component.ts b/modules/web/src/common/components/resourcelist/networkpolicy/component.ts similarity index 100% rename from web/src/common/components/resourcelist/networkpolicy/component.ts rename to modules/web/src/common/components/resourcelist/networkpolicy/component.ts diff --git a/web/src/common/components/resourcelist/networkpolicy/template.html b/modules/web/src/common/components/resourcelist/networkpolicy/template.html similarity index 100% rename from web/src/common/components/resourcelist/networkpolicy/template.html rename to modules/web/src/common/components/resourcelist/networkpolicy/template.html diff --git a/web/src/common/components/resourcelist/node/component.ts b/modules/web/src/common/components/resourcelist/node/component.ts similarity index 100% rename from web/src/common/components/resourcelist/node/component.ts rename to modules/web/src/common/components/resourcelist/node/component.ts diff --git a/web/src/common/components/resourcelist/node/template.html b/modules/web/src/common/components/resourcelist/node/template.html similarity index 100% rename from web/src/common/components/resourcelist/node/template.html rename to modules/web/src/common/components/resourcelist/node/template.html diff --git a/web/src/common/components/resourcelist/persistentvolume/component.ts b/modules/web/src/common/components/resourcelist/persistentvolume/component.ts similarity index 100% rename from web/src/common/components/resourcelist/persistentvolume/component.ts rename to modules/web/src/common/components/resourcelist/persistentvolume/component.ts diff --git a/web/src/common/components/resourcelist/persistentvolume/template.html b/modules/web/src/common/components/resourcelist/persistentvolume/template.html similarity index 100% rename from web/src/common/components/resourcelist/persistentvolume/template.html rename to modules/web/src/common/components/resourcelist/persistentvolume/template.html diff --git a/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts b/modules/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts similarity index 100% rename from web/src/common/components/resourcelist/persistentvolumeclaim/component.ts rename to modules/web/src/common/components/resourcelist/persistentvolumeclaim/component.ts diff --git a/web/src/common/components/resourcelist/persistentvolumeclaim/template.html b/modules/web/src/common/components/resourcelist/persistentvolumeclaim/template.html similarity index 100% rename from web/src/common/components/resourcelist/persistentvolumeclaim/template.html rename to modules/web/src/common/components/resourcelist/persistentvolumeclaim/template.html diff --git a/web/src/common/components/resourcelist/plugin/component.ts b/modules/web/src/common/components/resourcelist/plugin/component.ts similarity index 100% rename from web/src/common/components/resourcelist/plugin/component.ts rename to modules/web/src/common/components/resourcelist/plugin/component.ts diff --git a/web/src/common/components/resourcelist/plugin/template.html b/modules/web/src/common/components/resourcelist/plugin/template.html similarity index 100% rename from web/src/common/components/resourcelist/plugin/template.html rename to modules/web/src/common/components/resourcelist/plugin/template.html diff --git a/web/src/common/components/resourcelist/pod/component.ts b/modules/web/src/common/components/resourcelist/pod/component.ts similarity index 100% rename from web/src/common/components/resourcelist/pod/component.ts rename to modules/web/src/common/components/resourcelist/pod/component.ts diff --git a/web/src/common/components/resourcelist/pod/template.html b/modules/web/src/common/components/resourcelist/pod/template.html similarity index 100% rename from web/src/common/components/resourcelist/pod/template.html rename to modules/web/src/common/components/resourcelist/pod/template.html diff --git a/web/src/common/components/resourcelist/replicaset/component.ts b/modules/web/src/common/components/resourcelist/replicaset/component.ts similarity index 100% rename from web/src/common/components/resourcelist/replicaset/component.ts rename to modules/web/src/common/components/resourcelist/replicaset/component.ts diff --git a/web/src/common/components/resourcelist/replicaset/template.html b/modules/web/src/common/components/resourcelist/replicaset/template.html similarity index 100% rename from web/src/common/components/resourcelist/replicaset/template.html rename to modules/web/src/common/components/resourcelist/replicaset/template.html diff --git a/web/src/common/components/resourcelist/replicationcontroller/component.ts b/modules/web/src/common/components/resourcelist/replicationcontroller/component.ts similarity index 100% rename from web/src/common/components/resourcelist/replicationcontroller/component.ts rename to modules/web/src/common/components/resourcelist/replicationcontroller/component.ts diff --git a/web/src/common/components/resourcelist/replicationcontroller/template.html b/modules/web/src/common/components/resourcelist/replicationcontroller/template.html similarity index 100% rename from web/src/common/components/resourcelist/replicationcontroller/template.html rename to modules/web/src/common/components/resourcelist/replicationcontroller/template.html diff --git a/web/src/common/components/resourcelist/role/component.ts b/modules/web/src/common/components/resourcelist/role/component.ts similarity index 100% rename from web/src/common/components/resourcelist/role/component.ts rename to modules/web/src/common/components/resourcelist/role/component.ts diff --git a/web/src/common/components/resourcelist/role/template.html b/modules/web/src/common/components/resourcelist/role/template.html similarity index 100% rename from web/src/common/components/resourcelist/role/template.html rename to modules/web/src/common/components/resourcelist/role/template.html diff --git a/web/src/common/components/resourcelist/rolebinding/component.ts b/modules/web/src/common/components/resourcelist/rolebinding/component.ts similarity index 100% rename from web/src/common/components/resourcelist/rolebinding/component.ts rename to modules/web/src/common/components/resourcelist/rolebinding/component.ts diff --git a/web/src/common/components/resourcelist/rolebinding/template.html b/modules/web/src/common/components/resourcelist/rolebinding/template.html similarity index 100% rename from web/src/common/components/resourcelist/rolebinding/template.html rename to modules/web/src/common/components/resourcelist/rolebinding/template.html diff --git a/web/src/common/components/resourcelist/secret/component.ts b/modules/web/src/common/components/resourcelist/secret/component.ts similarity index 100% rename from web/src/common/components/resourcelist/secret/component.ts rename to modules/web/src/common/components/resourcelist/secret/component.ts diff --git a/web/src/common/components/resourcelist/secret/template.html b/modules/web/src/common/components/resourcelist/secret/template.html similarity index 100% rename from web/src/common/components/resourcelist/secret/template.html rename to modules/web/src/common/components/resourcelist/secret/template.html diff --git a/web/src/common/components/resourcelist/service/component.ts b/modules/web/src/common/components/resourcelist/service/component.ts similarity index 100% rename from web/src/common/components/resourcelist/service/component.ts rename to modules/web/src/common/components/resourcelist/service/component.ts diff --git a/web/src/common/components/resourcelist/service/template.html b/modules/web/src/common/components/resourcelist/service/template.html similarity index 100% rename from web/src/common/components/resourcelist/service/template.html rename to modules/web/src/common/components/resourcelist/service/template.html diff --git a/web/src/common/components/resourcelist/serviceaccount/component.ts b/modules/web/src/common/components/resourcelist/serviceaccount/component.ts similarity index 100% rename from web/src/common/components/resourcelist/serviceaccount/component.ts rename to modules/web/src/common/components/resourcelist/serviceaccount/component.ts diff --git a/web/src/common/components/resourcelist/serviceaccount/template.html b/modules/web/src/common/components/resourcelist/serviceaccount/template.html similarity index 100% rename from web/src/common/components/resourcelist/serviceaccount/template.html rename to modules/web/src/common/components/resourcelist/serviceaccount/template.html diff --git a/web/src/common/components/resourcelist/statefulset/component.ts b/modules/web/src/common/components/resourcelist/statefulset/component.ts similarity index 100% rename from web/src/common/components/resourcelist/statefulset/component.ts rename to modules/web/src/common/components/resourcelist/statefulset/component.ts diff --git a/web/src/common/components/resourcelist/statefulset/template.html b/modules/web/src/common/components/resourcelist/statefulset/template.html similarity index 100% rename from web/src/common/components/resourcelist/statefulset/template.html rename to modules/web/src/common/components/resourcelist/statefulset/template.html diff --git a/web/src/common/components/resourcelist/statuses.ts b/modules/web/src/common/components/resourcelist/statuses.ts similarity index 100% rename from web/src/common/components/resourcelist/statuses.ts rename to modules/web/src/common/components/resourcelist/statuses.ts diff --git a/web/src/common/components/resourcelist/storageclass/component.ts b/modules/web/src/common/components/resourcelist/storageclass/component.ts similarity index 100% rename from web/src/common/components/resourcelist/storageclass/component.ts rename to modules/web/src/common/components/resourcelist/storageclass/component.ts diff --git a/web/src/common/components/resourcelist/storageclass/template.html b/modules/web/src/common/components/resourcelist/storageclass/template.html similarity index 100% rename from web/src/common/components/resourcelist/storageclass/template.html rename to modules/web/src/common/components/resourcelist/storageclass/template.html diff --git a/web/src/common/components/securitycontext/component.ts b/modules/web/src/common/components/securitycontext/component.ts similarity index 100% rename from web/src/common/components/securitycontext/component.ts rename to modules/web/src/common/components/securitycontext/component.ts diff --git a/web/src/common/components/securitycontext/template.html b/modules/web/src/common/components/securitycontext/template.html similarity index 100% rename from web/src/common/components/securitycontext/template.html rename to modules/web/src/common/components/securitycontext/template.html diff --git a/web/src/common/components/sparkline/cpu/component.ts b/modules/web/src/common/components/sparkline/cpu/component.ts similarity index 100% rename from web/src/common/components/sparkline/cpu/component.ts rename to modules/web/src/common/components/sparkline/cpu/component.ts diff --git a/web/src/common/components/sparkline/cpu/template.html b/modules/web/src/common/components/sparkline/cpu/template.html similarity index 100% rename from web/src/common/components/sparkline/cpu/template.html rename to modules/web/src/common/components/sparkline/cpu/template.html diff --git a/web/src/common/components/sparkline/memory/component.ts b/modules/web/src/common/components/sparkline/memory/component.ts similarity index 100% rename from web/src/common/components/sparkline/memory/component.ts rename to modules/web/src/common/components/sparkline/memory/component.ts diff --git a/web/src/common/components/sparkline/memory/template.html b/modules/web/src/common/components/sparkline/memory/template.html similarity index 100% rename from web/src/common/components/sparkline/memory/template.html rename to modules/web/src/common/components/sparkline/memory/template.html diff --git a/web/src/common/components/sparkline/sparkline.ts b/modules/web/src/common/components/sparkline/sparkline.ts similarity index 100% rename from web/src/common/components/sparkline/sparkline.ts rename to modules/web/src/common/components/sparkline/sparkline.ts diff --git a/web/src/common/components/subject/component.ts b/modules/web/src/common/components/subject/component.ts similarity index 100% rename from web/src/common/components/subject/component.ts rename to modules/web/src/common/components/subject/component.ts diff --git a/web/src/common/components/subject/template.html b/modules/web/src/common/components/subject/template.html similarity index 100% rename from web/src/common/components/subject/template.html rename to modules/web/src/common/components/subject/template.html diff --git a/web/src/common/components/textinput/component.ts b/modules/web/src/common/components/textinput/component.ts similarity index 100% rename from web/src/common/components/textinput/component.ts rename to modules/web/src/common/components/textinput/component.ts diff --git a/web/src/common/components/textinput/style.scss b/modules/web/src/common/components/textinput/style.scss similarity index 100% rename from web/src/common/components/textinput/style.scss rename to modules/web/src/common/components/textinput/style.scss diff --git a/web/src/common/components/textinput/template.html b/modules/web/src/common/components/textinput/template.html similarity index 100% rename from web/src/common/components/textinput/template.html rename to modules/web/src/common/components/textinput/template.html diff --git a/web/src/common/components/uploadfile/component.ts b/modules/web/src/common/components/uploadfile/component.ts similarity index 100% rename from web/src/common/components/uploadfile/component.ts rename to modules/web/src/common/components/uploadfile/component.ts diff --git a/web/src/common/components/uploadfile/style.scss b/modules/web/src/common/components/uploadfile/style.scss similarity index 100% rename from web/src/common/components/uploadfile/style.scss rename to modules/web/src/common/components/uploadfile/style.scss diff --git a/web/src/common/components/uploadfile/template.html b/modules/web/src/common/components/uploadfile/template.html similarity index 100% rename from web/src/common/components/uploadfile/template.html rename to modules/web/src/common/components/uploadfile/template.html diff --git a/web/src/common/components/volumemount/component.ts b/modules/web/src/common/components/volumemount/component.ts similarity index 100% rename from web/src/common/components/volumemount/component.ts rename to modules/web/src/common/components/volumemount/component.ts diff --git a/web/src/common/components/volumemount/template.html b/modules/web/src/common/components/volumemount/template.html similarity index 100% rename from web/src/common/components/volumemount/template.html rename to modules/web/src/common/components/volumemount/template.html diff --git a/web/src/common/components/workloadstatus/component.spec.ts b/modules/web/src/common/components/workloadstatus/component.spec.ts similarity index 100% rename from web/src/common/components/workloadstatus/component.spec.ts rename to modules/web/src/common/components/workloadstatus/component.spec.ts diff --git a/web/src/common/components/workloadstatus/component.ts b/modules/web/src/common/components/workloadstatus/component.ts similarity index 100% rename from web/src/common/components/workloadstatus/component.ts rename to modules/web/src/common/components/workloadstatus/component.ts diff --git a/web/src/common/components/workloadstatus/style.scss b/modules/web/src/common/components/workloadstatus/style.scss similarity index 100% rename from web/src/common/components/workloadstatus/style.scss rename to modules/web/src/common/components/workloadstatus/style.scss diff --git a/web/src/common/components/workloadstatus/template.html b/modules/web/src/common/components/workloadstatus/template.html similarity index 100% rename from web/src/common/components/workloadstatus/template.html rename to modules/web/src/common/components/workloadstatus/template.html diff --git a/web/src/common/components/zerostate/component.ts b/modules/web/src/common/components/zerostate/component.ts similarity index 100% rename from web/src/common/components/zerostate/component.ts rename to modules/web/src/common/components/zerostate/component.ts diff --git a/web/src/common/components/zerostate/style.scss b/modules/web/src/common/components/zerostate/style.scss similarity index 100% rename from web/src/common/components/zerostate/style.scss rename to modules/web/src/common/components/zerostate/style.scss diff --git a/web/src/common/components/zerostate/template.html b/modules/web/src/common/components/zerostate/template.html similarity index 100% rename from web/src/common/components/zerostate/template.html rename to modules/web/src/common/components/zerostate/template.html diff --git a/web/src/common/dialogs/alert/dialog.ts b/modules/web/src/common/dialogs/alert/dialog.ts similarity index 100% rename from web/src/common/dialogs/alert/dialog.ts rename to modules/web/src/common/dialogs/alert/dialog.ts diff --git a/web/src/common/dialogs/alert/template.html b/modules/web/src/common/dialogs/alert/template.html similarity index 100% rename from web/src/common/dialogs/alert/template.html rename to modules/web/src/common/dialogs/alert/template.html diff --git a/web/src/common/dialogs/config/dialog.ts b/modules/web/src/common/dialogs/config/dialog.ts similarity index 100% rename from web/src/common/dialogs/config/dialog.ts rename to modules/web/src/common/dialogs/config/dialog.ts diff --git a/web/src/common/dialogs/config/template.html b/modules/web/src/common/dialogs/config/template.html similarity index 100% rename from web/src/common/dialogs/config/template.html rename to modules/web/src/common/dialogs/config/template.html diff --git a/web/src/common/dialogs/deleteresource/dialog.ts b/modules/web/src/common/dialogs/deleteresource/dialog.ts similarity index 100% rename from web/src/common/dialogs/deleteresource/dialog.ts rename to modules/web/src/common/dialogs/deleteresource/dialog.ts diff --git a/web/src/common/dialogs/deleteresource/template.html b/modules/web/src/common/dialogs/deleteresource/template.html similarity index 100% rename from web/src/common/dialogs/deleteresource/template.html rename to modules/web/src/common/dialogs/deleteresource/template.html diff --git a/web/src/common/dialogs/download/dialog.ts b/modules/web/src/common/dialogs/download/dialog.ts similarity index 100% rename from web/src/common/dialogs/download/dialog.ts rename to modules/web/src/common/dialogs/download/dialog.ts diff --git a/web/src/common/dialogs/download/style.scss b/modules/web/src/common/dialogs/download/style.scss similarity index 100% rename from web/src/common/dialogs/download/style.scss rename to modules/web/src/common/dialogs/download/style.scss diff --git a/web/src/common/dialogs/download/template.html b/modules/web/src/common/dialogs/download/template.html similarity index 100% rename from web/src/common/dialogs/download/template.html rename to modules/web/src/common/dialogs/download/template.html diff --git a/web/src/common/dialogs/editresource/dialog.ts b/modules/web/src/common/dialogs/editresource/dialog.ts similarity index 100% rename from web/src/common/dialogs/editresource/dialog.ts rename to modules/web/src/common/dialogs/editresource/dialog.ts diff --git a/web/src/common/dialogs/editresource/template.html b/modules/web/src/common/dialogs/editresource/template.html similarity index 100% rename from web/src/common/dialogs/editresource/template.html rename to modules/web/src/common/dialogs/editresource/template.html diff --git a/web/src/common/dialogs/module.ts b/modules/web/src/common/dialogs/module.ts similarity index 100% rename from web/src/common/dialogs/module.ts rename to modules/web/src/common/dialogs/module.ts diff --git a/web/src/common/dialogs/previewdeployment/dialog.ts b/modules/web/src/common/dialogs/previewdeployment/dialog.ts similarity index 100% rename from web/src/common/dialogs/previewdeployment/dialog.ts rename to modules/web/src/common/dialogs/previewdeployment/dialog.ts diff --git a/web/src/common/dialogs/previewdeployment/template.html b/modules/web/src/common/dialogs/previewdeployment/template.html similarity index 100% rename from web/src/common/dialogs/previewdeployment/template.html rename to modules/web/src/common/dialogs/previewdeployment/template.html diff --git a/web/src/common/dialogs/restartresource/dialog.ts b/modules/web/src/common/dialogs/restartresource/dialog.ts similarity index 100% rename from web/src/common/dialogs/restartresource/dialog.ts rename to modules/web/src/common/dialogs/restartresource/dialog.ts diff --git a/web/src/common/dialogs/restartresource/template.html b/modules/web/src/common/dialogs/restartresource/template.html similarity index 100% rename from web/src/common/dialogs/restartresource/template.html rename to modules/web/src/common/dialogs/restartresource/template.html diff --git a/web/src/common/dialogs/scaleresource/dialog.ts b/modules/web/src/common/dialogs/scaleresource/dialog.ts similarity index 100% rename from web/src/common/dialogs/scaleresource/dialog.ts rename to modules/web/src/common/dialogs/scaleresource/dialog.ts diff --git a/web/src/common/dialogs/scaleresource/template.html b/modules/web/src/common/dialogs/scaleresource/template.html similarity index 100% rename from web/src/common/dialogs/scaleresource/template.html rename to modules/web/src/common/dialogs/scaleresource/template.html diff --git a/web/src/common/dialogs/triggerresource/dialog.ts b/modules/web/src/common/dialogs/triggerresource/dialog.ts similarity index 100% rename from web/src/common/dialogs/triggerresource/dialog.ts rename to modules/web/src/common/dialogs/triggerresource/dialog.ts diff --git a/web/src/common/dialogs/triggerresource/template.html b/modules/web/src/common/dialogs/triggerresource/template.html similarity index 100% rename from web/src/common/dialogs/triggerresource/template.html rename to modules/web/src/common/dialogs/triggerresource/template.html diff --git a/web/src/common/directives/autofocus/directive.ts b/modules/web/src/common/directives/autofocus/directive.ts similarity index 100% rename from web/src/common/directives/autofocus/directive.ts rename to modules/web/src/common/directives/autofocus/directive.ts diff --git a/web/src/common/directives/module.ts b/modules/web/src/common/directives/module.ts similarity index 100% rename from web/src/common/directives/module.ts rename to modules/web/src/common/directives/module.ts diff --git a/web/src/common/errors/errors.ts b/modules/web/src/common/errors/errors.ts similarity index 100% rename from web/src/common/errors/errors.ts rename to modules/web/src/common/errors/errors.ts diff --git a/web/src/common/interfaces/candeactivate.ts b/modules/web/src/common/interfaces/candeactivate.ts similarity index 100% rename from web/src/common/interfaces/candeactivate.ts rename to modules/web/src/common/interfaces/candeactivate.ts diff --git a/web/src/common/params/params.ts b/modules/web/src/common/params/params.ts similarity index 100% rename from web/src/common/params/params.ts rename to modules/web/src/common/params/params.ts diff --git a/web/src/common/pipes/commaseparated.ts b/modules/web/src/common/pipes/commaseparated.ts similarity index 100% rename from web/src/common/pipes/commaseparated.ts rename to modules/web/src/common/pipes/commaseparated.ts diff --git a/web/src/common/pipes/coreformatter.spec.ts b/modules/web/src/common/pipes/coreformatter.spec.ts similarity index 100% rename from web/src/common/pipes/coreformatter.spec.ts rename to modules/web/src/common/pipes/coreformatter.spec.ts diff --git a/web/src/common/pipes/coreformatter.ts b/modules/web/src/common/pipes/coreformatter.ts similarity index 100% rename from web/src/common/pipes/coreformatter.ts rename to modules/web/src/common/pipes/coreformatter.ts diff --git a/web/src/common/pipes/filterby.ts b/modules/web/src/common/pipes/filterby.ts similarity index 100% rename from web/src/common/pipes/filterby.ts rename to modules/web/src/common/pipes/filterby.ts diff --git a/web/src/common/pipes/memoryformatter.spec.ts b/modules/web/src/common/pipes/memoryformatter.spec.ts similarity index 100% rename from web/src/common/pipes/memoryformatter.spec.ts rename to modules/web/src/common/pipes/memoryformatter.spec.ts diff --git a/web/src/common/pipes/memoryformatter.ts b/modules/web/src/common/pipes/memoryformatter.ts similarity index 100% rename from web/src/common/pipes/memoryformatter.ts rename to modules/web/src/common/pipes/memoryformatter.ts diff --git a/web/src/common/pipes/module.ts b/modules/web/src/common/pipes/module.ts similarity index 100% rename from web/src/common/pipes/module.ts rename to modules/web/src/common/pipes/module.ts diff --git a/web/src/common/pipes/relativetime.ts b/modules/web/src/common/pipes/relativetime.ts similarity index 100% rename from web/src/common/pipes/relativetime.ts rename to modules/web/src/common/pipes/relativetime.ts diff --git a/web/src/common/pipes/stripansi.ts b/modules/web/src/common/pipes/stripansi.ts similarity index 100% rename from web/src/common/pipes/stripansi.ts rename to modules/web/src/common/pipes/stripansi.ts diff --git a/web/src/common/pipes/trim.ts b/modules/web/src/common/pipes/trim.ts similarity index 100% rename from web/src/common/pipes/trim.ts rename to modules/web/src/common/pipes/trim.ts diff --git a/web/src/common/pipes/untrim.ts b/modules/web/src/common/pipes/untrim.ts similarity index 100% rename from web/src/common/pipes/untrim.ts rename to modules/web/src/common/pipes/untrim.ts diff --git a/web/src/common/resources/groupedlist.ts b/modules/web/src/common/resources/groupedlist.ts similarity index 100% rename from web/src/common/resources/groupedlist.ts rename to modules/web/src/common/resources/groupedlist.ts diff --git a/web/src/common/resources/list.ts b/modules/web/src/common/resources/list.ts similarity index 100% rename from web/src/common/resources/list.ts rename to modules/web/src/common/resources/list.ts diff --git a/web/src/common/resources/rawresource.ts b/modules/web/src/common/resources/rawresource.ts similarity index 100% rename from web/src/common/resources/rawresource.ts rename to modules/web/src/common/resources/rawresource.ts diff --git a/web/src/common/resources/resource.ts b/modules/web/src/common/resources/resource.ts similarity index 100% rename from web/src/common/resources/resource.ts rename to modules/web/src/common/resources/resource.ts diff --git a/web/src/common/services/create/module.ts b/modules/web/src/common/services/create/module.ts similarity index 100% rename from web/src/common/services/create/module.ts rename to modules/web/src/common/services/create/module.ts diff --git a/web/src/common/services/create/service.ts b/modules/web/src/common/services/create/service.ts similarity index 100% rename from web/src/common/services/create/service.ts rename to modules/web/src/common/services/create/service.ts diff --git a/web/src/common/services/global/actionbar.ts b/modules/web/src/common/services/global/actionbar.ts similarity index 100% rename from web/src/common/services/global/actionbar.ts rename to modules/web/src/common/services/global/actionbar.ts diff --git a/web/src/common/services/global/assets.ts b/modules/web/src/common/services/global/assets.ts similarity index 100% rename from web/src/common/services/global/assets.ts rename to modules/web/src/common/services/global/assets.ts diff --git a/web/src/common/services/global/authentication.ts b/modules/web/src/common/services/global/authentication.ts similarity index 100% rename from web/src/common/services/global/authentication.ts rename to modules/web/src/common/services/global/authentication.ts diff --git a/web/src/common/services/global/authorizer.ts b/modules/web/src/common/services/global/authorizer.ts similarity index 100% rename from web/src/common/services/global/authorizer.ts rename to modules/web/src/common/services/global/authorizer.ts diff --git a/web/src/common/services/global/config.ts b/modules/web/src/common/services/global/config.ts similarity index 100% rename from web/src/common/services/global/config.ts rename to modules/web/src/common/services/global/config.ts diff --git a/web/src/common/services/global/csrftoken.ts b/modules/web/src/common/services/global/csrftoken.ts similarity index 100% rename from web/src/common/services/global/csrftoken.ts rename to modules/web/src/common/services/global/csrftoken.ts diff --git a/web/src/common/services/global/decoder.ts b/modules/web/src/common/services/global/decoder.ts similarity index 100% rename from web/src/common/services/global/decoder.ts rename to modules/web/src/common/services/global/decoder.ts diff --git a/web/src/common/services/global/globalsettings.ts b/modules/web/src/common/services/global/globalsettings.ts similarity index 100% rename from web/src/common/services/global/globalsettings.ts rename to modules/web/src/common/services/global/globalsettings.ts diff --git a/web/src/common/services/global/history.ts b/modules/web/src/common/services/global/history.ts similarity index 100% rename from web/src/common/services/global/history.ts rename to modules/web/src/common/services/global/history.ts diff --git a/web/src/common/services/global/interceptor.ts b/modules/web/src/common/services/global/interceptor.ts similarity index 100% rename from web/src/common/services/global/interceptor.ts rename to modules/web/src/common/services/global/interceptor.ts diff --git a/web/src/common/services/global/loader.ts b/modules/web/src/common/services/global/loader.ts similarity index 100% rename from web/src/common/services/global/loader.ts rename to modules/web/src/common/services/global/loader.ts diff --git a/web/src/common/services/global/localsettings.ts b/modules/web/src/common/services/global/localsettings.ts similarity index 100% rename from web/src/common/services/global/localsettings.ts rename to modules/web/src/common/services/global/localsettings.ts diff --git a/web/src/common/services/global/logs.ts b/modules/web/src/common/services/global/logs.ts similarity index 100% rename from web/src/common/services/global/logs.ts rename to modules/web/src/common/services/global/logs.ts diff --git a/web/src/common/services/global/module.ts b/modules/web/src/common/services/global/module.ts similarity index 100% rename from web/src/common/services/global/module.ts rename to modules/web/src/common/services/global/module.ts diff --git a/web/src/common/services/global/namespace.ts b/modules/web/src/common/services/global/namespace.ts similarity index 100% rename from web/src/common/services/global/namespace.ts rename to modules/web/src/common/services/global/namespace.ts diff --git a/web/src/common/services/global/notifications.ts b/modules/web/src/common/services/global/notifications.ts similarity index 100% rename from web/src/common/services/global/notifications.ts rename to modules/web/src/common/services/global/notifications.ts diff --git a/web/src/common/services/global/params.ts b/modules/web/src/common/services/global/params.ts similarity index 100% rename from web/src/common/services/global/params.ts rename to modules/web/src/common/services/global/params.ts diff --git a/web/src/common/services/global/pinner.ts b/modules/web/src/common/services/global/pinner.ts similarity index 100% rename from web/src/common/services/global/pinner.ts rename to modules/web/src/common/services/global/pinner.ts diff --git a/web/src/common/services/global/plugin.ts b/modules/web/src/common/services/global/plugin.ts similarity index 100% rename from web/src/common/services/global/plugin.ts rename to modules/web/src/common/services/global/plugin.ts diff --git a/web/src/common/services/global/state.ts b/modules/web/src/common/services/global/state.ts similarity index 100% rename from web/src/common/services/global/state.ts rename to modules/web/src/common/services/global/state.ts diff --git a/web/src/common/services/global/theme.ts b/modules/web/src/common/services/global/theme.ts similarity index 100% rename from web/src/common/services/global/theme.ts rename to modules/web/src/common/services/global/theme.ts diff --git a/web/src/common/services/global/title.ts b/modules/web/src/common/services/global/title.ts similarity index 100% rename from web/src/common/services/global/title.ts rename to modules/web/src/common/services/global/title.ts diff --git a/web/src/common/services/global/verber.ts b/modules/web/src/common/services/global/verber.ts similarity index 100% rename from web/src/common/services/global/verber.ts rename to modules/web/src/common/services/global/verber.ts diff --git a/web/src/common/services/guard/auth.ts b/modules/web/src/common/services/guard/auth.ts similarity index 100% rename from web/src/common/services/guard/auth.ts rename to modules/web/src/common/services/guard/auth.ts diff --git a/web/src/common/services/guard/candeactivate.ts b/modules/web/src/common/services/guard/candeactivate.ts similarity index 100% rename from web/src/common/services/guard/candeactivate.ts rename to modules/web/src/common/services/guard/candeactivate.ts diff --git a/web/src/common/services/guard/login.ts b/modules/web/src/common/services/guard/login.ts similarity index 100% rename from web/src/common/services/guard/login.ts rename to modules/web/src/common/services/guard/login.ts diff --git a/web/src/common/services/guard/module.ts b/modules/web/src/common/services/guard/module.ts similarity index 100% rename from web/src/common/services/guard/module.ts rename to modules/web/src/common/services/guard/module.ts diff --git a/web/src/common/services/guard/search.ts b/modules/web/src/common/services/guard/search.ts similarity index 100% rename from web/src/common/services/guard/search.ts rename to modules/web/src/common/services/guard/search.ts diff --git a/web/src/common/services/nav/module.ts b/modules/web/src/common/services/nav/module.ts similarity index 100% rename from web/src/common/services/nav/module.ts rename to modules/web/src/common/services/nav/module.ts diff --git a/web/src/common/services/nav/service.ts b/modules/web/src/common/services/nav/service.ts similarity index 100% rename from web/src/common/services/nav/service.ts rename to modules/web/src/common/services/nav/service.ts diff --git a/web/src/common/services/pluginloader/clientloader.service.ts b/modules/web/src/common/services/pluginloader/clientloader.service.ts similarity index 100% rename from web/src/common/services/pluginloader/clientloader.service.ts rename to modules/web/src/common/services/pluginloader/clientloader.service.ts diff --git a/web/src/common/services/pluginloader/pluginexternals.ts b/modules/web/src/common/services/pluginloader/pluginexternals.ts similarity index 100% rename from web/src/common/services/pluginloader/pluginexternals.ts rename to modules/web/src/common/services/pluginloader/pluginexternals.ts diff --git a/web/src/common/services/pluginloader/pluginloader.service.ts b/modules/web/src/common/services/pluginloader/pluginloader.service.ts similarity index 100% rename from web/src/common/services/pluginloader/pluginloader.service.ts rename to modules/web/src/common/services/pluginloader/pluginloader.service.ts diff --git a/web/src/common/services/resource/endpoint.ts b/modules/web/src/common/services/resource/endpoint.ts similarity index 100% rename from web/src/common/services/resource/endpoint.ts rename to modules/web/src/common/services/resource/endpoint.ts diff --git a/web/src/common/services/resource/module.ts b/modules/web/src/common/services/resource/module.ts similarity index 100% rename from web/src/common/services/resource/module.ts rename to modules/web/src/common/services/resource/module.ts diff --git a/web/src/common/services/resource/resource.ts b/modules/web/src/common/services/resource/resource.ts similarity index 100% rename from web/src/common/services/resource/resource.ts rename to modules/web/src/common/services/resource/resource.ts diff --git a/web/src/common/services/resource/utility.ts b/modules/web/src/common/services/resource/utility.ts similarity index 100% rename from web/src/common/services/resource/utility.ts rename to modules/web/src/common/services/resource/utility.ts diff --git a/web/src/core.module.ts b/modules/web/src/core.module.ts similarity index 100% rename from web/src/core.module.ts rename to modules/web/src/core.module.ts diff --git a/web/src/crd/crdobject/component.ts b/modules/web/src/crd/crdobject/component.ts similarity index 100% rename from web/src/crd/crdobject/component.ts rename to modules/web/src/crd/crdobject/component.ts diff --git a/web/src/crd/crdobject/template.html b/modules/web/src/crd/crdobject/template.html similarity index 100% rename from web/src/crd/crdobject/template.html rename to modules/web/src/crd/crdobject/template.html diff --git a/web/src/crd/detail/component.ts b/modules/web/src/crd/detail/component.ts similarity index 100% rename from web/src/crd/detail/component.ts rename to modules/web/src/crd/detail/component.ts diff --git a/web/src/crd/detail/template.html b/modules/web/src/crd/detail/template.html similarity index 100% rename from web/src/crd/detail/template.html rename to modules/web/src/crd/detail/template.html diff --git a/web/src/crd/list/component.ts b/modules/web/src/crd/list/component.ts similarity index 100% rename from web/src/crd/list/component.ts rename to modules/web/src/crd/list/component.ts diff --git a/web/src/crd/module.ts b/modules/web/src/crd/module.ts similarity index 100% rename from web/src/crd/module.ts rename to modules/web/src/crd/module.ts diff --git a/web/src/crd/routing.ts b/modules/web/src/crd/routing.ts similarity index 100% rename from web/src/crd/routing.ts rename to modules/web/src/crd/routing.ts diff --git a/web/src/create/component.ts b/modules/web/src/create/component.ts similarity index 100% rename from web/src/create/component.ts rename to modules/web/src/create/component.ts diff --git a/web/src/create/from/file/component.ts b/modules/web/src/create/from/file/component.ts similarity index 100% rename from web/src/create/from/file/component.ts rename to modules/web/src/create/from/file/component.ts diff --git a/web/src/create/from/file/style.scss b/modules/web/src/create/from/file/style.scss similarity index 100% rename from web/src/create/from/file/style.scss rename to modules/web/src/create/from/file/style.scss diff --git a/web/src/create/from/file/template.html b/modules/web/src/create/from/file/template.html similarity index 100% rename from web/src/create/from/file/template.html rename to modules/web/src/create/from/file/template.html diff --git a/web/src/create/from/form/component.ts b/modules/web/src/create/from/form/component.ts similarity index 100% rename from web/src/create/from/form/component.ts rename to modules/web/src/create/from/form/component.ts diff --git a/web/src/create/from/form/createnamespace/dialog.ts b/modules/web/src/create/from/form/createnamespace/dialog.ts similarity index 100% rename from web/src/create/from/form/createnamespace/dialog.ts rename to modules/web/src/create/from/form/createnamespace/dialog.ts diff --git a/web/src/create/from/form/createnamespace/template.html b/modules/web/src/create/from/form/createnamespace/template.html similarity index 100% rename from web/src/create/from/form/createnamespace/template.html rename to modules/web/src/create/from/form/createnamespace/template.html diff --git a/web/src/create/from/form/createsecret/dialog.ts b/modules/web/src/create/from/form/createsecret/dialog.ts similarity index 100% rename from web/src/create/from/form/createsecret/dialog.ts rename to modules/web/src/create/from/form/createsecret/dialog.ts diff --git a/web/src/create/from/form/createsecret/template.html b/modules/web/src/create/from/form/createsecret/template.html similarity index 100% rename from web/src/create/from/form/createsecret/template.html rename to modules/web/src/create/from/form/createsecret/template.html diff --git a/web/src/create/from/form/deploylabel/component.ts b/modules/web/src/create/from/form/deploylabel/component.ts similarity index 100% rename from web/src/create/from/form/deploylabel/component.ts rename to modules/web/src/create/from/form/deploylabel/component.ts diff --git a/web/src/create/from/form/deploylabel/deploylabel.ts b/modules/web/src/create/from/form/deploylabel/deploylabel.ts similarity index 100% rename from web/src/create/from/form/deploylabel/deploylabel.ts rename to modules/web/src/create/from/form/deploylabel/deploylabel.ts diff --git a/web/src/create/from/form/deploylabel/template.html b/modules/web/src/create/from/form/deploylabel/template.html similarity index 100% rename from web/src/create/from/form/deploylabel/template.html rename to modules/web/src/create/from/form/deploylabel/template.html diff --git a/web/src/create/from/form/environmentvariables/component.ts b/modules/web/src/create/from/form/environmentvariables/component.ts similarity index 100% rename from web/src/create/from/form/environmentvariables/component.ts rename to modules/web/src/create/from/form/environmentvariables/component.ts diff --git a/web/src/create/from/form/environmentvariables/template.html b/modules/web/src/create/from/form/environmentvariables/template.html similarity index 100% rename from web/src/create/from/form/environmentvariables/template.html rename to modules/web/src/create/from/form/environmentvariables/template.html diff --git a/web/src/create/from/form/helpsection/component.ts b/modules/web/src/create/from/form/helpsection/component.ts similarity index 100% rename from web/src/create/from/form/helpsection/component.ts rename to modules/web/src/create/from/form/helpsection/component.ts diff --git a/web/src/create/from/form/helpsection/style.scss b/modules/web/src/create/from/form/helpsection/style.scss similarity index 100% rename from web/src/create/from/form/helpsection/style.scss rename to modules/web/src/create/from/form/helpsection/style.scss diff --git a/web/src/create/from/form/helpsection/template.html b/modules/web/src/create/from/form/helpsection/template.html similarity index 100% rename from web/src/create/from/form/helpsection/template.html rename to modules/web/src/create/from/form/helpsection/template.html diff --git a/web/src/create/from/form/helpsection/userhelp/component.ts b/modules/web/src/create/from/form/helpsection/userhelp/component.ts similarity index 100% rename from web/src/create/from/form/helpsection/userhelp/component.ts rename to modules/web/src/create/from/form/helpsection/userhelp/component.ts diff --git a/web/src/create/from/form/helpsection/userhelp/style.scss b/modules/web/src/create/from/form/helpsection/userhelp/style.scss similarity index 100% rename from web/src/create/from/form/helpsection/userhelp/style.scss rename to modules/web/src/create/from/form/helpsection/userhelp/style.scss diff --git a/web/src/create/from/form/helpsection/userhelp/template.html b/modules/web/src/create/from/form/helpsection/userhelp/template.html similarity index 100% rename from web/src/create/from/form/helpsection/userhelp/template.html rename to modules/web/src/create/from/form/helpsection/userhelp/template.html diff --git a/web/src/create/from/form/module.ts b/modules/web/src/create/from/form/module.ts similarity index 100% rename from web/src/create/from/form/module.ts rename to modules/web/src/create/from/form/module.ts diff --git a/web/src/create/from/form/portmappings/component.ts b/modules/web/src/create/from/form/portmappings/component.ts similarity index 100% rename from web/src/create/from/form/portmappings/component.ts rename to modules/web/src/create/from/form/portmappings/component.ts diff --git a/web/src/create/from/form/portmappings/style.scss b/modules/web/src/create/from/form/portmappings/style.scss similarity index 100% rename from web/src/create/from/form/portmappings/style.scss rename to modules/web/src/create/from/form/portmappings/style.scss diff --git a/web/src/create/from/form/portmappings/template.html b/modules/web/src/create/from/form/portmappings/template.html similarity index 100% rename from web/src/create/from/form/portmappings/template.html rename to modules/web/src/create/from/form/portmappings/template.html diff --git a/web/src/create/from/form/style.scss b/modules/web/src/create/from/form/style.scss similarity index 100% rename from web/src/create/from/form/style.scss rename to modules/web/src/create/from/form/style.scss diff --git a/web/src/create/from/form/template.html b/modules/web/src/create/from/form/template.html similarity index 100% rename from web/src/create/from/form/template.html rename to modules/web/src/create/from/form/template.html diff --git a/web/src/create/from/form/validator/uniquename.validator.ts b/modules/web/src/create/from/form/validator/uniquename.validator.ts similarity index 100% rename from web/src/create/from/form/validator/uniquename.validator.ts rename to modules/web/src/create/from/form/validator/uniquename.validator.ts diff --git a/web/src/create/from/form/validator/validators.ts b/modules/web/src/create/from/form/validator/validators.ts similarity index 100% rename from web/src/create/from/form/validator/validators.ts rename to modules/web/src/create/from/form/validator/validators.ts diff --git a/web/src/create/from/form/validator/validimagereference.validator.ts b/modules/web/src/create/from/form/validator/validimagereference.validator.ts similarity index 100% rename from web/src/create/from/form/validator/validimagereference.validator.ts rename to modules/web/src/create/from/form/validator/validimagereference.validator.ts diff --git a/web/src/create/from/form/validator/validprotocol.validator.ts b/modules/web/src/create/from/form/validator/validprotocol.validator.ts similarity index 100% rename from web/src/create/from/form/validator/validprotocol.validator.ts rename to modules/web/src/create/from/form/validator/validprotocol.validator.ts diff --git a/web/src/create/from/form/validator/warnthreshold.validator.ts b/modules/web/src/create/from/form/validator/warnthreshold.validator.ts similarity index 100% rename from web/src/create/from/form/validator/warnthreshold.validator.ts rename to modules/web/src/create/from/form/validator/warnthreshold.validator.ts diff --git a/web/src/create/from/input/component.ts b/modules/web/src/create/from/input/component.ts similarity index 100% rename from web/src/create/from/input/component.ts rename to modules/web/src/create/from/input/component.ts diff --git a/web/src/create/from/input/style.scss b/modules/web/src/create/from/input/style.scss similarity index 100% rename from web/src/create/from/input/style.scss rename to modules/web/src/create/from/input/style.scss diff --git a/web/src/create/from/input/template.html b/modules/web/src/create/from/input/template.html similarity index 100% rename from web/src/create/from/input/template.html rename to modules/web/src/create/from/input/template.html diff --git a/web/src/create/module.ts b/modules/web/src/create/module.ts similarity index 100% rename from web/src/create/module.ts rename to modules/web/src/create/module.ts diff --git a/web/src/create/routing.ts b/modules/web/src/create/routing.ts similarity index 100% rename from web/src/create/routing.ts rename to modules/web/src/create/routing.ts diff --git a/web/src/create/style.scss b/modules/web/src/create/style.scss similarity index 100% rename from web/src/create/style.scss rename to modules/web/src/create/style.scss diff --git a/web/src/create/template.html b/modules/web/src/create/template.html similarity index 100% rename from web/src/create/template.html rename to modules/web/src/create/template.html diff --git a/web/src/environments/environment.prod.ts b/modules/web/src/environments/environment.prod.ts similarity index 100% rename from web/src/environments/environment.prod.ts rename to modules/web/src/environments/environment.prod.ts diff --git a/web/src/environments/environment.ts b/modules/web/src/environments/environment.ts similarity index 100% rename from web/src/environments/environment.ts rename to modules/web/src/environments/environment.ts diff --git a/web/src/error/component.ts b/modules/web/src/error/component.ts similarity index 100% rename from web/src/error/component.ts rename to modules/web/src/error/component.ts diff --git a/web/src/error/handler.ts b/modules/web/src/error/handler.ts similarity index 100% rename from web/src/error/handler.ts rename to modules/web/src/error/handler.ts diff --git a/web/src/error/module.ts b/modules/web/src/error/module.ts similarity index 100% rename from web/src/error/module.ts rename to modules/web/src/error/module.ts diff --git a/web/src/error/routing.ts b/modules/web/src/error/routing.ts similarity index 100% rename from web/src/error/routing.ts rename to modules/web/src/error/routing.ts diff --git a/web/src/error/style.scss b/modules/web/src/error/style.scss similarity index 100% rename from web/src/error/style.scss rename to modules/web/src/error/style.scss diff --git a/web/src/error/template.html b/modules/web/src/error/template.html similarity index 100% rename from web/src/error/template.html rename to modules/web/src/error/template.html diff --git a/web/src/index.component.ts b/modules/web/src/index.component.ts similarity index 100% rename from web/src/index.component.ts rename to modules/web/src/index.component.ts diff --git a/web/src/index.config.ts b/modules/web/src/index.config.ts similarity index 100% rename from web/src/index.config.ts rename to modules/web/src/index.config.ts diff --git a/web/src/index.html b/modules/web/src/index.html similarity index 100% rename from web/src/index.html rename to modules/web/src/index.html diff --git a/web/src/index.messages.ts b/modules/web/src/index.messages.ts similarity index 100% rename from web/src/index.messages.ts rename to modules/web/src/index.messages.ts diff --git a/web/src/index.module.ts b/modules/web/src/index.module.ts similarity index 100% rename from web/src/index.module.ts rename to modules/web/src/index.module.ts diff --git a/web/src/index.routing.ts b/modules/web/src/index.routing.ts similarity index 100% rename from web/src/index.routing.ts rename to modules/web/src/index.routing.ts diff --git a/web/src/index.scss b/modules/web/src/index.scss similarity index 100% rename from web/src/index.scss rename to modules/web/src/index.scss diff --git a/web/src/index.ts b/modules/web/src/index.ts similarity index 100% rename from web/src/index.ts rename to modules/web/src/index.ts diff --git a/web/src/login/component.spec.ts b/modules/web/src/login/component.spec.ts similarity index 100% rename from web/src/login/component.spec.ts rename to modules/web/src/login/component.spec.ts diff --git a/web/src/login/component.ts b/modules/web/src/login/component.ts similarity index 100% rename from web/src/login/component.ts rename to modules/web/src/login/component.ts diff --git a/web/src/login/module.ts b/modules/web/src/login/module.ts similarity index 100% rename from web/src/login/module.ts rename to modules/web/src/login/module.ts diff --git a/web/src/login/style.scss b/modules/web/src/login/style.scss similarity index 100% rename from web/src/login/style.scss rename to modules/web/src/login/style.scss diff --git a/web/src/login/template.html b/modules/web/src/login/template.html similarity index 100% rename from web/src/login/template.html rename to modules/web/src/login/template.html diff --git a/web/src/logs/component.ts b/modules/web/src/logs/component.ts similarity index 100% rename from web/src/logs/component.ts rename to modules/web/src/logs/component.ts diff --git a/web/src/logs/module.ts b/modules/web/src/logs/module.ts similarity index 100% rename from web/src/logs/module.ts rename to modules/web/src/logs/module.ts diff --git a/web/src/logs/routing.ts b/modules/web/src/logs/routing.ts similarity index 100% rename from web/src/logs/routing.ts rename to modules/web/src/logs/routing.ts diff --git a/web/src/logs/style.scss b/modules/web/src/logs/style.scss similarity index 100% rename from web/src/logs/style.scss rename to modules/web/src/logs/style.scss diff --git a/web/src/logs/template.html b/modules/web/src/logs/template.html similarity index 100% rename from web/src/logs/template.html rename to modules/web/src/logs/template.html diff --git a/web/src/overview/component.spec.ts b/modules/web/src/overview/component.spec.ts similarity index 100% rename from web/src/overview/component.spec.ts rename to modules/web/src/overview/component.spec.ts diff --git a/web/src/overview/component.ts b/modules/web/src/overview/component.ts similarity index 100% rename from web/src/overview/component.ts rename to modules/web/src/overview/component.ts diff --git a/web/src/overview/helper.ts b/modules/web/src/overview/helper.ts similarity index 100% rename from web/src/overview/helper.ts rename to modules/web/src/overview/helper.ts diff --git a/web/src/overview/module.ts b/modules/web/src/overview/module.ts similarity index 100% rename from web/src/overview/module.ts rename to modules/web/src/overview/module.ts diff --git a/web/src/overview/routing.ts b/modules/web/src/overview/routing.ts similarity index 100% rename from web/src/overview/routing.ts rename to modules/web/src/overview/routing.ts diff --git a/web/src/overview/template.html b/modules/web/src/overview/template.html similarity index 100% rename from web/src/overview/template.html rename to modules/web/src/overview/template.html diff --git a/web/src/plugin/component.ts b/modules/web/src/plugin/component.ts similarity index 100% rename from web/src/plugin/component.ts rename to modules/web/src/plugin/component.ts diff --git a/web/src/plugin/detail/component.ts b/modules/web/src/plugin/detail/component.ts similarity index 100% rename from web/src/plugin/detail/component.ts rename to modules/web/src/plugin/detail/component.ts diff --git a/web/src/plugin/holder.ts b/modules/web/src/plugin/holder.ts similarity index 100% rename from web/src/plugin/holder.ts rename to modules/web/src/plugin/holder.ts diff --git a/web/src/plugin/list/component.ts b/modules/web/src/plugin/list/component.ts similarity index 100% rename from web/src/plugin/list/component.ts rename to modules/web/src/plugin/list/component.ts diff --git a/web/src/plugin/module.ts b/modules/web/src/plugin/module.ts similarity index 100% rename from web/src/plugin/module.ts rename to modules/web/src/plugin/module.ts diff --git a/web/src/plugin/routing.ts b/modules/web/src/plugin/routing.ts similarity index 100% rename from web/src/plugin/routing.ts rename to modules/web/src/plugin/routing.ts diff --git a/web/src/plugin/template.html b/modules/web/src/plugin/template.html similarity index 100% rename from web/src/plugin/template.html rename to modules/web/src/plugin/template.html diff --git a/web/src/polyfills.ts b/modules/web/src/polyfills.ts similarity index 100% rename from web/src/polyfills.ts rename to modules/web/src/polyfills.ts diff --git a/web/src/resource/cluster/clusterrole/detail/component.ts b/modules/web/src/resource/cluster/clusterrole/detail/component.ts similarity index 100% rename from web/src/resource/cluster/clusterrole/detail/component.ts rename to modules/web/src/resource/cluster/clusterrole/detail/component.ts diff --git a/web/src/resource/cluster/clusterrole/detail/template.html b/modules/web/src/resource/cluster/clusterrole/detail/template.html similarity index 100% rename from web/src/resource/cluster/clusterrole/detail/template.html rename to modules/web/src/resource/cluster/clusterrole/detail/template.html diff --git a/web/src/resource/cluster/clusterrole/list/component.ts b/modules/web/src/resource/cluster/clusterrole/list/component.ts similarity index 100% rename from web/src/resource/cluster/clusterrole/list/component.ts rename to modules/web/src/resource/cluster/clusterrole/list/component.ts diff --git a/web/src/resource/cluster/clusterrole/module.ts b/modules/web/src/resource/cluster/clusterrole/module.ts similarity index 100% rename from web/src/resource/cluster/clusterrole/module.ts rename to modules/web/src/resource/cluster/clusterrole/module.ts diff --git a/web/src/resource/cluster/clusterrole/routing.ts b/modules/web/src/resource/cluster/clusterrole/routing.ts similarity index 100% rename from web/src/resource/cluster/clusterrole/routing.ts rename to modules/web/src/resource/cluster/clusterrole/routing.ts diff --git a/web/src/resource/cluster/clusterrolebinding/detail/component.ts b/modules/web/src/resource/cluster/clusterrolebinding/detail/component.ts similarity index 100% rename from web/src/resource/cluster/clusterrolebinding/detail/component.ts rename to modules/web/src/resource/cluster/clusterrolebinding/detail/component.ts diff --git a/web/src/resource/cluster/clusterrolebinding/detail/template.html b/modules/web/src/resource/cluster/clusterrolebinding/detail/template.html similarity index 100% rename from web/src/resource/cluster/clusterrolebinding/detail/template.html rename to modules/web/src/resource/cluster/clusterrolebinding/detail/template.html diff --git a/web/src/resource/cluster/clusterrolebinding/list/component.ts b/modules/web/src/resource/cluster/clusterrolebinding/list/component.ts similarity index 100% rename from web/src/resource/cluster/clusterrolebinding/list/component.ts rename to modules/web/src/resource/cluster/clusterrolebinding/list/component.ts diff --git a/web/src/resource/cluster/clusterrolebinding/module.ts b/modules/web/src/resource/cluster/clusterrolebinding/module.ts similarity index 100% rename from web/src/resource/cluster/clusterrolebinding/module.ts rename to modules/web/src/resource/cluster/clusterrolebinding/module.ts diff --git a/web/src/resource/cluster/clusterrolebinding/routing.ts b/modules/web/src/resource/cluster/clusterrolebinding/routing.ts similarity index 100% rename from web/src/resource/cluster/clusterrolebinding/routing.ts rename to modules/web/src/resource/cluster/clusterrolebinding/routing.ts diff --git a/web/src/resource/cluster/component.ts b/modules/web/src/resource/cluster/component.ts similarity index 100% rename from web/src/resource/cluster/component.ts rename to modules/web/src/resource/cluster/component.ts diff --git a/web/src/resource/cluster/event/list/component.ts b/modules/web/src/resource/cluster/event/list/component.ts similarity index 100% rename from web/src/resource/cluster/event/list/component.ts rename to modules/web/src/resource/cluster/event/list/component.ts diff --git a/web/src/resource/cluster/event/module.ts b/modules/web/src/resource/cluster/event/module.ts similarity index 100% rename from web/src/resource/cluster/event/module.ts rename to modules/web/src/resource/cluster/event/module.ts diff --git a/web/src/resource/cluster/event/routing.ts b/modules/web/src/resource/cluster/event/routing.ts similarity index 100% rename from web/src/resource/cluster/event/routing.ts rename to modules/web/src/resource/cluster/event/routing.ts diff --git a/web/src/resource/cluster/module.ts b/modules/web/src/resource/cluster/module.ts similarity index 100% rename from web/src/resource/cluster/module.ts rename to modules/web/src/resource/cluster/module.ts diff --git a/web/src/resource/cluster/namespace/detail/actionbar/component.ts b/modules/web/src/resource/cluster/namespace/detail/actionbar/component.ts similarity index 100% rename from web/src/resource/cluster/namespace/detail/actionbar/component.ts rename to modules/web/src/resource/cluster/namespace/detail/actionbar/component.ts diff --git a/web/src/resource/cluster/namespace/detail/actionbar/template.html b/modules/web/src/resource/cluster/namespace/detail/actionbar/template.html similarity index 100% rename from web/src/resource/cluster/namespace/detail/actionbar/template.html rename to modules/web/src/resource/cluster/namespace/detail/actionbar/template.html diff --git a/web/src/resource/cluster/namespace/detail/component.ts b/modules/web/src/resource/cluster/namespace/detail/component.ts similarity index 100% rename from web/src/resource/cluster/namespace/detail/component.ts rename to modules/web/src/resource/cluster/namespace/detail/component.ts diff --git a/web/src/resource/cluster/namespace/detail/template.html b/modules/web/src/resource/cluster/namespace/detail/template.html similarity index 100% rename from web/src/resource/cluster/namespace/detail/template.html rename to modules/web/src/resource/cluster/namespace/detail/template.html diff --git a/web/src/resource/cluster/namespace/list/component.ts b/modules/web/src/resource/cluster/namespace/list/component.ts similarity index 100% rename from web/src/resource/cluster/namespace/list/component.ts rename to modules/web/src/resource/cluster/namespace/list/component.ts diff --git a/web/src/resource/cluster/namespace/module.ts b/modules/web/src/resource/cluster/namespace/module.ts similarity index 100% rename from web/src/resource/cluster/namespace/module.ts rename to modules/web/src/resource/cluster/namespace/module.ts diff --git a/web/src/resource/cluster/namespace/routing.ts b/modules/web/src/resource/cluster/namespace/routing.ts similarity index 100% rename from web/src/resource/cluster/namespace/routing.ts rename to modules/web/src/resource/cluster/namespace/routing.ts diff --git a/web/src/resource/cluster/networkpolicy/detail/component.ts b/modules/web/src/resource/cluster/networkpolicy/detail/component.ts similarity index 100% rename from web/src/resource/cluster/networkpolicy/detail/component.ts rename to modules/web/src/resource/cluster/networkpolicy/detail/component.ts diff --git a/web/src/resource/cluster/networkpolicy/detail/template.html b/modules/web/src/resource/cluster/networkpolicy/detail/template.html similarity index 100% rename from web/src/resource/cluster/networkpolicy/detail/template.html rename to modules/web/src/resource/cluster/networkpolicy/detail/template.html diff --git a/web/src/resource/cluster/networkpolicy/list/component.ts b/modules/web/src/resource/cluster/networkpolicy/list/component.ts similarity index 100% rename from web/src/resource/cluster/networkpolicy/list/component.ts rename to modules/web/src/resource/cluster/networkpolicy/list/component.ts diff --git a/web/src/resource/cluster/networkpolicy/module.ts b/modules/web/src/resource/cluster/networkpolicy/module.ts similarity index 100% rename from web/src/resource/cluster/networkpolicy/module.ts rename to modules/web/src/resource/cluster/networkpolicy/module.ts diff --git a/web/src/resource/cluster/networkpolicy/routing.ts b/modules/web/src/resource/cluster/networkpolicy/routing.ts similarity index 100% rename from web/src/resource/cluster/networkpolicy/routing.ts rename to modules/web/src/resource/cluster/networkpolicy/routing.ts diff --git a/web/src/resource/cluster/node/detail/component.ts b/modules/web/src/resource/cluster/node/detail/component.ts similarity index 100% rename from web/src/resource/cluster/node/detail/component.ts rename to modules/web/src/resource/cluster/node/detail/component.ts diff --git a/web/src/resource/cluster/node/detail/template.html b/modules/web/src/resource/cluster/node/detail/template.html similarity index 100% rename from web/src/resource/cluster/node/detail/template.html rename to modules/web/src/resource/cluster/node/detail/template.html diff --git a/web/src/resource/cluster/node/list/component.ts b/modules/web/src/resource/cluster/node/list/component.ts similarity index 100% rename from web/src/resource/cluster/node/list/component.ts rename to modules/web/src/resource/cluster/node/list/component.ts diff --git a/web/src/resource/cluster/node/module.ts b/modules/web/src/resource/cluster/node/module.ts similarity index 100% rename from web/src/resource/cluster/node/module.ts rename to modules/web/src/resource/cluster/node/module.ts diff --git a/web/src/resource/cluster/node/routing.ts b/modules/web/src/resource/cluster/node/routing.ts similarity index 100% rename from web/src/resource/cluster/node/routing.ts rename to modules/web/src/resource/cluster/node/routing.ts diff --git a/web/src/resource/cluster/persistentvolume/detail/component.ts b/modules/web/src/resource/cluster/persistentvolume/detail/component.ts similarity index 100% rename from web/src/resource/cluster/persistentvolume/detail/component.ts rename to modules/web/src/resource/cluster/persistentvolume/detail/component.ts diff --git a/web/src/resource/cluster/persistentvolume/detail/source/component.ts b/modules/web/src/resource/cluster/persistentvolume/detail/source/component.ts similarity index 100% rename from web/src/resource/cluster/persistentvolume/detail/source/component.ts rename to modules/web/src/resource/cluster/persistentvolume/detail/source/component.ts diff --git a/web/src/resource/cluster/persistentvolume/detail/source/style.scss b/modules/web/src/resource/cluster/persistentvolume/detail/source/style.scss similarity index 100% rename from web/src/resource/cluster/persistentvolume/detail/source/style.scss rename to modules/web/src/resource/cluster/persistentvolume/detail/source/style.scss diff --git a/web/src/resource/cluster/persistentvolume/detail/source/template.html b/modules/web/src/resource/cluster/persistentvolume/detail/source/template.html similarity index 100% rename from web/src/resource/cluster/persistentvolume/detail/source/template.html rename to modules/web/src/resource/cluster/persistentvolume/detail/source/template.html diff --git a/web/src/resource/cluster/persistentvolume/detail/template.html b/modules/web/src/resource/cluster/persistentvolume/detail/template.html similarity index 100% rename from web/src/resource/cluster/persistentvolume/detail/template.html rename to modules/web/src/resource/cluster/persistentvolume/detail/template.html diff --git a/web/src/resource/cluster/persistentvolume/list/component.ts b/modules/web/src/resource/cluster/persistentvolume/list/component.ts similarity index 100% rename from web/src/resource/cluster/persistentvolume/list/component.ts rename to modules/web/src/resource/cluster/persistentvolume/list/component.ts diff --git a/web/src/resource/cluster/persistentvolume/module.ts b/modules/web/src/resource/cluster/persistentvolume/module.ts similarity index 100% rename from web/src/resource/cluster/persistentvolume/module.ts rename to modules/web/src/resource/cluster/persistentvolume/module.ts diff --git a/web/src/resource/cluster/persistentvolume/routing.ts b/modules/web/src/resource/cluster/persistentvolume/routing.ts similarity index 100% rename from web/src/resource/cluster/persistentvolume/routing.ts rename to modules/web/src/resource/cluster/persistentvolume/routing.ts diff --git a/web/src/resource/cluster/role/detail/component.ts b/modules/web/src/resource/cluster/role/detail/component.ts similarity index 100% rename from web/src/resource/cluster/role/detail/component.ts rename to modules/web/src/resource/cluster/role/detail/component.ts diff --git a/web/src/resource/cluster/role/detail/template.html b/modules/web/src/resource/cluster/role/detail/template.html similarity index 100% rename from web/src/resource/cluster/role/detail/template.html rename to modules/web/src/resource/cluster/role/detail/template.html diff --git a/web/src/resource/cluster/role/list/component.ts b/modules/web/src/resource/cluster/role/list/component.ts similarity index 100% rename from web/src/resource/cluster/role/list/component.ts rename to modules/web/src/resource/cluster/role/list/component.ts diff --git a/web/src/resource/cluster/role/module.ts b/modules/web/src/resource/cluster/role/module.ts similarity index 100% rename from web/src/resource/cluster/role/module.ts rename to modules/web/src/resource/cluster/role/module.ts diff --git a/web/src/resource/cluster/role/routing.ts b/modules/web/src/resource/cluster/role/routing.ts similarity index 100% rename from web/src/resource/cluster/role/routing.ts rename to modules/web/src/resource/cluster/role/routing.ts diff --git a/web/src/resource/cluster/rolebinding/detail/component.ts b/modules/web/src/resource/cluster/rolebinding/detail/component.ts similarity index 100% rename from web/src/resource/cluster/rolebinding/detail/component.ts rename to modules/web/src/resource/cluster/rolebinding/detail/component.ts diff --git a/web/src/resource/cluster/rolebinding/detail/template.html b/modules/web/src/resource/cluster/rolebinding/detail/template.html similarity index 100% rename from web/src/resource/cluster/rolebinding/detail/template.html rename to modules/web/src/resource/cluster/rolebinding/detail/template.html diff --git a/web/src/resource/cluster/rolebinding/list/component.ts b/modules/web/src/resource/cluster/rolebinding/list/component.ts similarity index 100% rename from web/src/resource/cluster/rolebinding/list/component.ts rename to modules/web/src/resource/cluster/rolebinding/list/component.ts diff --git a/web/src/resource/cluster/rolebinding/module.ts b/modules/web/src/resource/cluster/rolebinding/module.ts similarity index 100% rename from web/src/resource/cluster/rolebinding/module.ts rename to modules/web/src/resource/cluster/rolebinding/module.ts diff --git a/web/src/resource/cluster/rolebinding/routing.ts b/modules/web/src/resource/cluster/rolebinding/routing.ts similarity index 100% rename from web/src/resource/cluster/rolebinding/routing.ts rename to modules/web/src/resource/cluster/rolebinding/routing.ts diff --git a/web/src/resource/cluster/routing.ts b/modules/web/src/resource/cluster/routing.ts similarity index 100% rename from web/src/resource/cluster/routing.ts rename to modules/web/src/resource/cluster/routing.ts diff --git a/web/src/resource/cluster/serviceaccount/detail/component.ts b/modules/web/src/resource/cluster/serviceaccount/detail/component.ts similarity index 100% rename from web/src/resource/cluster/serviceaccount/detail/component.ts rename to modules/web/src/resource/cluster/serviceaccount/detail/component.ts diff --git a/web/src/resource/cluster/serviceaccount/detail/template.html b/modules/web/src/resource/cluster/serviceaccount/detail/template.html similarity index 100% rename from web/src/resource/cluster/serviceaccount/detail/template.html rename to modules/web/src/resource/cluster/serviceaccount/detail/template.html diff --git a/web/src/resource/cluster/serviceaccount/list/component.ts b/modules/web/src/resource/cluster/serviceaccount/list/component.ts similarity index 100% rename from web/src/resource/cluster/serviceaccount/list/component.ts rename to modules/web/src/resource/cluster/serviceaccount/list/component.ts diff --git a/web/src/resource/cluster/serviceaccount/module.ts b/modules/web/src/resource/cluster/serviceaccount/module.ts similarity index 100% rename from web/src/resource/cluster/serviceaccount/module.ts rename to modules/web/src/resource/cluster/serviceaccount/module.ts diff --git a/web/src/resource/cluster/serviceaccount/routing.ts b/modules/web/src/resource/cluster/serviceaccount/routing.ts similarity index 100% rename from web/src/resource/cluster/serviceaccount/routing.ts rename to modules/web/src/resource/cluster/serviceaccount/routing.ts diff --git a/web/src/resource/cluster/template.html b/modules/web/src/resource/cluster/template.html similarity index 100% rename from web/src/resource/cluster/template.html rename to modules/web/src/resource/cluster/template.html diff --git a/web/src/resource/config/component.ts b/modules/web/src/resource/config/component.ts similarity index 100% rename from web/src/resource/config/component.ts rename to modules/web/src/resource/config/component.ts diff --git a/web/src/resource/config/configmap/detail/component.ts b/modules/web/src/resource/config/configmap/detail/component.ts similarity index 100% rename from web/src/resource/config/configmap/detail/component.ts rename to modules/web/src/resource/config/configmap/detail/component.ts diff --git a/web/src/resource/config/configmap/detail/template.html b/modules/web/src/resource/config/configmap/detail/template.html similarity index 100% rename from web/src/resource/config/configmap/detail/template.html rename to modules/web/src/resource/config/configmap/detail/template.html diff --git a/web/src/resource/config/configmap/list/component.ts b/modules/web/src/resource/config/configmap/list/component.ts similarity index 100% rename from web/src/resource/config/configmap/list/component.ts rename to modules/web/src/resource/config/configmap/list/component.ts diff --git a/web/src/resource/config/configmap/module.ts b/modules/web/src/resource/config/configmap/module.ts similarity index 100% rename from web/src/resource/config/configmap/module.ts rename to modules/web/src/resource/config/configmap/module.ts diff --git a/web/src/resource/config/configmap/routing.ts b/modules/web/src/resource/config/configmap/routing.ts similarity index 100% rename from web/src/resource/config/configmap/routing.ts rename to modules/web/src/resource/config/configmap/routing.ts diff --git a/web/src/resource/config/module.ts b/modules/web/src/resource/config/module.ts similarity index 100% rename from web/src/resource/config/module.ts rename to modules/web/src/resource/config/module.ts diff --git a/web/src/resource/config/persistentvolumeclaim/detail/component.ts b/modules/web/src/resource/config/persistentvolumeclaim/detail/component.ts similarity index 100% rename from web/src/resource/config/persistentvolumeclaim/detail/component.ts rename to modules/web/src/resource/config/persistentvolumeclaim/detail/component.ts diff --git a/web/src/resource/config/persistentvolumeclaim/detail/template.html b/modules/web/src/resource/config/persistentvolumeclaim/detail/template.html similarity index 100% rename from web/src/resource/config/persistentvolumeclaim/detail/template.html rename to modules/web/src/resource/config/persistentvolumeclaim/detail/template.html diff --git a/web/src/resource/config/persistentvolumeclaim/list/component.ts b/modules/web/src/resource/config/persistentvolumeclaim/list/component.ts similarity index 100% rename from web/src/resource/config/persistentvolumeclaim/list/component.ts rename to modules/web/src/resource/config/persistentvolumeclaim/list/component.ts diff --git a/web/src/resource/config/persistentvolumeclaim/module.ts b/modules/web/src/resource/config/persistentvolumeclaim/module.ts similarity index 100% rename from web/src/resource/config/persistentvolumeclaim/module.ts rename to modules/web/src/resource/config/persistentvolumeclaim/module.ts diff --git a/web/src/resource/config/persistentvolumeclaim/routing.ts b/modules/web/src/resource/config/persistentvolumeclaim/routing.ts similarity index 100% rename from web/src/resource/config/persistentvolumeclaim/routing.ts rename to modules/web/src/resource/config/persistentvolumeclaim/routing.ts diff --git a/web/src/resource/config/routing.ts b/modules/web/src/resource/config/routing.ts similarity index 100% rename from web/src/resource/config/routing.ts rename to modules/web/src/resource/config/routing.ts diff --git a/web/src/resource/config/secret/detail/component.ts b/modules/web/src/resource/config/secret/detail/component.ts similarity index 100% rename from web/src/resource/config/secret/detail/component.ts rename to modules/web/src/resource/config/secret/detail/component.ts diff --git a/web/src/resource/config/secret/detail/edit/component.ts b/modules/web/src/resource/config/secret/detail/edit/component.ts similarity index 100% rename from web/src/resource/config/secret/detail/edit/component.ts rename to modules/web/src/resource/config/secret/detail/edit/component.ts diff --git a/web/src/resource/config/secret/detail/edit/style.scss b/modules/web/src/resource/config/secret/detail/edit/style.scss similarity index 100% rename from web/src/resource/config/secret/detail/edit/style.scss rename to modules/web/src/resource/config/secret/detail/edit/style.scss diff --git a/web/src/resource/config/secret/detail/edit/template.html b/modules/web/src/resource/config/secret/detail/edit/template.html similarity index 100% rename from web/src/resource/config/secret/detail/edit/template.html rename to modules/web/src/resource/config/secret/detail/edit/template.html diff --git a/web/src/resource/config/secret/detail/template.html b/modules/web/src/resource/config/secret/detail/template.html similarity index 100% rename from web/src/resource/config/secret/detail/template.html rename to modules/web/src/resource/config/secret/detail/template.html diff --git a/web/src/resource/config/secret/list/component.ts b/modules/web/src/resource/config/secret/list/component.ts similarity index 100% rename from web/src/resource/config/secret/list/component.ts rename to modules/web/src/resource/config/secret/list/component.ts diff --git a/web/src/resource/config/secret/list/template.html b/modules/web/src/resource/config/secret/list/template.html similarity index 100% rename from web/src/resource/config/secret/list/template.html rename to modules/web/src/resource/config/secret/list/template.html diff --git a/web/src/resource/config/secret/module.ts b/modules/web/src/resource/config/secret/module.ts similarity index 100% rename from web/src/resource/config/secret/module.ts rename to modules/web/src/resource/config/secret/module.ts diff --git a/web/src/resource/config/secret/routing.ts b/modules/web/src/resource/config/secret/routing.ts similarity index 100% rename from web/src/resource/config/secret/routing.ts rename to modules/web/src/resource/config/secret/routing.ts diff --git a/web/src/resource/config/storageclass/detail/component.ts b/modules/web/src/resource/config/storageclass/detail/component.ts similarity index 100% rename from web/src/resource/config/storageclass/detail/component.ts rename to modules/web/src/resource/config/storageclass/detail/component.ts diff --git a/web/src/resource/config/storageclass/detail/style.scss b/modules/web/src/resource/config/storageclass/detail/style.scss similarity index 100% rename from web/src/resource/config/storageclass/detail/style.scss rename to modules/web/src/resource/config/storageclass/detail/style.scss diff --git a/web/src/resource/config/storageclass/detail/template.html b/modules/web/src/resource/config/storageclass/detail/template.html similarity index 100% rename from web/src/resource/config/storageclass/detail/template.html rename to modules/web/src/resource/config/storageclass/detail/template.html diff --git a/web/src/resource/config/storageclass/list/component.ts b/modules/web/src/resource/config/storageclass/list/component.ts similarity index 100% rename from web/src/resource/config/storageclass/list/component.ts rename to modules/web/src/resource/config/storageclass/list/component.ts diff --git a/web/src/resource/config/storageclass/module.ts b/modules/web/src/resource/config/storageclass/module.ts similarity index 100% rename from web/src/resource/config/storageclass/module.ts rename to modules/web/src/resource/config/storageclass/module.ts diff --git a/web/src/resource/config/storageclass/routing.ts b/modules/web/src/resource/config/storageclass/routing.ts similarity index 100% rename from web/src/resource/config/storageclass/routing.ts rename to modules/web/src/resource/config/storageclass/routing.ts diff --git a/web/src/resource/config/template.html b/modules/web/src/resource/config/template.html similarity index 100% rename from web/src/resource/config/template.html rename to modules/web/src/resource/config/template.html diff --git a/web/src/resource/discovery/component.ts b/modules/web/src/resource/discovery/component.ts similarity index 100% rename from web/src/resource/discovery/component.ts rename to modules/web/src/resource/discovery/component.ts diff --git a/web/src/resource/discovery/ingress/detail/component.spec.ts b/modules/web/src/resource/discovery/ingress/detail/component.spec.ts similarity index 100% rename from web/src/resource/discovery/ingress/detail/component.spec.ts rename to modules/web/src/resource/discovery/ingress/detail/component.spec.ts diff --git a/web/src/resource/discovery/ingress/detail/component.ts b/modules/web/src/resource/discovery/ingress/detail/component.ts similarity index 100% rename from web/src/resource/discovery/ingress/detail/component.ts rename to modules/web/src/resource/discovery/ingress/detail/component.ts diff --git a/web/src/resource/discovery/ingress/detail/template.html b/modules/web/src/resource/discovery/ingress/detail/template.html similarity index 100% rename from web/src/resource/discovery/ingress/detail/template.html rename to modules/web/src/resource/discovery/ingress/detail/template.html diff --git a/web/src/resource/discovery/ingress/list/component.ts b/modules/web/src/resource/discovery/ingress/list/component.ts similarity index 100% rename from web/src/resource/discovery/ingress/list/component.ts rename to modules/web/src/resource/discovery/ingress/list/component.ts diff --git a/web/src/resource/discovery/ingress/module.ts b/modules/web/src/resource/discovery/ingress/module.ts similarity index 100% rename from web/src/resource/discovery/ingress/module.ts rename to modules/web/src/resource/discovery/ingress/module.ts diff --git a/web/src/resource/discovery/ingress/routing.ts b/modules/web/src/resource/discovery/ingress/routing.ts similarity index 100% rename from web/src/resource/discovery/ingress/routing.ts rename to modules/web/src/resource/discovery/ingress/routing.ts diff --git a/web/src/resource/discovery/module.ts b/modules/web/src/resource/discovery/module.ts similarity index 100% rename from web/src/resource/discovery/module.ts rename to modules/web/src/resource/discovery/module.ts diff --git a/web/src/resource/discovery/routing.ts b/modules/web/src/resource/discovery/routing.ts similarity index 100% rename from web/src/resource/discovery/routing.ts rename to modules/web/src/resource/discovery/routing.ts diff --git a/web/src/resource/discovery/service/detail/component.spec.ts b/modules/web/src/resource/discovery/service/detail/component.spec.ts similarity index 100% rename from web/src/resource/discovery/service/detail/component.spec.ts rename to modules/web/src/resource/discovery/service/detail/component.spec.ts diff --git a/web/src/resource/discovery/service/detail/component.ts b/modules/web/src/resource/discovery/service/detail/component.ts similarity index 100% rename from web/src/resource/discovery/service/detail/component.ts rename to modules/web/src/resource/discovery/service/detail/component.ts diff --git a/web/src/resource/discovery/service/detail/template.html b/modules/web/src/resource/discovery/service/detail/template.html similarity index 100% rename from web/src/resource/discovery/service/detail/template.html rename to modules/web/src/resource/discovery/service/detail/template.html diff --git a/web/src/resource/discovery/service/list/component.ts b/modules/web/src/resource/discovery/service/list/component.ts similarity index 100% rename from web/src/resource/discovery/service/list/component.ts rename to modules/web/src/resource/discovery/service/list/component.ts diff --git a/web/src/resource/discovery/service/module.ts b/modules/web/src/resource/discovery/service/module.ts similarity index 100% rename from web/src/resource/discovery/service/module.ts rename to modules/web/src/resource/discovery/service/module.ts diff --git a/web/src/resource/discovery/service/routing.ts b/modules/web/src/resource/discovery/service/routing.ts similarity index 100% rename from web/src/resource/discovery/service/routing.ts rename to modules/web/src/resource/discovery/service/routing.ts diff --git a/web/src/resource/discovery/template.html b/modules/web/src/resource/discovery/template.html similarity index 100% rename from web/src/resource/discovery/template.html rename to modules/web/src/resource/discovery/template.html diff --git a/web/src/resource/workloads/component.ts b/modules/web/src/resource/workloads/component.ts similarity index 100% rename from web/src/resource/workloads/component.ts rename to modules/web/src/resource/workloads/component.ts diff --git a/web/src/resource/workloads/cronjob/detail/component.ts b/modules/web/src/resource/workloads/cronjob/detail/component.ts similarity index 100% rename from web/src/resource/workloads/cronjob/detail/component.ts rename to modules/web/src/resource/workloads/cronjob/detail/component.ts diff --git a/web/src/resource/workloads/cronjob/detail/template.html b/modules/web/src/resource/workloads/cronjob/detail/template.html similarity index 100% rename from web/src/resource/workloads/cronjob/detail/template.html rename to modules/web/src/resource/workloads/cronjob/detail/template.html diff --git a/web/src/resource/workloads/cronjob/list/component.ts b/modules/web/src/resource/workloads/cronjob/list/component.ts similarity index 100% rename from web/src/resource/workloads/cronjob/list/component.ts rename to modules/web/src/resource/workloads/cronjob/list/component.ts diff --git a/web/src/resource/workloads/cronjob/module.ts b/modules/web/src/resource/workloads/cronjob/module.ts similarity index 100% rename from web/src/resource/workloads/cronjob/module.ts rename to modules/web/src/resource/workloads/cronjob/module.ts diff --git a/web/src/resource/workloads/cronjob/routing.ts b/modules/web/src/resource/workloads/cronjob/routing.ts similarity index 100% rename from web/src/resource/workloads/cronjob/routing.ts rename to modules/web/src/resource/workloads/cronjob/routing.ts diff --git a/web/src/resource/workloads/daemonset/detail/actionbar/component.ts b/modules/web/src/resource/workloads/daemonset/detail/actionbar/component.ts similarity index 100% rename from web/src/resource/workloads/daemonset/detail/actionbar/component.ts rename to modules/web/src/resource/workloads/daemonset/detail/actionbar/component.ts diff --git a/web/src/resource/workloads/daemonset/detail/actionbar/template.html b/modules/web/src/resource/workloads/daemonset/detail/actionbar/template.html similarity index 100% rename from web/src/resource/workloads/daemonset/detail/actionbar/template.html rename to modules/web/src/resource/workloads/daemonset/detail/actionbar/template.html diff --git a/web/src/resource/workloads/daemonset/detail/component.ts b/modules/web/src/resource/workloads/daemonset/detail/component.ts similarity index 100% rename from web/src/resource/workloads/daemonset/detail/component.ts rename to modules/web/src/resource/workloads/daemonset/detail/component.ts diff --git a/web/src/resource/workloads/daemonset/detail/template.html b/modules/web/src/resource/workloads/daemonset/detail/template.html similarity index 100% rename from web/src/resource/workloads/daemonset/detail/template.html rename to modules/web/src/resource/workloads/daemonset/detail/template.html diff --git a/web/src/resource/workloads/daemonset/list/component.ts b/modules/web/src/resource/workloads/daemonset/list/component.ts similarity index 100% rename from web/src/resource/workloads/daemonset/list/component.ts rename to modules/web/src/resource/workloads/daemonset/list/component.ts diff --git a/web/src/resource/workloads/daemonset/module.ts b/modules/web/src/resource/workloads/daemonset/module.ts similarity index 100% rename from web/src/resource/workloads/daemonset/module.ts rename to modules/web/src/resource/workloads/daemonset/module.ts diff --git a/web/src/resource/workloads/daemonset/routing.ts b/modules/web/src/resource/workloads/daemonset/routing.ts similarity index 100% rename from web/src/resource/workloads/daemonset/routing.ts rename to modules/web/src/resource/workloads/daemonset/routing.ts diff --git a/web/src/resource/workloads/deployment/detail/component.ts b/modules/web/src/resource/workloads/deployment/detail/component.ts similarity index 100% rename from web/src/resource/workloads/deployment/detail/component.ts rename to modules/web/src/resource/workloads/deployment/detail/component.ts diff --git a/web/src/resource/workloads/deployment/detail/template.html b/modules/web/src/resource/workloads/deployment/detail/template.html similarity index 100% rename from web/src/resource/workloads/deployment/detail/template.html rename to modules/web/src/resource/workloads/deployment/detail/template.html diff --git a/web/src/resource/workloads/deployment/list/component.ts b/modules/web/src/resource/workloads/deployment/list/component.ts similarity index 100% rename from web/src/resource/workloads/deployment/list/component.ts rename to modules/web/src/resource/workloads/deployment/list/component.ts diff --git a/web/src/resource/workloads/deployment/module.ts b/modules/web/src/resource/workloads/deployment/module.ts similarity index 100% rename from web/src/resource/workloads/deployment/module.ts rename to modules/web/src/resource/workloads/deployment/module.ts diff --git a/web/src/resource/workloads/deployment/routing.ts b/modules/web/src/resource/workloads/deployment/routing.ts similarity index 100% rename from web/src/resource/workloads/deployment/routing.ts rename to modules/web/src/resource/workloads/deployment/routing.ts diff --git a/web/src/resource/workloads/job/detail/component.ts b/modules/web/src/resource/workloads/job/detail/component.ts similarity index 100% rename from web/src/resource/workloads/job/detail/component.ts rename to modules/web/src/resource/workloads/job/detail/component.ts diff --git a/web/src/resource/workloads/job/detail/template.html b/modules/web/src/resource/workloads/job/detail/template.html similarity index 100% rename from web/src/resource/workloads/job/detail/template.html rename to modules/web/src/resource/workloads/job/detail/template.html diff --git a/web/src/resource/workloads/job/list/component.ts b/modules/web/src/resource/workloads/job/list/component.ts similarity index 100% rename from web/src/resource/workloads/job/list/component.ts rename to modules/web/src/resource/workloads/job/list/component.ts diff --git a/web/src/resource/workloads/job/module.ts b/modules/web/src/resource/workloads/job/module.ts similarity index 100% rename from web/src/resource/workloads/job/module.ts rename to modules/web/src/resource/workloads/job/module.ts diff --git a/web/src/resource/workloads/job/routing.ts b/modules/web/src/resource/workloads/job/routing.ts similarity index 100% rename from web/src/resource/workloads/job/routing.ts rename to modules/web/src/resource/workloads/job/routing.ts diff --git a/web/src/resource/workloads/module.ts b/modules/web/src/resource/workloads/module.ts similarity index 100% rename from web/src/resource/workloads/module.ts rename to modules/web/src/resource/workloads/module.ts diff --git a/web/src/resource/workloads/pod/detail/component.ts b/modules/web/src/resource/workloads/pod/detail/component.ts similarity index 100% rename from web/src/resource/workloads/pod/detail/component.ts rename to modules/web/src/resource/workloads/pod/detail/component.ts diff --git a/web/src/resource/workloads/pod/detail/style.scss b/modules/web/src/resource/workloads/pod/detail/style.scss similarity index 100% rename from web/src/resource/workloads/pod/detail/style.scss rename to modules/web/src/resource/workloads/pod/detail/style.scss diff --git a/web/src/resource/workloads/pod/detail/template.html b/modules/web/src/resource/workloads/pod/detail/template.html similarity index 100% rename from web/src/resource/workloads/pod/detail/template.html rename to modules/web/src/resource/workloads/pod/detail/template.html diff --git a/web/src/resource/workloads/pod/list/component.ts b/modules/web/src/resource/workloads/pod/list/component.ts similarity index 100% rename from web/src/resource/workloads/pod/list/component.ts rename to modules/web/src/resource/workloads/pod/list/component.ts diff --git a/web/src/resource/workloads/pod/module.ts b/modules/web/src/resource/workloads/pod/module.ts similarity index 100% rename from web/src/resource/workloads/pod/module.ts rename to modules/web/src/resource/workloads/pod/module.ts diff --git a/web/src/resource/workloads/pod/routing.ts b/modules/web/src/resource/workloads/pod/routing.ts similarity index 100% rename from web/src/resource/workloads/pod/routing.ts rename to modules/web/src/resource/workloads/pod/routing.ts diff --git a/web/src/resource/workloads/replicaset/detail/component.ts b/modules/web/src/resource/workloads/replicaset/detail/component.ts similarity index 100% rename from web/src/resource/workloads/replicaset/detail/component.ts rename to modules/web/src/resource/workloads/replicaset/detail/component.ts diff --git a/web/src/resource/workloads/replicaset/detail/template.html b/modules/web/src/resource/workloads/replicaset/detail/template.html similarity index 100% rename from web/src/resource/workloads/replicaset/detail/template.html rename to modules/web/src/resource/workloads/replicaset/detail/template.html diff --git a/web/src/resource/workloads/replicaset/list/component.ts b/modules/web/src/resource/workloads/replicaset/list/component.ts similarity index 100% rename from web/src/resource/workloads/replicaset/list/component.ts rename to modules/web/src/resource/workloads/replicaset/list/component.ts diff --git a/web/src/resource/workloads/replicaset/module.ts b/modules/web/src/resource/workloads/replicaset/module.ts similarity index 100% rename from web/src/resource/workloads/replicaset/module.ts rename to modules/web/src/resource/workloads/replicaset/module.ts diff --git a/web/src/resource/workloads/replicaset/routing.ts b/modules/web/src/resource/workloads/replicaset/routing.ts similarity index 100% rename from web/src/resource/workloads/replicaset/routing.ts rename to modules/web/src/resource/workloads/replicaset/routing.ts diff --git a/web/src/resource/workloads/replicationcontroller/detail/component.ts b/modules/web/src/resource/workloads/replicationcontroller/detail/component.ts similarity index 100% rename from web/src/resource/workloads/replicationcontroller/detail/component.ts rename to modules/web/src/resource/workloads/replicationcontroller/detail/component.ts diff --git a/web/src/resource/workloads/replicationcontroller/detail/template.html b/modules/web/src/resource/workloads/replicationcontroller/detail/template.html similarity index 100% rename from web/src/resource/workloads/replicationcontroller/detail/template.html rename to modules/web/src/resource/workloads/replicationcontroller/detail/template.html diff --git a/web/src/resource/workloads/replicationcontroller/list/component.ts b/modules/web/src/resource/workloads/replicationcontroller/list/component.ts similarity index 100% rename from web/src/resource/workloads/replicationcontroller/list/component.ts rename to modules/web/src/resource/workloads/replicationcontroller/list/component.ts diff --git a/web/src/resource/workloads/replicationcontroller/module.ts b/modules/web/src/resource/workloads/replicationcontroller/module.ts similarity index 100% rename from web/src/resource/workloads/replicationcontroller/module.ts rename to modules/web/src/resource/workloads/replicationcontroller/module.ts diff --git a/web/src/resource/workloads/replicationcontroller/routing.ts b/modules/web/src/resource/workloads/replicationcontroller/routing.ts similarity index 100% rename from web/src/resource/workloads/replicationcontroller/routing.ts rename to modules/web/src/resource/workloads/replicationcontroller/routing.ts diff --git a/web/src/resource/workloads/routing.ts b/modules/web/src/resource/workloads/routing.ts similarity index 100% rename from web/src/resource/workloads/routing.ts rename to modules/web/src/resource/workloads/routing.ts diff --git a/web/src/resource/workloads/statefulset/detail/component.ts b/modules/web/src/resource/workloads/statefulset/detail/component.ts similarity index 100% rename from web/src/resource/workloads/statefulset/detail/component.ts rename to modules/web/src/resource/workloads/statefulset/detail/component.ts diff --git a/web/src/resource/workloads/statefulset/detail/template.html b/modules/web/src/resource/workloads/statefulset/detail/template.html similarity index 100% rename from web/src/resource/workloads/statefulset/detail/template.html rename to modules/web/src/resource/workloads/statefulset/detail/template.html diff --git a/web/src/resource/workloads/statefulset/list/component.ts b/modules/web/src/resource/workloads/statefulset/list/component.ts similarity index 100% rename from web/src/resource/workloads/statefulset/list/component.ts rename to modules/web/src/resource/workloads/statefulset/list/component.ts diff --git a/web/src/resource/workloads/statefulset/module.ts b/modules/web/src/resource/workloads/statefulset/module.ts similarity index 100% rename from web/src/resource/workloads/statefulset/module.ts rename to modules/web/src/resource/workloads/statefulset/module.ts diff --git a/web/src/resource/workloads/statefulset/routing.ts b/modules/web/src/resource/workloads/statefulset/routing.ts similarity index 100% rename from web/src/resource/workloads/statefulset/routing.ts rename to modules/web/src/resource/workloads/statefulset/routing.ts diff --git a/web/src/resource/workloads/template.html b/modules/web/src/resource/workloads/template.html similarity index 100% rename from web/src/resource/workloads/template.html rename to modules/web/src/resource/workloads/template.html diff --git a/web/src/search/component.ts b/modules/web/src/search/component.ts similarity index 100% rename from web/src/search/component.ts rename to modules/web/src/search/component.ts diff --git a/web/src/search/module.ts b/modules/web/src/search/module.ts similarity index 100% rename from web/src/search/module.ts rename to modules/web/src/search/module.ts diff --git a/web/src/search/routing.ts b/modules/web/src/search/routing.ts similarity index 100% rename from web/src/search/routing.ts rename to modules/web/src/search/routing.ts diff --git a/web/src/search/template.html b/modules/web/src/search/template.html similarity index 100% rename from web/src/search/template.html rename to modules/web/src/search/template.html diff --git a/web/src/settings/component.ts b/modules/web/src/settings/component.ts similarity index 100% rename from web/src/settings/component.ts rename to modules/web/src/settings/component.ts diff --git a/web/src/settings/entry/component.ts b/modules/web/src/settings/entry/component.ts similarity index 100% rename from web/src/settings/entry/component.ts rename to modules/web/src/settings/entry/component.ts diff --git a/web/src/settings/entry/template.html b/modules/web/src/settings/entry/template.html similarity index 100% rename from web/src/settings/entry/template.html rename to modules/web/src/settings/entry/template.html diff --git a/web/src/settings/global/component.ts b/modules/web/src/settings/global/component.ts similarity index 100% rename from web/src/settings/global/component.ts rename to modules/web/src/settings/global/component.ts diff --git a/web/src/settings/global/namespace/adddialog/dialog.ts b/modules/web/src/settings/global/namespace/adddialog/dialog.ts similarity index 100% rename from web/src/settings/global/namespace/adddialog/dialog.ts rename to modules/web/src/settings/global/namespace/adddialog/dialog.ts diff --git a/web/src/settings/global/namespace/adddialog/template.html b/modules/web/src/settings/global/namespace/adddialog/template.html similarity index 100% rename from web/src/settings/global/namespace/adddialog/template.html rename to modules/web/src/settings/global/namespace/adddialog/template.html diff --git a/web/src/settings/global/namespace/component.ts b/modules/web/src/settings/global/namespace/component.ts similarity index 100% rename from web/src/settings/global/namespace/component.ts rename to modules/web/src/settings/global/namespace/component.ts diff --git a/web/src/settings/global/namespace/editdialog/dialog.ts b/modules/web/src/settings/global/namespace/editdialog/dialog.ts similarity index 100% rename from web/src/settings/global/namespace/editdialog/dialog.ts rename to modules/web/src/settings/global/namespace/editdialog/dialog.ts diff --git a/web/src/settings/global/namespace/editdialog/template.html b/modules/web/src/settings/global/namespace/editdialog/template.html similarity index 100% rename from web/src/settings/global/namespace/editdialog/template.html rename to modules/web/src/settings/global/namespace/editdialog/template.html diff --git a/web/src/settings/global/namespace/style.scss b/modules/web/src/settings/global/namespace/style.scss similarity index 100% rename from web/src/settings/global/namespace/style.scss rename to modules/web/src/settings/global/namespace/style.scss diff --git a/web/src/settings/global/namespace/template.html b/modules/web/src/settings/global/namespace/template.html similarity index 100% rename from web/src/settings/global/namespace/template.html rename to modules/web/src/settings/global/namespace/template.html diff --git a/web/src/settings/global/saveanywaysdialog/dialog.ts b/modules/web/src/settings/global/saveanywaysdialog/dialog.ts similarity index 100% rename from web/src/settings/global/saveanywaysdialog/dialog.ts rename to modules/web/src/settings/global/saveanywaysdialog/dialog.ts diff --git a/web/src/settings/global/saveanywaysdialog/template.html b/modules/web/src/settings/global/saveanywaysdialog/template.html similarity index 100% rename from web/src/settings/global/saveanywaysdialog/template.html rename to modules/web/src/settings/global/saveanywaysdialog/template.html diff --git a/web/src/settings/global/service.ts b/modules/web/src/settings/global/service.ts similarity index 100% rename from web/src/settings/global/service.ts rename to modules/web/src/settings/global/service.ts diff --git a/web/src/settings/global/style.scss b/modules/web/src/settings/global/style.scss similarity index 100% rename from web/src/settings/global/style.scss rename to modules/web/src/settings/global/style.scss diff --git a/web/src/settings/global/template.html b/modules/web/src/settings/global/template.html similarity index 100% rename from web/src/settings/global/template.html rename to modules/web/src/settings/global/template.html diff --git a/web/src/settings/local/component.ts b/modules/web/src/settings/local/component.ts similarity index 100% rename from web/src/settings/local/component.ts rename to modules/web/src/settings/local/component.ts diff --git a/web/src/settings/local/style.scss b/modules/web/src/settings/local/style.scss similarity index 100% rename from web/src/settings/local/style.scss rename to modules/web/src/settings/local/style.scss diff --git a/web/src/settings/local/template.html b/modules/web/src/settings/local/template.html similarity index 100% rename from web/src/settings/local/template.html rename to modules/web/src/settings/local/template.html diff --git a/web/src/settings/module.ts b/modules/web/src/settings/module.ts similarity index 100% rename from web/src/settings/module.ts rename to modules/web/src/settings/module.ts diff --git a/web/src/settings/routing.ts b/modules/web/src/settings/routing.ts similarity index 100% rename from web/src/settings/routing.ts rename to modules/web/src/settings/routing.ts diff --git a/web/src/shared.module.ts b/modules/web/src/shared.module.ts similarity index 100% rename from web/src/shared.module.ts rename to modules/web/src/shared.module.ts diff --git a/web/src/shell/component.ts b/modules/web/src/shell/component.ts similarity index 100% rename from web/src/shell/component.ts rename to modules/web/src/shell/component.ts diff --git a/web/src/shell/module.ts b/modules/web/src/shell/module.ts similarity index 100% rename from web/src/shell/module.ts rename to modules/web/src/shell/module.ts diff --git a/web/src/shell/routing.ts b/modules/web/src/shell/routing.ts similarity index 100% rename from web/src/shell/routing.ts rename to modules/web/src/shell/routing.ts diff --git a/web/src/shell/styles.scss b/modules/web/src/shell/styles.scss similarity index 100% rename from web/src/shell/styles.scss rename to modules/web/src/shell/styles.scss diff --git a/web/src/shell/template.html b/modules/web/src/shell/template.html similarity index 100% rename from web/src/shell/template.html rename to modules/web/src/shell/template.html diff --git a/web/src/systemjs.d.ts b/modules/web/src/systemjs.d.ts similarity index 100% rename from web/src/systemjs.d.ts rename to modules/web/src/systemjs.d.ts diff --git a/web/src/test.base.mocks.ts b/modules/web/src/test.base.mocks.ts similarity index 100% rename from web/src/test.base.mocks.ts rename to modules/web/src/test.base.mocks.ts diff --git a/web/src/test.base.ts b/modules/web/src/test.base.ts similarity index 100% rename from web/src/test.base.ts rename to modules/web/src/test.base.ts diff --git a/web/src/typings/root.api.ts b/modules/web/src/typings/root.api.ts similarity index 100% rename from web/src/typings/root.api.ts rename to modules/web/src/typings/root.api.ts diff --git a/web/src/typings/root.shared.ts b/modules/web/src/typings/root.shared.ts similarity index 100% rename from web/src/typings/root.shared.ts rename to modules/web/src/typings/root.shared.ts diff --git a/web/src/typings/root.ui.ts b/modules/web/src/typings/root.ui.ts similarity index 100% rename from web/src/typings/root.ui.ts rename to modules/web/src/typings/root.ui.ts diff --git a/web/src/typings/volume.api.ts b/modules/web/src/typings/volume.api.ts similarity index 100% rename from web/src/typings/volume.api.ts rename to modules/web/src/typings/volume.api.ts diff --git a/web/tsconfig.app.json b/modules/web/tsconfig.app.json similarity index 100% rename from web/tsconfig.app.json rename to modules/web/tsconfig.app.json diff --git a/web/tsconfig.e2e.json b/modules/web/tsconfig.e2e.json similarity index 100% rename from web/tsconfig.e2e.json rename to modules/web/tsconfig.e2e.json diff --git a/web/tsconfig.json b/modules/web/tsconfig.json similarity index 100% rename from web/tsconfig.json rename to modules/web/tsconfig.json diff --git a/web/tsconfig.spec.json b/modules/web/tsconfig.spec.json similarity index 100% rename from web/tsconfig.spec.json rename to modules/web/tsconfig.spec.json From 4a49bec10337c2969e2b357ee1a0fcef50e7f770 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 14:01:16 +0200 Subject: [PATCH 013/162] Update structure --- {aio/deploy => charts}/alternative.yaml | 0 {aio/deploy => charts}/alternative/00_dashboard-namespace.yaml | 0 .../alternative/01_dashboard-serviceaccount.yaml | 0 {aio/deploy => charts}/alternative/02_dashboard-service.yaml | 0 {aio/deploy => charts}/alternative/03_dashboard-secret.yaml | 0 {aio/deploy => charts}/alternative/04_dashboard-configmap.yaml | 0 {aio/deploy => charts}/alternative/05_dashboard-rbac.yaml | 0 {aio/deploy => charts}/alternative/06_dashboard-deployment.yaml | 0 {aio/deploy => charts}/alternative/07_scraper-service.yaml | 0 {aio/deploy => charts}/alternative/08_scraper-deployment.yaml | 0 {aio/deploy => charts}/head.yaml | 0 {aio/deploy => charts}/head/00_dashboard-namespace.yaml | 0 {aio/deploy => charts}/head/01_dashboard-serviceaccount.yaml | 0 {aio/deploy => charts}/head/02_dashboard-service.yaml | 0 {aio/deploy => charts}/head/03_dashboard-secret.yaml | 0 {aio/deploy => charts}/head/04_dashboard-configmap.yaml | 0 {aio/deploy => charts}/head/05_dashboard-rbac.yaml | 0 {aio/deploy => charts}/head/06_dashboard-deployment.yaml | 0 {aio/deploy => charts}/head/07_scraper-service.yaml | 0 {aio/deploy => charts}/head/08_scraper-deployment.yaml | 0 {aio/deploy => charts}/helm-chart/.helm-chart-testing.yaml | 0 {aio/deploy => charts}/helm-chart/config_repos | 0 .../deploy => charts}/helm-chart/kubernetes-dashboard/.helmignore | 0 {aio/deploy => charts}/helm-chart/kubernetes-dashboard/Chart.lock | 0 {aio/deploy => charts}/helm-chart/kubernetes-dashboard/Chart.yaml | 0 {aio/deploy => charts}/helm-chart/kubernetes-dashboard/OWNERS | 0 {aio/deploy => charts}/helm-chart/kubernetes-dashboard/README.md | 0 .../helm-chart/kubernetes-dashboard/ci/default-values.yaml | 0 .../kubernetes-dashboard/ci/extra-manifests-values.yaml | 0 .../kubernetes-dashboard/ci/ingress-customPaths-values.yaml | 0 .../helm-chart/kubernetes-dashboard/ci/ingress-values.yaml | 0 .../kubernetes-dashboard/ci/metrics-scraper-values.yaml | 0 .../helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml | 0 .../helm-chart/kubernetes-dashboard/ci/pdb-values.yaml | 0 .../kubernetes-dashboard/ci/podsecurity-policy-values.yaml | 0 .../ci/rbac-cluster-readonly-role-values.yaml | 0 .../helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml | 0 .../helm-chart/kubernetes-dashboard/ci/settings-values.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/NOTES.txt | 0 .../helm-chart/kubernetes-dashboard/templates/_helpers.tpl | 0 .../helm-chart/kubernetes-dashboard/templates/_tplvalues.tpl | 0 .../kubernetes-dashboard/templates/clusterrole-metrics.yaml | 0 .../kubernetes-dashboard/templates/clusterrole-readonly.yaml | 0 .../templates/clusterrolebinding-metrics.yaml | 0 .../templates/clusterrolebinding-readonly.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/configmap.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/deployment.yaml | 0 .../kubernetes-dashboard/templates/extra-manifests.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/ingress.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/networkpolicy.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/pdb.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/psp.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/role.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/rolebinding.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/secret.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/service.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/serviceaccount.yaml | 0 .../helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml | 0 .../deploy => charts}/helm-chart/kubernetes-dashboard/values.yaml | 0 {aio/deploy => charts}/recommended.yaml | 0 {aio/deploy => charts}/recommended/00_dashboard-namespace.yaml | 0 .../recommended/01_dashboard-serviceaccount.yaml | 0 {aio/deploy => charts}/recommended/02_dashboard-service.yaml | 0 {aio/deploy => charts}/recommended/03_dashboard-secret.yaml | 0 {aio/deploy => charts}/recommended/04_dashboard-configmap.yaml | 0 {aio/deploy => charts}/recommended/05_dashboard-rbac.yaml | 0 {aio/deploy => charts}/recommended/06_dashboard-deployment.yaml | 0 {aio/deploy => charts}/recommended/07_scraper-service.yaml | 0 {aio/deploy => charts}/recommended/08_scraper-deployment.yaml | 0 {aio => hack}/Dockerfile | 0 {aio => hack}/develop/Dockerfile | 0 {aio => hack}/develop/gosu-command.sh | 0 {aio => hack}/develop/npm-command.sh | 0 {aio => hack}/develop/run-npm-on-container.sh | 0 {aio => hack}/scripts/build.sh | 0 {aio => hack}/scripts/conf.sh | 0 {aio => hack}/scripts/helm-release-chart.sh | 0 {aio => hack}/scripts/license-header.go.txt | 0 {aio => hack}/scripts/license-header.txt | 0 {aio => hack}/scripts/pre-commit-i18n.sh | 0 {aio => hack}/scripts/start-cluster.sh | 0 {aio => hack}/scripts/stop-cluster.sh | 0 {aio => hack}/test-resources/100mb-of-logs-pod.yaml | 0 {aio => hack}/test-resources/10mb-of-logs-pod.yaml | 0 {aio => hack}/test-resources/1gb-of-logs-pod.yaml | 0 {aio => hack}/test-resources/500mb-of-logs-pod.yaml | 0 {aio => hack}/test-resources/50mb-of-logs-pod.yaml | 0 {aio => hack}/test-resources/crashing-pod.yaml | 0 {aio => hack}/test-resources/crashloopbackoff-pod.yaml | 0 {aio => hack}/test-resources/env-variables-pod.yaml | 0 {aio => hack}/test-resources/imagepullbackoff-pod.yaml | 0 {aio => hack}/test-resources/init-container-error-pod.yaml | 0 {aio => hack}/test-resources/init-container-pod.yaml | 0 {aio => hack}/test-resources/kubernetes-dashboard-local.yaml | 0 {aio => hack}/test-resources/nginx-daemon-daemon-set.yaml | 0 {aio => hack}/test-resources/pending-pod.yaml | 0 {aio => hack}/test-resources/plugin-crd.yml | 0 {aio => hack}/test-resources/plugin-test.yml | 0 {aio => hack}/test-resources/restarted-pod.yaml | 0 {aio => hack}/test-resources/succeeded-pod.yaml | 0 {aio => hack}/test-resources/terminated-pod.yaml | 0 101 files changed, 0 insertions(+), 0 deletions(-) rename {aio/deploy => charts}/alternative.yaml (100%) rename {aio/deploy => charts}/alternative/00_dashboard-namespace.yaml (100%) rename {aio/deploy => charts}/alternative/01_dashboard-serviceaccount.yaml (100%) rename {aio/deploy => charts}/alternative/02_dashboard-service.yaml (100%) rename {aio/deploy => charts}/alternative/03_dashboard-secret.yaml (100%) rename {aio/deploy => charts}/alternative/04_dashboard-configmap.yaml (100%) rename {aio/deploy => charts}/alternative/05_dashboard-rbac.yaml (100%) rename {aio/deploy => charts}/alternative/06_dashboard-deployment.yaml (100%) rename {aio/deploy => charts}/alternative/07_scraper-service.yaml (100%) rename {aio/deploy => charts}/alternative/08_scraper-deployment.yaml (100%) rename {aio/deploy => charts}/head.yaml (100%) rename {aio/deploy => charts}/head/00_dashboard-namespace.yaml (100%) rename {aio/deploy => charts}/head/01_dashboard-serviceaccount.yaml (100%) rename {aio/deploy => charts}/head/02_dashboard-service.yaml (100%) rename {aio/deploy => charts}/head/03_dashboard-secret.yaml (100%) rename {aio/deploy => charts}/head/04_dashboard-configmap.yaml (100%) rename {aio/deploy => charts}/head/05_dashboard-rbac.yaml (100%) rename {aio/deploy => charts}/head/06_dashboard-deployment.yaml (100%) rename {aio/deploy => charts}/head/07_scraper-service.yaml (100%) rename {aio/deploy => charts}/head/08_scraper-deployment.yaml (100%) rename {aio/deploy => charts}/helm-chart/.helm-chart-testing.yaml (100%) rename {aio/deploy => charts}/helm-chart/config_repos (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/.helmignore (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/Chart.lock (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/Chart.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/OWNERS (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/README.md (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/default-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/ci/settings-values.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/NOTES.txt (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/_helpers.tpl (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/_tplvalues.tpl (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/clusterrole-metrics.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/clusterrole-readonly.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-metrics.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-readonly.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/configmap.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/deployment.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/ingress.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/networkpolicy.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/pdb.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/psp.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/role.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/rolebinding.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/secret.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/service.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/serviceaccount.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml (100%) rename {aio/deploy => charts}/helm-chart/kubernetes-dashboard/values.yaml (100%) rename {aio/deploy => charts}/recommended.yaml (100%) rename {aio/deploy => charts}/recommended/00_dashboard-namespace.yaml (100%) rename {aio/deploy => charts}/recommended/01_dashboard-serviceaccount.yaml (100%) rename {aio/deploy => charts}/recommended/02_dashboard-service.yaml (100%) rename {aio/deploy => charts}/recommended/03_dashboard-secret.yaml (100%) rename {aio/deploy => charts}/recommended/04_dashboard-configmap.yaml (100%) rename {aio/deploy => charts}/recommended/05_dashboard-rbac.yaml (100%) rename {aio/deploy => charts}/recommended/06_dashboard-deployment.yaml (100%) rename {aio/deploy => charts}/recommended/07_scraper-service.yaml (100%) rename {aio/deploy => charts}/recommended/08_scraper-deployment.yaml (100%) rename {aio => hack}/Dockerfile (100%) rename {aio => hack}/develop/Dockerfile (100%) rename {aio => hack}/develop/gosu-command.sh (100%) rename {aio => hack}/develop/npm-command.sh (100%) rename {aio => hack}/develop/run-npm-on-container.sh (100%) rename {aio => hack}/scripts/build.sh (100%) rename {aio => hack}/scripts/conf.sh (100%) rename {aio => hack}/scripts/helm-release-chart.sh (100%) rename {aio => hack}/scripts/license-header.go.txt (100%) rename {aio => hack}/scripts/license-header.txt (100%) rename {aio => hack}/scripts/pre-commit-i18n.sh (100%) rename {aio => hack}/scripts/start-cluster.sh (100%) rename {aio => hack}/scripts/stop-cluster.sh (100%) rename {aio => hack}/test-resources/100mb-of-logs-pod.yaml (100%) rename {aio => hack}/test-resources/10mb-of-logs-pod.yaml (100%) rename {aio => hack}/test-resources/1gb-of-logs-pod.yaml (100%) rename {aio => hack}/test-resources/500mb-of-logs-pod.yaml (100%) rename {aio => hack}/test-resources/50mb-of-logs-pod.yaml (100%) rename {aio => hack}/test-resources/crashing-pod.yaml (100%) rename {aio => hack}/test-resources/crashloopbackoff-pod.yaml (100%) rename {aio => hack}/test-resources/env-variables-pod.yaml (100%) rename {aio => hack}/test-resources/imagepullbackoff-pod.yaml (100%) rename {aio => hack}/test-resources/init-container-error-pod.yaml (100%) rename {aio => hack}/test-resources/init-container-pod.yaml (100%) rename {aio => hack}/test-resources/kubernetes-dashboard-local.yaml (100%) rename {aio => hack}/test-resources/nginx-daemon-daemon-set.yaml (100%) rename {aio => hack}/test-resources/pending-pod.yaml (100%) rename {aio => hack}/test-resources/plugin-crd.yml (100%) rename {aio => hack}/test-resources/plugin-test.yml (100%) rename {aio => hack}/test-resources/restarted-pod.yaml (100%) rename {aio => hack}/test-resources/succeeded-pod.yaml (100%) rename {aio => hack}/test-resources/terminated-pod.yaml (100%) diff --git a/aio/deploy/alternative.yaml b/charts/alternative.yaml similarity index 100% rename from aio/deploy/alternative.yaml rename to charts/alternative.yaml diff --git a/aio/deploy/alternative/00_dashboard-namespace.yaml b/charts/alternative/00_dashboard-namespace.yaml similarity index 100% rename from aio/deploy/alternative/00_dashboard-namespace.yaml rename to charts/alternative/00_dashboard-namespace.yaml diff --git a/aio/deploy/alternative/01_dashboard-serviceaccount.yaml b/charts/alternative/01_dashboard-serviceaccount.yaml similarity index 100% rename from aio/deploy/alternative/01_dashboard-serviceaccount.yaml rename to charts/alternative/01_dashboard-serviceaccount.yaml diff --git a/aio/deploy/alternative/02_dashboard-service.yaml b/charts/alternative/02_dashboard-service.yaml similarity index 100% rename from aio/deploy/alternative/02_dashboard-service.yaml rename to charts/alternative/02_dashboard-service.yaml diff --git a/aio/deploy/alternative/03_dashboard-secret.yaml b/charts/alternative/03_dashboard-secret.yaml similarity index 100% rename from aio/deploy/alternative/03_dashboard-secret.yaml rename to charts/alternative/03_dashboard-secret.yaml diff --git a/aio/deploy/alternative/04_dashboard-configmap.yaml b/charts/alternative/04_dashboard-configmap.yaml similarity index 100% rename from aio/deploy/alternative/04_dashboard-configmap.yaml rename to charts/alternative/04_dashboard-configmap.yaml diff --git a/aio/deploy/alternative/05_dashboard-rbac.yaml b/charts/alternative/05_dashboard-rbac.yaml similarity index 100% rename from aio/deploy/alternative/05_dashboard-rbac.yaml rename to charts/alternative/05_dashboard-rbac.yaml diff --git a/aio/deploy/alternative/06_dashboard-deployment.yaml b/charts/alternative/06_dashboard-deployment.yaml similarity index 100% rename from aio/deploy/alternative/06_dashboard-deployment.yaml rename to charts/alternative/06_dashboard-deployment.yaml diff --git a/aio/deploy/alternative/07_scraper-service.yaml b/charts/alternative/07_scraper-service.yaml similarity index 100% rename from aio/deploy/alternative/07_scraper-service.yaml rename to charts/alternative/07_scraper-service.yaml diff --git a/aio/deploy/alternative/08_scraper-deployment.yaml b/charts/alternative/08_scraper-deployment.yaml similarity index 100% rename from aio/deploy/alternative/08_scraper-deployment.yaml rename to charts/alternative/08_scraper-deployment.yaml diff --git a/aio/deploy/head.yaml b/charts/head.yaml similarity index 100% rename from aio/deploy/head.yaml rename to charts/head.yaml diff --git a/aio/deploy/head/00_dashboard-namespace.yaml b/charts/head/00_dashboard-namespace.yaml similarity index 100% rename from aio/deploy/head/00_dashboard-namespace.yaml rename to charts/head/00_dashboard-namespace.yaml diff --git a/aio/deploy/head/01_dashboard-serviceaccount.yaml b/charts/head/01_dashboard-serviceaccount.yaml similarity index 100% rename from aio/deploy/head/01_dashboard-serviceaccount.yaml rename to charts/head/01_dashboard-serviceaccount.yaml diff --git a/aio/deploy/head/02_dashboard-service.yaml b/charts/head/02_dashboard-service.yaml similarity index 100% rename from aio/deploy/head/02_dashboard-service.yaml rename to charts/head/02_dashboard-service.yaml diff --git a/aio/deploy/head/03_dashboard-secret.yaml b/charts/head/03_dashboard-secret.yaml similarity index 100% rename from aio/deploy/head/03_dashboard-secret.yaml rename to charts/head/03_dashboard-secret.yaml diff --git a/aio/deploy/head/04_dashboard-configmap.yaml b/charts/head/04_dashboard-configmap.yaml similarity index 100% rename from aio/deploy/head/04_dashboard-configmap.yaml rename to charts/head/04_dashboard-configmap.yaml diff --git a/aio/deploy/head/05_dashboard-rbac.yaml b/charts/head/05_dashboard-rbac.yaml similarity index 100% rename from aio/deploy/head/05_dashboard-rbac.yaml rename to charts/head/05_dashboard-rbac.yaml diff --git a/aio/deploy/head/06_dashboard-deployment.yaml b/charts/head/06_dashboard-deployment.yaml similarity index 100% rename from aio/deploy/head/06_dashboard-deployment.yaml rename to charts/head/06_dashboard-deployment.yaml diff --git a/aio/deploy/head/07_scraper-service.yaml b/charts/head/07_scraper-service.yaml similarity index 100% rename from aio/deploy/head/07_scraper-service.yaml rename to charts/head/07_scraper-service.yaml diff --git a/aio/deploy/head/08_scraper-deployment.yaml b/charts/head/08_scraper-deployment.yaml similarity index 100% rename from aio/deploy/head/08_scraper-deployment.yaml rename to charts/head/08_scraper-deployment.yaml diff --git a/aio/deploy/helm-chart/.helm-chart-testing.yaml b/charts/helm-chart/.helm-chart-testing.yaml similarity index 100% rename from aio/deploy/helm-chart/.helm-chart-testing.yaml rename to charts/helm-chart/.helm-chart-testing.yaml diff --git a/aio/deploy/helm-chart/config_repos b/charts/helm-chart/config_repos similarity index 100% rename from aio/deploy/helm-chart/config_repos rename to charts/helm-chart/config_repos diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/.helmignore b/charts/helm-chart/kubernetes-dashboard/.helmignore similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/.helmignore rename to charts/helm-chart/kubernetes-dashboard/.helmignore diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.lock b/charts/helm-chart/kubernetes-dashboard/Chart.lock similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/Chart.lock rename to charts/helm-chart/kubernetes-dashboard/Chart.lock diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml b/charts/helm-chart/kubernetes-dashboard/Chart.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml rename to charts/helm-chart/kubernetes-dashboard/Chart.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/OWNERS b/charts/helm-chart/kubernetes-dashboard/OWNERS similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/OWNERS rename to charts/helm-chart/kubernetes-dashboard/OWNERS diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/README.md b/charts/helm-chart/kubernetes-dashboard/README.md similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/README.md rename to charts/helm-chart/kubernetes-dashboard/README.md diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/default-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/default-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/default-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/default-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/ci/settings-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/settings-values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/ci/settings-values.yaml rename to charts/helm-chart/kubernetes-dashboard/ci/settings-values.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/NOTES.txt b/charts/helm-chart/kubernetes-dashboard/templates/NOTES.txt similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/NOTES.txt rename to charts/helm-chart/kubernetes-dashboard/templates/NOTES.txt diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/_helpers.tpl b/charts/helm-chart/kubernetes-dashboard/templates/_helpers.tpl similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/_helpers.tpl rename to charts/helm-chart/kubernetes-dashboard/templates/_helpers.tpl diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/_tplvalues.tpl b/charts/helm-chart/kubernetes-dashboard/templates/_tplvalues.tpl similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/_tplvalues.tpl rename to charts/helm-chart/kubernetes-dashboard/templates/_tplvalues.tpl diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrole-metrics.yaml b/charts/helm-chart/kubernetes-dashboard/templates/clusterrole-metrics.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrole-metrics.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/clusterrole-metrics.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrole-readonly.yaml b/charts/helm-chart/kubernetes-dashboard/templates/clusterrole-readonly.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrole-readonly.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/clusterrole-readonly.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-metrics.yaml b/charts/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-metrics.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-metrics.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-metrics.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-readonly.yaml b/charts/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-readonly.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-readonly.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/clusterrolebinding-readonly.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/configmap.yaml b/charts/helm-chart/kubernetes-dashboard/templates/configmap.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/configmap.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/configmap.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/deployment.yaml b/charts/helm-chart/kubernetes-dashboard/templates/deployment.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/deployment.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/deployment.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml b/charts/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/ingress.yaml b/charts/helm-chart/kubernetes-dashboard/templates/ingress.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/ingress.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/ingress.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/networkpolicy.yaml b/charts/helm-chart/kubernetes-dashboard/templates/networkpolicy.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/networkpolicy.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/networkpolicy.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/pdb.yaml b/charts/helm-chart/kubernetes-dashboard/templates/pdb.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/pdb.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/pdb.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/psp.yaml b/charts/helm-chart/kubernetes-dashboard/templates/psp.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/psp.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/psp.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/role.yaml b/charts/helm-chart/kubernetes-dashboard/templates/role.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/role.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/role.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/rolebinding.yaml b/charts/helm-chart/kubernetes-dashboard/templates/rolebinding.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/rolebinding.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/rolebinding.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/secret.yaml b/charts/helm-chart/kubernetes-dashboard/templates/secret.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/secret.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/secret.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/service.yaml b/charts/helm-chart/kubernetes-dashboard/templates/service.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/service.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/service.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/serviceaccount.yaml b/charts/helm-chart/kubernetes-dashboard/templates/serviceaccount.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/serviceaccount.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/serviceaccount.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml b/charts/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml rename to charts/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml b/charts/helm-chart/kubernetes-dashboard/values.yaml similarity index 100% rename from aio/deploy/helm-chart/kubernetes-dashboard/values.yaml rename to charts/helm-chart/kubernetes-dashboard/values.yaml diff --git a/aio/deploy/recommended.yaml b/charts/recommended.yaml similarity index 100% rename from aio/deploy/recommended.yaml rename to charts/recommended.yaml diff --git a/aio/deploy/recommended/00_dashboard-namespace.yaml b/charts/recommended/00_dashboard-namespace.yaml similarity index 100% rename from aio/deploy/recommended/00_dashboard-namespace.yaml rename to charts/recommended/00_dashboard-namespace.yaml diff --git a/aio/deploy/recommended/01_dashboard-serviceaccount.yaml b/charts/recommended/01_dashboard-serviceaccount.yaml similarity index 100% rename from aio/deploy/recommended/01_dashboard-serviceaccount.yaml rename to charts/recommended/01_dashboard-serviceaccount.yaml diff --git a/aio/deploy/recommended/02_dashboard-service.yaml b/charts/recommended/02_dashboard-service.yaml similarity index 100% rename from aio/deploy/recommended/02_dashboard-service.yaml rename to charts/recommended/02_dashboard-service.yaml diff --git a/aio/deploy/recommended/03_dashboard-secret.yaml b/charts/recommended/03_dashboard-secret.yaml similarity index 100% rename from aio/deploy/recommended/03_dashboard-secret.yaml rename to charts/recommended/03_dashboard-secret.yaml diff --git a/aio/deploy/recommended/04_dashboard-configmap.yaml b/charts/recommended/04_dashboard-configmap.yaml similarity index 100% rename from aio/deploy/recommended/04_dashboard-configmap.yaml rename to charts/recommended/04_dashboard-configmap.yaml diff --git a/aio/deploy/recommended/05_dashboard-rbac.yaml b/charts/recommended/05_dashboard-rbac.yaml similarity index 100% rename from aio/deploy/recommended/05_dashboard-rbac.yaml rename to charts/recommended/05_dashboard-rbac.yaml diff --git a/aio/deploy/recommended/06_dashboard-deployment.yaml b/charts/recommended/06_dashboard-deployment.yaml similarity index 100% rename from aio/deploy/recommended/06_dashboard-deployment.yaml rename to charts/recommended/06_dashboard-deployment.yaml diff --git a/aio/deploy/recommended/07_scraper-service.yaml b/charts/recommended/07_scraper-service.yaml similarity index 100% rename from aio/deploy/recommended/07_scraper-service.yaml rename to charts/recommended/07_scraper-service.yaml diff --git a/aio/deploy/recommended/08_scraper-deployment.yaml b/charts/recommended/08_scraper-deployment.yaml similarity index 100% rename from aio/deploy/recommended/08_scraper-deployment.yaml rename to charts/recommended/08_scraper-deployment.yaml diff --git a/aio/Dockerfile b/hack/Dockerfile similarity index 100% rename from aio/Dockerfile rename to hack/Dockerfile diff --git a/aio/develop/Dockerfile b/hack/develop/Dockerfile similarity index 100% rename from aio/develop/Dockerfile rename to hack/develop/Dockerfile diff --git a/aio/develop/gosu-command.sh b/hack/develop/gosu-command.sh similarity index 100% rename from aio/develop/gosu-command.sh rename to hack/develop/gosu-command.sh diff --git a/aio/develop/npm-command.sh b/hack/develop/npm-command.sh similarity index 100% rename from aio/develop/npm-command.sh rename to hack/develop/npm-command.sh diff --git a/aio/develop/run-npm-on-container.sh b/hack/develop/run-npm-on-container.sh similarity index 100% rename from aio/develop/run-npm-on-container.sh rename to hack/develop/run-npm-on-container.sh diff --git a/aio/scripts/build.sh b/hack/scripts/build.sh similarity index 100% rename from aio/scripts/build.sh rename to hack/scripts/build.sh diff --git a/aio/scripts/conf.sh b/hack/scripts/conf.sh similarity index 100% rename from aio/scripts/conf.sh rename to hack/scripts/conf.sh diff --git a/aio/scripts/helm-release-chart.sh b/hack/scripts/helm-release-chart.sh similarity index 100% rename from aio/scripts/helm-release-chart.sh rename to hack/scripts/helm-release-chart.sh diff --git a/aio/scripts/license-header.go.txt b/hack/scripts/license-header.go.txt similarity index 100% rename from aio/scripts/license-header.go.txt rename to hack/scripts/license-header.go.txt diff --git a/aio/scripts/license-header.txt b/hack/scripts/license-header.txt similarity index 100% rename from aio/scripts/license-header.txt rename to hack/scripts/license-header.txt diff --git a/aio/scripts/pre-commit-i18n.sh b/hack/scripts/pre-commit-i18n.sh similarity index 100% rename from aio/scripts/pre-commit-i18n.sh rename to hack/scripts/pre-commit-i18n.sh diff --git a/aio/scripts/start-cluster.sh b/hack/scripts/start-cluster.sh similarity index 100% rename from aio/scripts/start-cluster.sh rename to hack/scripts/start-cluster.sh diff --git a/aio/scripts/stop-cluster.sh b/hack/scripts/stop-cluster.sh similarity index 100% rename from aio/scripts/stop-cluster.sh rename to hack/scripts/stop-cluster.sh diff --git a/aio/test-resources/100mb-of-logs-pod.yaml b/hack/test-resources/100mb-of-logs-pod.yaml similarity index 100% rename from aio/test-resources/100mb-of-logs-pod.yaml rename to hack/test-resources/100mb-of-logs-pod.yaml diff --git a/aio/test-resources/10mb-of-logs-pod.yaml b/hack/test-resources/10mb-of-logs-pod.yaml similarity index 100% rename from aio/test-resources/10mb-of-logs-pod.yaml rename to hack/test-resources/10mb-of-logs-pod.yaml diff --git a/aio/test-resources/1gb-of-logs-pod.yaml b/hack/test-resources/1gb-of-logs-pod.yaml similarity index 100% rename from aio/test-resources/1gb-of-logs-pod.yaml rename to hack/test-resources/1gb-of-logs-pod.yaml diff --git a/aio/test-resources/500mb-of-logs-pod.yaml b/hack/test-resources/500mb-of-logs-pod.yaml similarity index 100% rename from aio/test-resources/500mb-of-logs-pod.yaml rename to hack/test-resources/500mb-of-logs-pod.yaml diff --git a/aio/test-resources/50mb-of-logs-pod.yaml b/hack/test-resources/50mb-of-logs-pod.yaml similarity index 100% rename from aio/test-resources/50mb-of-logs-pod.yaml rename to hack/test-resources/50mb-of-logs-pod.yaml diff --git a/aio/test-resources/crashing-pod.yaml b/hack/test-resources/crashing-pod.yaml similarity index 100% rename from aio/test-resources/crashing-pod.yaml rename to hack/test-resources/crashing-pod.yaml diff --git a/aio/test-resources/crashloopbackoff-pod.yaml b/hack/test-resources/crashloopbackoff-pod.yaml similarity index 100% rename from aio/test-resources/crashloopbackoff-pod.yaml rename to hack/test-resources/crashloopbackoff-pod.yaml diff --git a/aio/test-resources/env-variables-pod.yaml b/hack/test-resources/env-variables-pod.yaml similarity index 100% rename from aio/test-resources/env-variables-pod.yaml rename to hack/test-resources/env-variables-pod.yaml diff --git a/aio/test-resources/imagepullbackoff-pod.yaml b/hack/test-resources/imagepullbackoff-pod.yaml similarity index 100% rename from aio/test-resources/imagepullbackoff-pod.yaml rename to hack/test-resources/imagepullbackoff-pod.yaml diff --git a/aio/test-resources/init-container-error-pod.yaml b/hack/test-resources/init-container-error-pod.yaml similarity index 100% rename from aio/test-resources/init-container-error-pod.yaml rename to hack/test-resources/init-container-error-pod.yaml diff --git a/aio/test-resources/init-container-pod.yaml b/hack/test-resources/init-container-pod.yaml similarity index 100% rename from aio/test-resources/init-container-pod.yaml rename to hack/test-resources/init-container-pod.yaml diff --git a/aio/test-resources/kubernetes-dashboard-local.yaml b/hack/test-resources/kubernetes-dashboard-local.yaml similarity index 100% rename from aio/test-resources/kubernetes-dashboard-local.yaml rename to hack/test-resources/kubernetes-dashboard-local.yaml diff --git a/aio/test-resources/nginx-daemon-daemon-set.yaml b/hack/test-resources/nginx-daemon-daemon-set.yaml similarity index 100% rename from aio/test-resources/nginx-daemon-daemon-set.yaml rename to hack/test-resources/nginx-daemon-daemon-set.yaml diff --git a/aio/test-resources/pending-pod.yaml b/hack/test-resources/pending-pod.yaml similarity index 100% rename from aio/test-resources/pending-pod.yaml rename to hack/test-resources/pending-pod.yaml diff --git a/aio/test-resources/plugin-crd.yml b/hack/test-resources/plugin-crd.yml similarity index 100% rename from aio/test-resources/plugin-crd.yml rename to hack/test-resources/plugin-crd.yml diff --git a/aio/test-resources/plugin-test.yml b/hack/test-resources/plugin-test.yml similarity index 100% rename from aio/test-resources/plugin-test.yml rename to hack/test-resources/plugin-test.yml diff --git a/aio/test-resources/restarted-pod.yaml b/hack/test-resources/restarted-pod.yaml similarity index 100% rename from aio/test-resources/restarted-pod.yaml rename to hack/test-resources/restarted-pod.yaml diff --git a/aio/test-resources/succeeded-pod.yaml b/hack/test-resources/succeeded-pod.yaml similarity index 100% rename from aio/test-resources/succeeded-pod.yaml rename to hack/test-resources/succeeded-pod.yaml diff --git a/aio/test-resources/terminated-pod.yaml b/hack/test-resources/terminated-pod.yaml similarity index 100% rename from aio/test-resources/terminated-pod.yaml rename to hack/test-resources/terminated-pod.yaml From caf2ca4317826827943783d6faa2cbb3cc28c688 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 27 Apr 2022 16:36:14 +0200 Subject: [PATCH 014/162] Split frontend and update web build logic --- .gitignore | 1 + Makefile | 6 +- hack/scripts/build.sh | 22 +- hack/scripts/conf.sh | 17 +- modules/web/.eslintrc.yaml | 6 +- modules/web/angular.json | 22 +- modules/web/{ => cypress}/tsconfig.e2e.json | 4 +- modules/web/go.mod | 28 + modules/web/go.sum | 243 ++ modules/web/main.go | 133 ++ modules/web/package-lock.json | 2081 ++++++++++------- modules/web/package.json | 20 +- modules/web/pkg/args/builder.go | 174 ++ modules/web/pkg/args/holder.go | 186 ++ modules/web/pkg/cert/api/types.go | 47 + modules/web/pkg/cert/ecdsa/creator.go | 180 ++ modules/web/pkg/cert/ecdsa/creator_test.go | 50 + modules/web/pkg/cert/manager.go | 71 + modules/web/pkg/handler/confighandler.go | 68 + modules/web/pkg/handler/gziphandler.go | 50 + modules/web/pkg/handler/localehandler.go | 174 ++ modules/web/pkg/handler/localehandler_test.go | 228 ++ modules/web/pkg/systembanner/api/types.go | 53 + modules/web/pkg/systembanner/handler.go | 49 + modules/web/pkg/systembanner/manager.go | 39 + modules/web/scripts/build.sh | 127 + modules/web/scripts/version.mjs | 2 +- modules/web/src/index.config.ts | 2 +- modules/web/tsconfig.app.json | 12 +- modules/web/tsconfig.json | 2 +- modules/web/tsconfig.spec.json | 14 +- 31 files changed, 3156 insertions(+), 955 deletions(-) rename modules/web/{ => cypress}/tsconfig.e2e.json (68%) create mode 100644 modules/web/go.mod create mode 100644 modules/web/go.sum create mode 100644 modules/web/main.go create mode 100644 modules/web/pkg/args/builder.go create mode 100644 modules/web/pkg/args/holder.go create mode 100644 modules/web/pkg/cert/api/types.go create mode 100644 modules/web/pkg/cert/ecdsa/creator.go create mode 100644 modules/web/pkg/cert/ecdsa/creator_test.go create mode 100644 modules/web/pkg/cert/manager.go create mode 100644 modules/web/pkg/handler/confighandler.go create mode 100644 modules/web/pkg/handler/gziphandler.go create mode 100644 modules/web/pkg/handler/localehandler.go create mode 100644 modules/web/pkg/handler/localehandler_test.go create mode 100644 modules/web/pkg/systembanner/api/types.go create mode 100644 modules/web/pkg/systembanner/handler.go create mode 100644 modules/web/pkg/systembanner/manager.go create mode 100755 modules/web/scripts/build.sh diff --git a/.gitignore b/.gitignore index 6ed1316c86da..a1e8c6f442e1 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ i18n/messages.new.xlf _tmp/ .tmp/ +.dist/ .cached_tools/ dist/ coverage/ diff --git a/Makefile b/Makefile index ca729cf22a58..a0fc2a26f796 100644 --- a/Makefile +++ b/Makefile @@ -26,9 +26,9 @@ ENABLE_INSECURE_LOGIN ?= false ENABLE_SKIP_LOGIN ?= false SYSTEM_BANNER ?= "Local test environment" SYSTEM_BANNER_SEVERITY ?= INFO -PROD_BINARY = dist/amd64/dashboard -SERVE_DIRECTORY = .tmp/serve -SERVE_BINARY = .tmp/serve/dashboard +PROD_BINARY = .dist/amd64/web/dashboard +SERVE_DIRECTORY = .dist/web +SERVE_BINARY = .dist/web/dashboard RELEASE_IMAGE = kubernetesui/dashboard RELEASE_VERSION = v2.5.1 RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) diff --git a/hack/scripts/build.sh b/hack/scripts/build.sh index 89428fd14d4f..69d12f54521c 100755 --- a/hack/scripts/build.sh +++ b/hack/scripts/build.sh @@ -18,7 +18,7 @@ set -e # Import config. ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" -. "${ROOT_DIR}/aio/scripts/conf.sh" +. "${ROOT_DIR}/hack/scripts/conf.sh" # Declare variables. CROSS=false @@ -30,22 +30,28 @@ function clean { function build::frontend { say "\nBuilding localized frontend" - mkdir -p ${FRONTEND_DIR} + mkdir -p "${FRONTEND_DIST_DIR}" + + cd "${FRONTEND_DIR}" ${NG_BIN} build \ --configuration production \ --localize \ - --outputPath=${FRONTEND_DIR} + --outputPath="${FRONTEND_DIST_DIR}" # Avoid locale caching due to the same output file naming # We'll add language code prefix to the generated main javascript file. - languages=($(ls ${FRONTEND_DIR})) + languages=($(ls "${FRONTEND_DIST_DIR}")) for language in "${languages[@]}"; do - localeDir=${FRONTEND_DIR}/${language} + localeDir=${FRONTEND_DIST_DIR}/${language} filename=("$(find "${localeDir}" -name 'main.*.js' -exec basename {} \;)") + say "${localeDir}" + mv "${localeDir}/${filename}" "${localeDir}/${language}.${filename}" perl -i -pe"s/${filename}/${language}.${filename}/" "${localeDir}/index.html" done + + cd "${ROOT_DIR}" } function build::backend { @@ -60,13 +66,13 @@ function build::backend::cross { function copy::frontend { say "\nCopying frontend to backend dist dir" - languages=($(ls ${FRONTEND_DIR})) + languages=($(ls ${FRONTEND_DIST_DIR})) architectures=($(ls ${DIST_DIR})) for arch in "${architectures[@]}"; do for language in "${languages[@]}"; do OUT_DIR=${DIST_DIR}/${arch}/public mkdir -p ${OUT_DIR} - cp -r ${FRONTEND_DIR}/${language} ${OUT_DIR} + cp -r ${FRONTEND_DIST_DIR}/${language} ${OUT_DIR} done done } @@ -113,8 +119,6 @@ START=$(date +%s) parse::args "$@" clean -make ensure-version - if [ "${FRONTEND_ONLY}" = true ] ; then build::frontend exit diff --git a/hack/scripts/conf.sh b/hack/scripts/conf.sh index 3e79709ce172..cc73fc9e5f4f 100644 --- a/hack/scripts/conf.sh +++ b/hack/scripts/conf.sh @@ -15,17 +15,18 @@ # Directories. ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" -AIO_DIR="${ROOT_DIR}/aio" -I18N_DIR="${ROOT_DIR}/i18n" -TMP_DIR="${ROOT_DIR}/.tmp" -SRC_DIR="${ROOT_DIR}/src" -FRONTEND_DIR="${TMP_DIR}/frontend" -FRONTEND_SRC="${SRC_DIR}/app/frontend" -DIST_DIR="${ROOT_DIR}/dist" +AIO_DIR="${ROOT_DIR}/hack" +I18N_DIR="${FRONTEND_DIR}/i18n" +DIST_DIR="${ROOT_DIR}/.dist" +WEB_DIST_DIR="${DIST_DIR}/web" +WEB_DIR="${ROOT_DIR}/modules/web" CACHE_DIR="${ROOT_DIR}/.cached_tools" +DEFAULT_ARCHITECTURE=amd64 +ARCHITECTURES=(amd64 arm64 arm ppc64le s390x) +RELEASE_VERSION=2.5.0 # Binaries. -NG_BIN="${ROOT_DIR}/node_modules/.bin/ng" +NG_BIN="${FRONTEND_DIR}/node_modules/.bin/ng" # Global constants. ARCH=$(uname | awk '{print tolower($0)}') diff --git a/modules/web/.eslintrc.yaml b/modules/web/.eslintrc.yaml index c58e510c30f3..758003bd6c13 100644 --- a/modules/web/.eslintrc.yaml +++ b/modules/web/.eslintrc.yaml @@ -3,9 +3,9 @@ parser: "@typescript-eslint/parser" parserOptions: ecmaVersion: '2020' project: - - aio/tsconfig.app.json - - aio/tsconfig.spec.json - - aio/tsconfig.e2e.json + - tsconfig.app.json + - tsconfig.spec.json + - cypress/tsconfig.e2e.json sourceType: module extends: - "./node_modules/gts" diff --git a/modules/web/angular.json b/modules/web/angular.json index b3b951e25110..50e67d0fbdf6 100644 --- a/modules/web/angular.json +++ b/modules/web/angular.json @@ -53,11 +53,11 @@ "options": { "optimization": false, "progress": true, - "outputPath": ".tmp/frontend", - "index": "src/app/frontend/index.html", - "main": "src/app/frontend/index.ts", - "tsConfig": "aio/tsconfig.app.json", - "polyfills": "src/app/frontend/polyfills.ts", + "outputPath": ".tmp/dist", + "index": "src/index.html", + "main": "src/index.ts", + "tsConfig": "tsconfig.app.json", + "polyfills": "src/polyfills.ts", "i18nMissingTranslation": "error", "allowedCommonJsDependencies": [ "truncate-url", @@ -66,12 +66,12 @@ "assets": [ { "glob": "**/*", - "input": "src/app/frontend/assets", + "input": "src/assets", "output": "/assets" }, { "glob": "robots.txt", - "input": "src/app/frontend/assets", + "input": "src/assets", "output": "/" }, { @@ -82,14 +82,14 @@ ], "stylePreprocessorOptions": { "includePaths": [ - "src/app/frontend" + "src" ] }, "styles": [ "node_modules/material-design-icons/iconfont/material-icons.css", "node_modules/roboto-fontface/css/roboto/roboto-fontface.css", "node_modules/xterm/css/xterm.css", - "src/app/frontend/index.scss" + "src/index.scss" ], "scripts": [ "node_modules/sockjs-client/dist/sockjs.min.js", @@ -117,8 +117,8 @@ "buildOptimizer": true, "fileReplacements": [ { - "replace": "src/app/frontend/environments/environment.ts", - "with": "src/app/frontend/environments/environment.prod.ts" + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" } ] } diff --git a/modules/web/tsconfig.e2e.json b/modules/web/cypress/tsconfig.e2e.json similarity index 68% rename from modules/web/tsconfig.e2e.json rename to modules/web/cypress/tsconfig.e2e.json index 22d7e306256a..1c3ddb361455 100644 --- a/modules/web/tsconfig.e2e.json +++ b/modules/web/cypress/tsconfig.e2e.json @@ -2,10 +2,10 @@ "extends": "../tsconfig.json", "compilerOptions": { "strict": true, - "baseUrl": "../node_modules", + "baseUrl": ".", "types": ["cypress"] }, "include": [ - "../cypress/**/*.ts", + "**/*.ts", ] } diff --git a/modules/web/go.mod b/modules/web/go.mod new file mode 100644 index 000000000000..184f7527ac45 --- /dev/null +++ b/modules/web/go.mod @@ -0,0 +1,28 @@ +module k8s.io/dashboard/web + +go 1.18 + +require ( + github.com/golang/glog v1.0.0 + github.com/spf13/pflag v1.0.5 + golang.org/x/text v0.3.7 + k8s.io/api v0.23.6 + k8s.io/apimachinery v0.23.6 +) + +require ( + github.com/go-logr/logr v1.2.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/go-cmp v0.5.5 // indirect + github.com/google/gofuzz v1.1.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + k8s.io/klog/v2 v2.30.0 // indirect + k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect + sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect +) diff --git a/modules/web/go.sum b/modules/web/go.sum new file mode 100644 index 000000000000..e27f9adc7c96 --- /dev/null +++ b/modules/web/go.sum @@ -0,0 +1,243 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +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= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/api v0.23.6 h1:yOK34wbYECH4RsJbQ9sfkFK3O7f/DUHRlzFehkqZyVw= +k8s.io/api v0.23.6/go.mod h1:1kFaYxGCFHYp3qd6a85DAj/yW8aVD6XLZMqJclkoi9g= +k8s.io/apimachinery v0.23.6 h1:RH1UweWJkWNTlFx0D8uxOpaU1tjIOvVVWV/bu5b3/NQ= +k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/modules/web/main.go b/modules/web/main.go new file mode 100644 index 000000000000..56c97faa7ea0 --- /dev/null +++ b/modules/web/main.go @@ -0,0 +1,133 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "crypto/elliptic" + "crypto/tls" + "flag" + "fmt" + "log" + "net" + "net/http" + "os" + + "github.com/spf13/pflag" + + "k8s.io/dashboard/web/pkg/args" + "k8s.io/dashboard/web/pkg/cert" + "k8s.io/dashboard/web/pkg/cert/ecdsa" + "k8s.io/dashboard/web/pkg/handler" + "k8s.io/dashboard/web/pkg/systembanner" +) + +var ( + argInsecurePort = pflag.Int("insecure-port", 4000, "port to listen to for incoming HTTP requests") + argPort = pflag.Int("port", 4001, "secure port to listen to for incoming HTTPS requests") + argInsecureBindAddress = pflag.IP("insecure-bind-address", net.IPv4(127, 0, 0, 1), "IP address on which to serve the --insecure-port, set to 127.0.0.1 for all interfaces") + argBindAddress = pflag.IP("bind-address", net.IPv4(0, 0, 0, 0), "IP address on which to serve the --port, set to 0.0.0.0 for all interfaces") + argDefaultCertDir = pflag.String("default-cert-dir", "/certs", "directory path containing files from --tls-cert-file and --tls-key-file, used also when auto-generating certificates flag is set") + argCertFile = pflag.String("tls-cert-file", "", "file containing the default x509 certificate for HTTPS") + argKeyFile = pflag.String("tls-key-file", "", "file containing the default x509 private key matching --tls-cert-file") + argSystemBanner = pflag.String("system-banner", "", "system banner message displayed in the app if non-empty, it accepts simple HTML") + argSystemBannerSeverity = pflag.String("system-banner-severity", "INFO", "severity of system banner, should be one of 'INFO', 'WARNING' or 'ERROR'") + argAutoGenerateCertificates = pflag.Bool("auto-generate-certificates", false, "enables automatic certificates generation used to serve HTTPS") + localeConfig = pflag.String("locale-config", "./locale_conf.json", "path to file containing the locale configuration") +) + +func main() { + // Set logging output to standard console out + log.SetOutput(os.Stdout) + + pflag.CommandLine.AddGoFlagSet(flag.CommandLine) + pflag.Parse() + _ = flag.CommandLine.Parse(make([]string, 0)) // Init for glog calls in kubernetes packages + + // Initializes dashboard arguments holder so we can read them in other packages + initArgHolder() + + // Init system banner manager + systemBannerManager := systembanner.NewSystemBannerManager(args.Holder.GetSystemBanner(), + args.Holder.GetSystemBannerSeverity()) + + var servingCerts []tls.Certificate + if args.Holder.GetAutoGenerateCertificates() { + log.Println("Auto-generating certificates") + certCreator := ecdsa.NewECDSACreator(args.Holder.GetKeyFile(), args.Holder.GetCertFile(), elliptic.P256()) + certManager := cert.NewCertManager(certCreator, args.Holder.GetDefaultCertDir()) + servingCert, err := certManager.GetCertificates() + if err != nil { + handleFatalInitServingCertError(err) + } + servingCerts = []tls.Certificate{servingCert} + } else if args.Holder.GetCertFile() != "" && args.Holder.GetKeyFile() != "" { + certFilePath := args.Holder.GetDefaultCertDir() + string(os.PathSeparator) + args.Holder.GetCertFile() + keyFilePath := args.Holder.GetDefaultCertDir() + string(os.PathSeparator) + args.Holder.GetKeyFile() + servingCert, err := tls.LoadX509KeyPair(certFilePath, keyFilePath) + if err != nil { + handleFatalInitServingCertError(err) + } + servingCerts = []tls.Certificate{servingCert} + } + + // Run a HTTP server that serves static public files from './public' and handles API calls. + http.Handle("/", handler.MakeGzipHandler(handler.CreateLocaleHandler())) + http.Handle("/config", handler.AppHandler(handler.ConfigHandler)) + + systemBannerHandler := systembanner.NewSystemBannerHandler(systemBannerManager) + systemBannerHandler.Install() + + // Listen for http or https + if servingCerts != nil { + log.Printf("Serving securely on HTTPS port: %d", args.Holder.GetPort()) + secureAddr := fmt.Sprintf("%s:%d", args.Holder.GetBindAddress(), args.Holder.GetPort()) + server := &http.Server{ + Addr: secureAddr, + Handler: http.DefaultServeMux, + TLSConfig: &tls.Config{ + Certificates: servingCerts, + MinVersion: tls.VersionTLS12, + }, + } + go func() { log.Fatal(server.ListenAndServeTLS("", "")) }() + } else { + log.Printf("Serving insecurely on HTTP port: %d", args.Holder.GetInsecurePort()) + addr := fmt.Sprintf("%s:%d", args.Holder.GetInsecureBindAddress(), args.Holder.GetInsecurePort()) + go func() { log.Fatal(http.ListenAndServe(addr, nil)) }() + } + select {} +} + +func initArgHolder() { + builder := args.GetHolderBuilder() + builder.SetInsecurePort(*argInsecurePort) + builder.SetPort(*argPort) + builder.SetInsecureBindAddress(*argInsecureBindAddress) + builder.SetBindAddress(*argBindAddress) + builder.SetDefaultCertDir(*argDefaultCertDir) + builder.SetCertFile(*argCertFile) + builder.SetKeyFile(*argKeyFile) + builder.SetSystemBanner(*argSystemBanner) + builder.SetSystemBannerSeverity(*argSystemBannerSeverity) + builder.SetAutoGenerateCertificates(*argAutoGenerateCertificates) + builder.SetLocaleConfig(*localeConfig) +} + +/** + * Handles fatal init errors encountered during service cert loading. + */ +func handleFatalInitServingCertError(err error) { + log.Fatalf("Error while loading dashboard server certificates. Reason: %s", err) +} diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index 443b674d478e..1054bbf8134c 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -293,18 +293,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@angular-devkit/build-angular/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -317,6 +305,51 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/@angular-devkit/build-angular/node_modules/babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/babel-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/babel-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -338,6 +371,53 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/@angular-devkit/build-angular/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -350,6 +430,18 @@ "node": "*" } }, + "node_modules/@angular-devkit/build-angular/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/sass": { "version": "1.49.9", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", @@ -401,25 +493,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -465,6 +538,53 @@ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", @@ -516,6 +636,68 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/ws": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", @@ -827,11 +1009,12 @@ } }, "node_modules/@angular/localize/node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" @@ -1022,11 +1205,12 @@ } }, "node_modules/@babel/core/node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" @@ -3630,10 +3814,31 @@ "node": ">=8" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.0.tgz", + "integrity": "sha512-YH+BnkvuCiPR+MUOY6JIArdTIGrRtsxnLaIxPRy4CpGJ/V6OO6Gq/1J+FJEc4j5e5h6Bcy3/K7prlMrm93BJoA==", + "dependencies": { + "@jridgewell/set-array": "1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", + "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.0.0.tgz", + "integrity": "sha512-LcqVnHCjOAj8BTCtjpwYZCMTn4yArusbdObCVRUYvBHhrR5fVLVyENG+UVWM4T4H/ufv7NiBLdprllxWs/5PaQ==", + "deprecated": "incorrect UMD name", "engines": { "node": ">=6.0.0" } @@ -4031,9 +4236,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz", - "integrity": "sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==", + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", "dev": true, "dependencies": { "@babel/types": "^7.3.0" @@ -4545,9 +4750,9 @@ "dev": true }, "node_modules/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, "node_modules/@types/semver": { @@ -4675,111 +4880,13 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", - "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.21.0.tgz", + "integrity": "sha512-mzF6ert/6iQoESV0z9v5/mEaJRKL4fv68rHoZ6exM38xjxkw4MNx54B7ferrnMTM/GIRKLDaJ3JPRi+Dxa5Hlg==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.20.0" + "@typescript-eslint/utils": "5.21.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4819,7 +4926,7 @@ } } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "node_modules/@typescript-eslint/scope-manager": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", @@ -4836,80 +4943,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", - "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/type-utils": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz", @@ -4936,24 +4969,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "node_modules/@typescript-eslint/types": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", @@ -4966,7 +4982,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "node_modules/@typescript-eslint/typescript-estree": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", @@ -4993,7 +5009,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "node_modules/@typescript-eslint/utils": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", @@ -5017,7 +5033,7 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "node_modules/@typescript-eslint/visitor-keys": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", @@ -5034,87 +5050,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", - "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", - "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", - "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.20.0", - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/typescript-estree": "5.20.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", - "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.20.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -5309,9 +5244,9 @@ "integrity": "sha512-NBOQlm9+7RBqRqZwimpgquaLeTJFayqb9UEPtTkpC3TkkwDnlsT/TwsCC0svjt9kEZ6G9mH5AEOHSz6Q/HrzQQ==" }, "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5469,12 +5404,15 @@ } }, "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, "peerDependencies": { - "ajv": "^6.9.1" + "ajv": "^8.8.2" } }, "node_modules/ansi-align": { @@ -5722,9 +5660,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", - "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", + "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", "dev": true, "funding": [ { @@ -5738,7 +5676,7 @@ ], "dependencies": { "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001317", + "caniuse-lite": "^1.0.30001332", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -5880,13 +5818,14 @@ } }, "node_modules/babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, + "peer": true, "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -5903,6 +5842,7 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "peer": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -5915,30 +5855,19 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, + "peer": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.9.0" } }, "node_modules/babel-loader/node_modules/make-dir": { @@ -5946,6 +5875,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "peer": true, "dependencies": { "semver": "^6.0.0" }, @@ -5961,6 +5891,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "peer": true, "dependencies": { "find-up": "^4.0.0" }, @@ -5973,6 +5904,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -6196,24 +6128,27 @@ "dev": true }, "node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/bytes": { @@ -6234,6 +6169,15 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6241,10 +6185,13 @@ "dev": true }, "node_modules/body-parser/node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -6267,9 +6214,9 @@ } }, "node_modules/bonjour-service": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.11.tgz", - "integrity": "sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", + "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", "dev": true, "dependencies": { "array-flatten": "^2.1.2", @@ -6450,9 +6397,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "funding": [ { "type": "opencollective", @@ -6464,10 +6411,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" }, "bin": { @@ -6555,6 +6502,16 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -7458,9 +7415,9 @@ } }, "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "engines": { "node": ">= 0.6" @@ -7508,18 +7465,6 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/copy-webpack-plugin/node_modules/array-union": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", @@ -7606,9 +7551,9 @@ } }, "node_modules/core-js-compat": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.1.tgz", - "integrity": "sha512-CWbNqTluLMvZg1cjsQUbGiCM91dobSHKfDIyCoxuqxthdjGuUlaMbCsSehP3CBiVvG0C7P6UIrC1v0hgFE75jw==", + "version": "3.22.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", + "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", "dev": true, "dependencies": { "browserslist": "^4.20.2", @@ -8178,9 +8123,9 @@ } }, "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz", - "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==", + "version": "14.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", + "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", "dev": true }, "node_modules/cypress/node_modules/ansi-styles": { @@ -8900,10 +8845,14 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-newline": { "version": "3.1.0", @@ -9232,9 +9181,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.115", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.115.tgz", - "integrity": "sha512-yy1W7cTcreskCWSRTtvp8CNLEci3uYBn5s1U4IytDz7v485iLVPh4QwFuSCavsFbxRLVvwnHNXEFIDShrk/UnQ==" + "version": "1.4.123", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.123.tgz", + "integrity": "sha512-0pHGE53WkYoFbsgwYcVKEpWa6jbzlvkohIEA2CUoZ9b5KC+w/zlMiQHvW/4IBcOh7YoEFqRNavgTk02TBoUTUw==" }, "node_modules/emittery": { "version": "0.8.1", @@ -10535,38 +10484,39 @@ } }, "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", + "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -10590,6 +10540,15 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -10597,10 +10556,13 @@ "dev": true }, "node_modules/express/node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -10832,17 +10794,17 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -12307,19 +12269,28 @@ "dev": true }, "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, "node_modules/http-parser-js": { @@ -16853,9 +16824,9 @@ } }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.5.tgz", - "integrity": "sha512-8s/08Kgu5sk9JcmOrekdUTM7cPPewz2FIQWVQOGOCdWPMRxBUD10WXApQD39Qvg1y5AKXcjo+pnOHkeveEFHCA==", + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.6.tgz", + "integrity": "sha512-9a/MLxGaw3LEGes0HaPez2RgZWDV6X0jrgChsuxfEh8xoDoYGxaGrkMe7Dlyjrb655tA/b8fX0qlUg6Ii5MBvw==", "dev": true, "dependencies": { "@npmcli/fs": "^2.1.0", @@ -17162,18 +17133,6 @@ "webpack": "^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -17925,9 +17884,9 @@ "dev": true }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { "ee-first": "1.1.1" @@ -18170,12 +18129,12 @@ } }, "node_modules/p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "dependencies": { - "@types/retry": "^0.12.0", + "@types/retry": "0.12.0", "retry": "^0.13.1" }, "engines": { @@ -19127,9 +19086,9 @@ } }, "node_modules/postcss-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.3.tgz", - "integrity": "sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", + "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", "dev": true, "engines": { "node": ">=12.0" @@ -19476,13 +19435,13 @@ } }, "node_modules/raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -19535,6 +19494,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/raw-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/raw-loader/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -20436,6 +20404,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -20514,24 +20491,24 @@ } }, "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -20552,6 +20529,15 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -20627,16 +20613,25 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -20687,6 +20682,20 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -21212,12 +21221,12 @@ } }, "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/string_decoder": { @@ -21920,6 +21929,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -22329,6 +22347,136 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/tslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/tslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/tslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tslint/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "peer": true + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true + }, + "node_modules/tslint/node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "peer": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -22932,10 +23080,11 @@ } }, "node_modules/webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", "dev": true, + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -23001,18 +23150,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -23083,18 +23220,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/webpack-dev-server/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -23206,6 +23331,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -23217,17 +23343,29 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "peer": true }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -23694,21 +23832,46 @@ } } }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, + "babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -23725,6 +23888,40 @@ "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", "dev": true }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -23734,6 +23931,15 @@ "brace-expansion": "^1.1.7" } }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, "sass": { "version": "1.49.9", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", @@ -23755,18 +23961,6 @@ "neo-async": "^2.6.2" } }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -23797,6 +23991,70 @@ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, + "webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "webpack-dev-server": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", @@ -23832,6 +24090,20 @@ "strip-ansi": "^7.0.0", "webpack-dev-middleware": "^5.3.0", "ws": "^8.1.0" + }, + "dependencies": { + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } } }, "ws": { @@ -24019,11 +24291,12 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/core": { @@ -24144,11 +24417,12 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/generator": { @@ -26043,10 +26317,24 @@ } } }, + "@jridgewell/gen-mapping": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.0.tgz", + "integrity": "sha512-YH+BnkvuCiPR+MUOY6JIArdTIGrRtsxnLaIxPRy4CpGJ/V6OO6Gq/1J+FJEc4j5e5h6Bcy3/K7prlMrm93BJoA==", + "requires": { + "@jridgewell/set-array": "1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", + "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==" + }, + "@jridgewell/set-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.0.0.tgz", + "integrity": "sha512-LcqVnHCjOAj8BTCtjpwYZCMTn4yArusbdObCVRUYvBHhrR5fVLVyENG+UVWM4T4H/ufv7NiBLdprllxWs/5PaQ==" }, "@jridgewell/sourcemap-codec": { "version": "1.4.11", @@ -26378,9 +26666,9 @@ } }, "@types/babel__traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz", - "integrity": "sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==", + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", "dev": true, "requires": { "@babel/types": "^7.3.0" @@ -26894,9 +27182,9 @@ "dev": true }, "@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, "@types/semver": { @@ -27006,72 +27294,15 @@ "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/experimental-utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", - "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.21.0.tgz", + "integrity": "sha512-mzF6ert/6iQoESV0z9v5/mEaJRKL4fv68rHoZ6exM38xjxkw4MNx54B7ferrnMTM/GIRKLDaJ3JPRi+Dxa5Hlg==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.20.0" + "@typescript-eslint/utils": "5.21.0" } }, "@typescript-eslint/parser": { @@ -27084,59 +27315,16 @@ "@typescript-eslint/types": "5.21.0", "@typescript-eslint/typescript-estree": "5.21.0", "debug": "^4.3.2" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/scope-manager": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", - "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", + "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0" + "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/visitor-keys": "5.21.0" } }, "@typescript-eslint/type-utils": { @@ -27148,79 +27336,22 @@ "@typescript-eslint/utils": "5.21.0", "debug": "^4.3.2", "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/types": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", - "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", + "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", - "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", + "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0", + "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/visitor-keys": "5.21.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -27229,26 +27360,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", - "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", + "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.20.0", - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/typescript-estree": "5.20.0", + "@typescript-eslint/scope-manager": "5.21.0", + "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/typescript-estree": "5.21.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", - "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", + "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/types": "5.21.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -27443,9 +27574,9 @@ "integrity": "sha512-NBOQlm9+7RBqRqZwimpgquaLeTJFayqb9UEPtTkpC3TkkwDnlsT/TwsCC0svjt9kEZ6G9mH5AEOHSz6Q/HrzQQ==" }, "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true }, "acorn-globals": { @@ -27561,11 +27692,13 @@ } }, "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "requires": {} + "requires": { + "fast-deep-equal": "^3.1.3" + } }, "ansi-align": { "version": "3.0.1", @@ -27744,13 +27877,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", - "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", + "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", "dev": true, "requires": { "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001317", + "caniuse-lite": "^1.0.30001332", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -27855,13 +27988,14 @@ } }, "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, + "peer": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -27871,30 +28005,23 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "peer": true, "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, + "peer": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" } }, "make-dir": { @@ -27902,6 +28029,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "peer": true, "requires": { "semver": "^6.0.0" } @@ -27911,6 +28039,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "peer": true, "requires": { "find-up": "^4.0.0" } @@ -27919,7 +28048,8 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "dev": true, + "peer": true } } }, @@ -28097,21 +28227,23 @@ "dev": true }, "body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { @@ -28129,6 +28261,12 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -28136,10 +28274,13 @@ "dev": true }, "qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, @@ -28180,9 +28321,9 @@ } }, "bonjour-service": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.11.tgz", - "integrity": "sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", + "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", "dev": true, "requires": { "array-flatten": "^2.1.2", @@ -28300,14 +28441,14 @@ "dev": true }, "browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "requires": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" } }, @@ -28363,6 +28504,13 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "peer": true + }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -29047,9 +29195,9 @@ } }, "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, "cookie-signature": { @@ -29081,15 +29229,6 @@ "serialize-javascript": "^6.0.0" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "array-union": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", @@ -29145,9 +29284,9 @@ "integrity": "sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==" }, "core-js-compat": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.1.tgz", - "integrity": "sha512-CWbNqTluLMvZg1cjsQUbGiCM91dobSHKfDIyCoxuqxthdjGuUlaMbCsSehP3CBiVvG0C7P6UIrC1v0hgFE75jw==", + "version": "3.22.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", + "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", "dev": true, "requires": { "browserslist": "^4.20.2", @@ -29537,9 +29676,9 @@ }, "dependencies": { "@types/node": { - "version": "14.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz", - "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==", + "version": "14.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", + "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", "dev": true }, "ansi-styles": { @@ -30190,9 +30329,9 @@ "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-newline": { @@ -30464,9 +30603,9 @@ } }, "electron-to-chromium": { - "version": "1.4.115", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.115.tgz", - "integrity": "sha512-yy1W7cTcreskCWSRTtvp8CNLEci3uYBn5s1U4IytDz7v485iLVPh4QwFuSCavsFbxRLVvwnHNXEFIDShrk/UnQ==" + "version": "1.4.123", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.123.tgz", + "integrity": "sha512-0pHGE53WkYoFbsgwYcVKEpWa6jbzlvkohIEA2CUoZ9b5KC+w/zlMiQHvW/4IBcOh7YoEFqRNavgTk02TBoUTUw==" }, "emittery": { "version": "0.8.1", @@ -31332,38 +31471,39 @@ } }, "express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", + "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -31384,6 +31524,12 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -31391,10 +31537,13 @@ "dev": true }, "qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } }, "safe-buffer": { "version": "5.2.1", @@ -31575,17 +31724,17 @@ } }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { @@ -32667,16 +32816,24 @@ "dev": true }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + } } }, "http-parser-js": { @@ -36023,9 +36180,9 @@ "dev": true }, "cacache": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.5.tgz", - "integrity": "sha512-8s/08Kgu5sk9JcmOrekdUTM7cPPewz2FIQWVQOGOCdWPMRxBUD10WXApQD39Qvg1y5AKXcjo+pnOHkeveEFHCA==", + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.6.tgz", + "integrity": "sha512-9a/MLxGaw3LEGes0HaPez2RgZWDV6X0jrgChsuxfEh8xoDoYGxaGrkMe7Dlyjrb655tA/b8fX0qlUg6Ii5MBvw==", "dev": true, "requires": { "@npmcli/fs": "^2.1.0", @@ -36247,15 +36404,6 @@ "schema-utils": "^4.0.0" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -36833,9 +36981,9 @@ "dev": true }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -37011,12 +37159,12 @@ } }, "p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "requires": { - "@types/retry": "^0.12.0", + "@types/retry": "0.12.0", "retry": "^0.13.1" }, "dependencies": { @@ -37689,9 +37837,9 @@ "requires": {} }, "postcss-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.3.tgz", - "integrity": "sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", + "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", "dev": true, "requires": {} }, @@ -37940,13 +38088,13 @@ "dev": true }, "raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -37981,6 +38129,13 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -38659,6 +38814,13 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -38725,24 +38887,24 @@ } }, "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -38762,6 +38924,12 @@ } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -38832,19 +39000,25 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true } } }, "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" } }, "set-blocking": { @@ -38883,6 +39057,17 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -39307,9 +39492,9 @@ } }, "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true }, "string_decoder": { @@ -39809,6 +39994,13 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -40100,6 +40292,113 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "dev": true, + "peer": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "peer": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "peer": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, "tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -40584,10 +40883,11 @@ "dev": true }, "webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", "dev": true, + "peer": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -40620,6 +40920,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -40627,17 +40928,27 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "peer": true }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "peer": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -40659,15 +40970,6 @@ "schema-utils": "^4.0.0" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -40719,15 +41021,6 @@ "ws": "^8.4.2" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", diff --git a/modules/web/package.json b/modules/web/package.json index 16c421c7b4af..15838601def7 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -8,16 +8,17 @@ "url": "https://github.com/kubernetes/dashboard.git" }, "engines": { - "node": ">=16.14.2", - "npm": ">=8.5.0" + "node": ">=16.15.0", + "npm": ">=8.7.0" }, "scripts": { - "start": "concurrently \"SIDECAR_HOST=$npm_config_sidecar_host make watch-backend\" \"npm run start:frontend --bind_address=$npm_config_bind_address --port=$npm_config_port\"", - "start:https": "concurrently \"AUTO_GENERATE_CERTS=true SIDECAR_HOST=$npm_config_sidecar_host make watch-backend\" \"npm run start:frontend:https --bind_address=$npm_config_bind_address --port=$npm_config_port\"", - "start:prod": "SIDECAR_HOST=$npm_config_sidecar_host BIND_ADDRESS=$npm_config_bind_address PORT=$npm_config_port make prod", + "start": "npm run ensure:version && ng serve --proxy-config proxy.conf.json --host $npm_config_bind_address --port $npm_config_port", + "start:https": "npm run ensure:version && ng serve --proxy-config aio/https-proxy.conf.json --ssl --host $npm_config_bind_address --port $npm_config_port", + + "build:prod": "scripts/build.sh", + + "start:prod": "SIDECAR_HOST=$npm_config_sidecar_host BIND_ADDRESS=$npm_config_bind_address PORT=$npm_config_port ng build", "start:e2e": "concurrently \"make serve-backend\" \"npm run start:frontend\"", - "start:frontend": "make ensure-version && ng serve --proxy-config aio/proxy.conf.json --host $npm_config_bind_address --port $npm_config_port", - "start:frontend:https": "make ensure-version && ng serve --proxy-config aio/https-proxy.conf.json --ssl --host $npm_config_bind_address --port $npm_config_port", "check": "make check", "fix": "make fix", "fix:backend": "make fix-backend", @@ -31,8 +32,9 @@ "fix:ts": "make fix-ts", "test": "make test", "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", + "ensure:version": "node ./scripts/version.mjs", "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", - "postinstall": "make ensure-version && ngcc", + "postinstall": "npm run ensure:version && ngcc", "prepare": "husky install" }, "lint-staged": { @@ -170,4 +172,4 @@ "overrides": { "colors": "1.4.0" } -} \ No newline at end of file +} diff --git a/modules/web/pkg/args/builder.go b/modules/web/pkg/args/builder.go new file mode 100644 index 000000000000..59240b91da06 --- /dev/null +++ b/modules/web/pkg/args/builder.go @@ -0,0 +1,174 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package args + +import "net" + +var builder = &holderBuilder{holder: Holder} + +// Used to build argument holder structure. It is private to make sure that only 1 instance can be created +// that modifies singleton instance of argument holder. +type holderBuilder struct { + holder *holder +} + +// SetInsecurePort 'insecure-port' argument of Dashboard binary. +func (self *holderBuilder) SetInsecurePort(port int) *holderBuilder { + self.holder.insecurePort = port + return self +} + +// SetPort 'port' argument of Dashboard binary. +func (self *holderBuilder) SetPort(port int) *holderBuilder { + self.holder.port = port + return self +} + +// SetTokenTTL 'token-ttl' argument of Dashboard binary. +func (self *holderBuilder) SetTokenTTL(ttl int) *holderBuilder { + self.holder.tokenTTL = ttl + return self +} + +// SetMetricClientCheckPeriod 'metric-client-check-period' argument of Dashboard binary. +func (self *holderBuilder) SetMetricClientCheckPeriod(period int) *holderBuilder { + self.holder.metricClientCheckPeriod = period + return self +} + +// SetInsecureBindAddress 'insecure-bind-address' argument of Dashboard binary. +func (self *holderBuilder) SetInsecureBindAddress(ip net.IP) *holderBuilder { + self.holder.insecureBindAddress = ip + return self +} + +// SetBindAddress 'bind-address' argument of Dashboard binary. +func (self *holderBuilder) SetBindAddress(ip net.IP) *holderBuilder { + self.holder.bindAddress = ip + return self +} + +// SetDefaultCertDir 'default-cert-dir' argument of Dashboard binary. +func (self *holderBuilder) SetDefaultCertDir(certDir string) *holderBuilder { + self.holder.defaultCertDir = certDir + return self +} + +// SetCertFile 'tls-cert-file' argument of Dashboard binary. +func (self *holderBuilder) SetCertFile(certFile string) *holderBuilder { + self.holder.certFile = certFile + return self +} + +// SetKeyFile 'tls-key-file' argument of Dashboard binary. +func (self *holderBuilder) SetKeyFile(keyFile string) *holderBuilder { + self.holder.keyFile = keyFile + return self +} + +// SetApiServerHost 'api-server-host' argument of Dashboard binary. +func (self *holderBuilder) SetApiServerHost(apiServerHost string) *holderBuilder { + self.holder.apiServerHost = apiServerHost + return self +} + +// SetMetricsProvider 'metrics-provider' argument of Dashboard binary. +func (self *holderBuilder) SetMetricsProvider(metricsProvider string) *holderBuilder { + self.holder.metricsProvider = metricsProvider + return self +} + +// SetHeapsterHost 'heapster-host' argument of Dashboard binary. +func (self *holderBuilder) SetHeapsterHost(heapsterHost string) *holderBuilder { + self.holder.heapsterHost = heapsterHost + return self +} + +// SetSidecarHost 'sidecar-host' argument of Dashboard binary. +func (self *holderBuilder) SetSidecarHost(sidecarHost string) *holderBuilder { + self.holder.sidecarHost = sidecarHost + return self +} + +// SetKubeConfigFile 'kubeconfig' argument of Dashboard binary. +func (self *holderBuilder) SetKubeConfigFile(kubeConfigFile string) *holderBuilder { + self.holder.kubeConfigFile = kubeConfigFile + return self +} + +// SetSystemBanner 'system-banner' argument of Dashboard binary. +func (self *holderBuilder) SetSystemBanner(systemBanner string) *holderBuilder { + self.holder.systemBanner = systemBanner + return self +} + +// SetSystemBannerSeverity 'system-banner-severity' argument of Dashboard binary. +func (self *holderBuilder) SetSystemBannerSeverity(systemBannerSeverity string) *holderBuilder { + self.holder.systemBannerSeverity = systemBannerSeverity + return self +} + +// SetLogLevel 'api-log-level' argument of Dashboard binary. +func (self *holderBuilder) SetAPILogLevel(apiLogLevel string) *holderBuilder { + self.holder.apiLogLevel = apiLogLevel + return self +} + +// SetAuthenticationMode 'authentication-mode' argument of Dashboard binary. +func (self *holderBuilder) SetAuthenticationMode(authMode []string) *holderBuilder { + self.holder.authenticationMode = authMode + return self +} + +// SetAutoGenerateCertificates 'auto-generate-certificates' argument of Dashboard binary. +func (self *holderBuilder) SetAutoGenerateCertificates(autoGenerateCertificates bool) *holderBuilder { + self.holder.autoGenerateCertificates = autoGenerateCertificates + return self +} + +// SetEnableInsecureLogin 'enable-insecure-login' argument of Dashboard binary. +func (self *holderBuilder) SetEnableInsecureLogin(enableInsecureLogin bool) *holderBuilder { + self.holder.enableInsecureLogin = enableInsecureLogin + return self +} + +// SetDisableSettingsAuthorizer 'disable-settings-authorizer' argument of Dashboard binary. +func (self *holderBuilder) SetDisableSettingsAuthorizer(disableSettingsAuthorizer bool) *holderBuilder { + self.holder.disableSettingsAuthorizer = disableSettingsAuthorizer + return self +} + +// SetEnableSkipLogin 'enable-skip-login' argument of Dashboard binary. +func (self *holderBuilder) SetEnableSkipLogin(enableSkipLogin bool) *holderBuilder { + self.holder.enableSkipLogin = enableSkipLogin + return self +} + +// SetNamespace 'namespace' argument of Dashboard binary. +func (self *holderBuilder) SetNamespace(namespace string) *holderBuilder { + self.holder.namespace = namespace + return self +} + +// SetLocaleConfig 'locale-config' argument of Dashboard binary. +func (self *holderBuilder) SetLocaleConfig(localeConfig string) *holderBuilder { + self.holder.localeConfig = localeConfig + return self +} + +// GetHolderBuilder returns singleton instance of argument holder builder. +func GetHolderBuilder() *holderBuilder { + return builder +} diff --git a/modules/web/pkg/args/holder.go b/modules/web/pkg/args/holder.go new file mode 100644 index 000000000000..668c7a7c700e --- /dev/null +++ b/modules/web/pkg/args/holder.go @@ -0,0 +1,186 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package args + +import ( + "net" + + "k8s.io/dashboard/web/pkg/cert/api" +) + +var Holder = &holder{} + +// Argument holder structure. It is private to make sure that only 1 instance can be created. It holds all +// arguments values passed to Dashboard binary. +type holder struct { + insecurePort int + port int + tokenTTL int + metricClientCheckPeriod int + + insecureBindAddress net.IP + bindAddress net.IP + + defaultCertDir string + certFile string + keyFile string + apiServerHost string + metricsProvider string + heapsterHost string + sidecarHost string + kubeConfigFile string + systemBanner string + systemBannerSeverity string + apiLogLevel string + namespace string + + authenticationMode []string + + autoGenerateCertificates bool + enableInsecureLogin bool + disableSettingsAuthorizer bool + + enableSkipLogin bool + + localeConfig string +} + +// GetInsecurePort 'insecure-port' argument of Dashboard binary. +func (self *holder) GetInsecurePort() int { + return self.insecurePort +} + +// GetPort 'port' argument of Dashboard binary. +func (self *holder) GetPort() int { + return self.port +} + +// GetTokenTTL 'token-ttl' argument of Dashboard binary. +func (self *holder) GetTokenTTL() int { + return self.tokenTTL +} + +// GetMetricClientCheckPeriod 'metric-client-check-period' argument of Dashboard binary. +func (self *holder) GetMetricClientCheckPeriod() int { + return self.metricClientCheckPeriod +} + +// GetInsecureBindAddress 'insecure-bind-address' argument of Dashboard binary. +func (self *holder) GetInsecureBindAddress() net.IP { + return self.insecureBindAddress +} + +// GetBindAddress 'bind-address' argument of Dashboard binary. +func (self *holder) GetBindAddress() net.IP { + return self.bindAddress +} + +// GetDefaultCertDir 'default-cert-dir' argument of Dashboard binary. +func (self *holder) GetDefaultCertDir() string { + return self.defaultCertDir +} + +// GetCertFile 'tls-cert-file' argument of Dashboard binary. +func (self *holder) GetCertFile() string { + if len(self.certFile) == 0 && self.autoGenerateCertificates { + return api.DashboardCertName + } + + return self.certFile +} + +// GetKeyFile 'tls-key-file' argument of Dashboard binary. +func (self *holder) GetKeyFile() string { + if len(self.keyFile) == 0 && self.autoGenerateCertificates { + return api.DashboardKeyName + } + + return self.keyFile +} + +// GetApiServerHost 'apiserver-host' argument of Dashboard binary. +func (self *holder) GetApiServerHost() string { + return self.apiServerHost +} + +// GetMetricsProvider 'metrics-provider' argument of Dashboard binary. +func (self *holder) GetMetricsProvider() string { + return self.metricsProvider +} + +// GetHeapsterHost 'heapster-host' argument of Dashboard binary. +func (self *holder) GetHeapsterHost() string { + return self.heapsterHost +} + +// GetSidecarHost 'sidecar-host' argument of Dashboard binary. +func (self *holder) GetSidecarHost() string { + return self.sidecarHost +} + +// GetKubeConfigFile 'kubeconfig' argument of Dashboard binary. +func (self *holder) GetKubeConfigFile() string { + return self.kubeConfigFile +} + +// GetSystemBanner 'system-banner' argument of Dashboard binary. +func (self *holder) GetSystemBanner() string { + return self.systemBanner +} + +// GetSystemBannerSeverity 'system-banner-severity' argument of Dashboard binary. +func (self *holder) GetSystemBannerSeverity() string { + return self.systemBannerSeverity +} + +// LogLevel 'api-log-level' argument of Dashboard binary. +func (self *holder) GetAPILogLevel() string { + return self.apiLogLevel +} + +// GetAuthenticationMode 'authentication-mode' argument of Dashboard binary. +func (self *holder) GetAuthenticationMode() []string { + return self.authenticationMode +} + +// GetAutoGenerateCertificates 'auto-generate-certificates' argument of Dashboard binary. +func (self *holder) GetAutoGenerateCertificates() bool { + return self.autoGenerateCertificates +} + +// GetEnableInsecureLogin 'enable-insecure-login' argument of Dashboard binary. +func (self *holder) GetEnableInsecureLogin() bool { + return self.enableInsecureLogin +} + +// GetDisableSettingsAuthorizer 'disable-settings-authorizer' argument of Dashboard binary. +func (self *holder) GetDisableSettingsAuthorizer() bool { + return self.disableSettingsAuthorizer +} + +// GetEnableSkipLogin 'enable-skip-login' argument of Dashboard binary. +func (self *holder) GetEnableSkipLogin() bool { + return self.enableSkipLogin +} + +// GetNamespace 'namespace' argument of Dashboard binary. +func (self *holder) GetNamespace() string { + return self.namespace +} + +// GetLocaleConfig 'locale-config' argument of Dashboard binary. +func (self *holder) GetLocaleConfig() string { + return self.localeConfig +} diff --git a/modules/web/pkg/cert/api/types.go b/modules/web/pkg/cert/api/types.go new file mode 100644 index 000000000000..8ca74cd08dc4 --- /dev/null +++ b/modules/web/pkg/cert/api/types.go @@ -0,0 +1,47 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package api + +import "crypto/tls" + +const ( + // DashboardCertName is the certificate file names that will be generated by Dashboard + DashboardCertName = "dashboard.crt" + // DashboardKeyName is the key file names that will be generated by Dashboard + DashboardKeyName = "dashboard.key" +) + +// Manager is responsible for generating and storing self-signed certificates that can be used by Dashboard +// to serve over HTTPS. +type Manager interface { + // GetCertificates loads existing certificates or generates self-signed certificates. + GetCertificates() (tls.Certificate, error) +} + +// Creator is responsible for preparing and generating certificates. +type Creator interface { + // GenerateKey generates certificate key + GenerateKey() interface{} + // GenerateCertificate generates certificate + GenerateCertificate(key interface{}) []byte + // StoreCertificates saves certificates in a given path + StoreCertificates(path string, key interface{}, certBytes []byte) + // KeyCertPEMBytes converts the key and cert to PEM format + KeyCertPEMBytes(key interface{}, certBytes []byte) (keyPEM []byte, certPEM []byte, err error) + // GetKeyFileName returns certificate key file name + GetKeyFileName() string + // GetCertFileName returns certificate file name + GetCertFileName() string +} diff --git a/modules/web/pkg/cert/ecdsa/creator.go b/modules/web/pkg/cert/ecdsa/creator.go new file mode 100644 index 000000000000..fdd8ae1d4172 --- /dev/null +++ b/modules/web/pkg/cert/ecdsa/creator.go @@ -0,0 +1,180 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ecdsa + +import ( + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rand" + "crypto/x509" + "crypto/x509/pkix" + "encoding/pem" + "log" + "math/big" + "net" + "os" + "time" + + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + certapi "k8s.io/dashboard/web/pkg/cert/api" +) + +// Implements certificate Creator interface. See Creator for more information. +type ecdsaCreator struct { + keyFile string + certFile string + curve elliptic.Curve +} + +// GenerateKey implements certificate Creator interface. See Creator for more information. +func (self *ecdsaCreator) GenerateKey() interface{} { + key, err := ecdsa.GenerateKey(self.curve, rand.Reader) + if err != nil { + log.Fatalf("[ECDSAManager] Failed to generate certificate key: %s", err) + } + + return key +} + +// GenerateCertificate implements certificate Creator interface. See Creator for more information. +func (self *ecdsaCreator) GenerateCertificate(key interface{}) []byte { + ecdsaKey := self.getKey(key) + pod := self.getDashboardPod() + + notBefore := time.Now() + validFor, _ := time.ParseDuration("8760h") + notAfter := notBefore.Add(validFor) + + template := x509.Certificate{ + SerialNumber: self.generateSerialNumber(), + NotAfter: notAfter, + NotBefore: notBefore, + } + + if len(pod.Name) > 0 && len(pod.Namespace) > 0 { + podDomainName := pod.Name + "." + pod.Namespace + template.Subject = pkix.Name{CommonName: podDomainName} + template.Issuer = pkix.Name{CommonName: podDomainName} + template.DNSNames = []string{podDomainName} + } else { + template.Subject = pkix.Name{CommonName: "kubernetes-dashboard", OrganizationalUnit: []string{"kubernetes-dashboard"}, Organization: []string{"kubernetes-dashboard"}} + template.Issuer = pkix.Name{CommonName: "kubernetes-dashboard", OrganizationalUnit: []string{"kubernetes-dashboard"}, Organization: []string{"kubernetes-dashboard"}} + } + + if len(pod.Status.PodIP) > 0 { + template.IPAddresses = []net.IP{net.ParseIP(pod.Status.PodIP)} + } + + certBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, &ecdsaKey.PublicKey, ecdsaKey) + if err != nil { + log.Fatalf("[ECDSAManager] Failed to create certificate: %s", err) + } + + return certBytes +} + +// StoreCertificates implements certificate Creator interface. See Creator for more information. +func (self *ecdsaCreator) StoreCertificates(path string, key interface{}, certBytes []byte) { + keyPEM, certPEM, err := self.KeyCertPEMBytes(key, certBytes) + if err != nil { + log.Fatalf("[ECDSAManager] Failed to marshal cert/key pair: %v", err) + } + if err := os.WriteFile(path+string(os.PathSeparator)+self.GetCertFileName(), certPEM, os.FileMode(0644)); err != nil { + log.Fatalf("[ECDSAManager] Failed to open %s for writing: %s", self.GetCertFileName(), err) + } + if err := os.WriteFile(path+string(os.PathSeparator)+self.GetKeyFileName(), keyPEM, os.FileMode(0600)); err != nil { + log.Fatalf("[ECDSAManager] Failed to open %s for writing: %s", self.GetKeyFileName(), err) + } +} + +func (self *ecdsaCreator) KeyCertPEMBytes(key interface{}, certBytes []byte) ([]byte, []byte, error) { + marshaledKey, err := x509.MarshalECPrivateKey(self.getKey(key)) + if err != nil { + return nil, nil, err + } + keyPEM := pem.EncodeToMemory(&pem.Block{Type: "EC PRIVATE KEY", Bytes: marshaledKey}) + certPEM := pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: certBytes}) + return keyPEM, certPEM, nil +} + +// GetKeyFileName implements certificate Creator interface. See Creator for more information. +func (self *ecdsaCreator) GetKeyFileName() string { + return self.keyFile +} + +// GetCertFileName implements certificate Creator interface. See Creator for more information. +func (self *ecdsaCreator) GetCertFileName() string { + return self.certFile +} + +func (self *ecdsaCreator) getKey(key interface{}) *ecdsa.PrivateKey { + ecdsaKey, ok := key.(*ecdsa.PrivateKey) + if !ok { + log.Fatal("[ECDSAManager] Key should be an instance of *ecdsa.PrivateKey") + } + + return ecdsaKey +} + +func (self *ecdsaCreator) generateSerialNumber() *big.Int { + serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128) + serialNumber, err := rand.Int(rand.Reader, serialNumberLimit) + if err != nil { + log.Fatalf("[ECDSAManager] Failed to generate serial number: %s", err) + } + + return serialNumber +} + +func (self *ecdsaCreator) getDashboardPod() *corev1.Pod { + // These variables are populated by kubernetes downward API when using in-cluster config + podName := os.Getenv("POD_NAME") + podNamespace := os.Getenv("POD_NAMESPACE") + podIP := os.Getenv("POD_IP") + + return &corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: podName, + Namespace: podNamespace, + }, + Status: corev1.PodStatus{ + PodIP: podIP, + }, + } +} + +func (self *ecdsaCreator) init() { + if len(self.certFile) == 0 { + self.certFile = certapi.DashboardCertName + } + + if len(self.keyFile) == 0 { + self.keyFile = certapi.DashboardKeyName + } +} + +// NewECDSACreator creates ECDSACreator instance. +func NewECDSACreator(keyFile, certFile string, curve elliptic.Curve) certapi.Creator { + creator := &ecdsaCreator{ + curve: curve, + keyFile: keyFile, + certFile: certFile, + } + + creator.init() + return creator +} diff --git a/modules/web/pkg/cert/ecdsa/creator_test.go b/modules/web/pkg/cert/ecdsa/creator_test.go new file mode 100644 index 000000000000..ee283c657dc6 --- /dev/null +++ b/modules/web/pkg/cert/ecdsa/creator_test.go @@ -0,0 +1,50 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ecdsa_test + +import ( + "crypto/elliptic" + "testing" +) + +func TestNewECDSACreator(t *testing.T) { + keyFile := "cert.key" + certFile := "cert.crt" + creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) + + if creator == nil { + t.Fatal("Expected creator not to be nil.") + } +} + +func TestEcdsaCreator_GetCertFileName(t *testing.T) { + keyFile := "cert.key" + certFile := "cert.crt" + creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) + + if creator.GetCertFileName() != certFile { + t.Fatalf("Expected cert file name to equal %s but got %s.", certFile, creator.GetCertFileName()) + } +} + +func TestEcdsaCreator_GetKeyFileName(t *testing.T) { + keyFile := "cert.key" + certFile := "cert.crt" + creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) + + if creator.GetKeyFileName() != keyFile { + t.Fatalf("Expected cert key file name to equal %s but got %s.", keyFile, creator.GetKeyFileName()) + } +} diff --git a/modules/web/pkg/cert/manager.go b/modules/web/pkg/cert/manager.go new file mode 100644 index 000000000000..f29eca325135 --- /dev/null +++ b/modules/web/pkg/cert/manager.go @@ -0,0 +1,71 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package cert + +import ( + "crypto/tls" + "log" + "os" + + certapi "k8s.io/dashboard/web/pkg/cert/api" +) + +// Manager is used to implement cert/api/types.Manager interface. See Manager for more information. +type Manager struct { + creator certapi.Creator + certDir string +} + +// GetCertificates implements Manager interface. See Manager for more information. +func (self *Manager) GetCertificates() (tls.Certificate, error) { + if self.keyFileExists() && self.certFileExists() { + log.Println("Certificates already exist. Returning.") + return tls.LoadX509KeyPair( + self.path(self.creator.GetCertFileName()), + self.path(self.creator.GetKeyFileName()), + ) + } + + key := self.creator.GenerateKey() + cert := self.creator.GenerateCertificate(key) + log.Println("Successfully created certificates") + keyPEM, certPEM, err := self.creator.KeyCertPEMBytes(key, cert) + if err != nil { + return tls.Certificate{}, err + } + return tls.X509KeyPair(certPEM, keyPEM) +} + +func (self *Manager) keyFileExists() bool { + return self.exists(self.path(self.creator.GetKeyFileName())) +} + +func (self *Manager) certFileExists() bool { + return self.exists(self.path(self.creator.GetCertFileName())) +} + +func (self *Manager) path(certFile string) string { + return self.certDir + string(os.PathSeparator) + certFile +} + +func (self *Manager) exists(file string) bool { + _, err := os.Stat(file) + return !os.IsNotExist(err) +} + +// NewCertManager creates Manager object. +func NewCertManager(creator certapi.Creator, certDir string) certapi.Manager { + return &Manager{creator: creator, certDir: certDir} +} diff --git a/modules/web/pkg/handler/confighandler.go b/modules/web/pkg/handler/confighandler.go new file mode 100644 index 000000000000..b61ddb3c0399 --- /dev/null +++ b/modules/web/pkg/handler/confighandler.go @@ -0,0 +1,68 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package handler + +import ( + "encoding/json" + "log" + "net/http" + "text/template" + "time" +) + +// AppHandler is an application handler. +type AppHandler func(http.ResponseWriter, *http.Request) (int, error) + +// AppConfig is a global configuration of application. +type AppConfig struct { + // ServerTime is current server time. + ServerTime int64 `json:"serverTime"` +} + +const ( + // ConfigTemplateName is a name of config template + ConfigTemplateName = "appConfig" + // ConfigTemplate is a template of a config + ConfigTemplate = "{{.}}" +) + +// ServeHTTP serves HTTP endpoint with application configuration. +func (fn AppHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if _, err := fn(w, r); err != nil { + http.Error(w, http.StatusText(http.StatusInternalServerError), + http.StatusInternalServerError) + } +} + +func getAppConfigJSON() string { + log.Println("Getting application global configuration") + + config := &AppConfig{ + ServerTime: time.Now().UTC().UnixNano() / 1e6, + } + + jsonConfig, _ := json.Marshal(config) + log.Printf("Application configuration %s", jsonConfig) + return string(jsonConfig) +} + +func ConfigHandler(w http.ResponseWriter, r *http.Request) (int, error) { + configTemplate, err := template.New(ConfigTemplateName).Parse(ConfigTemplate) + w.Header().Set("Content-Type", "application/json") + if err != nil { + return http.StatusInternalServerError, err + } + return http.StatusOK, configTemplate.Execute(w, getAppConfigJSON()) +} diff --git a/modules/web/pkg/handler/gziphandler.go b/modules/web/pkg/handler/gziphandler.go new file mode 100644 index 000000000000..3d4730791e7a --- /dev/null +++ b/modules/web/pkg/handler/gziphandler.go @@ -0,0 +1,50 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package handler + +import ( + "compress/gzip" + "io" + "net/http" + "strings" +) + +type gzipResponseWriter struct { + io.Writer + http.ResponseWriter +} + +// Use the Writer part of gzipResponseWriter to write the output. +func (w gzipResponseWriter) Write(b []byte) (int, error) { + return w.Writer.Write(b) +} + +// MakeGzipHandler adds support for gzip compression for given handler +func MakeGzipHandler(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // Check if the client can accept the gzip encoding. + if !strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { + handler.ServeHTTP(w, r) + return + } + + // Set the HTTP header indicating encoding. + w.Header().Set("Content-Encoding", "gzip") + gz := gzip.NewWriter(w) + defer gz.Close() + gzw := gzipResponseWriter{Writer: gz, ResponseWriter: w} + handler.ServeHTTP(gzw, r) + }) +} diff --git a/modules/web/pkg/handler/localehandler.go b/modules/web/pkg/handler/localehandler.go new file mode 100644 index 000000000000..ec77d35968b1 --- /dev/null +++ b/modules/web/pkg/handler/localehandler.go @@ -0,0 +1,174 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package handler + +import ( + "encoding/json" + "net/http" + "os" + "path/filepath" + "strings" + + "github.com/golang/glog" + "golang.org/x/text/language" + + "k8s.io/dashboard/web/pkg/args" +) + +const defaultLocaleDir = "en" +const assetsDir = "public" + +// Localization is a spec for the localization configuration of dashboard. +type Localization struct { + Translations []string `json:"translations"` +} + +// LocaleHandler serves different localized versions of the frontend application +// based on the Accept-Language header. +type LocaleHandler struct { + SupportedLocales []language.Tag +} + +// CreateLocaleHandler loads the localization configuration and constructs a LocaleHandler. +func CreateLocaleHandler() *LocaleHandler { + locales, err := getSupportedLocales(args.Holder.GetLocaleConfig()) + if err != nil { + glog.Warningf("Error when loading the localization configuration. Dashboard will not be localized. %s", err) + locales = []language.Tag{} + } + return &LocaleHandler{SupportedLocales: locales} +} + +func getSupportedLocales(configFile string) ([]language.Tag, error) { + // read config file + localesFile, err := os.ReadFile(configFile) + if err != nil { + return []language.Tag{}, err + } + + // unmarshall + localization := Localization{} + err = json.Unmarshal(localesFile, &localization) + if err != nil { + glog.Warningf("%s %s", string(localesFile), err) + } + + // filter locale keys + result := []language.Tag{} + for _, translation := range localization.Translations { + result = append(result, language.Make(translation)) + } + return result, nil +} + +// getAssetsDir determines the absolute path to the localized frontend assets +func getAssetsDir() string { + path, err := os.Executable() + if err != nil { + glog.Fatalf("Error determining path to executable: %#v", err) + } + path, err = filepath.EvalSymlinks(path) + if err != nil { + glog.Fatalf("Error evaluating symlinks for path '%s': %#v", path, err) + } + return filepath.Join(filepath.Dir(path), assetsDir) +} + +// LocaleHandler serves different html versions based on the Accept-Language header. +func (handler *LocaleHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if r.URL.EscapedPath() == "/" || r.URL.EscapedPath() == "/index.html" { + // Do not store the html page in the cache. If the user is to click on 'switch language', + // we want a different index.html (for the right locale) to be served when the page refreshes. + w.Header().Add("Cache-Control", "no-cache, no-store, must-revalidate") + } + + // Disable directory listing. + if r.URL.Path != "/" && strings.HasSuffix(r.URL.Path, "/") { + http.NotFound(w, r) + return + } + + acceptLanguage := "" + cookie, err := r.Cookie("lang") + if err == nil { + acceptLanguage = cookie.Value + } + + if len(acceptLanguage) == 0 { + acceptLanguage = os.Getenv("ACCEPT_LANGUAGE") + } + + if len(acceptLanguage) == 0 { + acceptLanguage = r.Header.Get("Accept-Language") + } + + dirName := handler.determineLocalizedDir(acceptLanguage) + http.FileServer(http.Dir(dirName)).ServeHTTP(w, r) +} + +func (handler *LocaleHandler) determineLocalizedDir(locale string) string { + // TODO(floreks): Remove that once new locale codes are supported by the browsers. + // For backward compatibility only. + localeMap := strings.NewReplacer( + "zh-CN", "zh-Hans", + "zh-cn", "zh-Hans", + "zh-TW", "zh-Hant", + "zh-tw", "zh-Hant", + "zh-hk", "zh-Hant-HK", + "zh-HK", "zh-Hant-HK", + ) + + return handler.getLocaleDir(localeMap.Replace(locale)) +} + +func (handler *LocaleHandler) getLocaleDir(locale string) string { + localeDir := "" + assetsDir := getAssetsDir() + tags, _, _ := language.ParseAcceptLanguage(locale) + localeMap := handler.getLocaleMap() + + for _, tag := range tags { + if _, exists := localeMap[tag.String()]; exists { + localeDir = filepath.Join(assetsDir, tag.String()) + break + } + } + + if handler.dirExists(localeDir) { + return localeDir + } + + return filepath.Join(assetsDir, defaultLocaleDir) +} + +func (handler *LocaleHandler) getLocaleMap() map[string]struct{} { + result := map[string]struct{}{} + for _, tag := range handler.SupportedLocales { + result[tag.String()] = struct{}{} + } + + return result +} + +func (handler *LocaleHandler) dirExists(name string) bool { + if _, err := os.Stat(name); err != nil { + if os.IsNotExist(err) { + glog.Warningf(name) + return false + } + } + + return true +} diff --git a/modules/web/pkg/handler/localehandler_test.go b/modules/web/pkg/handler/localehandler_test.go new file mode 100644 index 000000000000..e7abf5f8951c --- /dev/null +++ b/modules/web/pkg/handler/localehandler_test.go @@ -0,0 +1,228 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package handler + +import ( + "encoding/json" + "os" + "path/filepath" + "reflect" + "testing" + + "golang.org/x/text/language" +) + +func languageMake(locales []string) []language.Tag { + result := []language.Tag{} + for _, locale := range locales { + result = append(result, language.Make(locale)) + } + return result +} + +func TestGetSupportedLocales(t *testing.T) { + cases := []struct { + localization Localization + expected []language.Tag + }{ + { + Localization{ + Translations: []string{"en", "ja"}, + }, + languageMake([]string{"en", "ja"}), + }, + { + Localization{}, + []language.Tag{}, + }, + } + + for _, c := range cases { + configFile, err := os.CreateTemp("", "test-locale-config") + if err != nil { + t.Fatalf("%s", err) + } + defer os.Remove(configFile.Name()) + + fileContent, _ := json.Marshal(c.localization) + configFile.Write(fileContent) + actual, _ := getSupportedLocales(configFile.Name()) + if !reflect.DeepEqual(actual, c.expected) { + t.Errorf("getSupportedLocales() returns %#v, expected %#v", actual, c.expected) + } + } +} + +func TestDetermineLocale(t *testing.T) { + assetsDir := getAssetsDir() + defaultDir := filepath.Join(assetsDir, defaultLocaleDir) + cases := []struct { + handler *LocaleHandler + createDir bool + acceptLanguageKey string + expected string + }{ + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + false, + "en", + defaultDir, + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + false, + "de", + defaultDir, + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + false, + "ja", + defaultDir, + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + true, + "ja", + filepath.Join(assetsDir, "ja"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + true, + "ja,en-US;q=0.8,en;q=0.6", + filepath.Join(assetsDir, "ja"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + true, + "af,ja,en-US;q=0.8,en;q=0.6", + filepath.Join(assetsDir, "ja"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + true, + "af,en-US;q=0.8,en;q=0.6", + filepath.Join(assetsDir, "en"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "ja"}), + }, + true, + "", + defaultDir, + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), + }, + true, + "en", + filepath.Join(assetsDir, "en"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), + }, + true, + "zh", + filepath.Join(assetsDir, "zh"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), + }, + true, + "ar-DZ", + filepath.Join(assetsDir, "ar-DZ"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), + }, + true, + "ar-BH", + defaultDir, + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), + }, + true, + "af,zh-HK,zh;q=0.8,en;q=0.6", + filepath.Join(assetsDir, "zh-Hant-HK"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), + }, + true, + "af,zh-TW,zh;q=0.8,en;q=0.6", + filepath.Join(assetsDir, "zh-Hant"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), + }, + true, + "zh-tw", + filepath.Join(assetsDir, "zh-Hant"), + }, + { + &LocaleHandler{ + SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), + }, + true, + "zh-hant-hk", + filepath.Join(assetsDir, "zh-Hant-HK"), + }, + } + + for _, c := range cases { + func() { + if c.createDir { + err := os.Mkdir(assetsDir, 0777) + if err != nil { + t.Fatalf("%s", err) + } + for _, lang := range c.handler.SupportedLocales { + err = os.Mkdir(filepath.Join(assetsDir, lang.String()), 0777) + if err != nil { + t.Fatalf("%s", err) + } + } + defer os.RemoveAll(assetsDir) + } + actual := c.handler.determineLocalizedDir(c.acceptLanguageKey) + if !reflect.DeepEqual(actual, c.expected) { + t.Errorf("localeHandler.determineLocalizedDir(%#v) returns %#v, expected %#v", c.acceptLanguageKey, actual, c.expected) + } + }() + } +} diff --git a/modules/web/pkg/systembanner/api/types.go b/modules/web/pkg/systembanner/api/types.go new file mode 100644 index 000000000000..1e437cd1dd38 --- /dev/null +++ b/modules/web/pkg/systembanner/api/types.go @@ -0,0 +1,53 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package api + +// SystemBannerManager is used for user system banner management. +type SystemBannerManager interface { + // Get system banner. + Get() *SystemBanner +} + +// SystemBanner represents system banner. +type SystemBanner struct { + Message string `json:"message"` + Severity SystemBannerSeverity `json:"severity"` +} + +// SystemBannerSeverity represents severity of system banner. +type SystemBannerSeverity string + +const ( + // SystemBannerSeverityInfo is the lowest of allowed system banner severities. + SystemBannerSeverityInfo SystemBannerSeverity = "INFO" + + // SystemBannerSeverityWarning is in the middle of allowed system banner severities. + SystemBannerSeverityWarning SystemBannerSeverity = "WARNING" + + // SystemBannerSeverityError is the highest of allowed system banner severities. + SystemBannerSeverityError SystemBannerSeverity = "ERROR" +) + +// GetSeverity returns one of allowed severity values based on given parameter. +func GetSeverity(severity string) SystemBannerSeverity { + switch severity { + case string(SystemBannerSeverityWarning): + return SystemBannerSeverityWarning + case string(SystemBannerSeverityError): + return SystemBannerSeverityError + default: + return SystemBannerSeverityInfo + } +} diff --git a/modules/web/pkg/systembanner/handler.go b/modules/web/pkg/systembanner/handler.go new file mode 100644 index 000000000000..20f262343202 --- /dev/null +++ b/modules/web/pkg/systembanner/handler.go @@ -0,0 +1,49 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package systembanner + +import ( + "net/http" + + "k8s.io/dashboard/web/pkg/handler" +) + +// SystemBannerHandler manages all endpoints related to system banner management. +type SystemBannerHandler struct { + manager SystemBannerManager +} + +// Install creates new endpoints for system banner management. +func (self *SystemBannerHandler) Install() { + http.Handle("/systembanner", handler.AppHandler(self.handleGet)) +} + +// TODO: Fix that +func (self *SystemBannerHandler) handleGet(w http.ResponseWriter, r *http.Request) (int, error) { + //configTemplate, err := template.New(ConfigTemplateName).Parse(ConfigTemplate) + //w.Header().Set("Content-Type", "application/json") + //if err != nil { + // return http.StatusInternalServerError, err + //} + + return http.StatusOK, nil + + //response.WriteHeaderAndEntity(http.StatusOK, self.manager.Get()) +} + +// NewSystemBannerHandler creates SystemBannerHandler. +func NewSystemBannerHandler(manager SystemBannerManager) SystemBannerHandler { + return SystemBannerHandler{manager: manager} +} diff --git a/modules/web/pkg/systembanner/manager.go b/modules/web/pkg/systembanner/manager.go new file mode 100644 index 000000000000..b00ac70dd8cb --- /dev/null +++ b/modules/web/pkg/systembanner/manager.go @@ -0,0 +1,39 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package systembanner + +import ( + "k8s.io/dashboard/web/pkg/systembanner/api" +) + +// SystemBannerManager is a structure containing all system banner manager members. +type SystemBannerManager struct { + systemBanner api.SystemBanner +} + +// NewSystemBannerManager creates new settings manager. +func NewSystemBannerManager(message, severity string) SystemBannerManager { + return SystemBannerManager{ + systemBanner: api.SystemBanner{ + Message: message, + Severity: api.GetSeverity(severity), + }, + } +} + +// Get implements SystemBannerManager interface. Check it for more information. +func (sbm *SystemBannerManager) Get() api.SystemBanner { + return sbm.systemBanner +} diff --git a/modules/web/scripts/build.sh b/modules/web/scripts/build.sh new file mode 100755 index 000000000000..35e268d3a071 --- /dev/null +++ b/modules/web/scripts/build.sh @@ -0,0 +1,127 @@ +#!/usr/bin/env bash +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Exit on error. +set -e + +# Import config. +ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../../.. && pwd -P)" +. "${ROOT_DIR}/hack/scripts/conf.sh" + +ANGULAR_DIST_DIR="${WEB_DIST_DIR}/angular" +GO_MODULE_NAME="k8s.io/dashboard/web" +GO_BINARY_NAME="dashboard" + +function clean { + rm -rf "${WEB_DIST_DIR}" +} + +function build::frontend { + say "Building localized frontend" + mkdir -p "${ANGULAR_DIST_DIR}" + + npx ng build \ + --configuration production \ + --localize \ + --outputPath="${ANGULAR_DIST_DIR}" + + # Avoid locale caching due to the same output file naming + # We'll add language code prefix to the generated main javascript file. + languages=($(ls "${ANGULAR_DIST_DIR}")) + for language in "${languages[@]}"; do + localeDir=${ANGULAR_DIST_DIR}/${language} + filename=("$(find "${localeDir}" -name 'main.*.js' -exec basename {} \;)") + + mv "${localeDir}/${filename}" "${localeDir}/${language}.${filename}" + perl -i -pe"s/${filename}/${language}.${filename}/" "${localeDir}/index.html" + done + + cp "${WEB_DIR}/i18n/locale_conf.json" "${ANGULAR_DIST_DIR}" +} + +function build::backend { + say "Building backend" + CGO_ENABLED=0 go build -ldflags "-X ${GO_MODULE_NAME}/client.Version=${RELEASE_VERSION})" -gcflags="all=-N -l" -o ${WEB_DIST_DIR}/${DEFAULT_ARCHITECTURE}/${GO_BINARY_NAME} ${GO_MODULE_NAME} +} + +function build::backend::cross { + say "Building backends for all supported architectures" + languages=($(ls ${ANGULAR_DIST_DIR})) + for arch in "${ARCHITECTURES[@]}"; do + for language in "${languages[@]}"; do + OUT_DIR=${DIST_DIR}/${arch}/public + mkdir -p ${OUT_DIR} + cp -r ${WEB_DIST_DIR}/${language} ${OUT_DIR} + done + done +} + +function copy::frontend { + say "Copying frontend to backend dist dir" + languages=($(ls ${ANGULAR_DIST_DIR})) + for arch in "${ARCHITECTURES[@]}"; do + for language in "${languages[@]}"; do + OUT_DIR=${WEB_DIST_DIR}/${arch}/public + mkdir -p ${OUT_DIR} + cp -r ${ANGULAR_DIST_DIR}/${language} ${OUT_DIR} + done + done +} + +function copy::supported-locales { + say "Copying locales file to backend dist dirs" + for arch in "${ARCHITECTURES[@]}"; do + OUT_DIR=${DIST_DIR}/${arch} + cp ${I18N_DIR}/locale_conf.json ${OUT_DIR} + done +} + +function copy::dockerfile { + say "Copying Dockerfile to backend dist dirs" + for arch in "${ARCHITECTURES[@]}"; do + OUT_DIR=${DIST_DIR}/${arch} + cp ${AIO_DIR}/Dockerfile ${OUT_DIR} + done +} + +function parse::args { + POSITIONAL=() + while [[ $# -gt 0 ]]; do + key="$1" + case ${key} in + -c|--cross) + CROSS=true + shift + ;; + --frontend-only) + FRONTEND_ONLY=true + shift + ;; + esac + done + set -- "${POSITIONAL[@]}" # Restore positional parameters. +} + +# Execute script. +START=$(date +%s) + +clean +build::frontend +build::backend +copy::frontend + +END=$(date +%s) +TOOK=$(echo "${END} - ${START}" | bc) +say "Build finished successfully after ${TOOK}s" diff --git a/modules/web/scripts/version.mjs b/modules/web/scripts/version.mjs index 77faadd2ec8d..677313ee4198 100644 --- a/modules/web/scripts/version.mjs +++ b/modules/web/scripts/version.mjs @@ -34,7 +34,7 @@ Object.assign(gitInfo.semver, { }); const file = - resolve('src/', 'app', 'frontend', 'environments', 'version.ts'); + resolve('src', 'environments', 'version.ts'); writeFileSync( file, `// Copyright 2017 The Kubernetes Authors. // diff --git a/modules/web/src/index.config.ts b/modules/web/src/index.config.ts index 01eb2163b5bf..a47afbfe43b7 100644 --- a/modules/web/src/index.config.ts +++ b/modules/web/src/index.config.ts @@ -14,7 +14,7 @@ import {InjectionToken} from '@angular/core'; import {MatTooltipDefaultOptions} from '@angular/material/tooltip'; -import {IConfig, LanguageConfig} from 'typings/root.ui'; +import {IConfig, LanguageConfig} from '@api/root.ui'; const supportedLanguages: LanguageConfig[] = [ { diff --git a/modules/web/tsconfig.app.json b/modules/web/tsconfig.app.json index de981b43ea7f..62690767a3f2 100644 --- a/modules/web/tsconfig.app.json +++ b/modules/web/tsconfig.app.json @@ -1,16 +1,16 @@ { - "extends": "../tsconfig.json", + "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../out-tsc/app", - "baseUrl": "../src/app/frontend", + "outDir": ".tmp/out-tsc/app", + "baseUrl": "./src", "types": ["node"] }, "include": [ - "../src/app/frontend/**/*.ts" + "src/**/*.ts" ], "exclude": [ - "../src/app/frontend/**/*.spec.ts", - "../src/app/frontend/test.*.ts" + "src/**/*.spec.ts", + "src/test.*.ts" ], "lib": ["ES2020", "dom"] } diff --git a/modules/web/tsconfig.json b/modules/web/tsconfig.json index 4e82ed68a4bd..a3f648df7a0b 100644 --- a/modules/web/tsconfig.json +++ b/modules/web/tsconfig.json @@ -4,7 +4,7 @@ }, "compileOnSave": false, "compilerOptions": { - "baseUrl": "src/app/frontend", + "baseUrl": "./src", "paths": { "@api/*": [ "typings/*" diff --git a/modules/web/tsconfig.spec.json b/modules/web/tsconfig.spec.json index 07b0d4345d80..0130643567c8 100644 --- a/modules/web/tsconfig.spec.json +++ b/modules/web/tsconfig.spec.json @@ -1,16 +1,16 @@ { - "extends": "../tsconfig.json", + "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../out-tsc/spec", - "baseUrl": "../src/app/frontend", + "outDir": ".tmp/out-tsc/spec", + "baseUrl": "./src", "module": "CommonJS", "target": "ES2015", "types": ["jest"], }, "include": [ - "../src/app/frontend/**/*.spec.ts", - "../src/app/frontend/**/test.*.ts", - "../src/app/frontend/typings/**/.*.ts", - "../src/app/frontend/index.messages.ts", + "src/**/*.spec.ts", + "src/**/test.*.ts", + "src/typings/**/.*.ts", + "src/index.messages.ts", ] } From 59cfb7306864c6ba187133fcc591c7a70c8bb507 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 19:13:18 +0200 Subject: [PATCH 015/162] Update license config --- .codecov.yml | 14 +++++ .licenserc.yaml | 61 +++++++++++++++++++ charts/helm-chart/.helm-chart-testing.yaml | 14 +++++ .../ci/default-values.yaml | 14 +++++ .../ci/extra-manifests-values.yaml | 14 +++++ .../ci/ingress-customPaths-values.yaml | 14 +++++ .../ci/ingress-values.yaml | 14 +++++ .../ci/metrics-scraper-values.yaml | 14 +++++ .../ci/network-policy-values.yaml | 14 +++++ .../kubernetes-dashboard/ci/pdb-values.yaml | 14 +++++ .../ci/podsecurity-policy-values.yaml | 14 +++++ .../ci/rbac-cluster-readonly-role-values.yaml | 14 +++++ .../ci/servicemonitor-values.yaml | 14 +++++ .../ci/settings-values.yaml | 14 +++++ .../templates/extra-manifests.yaml | 14 +++++ hack/scripts/license-header.go.txt | 13 ---- hack/scripts/license-header.txt | 13 ---- hack/test-resources/plugin-crd.yml | 14 +++++ license-checker-config.json | 29 --------- modules/api/.air.toml | 14 +++++ modules/api/.dockerignore | 14 +++++ modules/api/.golangci.yml | 14 +++++ modules/web/.dockerignore | 14 +++++ modules/web/.eslintignore | 14 +++++ modules/web/.eslintrc.yaml | 14 +++++ modules/web/.prettierrc.cjs | 16 +++++ modules/web/.stylelintrc.yaml | 14 +++++ modules/web/cypress/fixtures/crd.yaml | 14 +++++ modules/web/cypress/fixtures/example-foo.yaml | 14 +++++ .../web/cypress/integration/specs/nav.spec.ts | 16 +++++ .../integration/specs/userpanel.spec.ts | 16 +++++ modules/web/cypress/pages/abstractPage.ts | 16 +++++ modules/web/cypress/pages/navbarPage.ts | 16 +++++ modules/web/cypress/pages/userpanelPage.ts | 16 +++++ .../web/cypress/plugins/cy-ts-preprocessor.ts | 16 +++++ modules/web/cypress/plugins/index.ts | 16 +++++ modules/web/cypress/support/index.ts | 16 +++++ 37 files changed, 541 insertions(+), 55 deletions(-) create mode 100644 .licenserc.yaml delete mode 100644 hack/scripts/license-header.go.txt delete mode 100644 hack/scripts/license-header.txt delete mode 100644 license-checker-config.json diff --git a/.codecov.yml b/.codecov.yml index cd86dcacb304..342d826d7010 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# codecov: notify: require_ci_to_pass: yes diff --git a/.licenserc.yaml b/.licenserc.yaml new file mode 100644 index 000000000000..dbffae7a2269 --- /dev/null +++ b/.licenserc.yaml @@ -0,0 +1,61 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +header: + license: + spdx-id: Apache-2.0 + copyright-owner: The Kubernetes Authors + content: | + Copyright 2017 The Kubernetes Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + paths: + - '**' + paths-ignore: + - '**/*.DS_Store' + - '**/*.json' + - '**/*.lock' + - '**/*.md' + - '**/*.svg' + - '**/*.txt' + - '**/*.xlf' + - '**/.gitignore' + - '**/.babelrc' + - '**/.browserslistrc' + - '**/.editorconfig' + - '**/.jsbeautifyrc' + - '**/.npmrc' + - '**/config_repos' + - '**/go.mod' + - '**/go.sum' + - '**/Makefile' + - '.github' + - '.husky' + - '.idea' + - 'LICENSE' + - 'OWNERS' + - 'OWNERS_ALIASES' + - 'SECURITY_CONTACTS' + comment: on-failure + license-location-threshold: 80 diff --git a/charts/helm-chart/.helm-chart-testing.yaml b/charts/helm-chart/.helm-chart-testing.yaml index 4d4c78c51ec7..fb9babce609f 100644 --- a/charts/helm-chart/.helm-chart-testing.yaml +++ b/charts/helm-chart/.helm-chart-testing.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# chart-dirs: - aio/deploy/helm-chart chart-repos: diff --git a/charts/helm-chart/kubernetes-dashboard/ci/default-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/default-values.yaml index e69de29bb2d1..8234ac1967e6 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/default-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/default-values.yaml @@ -0,0 +1,14 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# diff --git a/charts/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml index dcb1e6080d02..a7a0a17e7b1e 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/extra-manifests-values.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# extraManifests: - apiVersion: v1 kind: ConfigMap diff --git a/charts/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml index f26dae5f3e58..4e52a84e507f 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/ingress-customPaths-values.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ingress: enabled: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml index f6ccc628a900..6d21c6274188 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/ingress-values.yaml @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ingress: enabled: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml index d9a5ba72e197..5f1bb51a77d8 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/metrics-scraper-values.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# rbac: clusterRoleMetrics: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml index 12e4a94ac8e1..76d97fb9a393 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/network-policy-values.yaml @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# networkPolicy: enabled: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml index cf6d1f5d2a59..686847bb5fe4 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/pdb-values.yaml @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# podDisruptionBudget: enabled: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml index 7aae8605d570..64dd627b1779 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/podsecurity-policy-values.yaml @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# podSecurityPolicy: enabled: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml index fccc51cb40bc..01828d005c41 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/rbac-cluster-readonly-role-values.yaml @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# rbac: clusterReadOnlyRole: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml index 3773b3321dad..9840a74a731c 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/servicemonitor-values.yaml @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# serviceMonitor: enabled: true diff --git a/charts/helm-chart/kubernetes-dashboard/ci/settings-values.yaml b/charts/helm-chart/kubernetes-dashboard/ci/settings-values.yaml index f33796f65a05..75dea077be6d 100644 --- a/charts/helm-chart/kubernetes-dashboard/ci/settings-values.yaml +++ b/charts/helm-chart/kubernetes-dashboard/ci/settings-values.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# settings: clusterName: "ci-cluster" itemsPerPage: 10 diff --git a/charts/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml b/charts/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml index 567f7bf32971..ac2b6f90dbdb 100644 --- a/charts/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml +++ b/charts/helm-chart/kubernetes-dashboard/templates/extra-manifests.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# {{ range .Values.extraManifests }} --- {{ tpl (toYaml .) $ }} diff --git a/hack/scripts/license-header.go.txt b/hack/scripts/license-header.go.txt deleted file mode 100644 index d216c039a8b3..000000000000 --- a/hack/scripts/license-header.go.txt +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. diff --git a/hack/scripts/license-header.txt b/hack/scripts/license-header.txt deleted file mode 100644 index da1b7d5441a6..000000000000 --- a/hack/scripts/license-header.txt +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/hack/test-resources/plugin-crd.yml b/hack/test-resources/plugin-crd.yml index cba1ce43f092..b141ac99aa1d 100644 --- a/hack/test-resources/plugin-crd.yml +++ b/hack/test-resources/plugin-crd.yml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: diff --git a/license-checker-config.json b/license-checker-config.json deleted file mode 100644 index c594d5892f4a..000000000000 --- a/license-checker-config.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "ignore": [ - "*", "docs", "i18n", ".husky", ".github", - ".cached_tools", ".git", ".github/ISSUE_TEMPLATE", ".tmp", "coverage", "cypress", ".idea", ".vscode", - "aio/test-resources", "vendor", ".angular", - "**/*.json", "**/*.yaml", "**/*.svg", "**/*.txt", "**/*.md", "**/OWNERS", - "**/.helmignore", "**/*.lock", "**/config_repos","**/.DS_Store" - ], - "license": "aio/scripts/license-header.txt", - "defaultFormat": { - "eachLine": { - "prepend": "# " - }, - "append": "" - }, - "licenseFormats": { - "go|ts|js|scss|mjs|cjs": { - "eachLine": { - "prepend": "// " - }, - "append": "" - }, - "html": { - "prepend": "" - } - }, - "trailingWhitespace": "TRIM" -} diff --git a/modules/api/.air.toml b/modules/api/.air.toml index 15c40016f2d3..d5191e73eaf4 100644 --- a/modules/api/.air.toml +++ b/modules/api/.air.toml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# root = "." tmp_dir = ".tmp" diff --git a/modules/api/.dockerignore b/modules/api/.dockerignore index fd6b9779a675..ea7f9708c54f 100644 --- a/modules/api/.dockerignore +++ b/modules/api/.dockerignore @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # Ignore all development artifacts so that the build is always clean. .git .tmp/ diff --git a/modules/api/.golangci.yml b/modules/api/.golangci.yml index 7ee5a49f8cee..c087dbbc8d01 100644 --- a/modules/api/.golangci.yml +++ b/modules/api/.golangci.yml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# run: timeout: 30m issues-exit-code: 1 diff --git a/modules/web/.dockerignore b/modules/web/.dockerignore index 9433b7c7d14c..094c8ebe8b26 100644 --- a/modules/web/.dockerignore +++ b/modules/web/.dockerignore @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# .git/ .tmp/ .tools/ diff --git a/modules/web/.eslintignore b/modules/web/.eslintignore index 8d87b1d267ea..f487f4fc3718 100644 --- a/modules/web/.eslintignore +++ b/modules/web/.eslintignore @@ -1 +1,15 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# node_modules/* diff --git a/modules/web/.eslintrc.yaml b/modules/web/.eslintrc.yaml index 758003bd6c13..6934cc8e9d50 100644 --- a/modules/web/.eslintrc.yaml +++ b/modules/web/.eslintrc.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# root: true parser: "@typescript-eslint/parser" parserOptions: diff --git a/modules/web/.prettierrc.cjs b/modules/web/.prettierrc.cjs index fa87f7c49f4b..a079f9fba0fa 100644 --- a/modules/web/.prettierrc.cjs +++ b/modules/web/.prettierrc.cjs @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ module.exports = { ...require('gts/.prettierrc.json'), semi: true, diff --git a/modules/web/.stylelintrc.yaml b/modules/web/.stylelintrc.yaml index 5b66b232484d..2fa330737988 100644 --- a/modules/web/.stylelintrc.yaml +++ b/modules/web/.stylelintrc.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# extends: - stylelint-config-standard-scss plugins: diff --git a/modules/web/cypress/fixtures/crd.yaml b/modules/web/cypress/fixtures/crd.yaml index 4a457068dcd1..a80c5be29aed 100644 --- a/modules/web/cypress/fixtures/crd.yaml +++ b/modules/web/cypress/fixtures/crd.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: diff --git a/modules/web/cypress/fixtures/example-foo.yaml b/modules/web/cypress/fixtures/example-foo.yaml index 897059c3d0ca..97fa3e46c47f 100644 --- a/modules/web/cypress/fixtures/example-foo.yaml +++ b/modules/web/cypress/fixtures/example-foo.yaml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# apiVersion: samplecontroller.k8s.io/v1alpha1 kind: Foo metadata: diff --git a/modules/web/cypress/integration/specs/nav.spec.ts b/modules/web/cypress/integration/specs/nav.spec.ts index 02579536d444..428c1cd9b618 100644 --- a/modules/web/cypress/integration/specs/nav.spec.ts +++ b/modules/web/cypress/integration/specs/nav.spec.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ import {NavbarPage} from '../../pages/navbarPage'; describe('Navbar', () => { diff --git a/modules/web/cypress/integration/specs/userpanel.spec.ts b/modules/web/cypress/integration/specs/userpanel.spec.ts index 1d54397ff9c1..8e6008148943 100644 --- a/modules/web/cypress/integration/specs/userpanel.spec.ts +++ b/modules/web/cypress/integration/specs/userpanel.spec.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ import {UserpanelPage} from '../../pages/userpanelPage'; describe('Userpanel', () => { diff --git a/modules/web/cypress/pages/abstractPage.ts b/modules/web/cypress/pages/abstractPage.ts index 71a86270889d..c7cc20d64b17 100644 --- a/modules/web/cypress/pages/abstractPage.ts +++ b/modules/web/cypress/pages/abstractPage.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ export class AbstractPage { static visitHome() { cy.visit('/'); diff --git a/modules/web/cypress/pages/navbarPage.ts b/modules/web/cypress/pages/navbarPage.ts index 5b3f78fba5ec..5f2e8248c82f 100644 --- a/modules/web/cypress/pages/navbarPage.ts +++ b/modules/web/cypress/pages/navbarPage.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ import {AbstractPage} from './abstractPage'; export class NavbarPage extends AbstractPage { diff --git a/modules/web/cypress/pages/userpanelPage.ts b/modules/web/cypress/pages/userpanelPage.ts index bdc25847cb0f..cb4515134827 100644 --- a/modules/web/cypress/pages/userpanelPage.ts +++ b/modules/web/cypress/pages/userpanelPage.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ import {AbstractPage} from './abstractPage'; export class UserpanelPage extends AbstractPage { diff --git a/modules/web/cypress/plugins/cy-ts-preprocessor.ts b/modules/web/cypress/plugins/cy-ts-preprocessor.ts index 25eea63856f3..3e483e639dba 100644 --- a/modules/web/cypress/plugins/cy-ts-preprocessor.ts +++ b/modules/web/cypress/plugins/cy-ts-preprocessor.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ const webpackOptions = { resolve: {extensions: ['.ts', '.js']}, module: { diff --git a/modules/web/cypress/plugins/index.ts b/modules/web/cypress/plugins/index.ts index 1170f08a2fb3..b0401fd5ebc7 100644 --- a/modules/web/cypress/plugins/index.ts +++ b/modules/web/cypress/plugins/index.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ import webpack from '@cypress/webpack-preprocessor'; import failFast from 'cypress-fail-fast/plugin'; import del from 'del'; diff --git a/modules/web/cypress/support/index.ts b/modules/web/cypress/support/index.ts index 69eea2081fa7..72f4bcec6973 100644 --- a/modules/web/cypress/support/index.ts +++ b/modules/web/cypress/support/index.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2017 The Kubernetes Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ before(() => { cy.clearCookies(); }); From 75c7b9e5347cefe132af232499641a653a3d304d Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 19:28:08 +0200 Subject: [PATCH 016/162] Add tools module --- modules/tools/go.mod | 28 ++++ modules/tools/go.sum | 338 ++++++++++++++++++++++++++++++++++++++++++ modules/tools/main.go | 22 +++ 3 files changed, 388 insertions(+) create mode 100644 modules/tools/go.mod create mode 100644 modules/tools/go.sum create mode 100644 modules/tools/main.go diff --git a/modules/tools/go.mod b/modules/tools/go.mod new file mode 100644 index 000000000000..3db4a1d26726 --- /dev/null +++ b/modules/tools/go.mod @@ -0,0 +1,28 @@ +module k8s.io/dashboard/tools + +go 1.18 + +require ( + github.com/apache/skywalking-eyes v0.2.0 + golang.org/x/tools v0.1.10 // indirect +) + +require ( + github.com/bmatcuk/doublestar/v2 v2.0.4 // indirect + github.com/golang/protobuf v1.3.2 // indirect + github.com/google/go-github/v33 v33.0.0 // indirect + github.com/google/go-querystring v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/sirupsen/logrus v1.7.0 // indirect + github.com/spf13/cobra v1.1.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect + golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect + golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f // indirect + golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect + golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + google.golang.org/appengine v1.6.1 // indirect + gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect +) diff --git a/modules/tools/go.sum b/modules/tools/go.sum new file mode 100644 index 000000000000..b559981b4267 --- /dev/null +++ b/modules/tools/go.sum @@ -0,0 +1,338 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/apache/skywalking-eyes v0.2.0 h1:FMbZ16s+ZM30uJTPuYLgde8dH5VVl2oE0d4GRl+M1ck= +github.com/apache/skywalking-eyes v0.2.0/go.mod h1:yHmfZ2BxHg791VbyGvvYpoqKsVBHjAwWcL8HxbV0RKw= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bmatcuk/doublestar/v2 v2.0.4 h1:6I6oUiT/sU27eE2OFcWqBhL1SwjyvQuOssxT4a1yidI= +github.com/bmatcuk/doublestar/v2 v2.0.4/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-github/v33 v33.0.0 h1:qAf9yP0qc54ufQxzwv+u9H0tiVOnPJxo0lI/JXqw3ZM= +github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhANBBwm6k6TTEXg= +github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.1.1 h1:KfztREH0tPxJJ+geloSLaAkaPkr4ki2Er5quFV1TDo4= +github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +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= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/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= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 h1:id054HUawV2/6IGm2IV8KZQjqtwAOo2CYlOToYqa0d0= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +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= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +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= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/modules/tools/main.go b/modules/tools/main.go new file mode 100644 index 000000000000..79425e28d9a9 --- /dev/null +++ b/modules/tools/main.go @@ -0,0 +1,22 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// +//go:build tools + +package tools + +import _ "github.com/apache/skywalking-eyes/cmd/license-eye" From c8513d2ec398a112430dc0575aaaefd6e2f3630b Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 19:39:20 +0200 Subject: [PATCH 017/162] Add license check workflow --- .github/workflows/ci-licenses.yml | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/ci-licenses.yml diff --git a/.github/workflows/ci-licenses.yml b/.github/workflows/ci-licenses.yml new file mode 100644 index 000000000000..ab24785f019c --- /dev/null +++ b/.github/workflows/ci-licenses.yml @@ -0,0 +1,35 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Continuous Integration - License Check +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] +permissions: + contents: read +jobs: + check: + name: License Check + runs-on: ubuntu-latest + env: + TERM: xterm + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: License Check + uses: apache/skywalking-eyes@main From 2b96374fb6fe39ed11d911052a0de31c0ed13dc8 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 19:43:26 +0200 Subject: [PATCH 018/162] Fix licenses --- modules/tools/main.go | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/modules/tools/main.go b/modules/tools/main.go index 79425e28d9a9..27fdd7b1c0e4 100644 --- a/modules/tools/main.go +++ b/modules/tools/main.go @@ -1,19 +1,16 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at +// Copyright 2017 The Kubernetes Authors. // -// http://www.apache.org/licenses/LICENSE-2.0 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // //go:build tools From 06c329cc07e0b96c824a6fd03c10cd1e01f65d90 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 19:48:26 +0200 Subject: [PATCH 019/162] Update scripts --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a0fc2a26f796..98296f06ac18 100644 --- a/Makefile +++ b/Makefile @@ -159,11 +159,11 @@ fix-i18n: .PHONY: check-license check-license: - license-check-and-add check -f license-checker-config.json + ${GOPATH}/bin/license-eye header check .PHONY: fix-license fix-license: - license-check-and-add add -f license-checker-config.json + ${GOPATH}/bin/license-eye header fix .PHONY: check-codegen check-codegen: ensure-codegen From 659c35186f8eaf73c34c00d15c3348ab58c6dd11 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 19:59:07 +0200 Subject: [PATCH 020/162] Update workflows --- .github/workflows/ci-licenses.yml | 35 ---------------- .github/workflows/codeql-analysis.yml | 46 --------------------- .github/workflows/static-checks.yml | 58 +++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 81 deletions(-) delete mode 100644 .github/workflows/ci-licenses.yml delete mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 .github/workflows/static-checks.yml diff --git a/.github/workflows/ci-licenses.yml b/.github/workflows/ci-licenses.yml deleted file mode 100644 index ab24785f019c..000000000000 --- a/.github/workflows/ci-licenses.yml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: Continuous Integration - License Check -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] -permissions: - contents: read -jobs: - check: - name: License Check - runs-on: ubuntu-latest - env: - TERM: xterm - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: License Check - uses: apache/skywalking-eyes@main diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index fb8aabe63d8b..000000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,46 +0,0 @@ -# CodeQL configuration file. -# Read more at: https://securitylab.github.com/tools/codeql/ - -name: "CodeQL" - -on: - push: - branches: [ master, gh-pages, plugin/base ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ master, plugin/base ] - schedule: - # Once a week on monday at 00:00 - - cron: '0 0 * * 1' - -permissions: - contents: read - -jobs: - analyze: - permissions: - actions: read # for github/codeql-action/init to get workflow details - contents: read # for actions/checkout to fetch code - security-events: write # for github/codeql-action/autobuild to send a status report - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - language: [ 'go', 'typescript' ] - - steps: - - name: Checkout repository - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - - - name: Initialize CodeQL - uses: github/codeql-action/init@1ed1437484560351c5be56cf73a48a279d116b78 # v1 - with: - languages: ${{ matrix.language }} - - - name: Autobuild - uses: github/codeql-action/autobuild@1ed1437484560351c5be56cf73a48a279d116b78 # v1 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@1ed1437484560351c5be56cf73a48a279d116b78 # v1 diff --git a/.github/workflows/static-checks.yml b/.github/workflows/static-checks.yml new file mode 100644 index 000000000000..6d2da9f917e0 --- /dev/null +++ b/.github/workflows/static-checks.yml @@ -0,0 +1,58 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Static Checks +on: + push: + branches: [ master, gh-pages, plugin/base ] + pull_request: + branches: [ master, gh-pages, plugin/base ] + schedule: + - cron: '0 0 * * 1' +permissions: + contents: read +jobs: + analyze-codeql: + permissions: + actions: read + contents: read + security-events: write + name: Analyze CodeQL + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + language: [ 'go', 'typescript' ] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Initialize CodeQL + uses: github/codeql-action/init@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + with: + languages: ${{ matrix.language }} + - name: Autobuild CodeQL + uses: github/codeql-action/autobuild@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + - name: Analyze CodeQL + uses: github/codeql-action/analyze@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + + license-check: + name: License Check + runs-on: ubuntu-latest + env: + TERM: xterm + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: License Check + uses: apache/skywalking-eyes@main From 41872c4376ea697c73c57c9f90bd330589c62178 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 20:36:49 +0200 Subject: [PATCH 021/162] Update workflows --- .github/workflows/static-checks.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/static-checks.yml b/.github/workflows/static-checks.yml index 6d2da9f917e0..b08cb4d6d87c 100644 --- a/.github/workflows/static-checks.yml +++ b/.github/workflows/static-checks.yml @@ -23,12 +23,13 @@ on: permissions: contents: read jobs: - analyze-codeql: + + codeql: permissions: actions: read contents: read security-events: write - name: Analyze CodeQL + name: CodeQL runs-on: ubuntu-latest strategy: fail-fast: false @@ -37,22 +38,22 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 - - name: Initialize CodeQL - uses: github/codeql-action/init@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + - name: Initialize + uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} - - name: Autobuild CodeQL - uses: github/codeql-action/autobuild@1ed1437484560351c5be56cf73a48a279d116b78 # v1 - - name: Analyze CodeQL - uses: github/codeql-action/analyze@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + - name: Analyze + uses: github/codeql-action/analyze@v2 - license-check: - name: License Check + license: + name: License runs-on: ubuntu-latest env: TERM: xterm steps: - name: Checkout uses: actions/checkout@v3 - - name: License Check + - name: Check uses: apache/skywalking-eyes@main From fa3bc157e362148e54e0bbab55606a4618447f48 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 20:42:11 +0200 Subject: [PATCH 022/162] Lower npm requirements to bundled version --- modules/web/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/web/package.json b/modules/web/package.json index 15838601def7..9b668dc476cb 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -9,7 +9,7 @@ }, "engines": { "node": ">=16.15.0", - "npm": ">=8.7.0" + "npm": ">=8.6.0" }, "scripts": { "start": "npm run ensure:version && ng serve --proxy-config proxy.conf.json --host $npm_config_bind_address --port $npm_config_port", From 98a1524b5c51cbbf15af94db087438ca4cf06bb0 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 20:43:46 +0200 Subject: [PATCH 023/162] Update package-lock.json --- modules/web/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index 1054bbf8134c..4e392837fb67 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -112,8 +112,8 @@ "webpack-dev-server": "4.8.1" }, "engines": { - "node": ">=16.14.2", - "npm": ">=8.5.0" + "node": ">=16.15.0", + "npm": ">=8.6.0" } }, "node_modules/@ampproject/remapping": { From 6d44899250bf6f6fb5e83764e312a55fc3e2e9e5 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 21:20:06 +0200 Subject: [PATCH 024/162] Update configs --- .github/dependabot.yml | 7 +------ .gitignore | 14 ++++++++++++++ .licenserc.yaml | 11 ++++++----- modules/api/.gitignore | 14 ++++++++++++++ modules/web/.gitignore | 14 ++++++++++++++ {.husky => modules/web/.husky}/pre-commit | 0 {.husky => modules/web/.husky}/pre-push | 0 7 files changed, 49 insertions(+), 11 deletions(-) rename {.husky => modules/web/.husky}/pre-commit (100%) rename {.husky => modules/web/.husky}/pre-push (100%) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8d4cbb8940ad..eaf48c22f3f2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,15 +1,10 @@ version: 2 updates: - # Enable version updates for npm - package-ecosystem: "npm" - # Look for `package.json` and `lock` files in the `root` directory - directory: "/" - # Check the npm registry for updates every day (weekdays) + directory: "modules/web/" schedule: interval: "daily" - # Allow up to 10 open pull requests for npm dependencies open-pull-requests-limit: 10 - # Enable version github actions - package-ecosystem: "github-actions" directory: "/" schedule: diff --git a/.gitignore b/.gitignore index a1e8c6f442e1..77fbd27d411e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# .idea/ .vscode/ .DS_Store diff --git a/.licenserc.yaml b/.licenserc.yaml index dbffae7a2269..4dc94e938cb4 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -40,7 +40,8 @@ header: - '**/*.svg' - '**/*.txt' - '**/*.xlf' - - '**/.gitignore' + - '**/.husky/**' + - '**/node_modules/**' - '**/.babelrc' - '**/.browserslistrc' - '**/.editorconfig' @@ -50,11 +51,11 @@ header: - '**/go.mod' - '**/go.sum' - '**/Makefile' - - '.github' - - '.husky' - - '.idea' + - '**/OWNERS' + - '.github/**' + - '.idea/**' + - '.vscode/**' - 'LICENSE' - - 'OWNERS' - 'OWNERS_ALIASES' - 'SECURITY_CONTACTS' comment: on-failure diff --git a/modules/api/.gitignore b/modules/api/.gitignore index a9462c755268..d3af7316d25a 100644 --- a/modules/api/.gitignore +++ b/modules/api/.gitignore @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# codegen/ vendor/ diff --git a/modules/web/.gitignore b/modules/web/.gitignore index 07630fcb528c..37233596036e 100644 --- a/modules/web/.gitignore +++ b/modules/web/.gitignore @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# .angular/ .sass-cache/ node_modules/ diff --git a/.husky/pre-commit b/modules/web/.husky/pre-commit similarity index 100% rename from .husky/pre-commit rename to modules/web/.husky/pre-commit diff --git a/.husky/pre-push b/modules/web/.husky/pre-push similarity index 100% rename from .husky/pre-push rename to modules/web/.husky/pre-push From a518175489d64582a9ed28119323ec1bf3108cc3 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 27 Apr 2022 21:43:17 +0200 Subject: [PATCH 025/162] Remove unused code --- modules/api/main.go | 12 +- modules/api/pkg/handler/apihandler.go | 7 +- modules/api/pkg/handler/confighandler.go | 68 ------ modules/api/pkg/handler/gziphandler.go | 50 ---- modules/api/pkg/handler/localehandler.go | 174 ------------- modules/api/pkg/handler/localehandler_test.go | 228 ------------------ modules/api/pkg/systembanner/api/types.go | 53 ---- modules/api/pkg/systembanner/handler.go | 44 ---- modules/api/pkg/systembanner/manager.go | 39 --- modules/web/pkg/handler/localehandler_test.go | 2 +- 10 files changed, 3 insertions(+), 674 deletions(-) delete mode 100644 modules/api/pkg/handler/confighandler.go delete mode 100644 modules/api/pkg/handler/gziphandler.go delete mode 100644 modules/api/pkg/handler/localehandler.go delete mode 100644 modules/api/pkg/handler/localehandler_test.go delete mode 100644 modules/api/pkg/systembanner/api/types.go delete mode 100644 modules/api/pkg/systembanner/handler.go delete mode 100644 modules/api/pkg/systembanner/manager.go diff --git a/modules/api/main.go b/modules/api/main.go index d7f406ad5ef8..e406b8a6055e 100644 --- a/modules/api/main.go +++ b/modules/api/main.go @@ -41,7 +41,6 @@ import ( integrationapi "k8s.io/dashboard/api/pkg/integration/api" "k8s.io/dashboard/api/pkg/settings" "k8s.io/dashboard/api/pkg/sync" - "k8s.io/dashboard/api/pkg/systembanner" ) var ( @@ -106,10 +105,6 @@ func main() { // Init settings manager settingsManager := settings.NewSettingsManager() - // Init system banner manager - systemBannerManager := systembanner.NewSystemBannerManager(args.Holder.GetSystemBanner(), - args.Holder.GetSystemBannerSeverity()) - // Init integrations integrationManager := integration.NewIntegrationManager(clientManager) @@ -133,8 +128,7 @@ func main() { integrationManager, clientManager, authManager, - settingsManager, - systemBannerManager) + settingsManager) if err != nil { handleFatalInitError(err) } @@ -159,14 +153,10 @@ func main() { servingCerts = []tls.Certificate{servingCert} } - // Run a HTTP server that serves static public files from './public' and handles API calls. - http.Handle("/", handler.MakeGzipHandler(handler.CreateLocaleHandler())) http.Handle("/api/", apiHandler) - http.Handle("/config", handler.AppHandler(handler.ConfigHandler)) http.Handle("/api/sockjs/", handler.CreateAttachHandler("/api/sockjs")) http.Handle("/metrics", promhttp.Handler()) - // Listen for http or https if servingCerts != nil { log.Printf("Serving securely on HTTPS port: %d", args.Holder.GetPort()) secureAddr := fmt.Sprintf("%s:%d", args.Holder.GetBindAddress(), args.Holder.GetPort()) diff --git a/modules/api/pkg/handler/apihandler.go b/modules/api/pkg/handler/apihandler.go index bb200b72c41f..c6b535972091 100644 --- a/modules/api/pkg/handler/apihandler.go +++ b/modules/api/pkg/handler/apihandler.go @@ -73,7 +73,6 @@ import ( "k8s.io/dashboard/api/pkg/scaling" "k8s.io/dashboard/api/pkg/settings" settingsApi "k8s.io/dashboard/api/pkg/settings/api" - "k8s.io/dashboard/api/pkg/systembanner" "k8s.io/dashboard/api/pkg/validation" ) @@ -100,8 +99,7 @@ type TerminalResponse struct { // CreateHTTPAPIHandler creates a new HTTP handler that handles all requests to the API of the backend. func CreateHTTPAPIHandler(iManager integration.IntegrationManager, cManager clientapi.ClientManager, - authManager authApi.AuthManager, sManager settingsApi.SettingsManager, - sbManager systembanner.SystemBannerManager) (http.Handler, error) { + authManager authApi.AuthManager, sManager settingsApi.SettingsManager) (http.Handler, error) { apiHandler := APIHandler{iManager: iManager, cManager: cManager, sManager: sManager} wsContainer := restful.NewContainer() wsContainer.EnableContentEncoding(true) @@ -127,9 +125,6 @@ func CreateHTTPAPIHandler(iManager integration.IntegrationManager, cManager clie settingsHandler := settings.NewSettingsHandler(sManager, cManager) settingsHandler.Install(apiV1Ws) - systemBannerHandler := systembanner.NewSystemBannerHandler(sbManager) - systemBannerHandler.Install(apiV1Ws) - apiV1Ws.Route( apiV1Ws.GET("csrftoken/{action}"). To(apiHandler.handleGetCsrfToken). diff --git a/modules/api/pkg/handler/confighandler.go b/modules/api/pkg/handler/confighandler.go deleted file mode 100644 index b61ddb3c0399..000000000000 --- a/modules/api/pkg/handler/confighandler.go +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "encoding/json" - "log" - "net/http" - "text/template" - "time" -) - -// AppHandler is an application handler. -type AppHandler func(http.ResponseWriter, *http.Request) (int, error) - -// AppConfig is a global configuration of application. -type AppConfig struct { - // ServerTime is current server time. - ServerTime int64 `json:"serverTime"` -} - -const ( - // ConfigTemplateName is a name of config template - ConfigTemplateName = "appConfig" - // ConfigTemplate is a template of a config - ConfigTemplate = "{{.}}" -) - -// ServeHTTP serves HTTP endpoint with application configuration. -func (fn AppHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - if _, err := fn(w, r); err != nil { - http.Error(w, http.StatusText(http.StatusInternalServerError), - http.StatusInternalServerError) - } -} - -func getAppConfigJSON() string { - log.Println("Getting application global configuration") - - config := &AppConfig{ - ServerTime: time.Now().UTC().UnixNano() / 1e6, - } - - jsonConfig, _ := json.Marshal(config) - log.Printf("Application configuration %s", jsonConfig) - return string(jsonConfig) -} - -func ConfigHandler(w http.ResponseWriter, r *http.Request) (int, error) { - configTemplate, err := template.New(ConfigTemplateName).Parse(ConfigTemplate) - w.Header().Set("Content-Type", "application/json") - if err != nil { - return http.StatusInternalServerError, err - } - return http.StatusOK, configTemplate.Execute(w, getAppConfigJSON()) -} diff --git a/modules/api/pkg/handler/gziphandler.go b/modules/api/pkg/handler/gziphandler.go deleted file mode 100644 index 3d4730791e7a..000000000000 --- a/modules/api/pkg/handler/gziphandler.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "compress/gzip" - "io" - "net/http" - "strings" -) - -type gzipResponseWriter struct { - io.Writer - http.ResponseWriter -} - -// Use the Writer part of gzipResponseWriter to write the output. -func (w gzipResponseWriter) Write(b []byte) (int, error) { - return w.Writer.Write(b) -} - -// MakeGzipHandler adds support for gzip compression for given handler -func MakeGzipHandler(handler http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - // Check if the client can accept the gzip encoding. - if !strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { - handler.ServeHTTP(w, r) - return - } - - // Set the HTTP header indicating encoding. - w.Header().Set("Content-Encoding", "gzip") - gz := gzip.NewWriter(w) - defer gz.Close() - gzw := gzipResponseWriter{Writer: gz, ResponseWriter: w} - handler.ServeHTTP(gzw, r) - }) -} diff --git a/modules/api/pkg/handler/localehandler.go b/modules/api/pkg/handler/localehandler.go deleted file mode 100644 index c02028022909..000000000000 --- a/modules/api/pkg/handler/localehandler.go +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "encoding/json" - "net/http" - "os" - "path/filepath" - "strings" - - "github.com/golang/glog" - "golang.org/x/text/language" - - "k8s.io/dashboard/api/pkg/args" -) - -const defaultLocaleDir = "en" -const assetsDir = "public" - -// Localization is a spec for the localization configuration of dashboard. -type Localization struct { - Translations []string `json:"translations"` -} - -// LocaleHandler serves different localized versions of the frontend application -// based on the Accept-Language header. -type LocaleHandler struct { - SupportedLocales []language.Tag -} - -// CreateLocaleHandler loads the localization configuration and constructs a LocaleHandler. -func CreateLocaleHandler() *LocaleHandler { - locales, err := getSupportedLocales(args.Holder.GetLocaleConfig()) - if err != nil { - glog.Warningf("Error when loading the localization configuration. Dashboard will not be localized. %s", err) - locales = []language.Tag{} - } - return &LocaleHandler{SupportedLocales: locales} -} - -func getSupportedLocales(configFile string) ([]language.Tag, error) { - // read config file - localesFile, err := os.ReadFile(configFile) - if err != nil { - return []language.Tag{}, err - } - - // unmarshall - localization := Localization{} - err = json.Unmarshal(localesFile, &localization) - if err != nil { - glog.Warningf("%s %s", string(localesFile), err) - } - - // filter locale keys - result := []language.Tag{} - for _, translation := range localization.Translations { - result = append(result, language.Make(translation)) - } - return result, nil -} - -// getAssetsDir determines the absolute path to the localized frontend assets -func getAssetsDir() string { - path, err := os.Executable() - if err != nil { - glog.Fatalf("Error determining path to executable: %#v", err) - } - path, err = filepath.EvalSymlinks(path) - if err != nil { - glog.Fatalf("Error evaluating symlinks for path '%s': %#v", path, err) - } - return filepath.Join(filepath.Dir(path), assetsDir) -} - -// LocaleHandler serves different html versions based on the Accept-Language header. -func (handler *LocaleHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - if r.URL.EscapedPath() == "/" || r.URL.EscapedPath() == "/index.html" { - // Do not store the html page in the cache. If the user is to click on 'switch language', - // we want a different index.html (for the right locale) to be served when the page refreshes. - w.Header().Add("Cache-Control", "no-cache, no-store, must-revalidate") - } - - // Disable directory listing. - if r.URL.Path != "/" && strings.HasSuffix(r.URL.Path, "/") { - http.NotFound(w, r) - return - } - - acceptLanguage := "" - cookie, err := r.Cookie("lang") - if err == nil { - acceptLanguage = cookie.Value - } - - if len(acceptLanguage) == 0 { - acceptLanguage = os.Getenv("ACCEPT_LANGUAGE") - } - - if len(acceptLanguage) == 0 { - acceptLanguage = r.Header.Get("Accept-Language") - } - - dirName := handler.determineLocalizedDir(acceptLanguage) - http.FileServer(http.Dir(dirName)).ServeHTTP(w, r) -} - -func (handler *LocaleHandler) determineLocalizedDir(locale string) string { - // TODO(floreks): Remove that once new locale codes are supported by the browsers. - // For backward compatibility only. - localeMap := strings.NewReplacer( - "zh-CN", "zh-Hans", - "zh-cn", "zh-Hans", - "zh-TW", "zh-Hant", - "zh-tw", "zh-Hant", - "zh-hk", "zh-Hant-HK", - "zh-HK", "zh-Hant-HK", - ) - - return handler.getLocaleDir(localeMap.Replace(locale)) -} - -func (handler *LocaleHandler) getLocaleDir(locale string) string { - localeDir := "" - assetsDir := getAssetsDir() - tags, _, _ := language.ParseAcceptLanguage(locale) - localeMap := handler.getLocaleMap() - - for _, tag := range tags { - if _, exists := localeMap[tag.String()]; exists { - localeDir = filepath.Join(assetsDir, tag.String()) - break - } - } - - if handler.dirExists(localeDir) { - return localeDir - } - - return filepath.Join(assetsDir, defaultLocaleDir) -} - -func (handler *LocaleHandler) getLocaleMap() map[string]struct{} { - result := map[string]struct{}{} - for _, tag := range handler.SupportedLocales { - result[tag.String()] = struct{}{} - } - - return result -} - -func (handler *LocaleHandler) dirExists(name string) bool { - if _, err := os.Stat(name); err != nil { - if os.IsNotExist(err) { - glog.Warningf(name) - return false - } - } - - return true -} diff --git a/modules/api/pkg/handler/localehandler_test.go b/modules/api/pkg/handler/localehandler_test.go deleted file mode 100644 index e7abf5f8951c..000000000000 --- a/modules/api/pkg/handler/localehandler_test.go +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "encoding/json" - "os" - "path/filepath" - "reflect" - "testing" - - "golang.org/x/text/language" -) - -func languageMake(locales []string) []language.Tag { - result := []language.Tag{} - for _, locale := range locales { - result = append(result, language.Make(locale)) - } - return result -} - -func TestGetSupportedLocales(t *testing.T) { - cases := []struct { - localization Localization - expected []language.Tag - }{ - { - Localization{ - Translations: []string{"en", "ja"}, - }, - languageMake([]string{"en", "ja"}), - }, - { - Localization{}, - []language.Tag{}, - }, - } - - for _, c := range cases { - configFile, err := os.CreateTemp("", "test-locale-config") - if err != nil { - t.Fatalf("%s", err) - } - defer os.Remove(configFile.Name()) - - fileContent, _ := json.Marshal(c.localization) - configFile.Write(fileContent) - actual, _ := getSupportedLocales(configFile.Name()) - if !reflect.DeepEqual(actual, c.expected) { - t.Errorf("getSupportedLocales() returns %#v, expected %#v", actual, c.expected) - } - } -} - -func TestDetermineLocale(t *testing.T) { - assetsDir := getAssetsDir() - defaultDir := filepath.Join(assetsDir, defaultLocaleDir) - cases := []struct { - handler *LocaleHandler - createDir bool - acceptLanguageKey string - expected string - }{ - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - false, - "en", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - false, - "de", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - false, - "ja", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "ja", - filepath.Join(assetsDir, "ja"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "ja,en-US;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "ja"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "af,ja,en-US;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "ja"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "af,en-US;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "en"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "en", - filepath.Join(assetsDir, "en"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "zh", - filepath.Join(assetsDir, "zh"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "ar-DZ", - filepath.Join(assetsDir, "ar-DZ"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "ar-BH", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "af,zh-HK,zh;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "zh-Hant-HK"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "af,zh-TW,zh;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "zh-Hant"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "zh-tw", - filepath.Join(assetsDir, "zh-Hant"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "zh-hant-hk", - filepath.Join(assetsDir, "zh-Hant-HK"), - }, - } - - for _, c := range cases { - func() { - if c.createDir { - err := os.Mkdir(assetsDir, 0777) - if err != nil { - t.Fatalf("%s", err) - } - for _, lang := range c.handler.SupportedLocales { - err = os.Mkdir(filepath.Join(assetsDir, lang.String()), 0777) - if err != nil { - t.Fatalf("%s", err) - } - } - defer os.RemoveAll(assetsDir) - } - actual := c.handler.determineLocalizedDir(c.acceptLanguageKey) - if !reflect.DeepEqual(actual, c.expected) { - t.Errorf("localeHandler.determineLocalizedDir(%#v) returns %#v, expected %#v", c.acceptLanguageKey, actual, c.expected) - } - }() - } -} diff --git a/modules/api/pkg/systembanner/api/types.go b/modules/api/pkg/systembanner/api/types.go deleted file mode 100644 index 1e437cd1dd38..000000000000 --- a/modules/api/pkg/systembanner/api/types.go +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package api - -// SystemBannerManager is used for user system banner management. -type SystemBannerManager interface { - // Get system banner. - Get() *SystemBanner -} - -// SystemBanner represents system banner. -type SystemBanner struct { - Message string `json:"message"` - Severity SystemBannerSeverity `json:"severity"` -} - -// SystemBannerSeverity represents severity of system banner. -type SystemBannerSeverity string - -const ( - // SystemBannerSeverityInfo is the lowest of allowed system banner severities. - SystemBannerSeverityInfo SystemBannerSeverity = "INFO" - - // SystemBannerSeverityWarning is in the middle of allowed system banner severities. - SystemBannerSeverityWarning SystemBannerSeverity = "WARNING" - - // SystemBannerSeverityError is the highest of allowed system banner severities. - SystemBannerSeverityError SystemBannerSeverity = "ERROR" -) - -// GetSeverity returns one of allowed severity values based on given parameter. -func GetSeverity(severity string) SystemBannerSeverity { - switch severity { - case string(SystemBannerSeverityWarning): - return SystemBannerSeverityWarning - case string(SystemBannerSeverityError): - return SystemBannerSeverityError - default: - return SystemBannerSeverityInfo - } -} diff --git a/modules/api/pkg/systembanner/handler.go b/modules/api/pkg/systembanner/handler.go deleted file mode 100644 index cd4b4d1b8883..000000000000 --- a/modules/api/pkg/systembanner/handler.go +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package systembanner - -import ( - "net/http" - - restful "github.com/emicklei/go-restful/v3" - "k8s.io/dashboard/api/pkg/systembanner/api" -) - -// SystemBannerHandler manages all endpoints related to system banner management. -type SystemBannerHandler struct { - manager SystemBannerManager -} - -// Install creates new endpoints for system banner management. -func (self *SystemBannerHandler) Install(ws *restful.WebService) { - ws.Route( - ws.GET("/systembanner"). - To(self.handleGet). - Writes(api.SystemBanner{})) -} - -func (self *SystemBannerHandler) handleGet(request *restful.Request, response *restful.Response) { - response.WriteHeaderAndEntity(http.StatusOK, self.manager.Get()) -} - -// NewSystemBannerHandler creates SystemBannerHandler. -func NewSystemBannerHandler(manager SystemBannerManager) SystemBannerHandler { - return SystemBannerHandler{manager: manager} -} diff --git a/modules/api/pkg/systembanner/manager.go b/modules/api/pkg/systembanner/manager.go deleted file mode 100644 index 53a941c82ee0..000000000000 --- a/modules/api/pkg/systembanner/manager.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package systembanner - -import ( - "k8s.io/dashboard/api/pkg/systembanner/api" -) - -// SystemBannerManager is a structure containing all system banner manager members. -type SystemBannerManager struct { - systemBanner api.SystemBanner -} - -// NewSystemBannerManager creates new settings manager. -func NewSystemBannerManager(message, severity string) SystemBannerManager { - return SystemBannerManager{ - systemBanner: api.SystemBanner{ - Message: message, - Severity: api.GetSeverity(severity), - }, - } -} - -// Get implements SystemBannerManager interface. Check it for more information. -func (sbm *SystemBannerManager) Get() api.SystemBanner { - return sbm.systemBanner -} diff --git a/modules/web/pkg/handler/localehandler_test.go b/modules/web/pkg/handler/localehandler_test.go index e7abf5f8951c..ffc09a4faa5f 100644 --- a/modules/web/pkg/handler/localehandler_test.go +++ b/modules/web/pkg/handler/localehandler_test.go @@ -25,7 +25,7 @@ import ( ) func languageMake(locales []string) []language.Tag { - result := []language.Tag{} + var result []language.Tag for _, locale := range locales { result = append(result, language.Make(locale)) } From 61a7671ec41b59bb7f7397d750ff3b0efd779e93 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 27 Apr 2022 22:47:26 +0200 Subject: [PATCH 026/162] Add workspace support and update web handling --- hack/scripts/build.sh | 140 ---------- modules/api/go.mod | 12 +- modules/api/go.sum | 9 +- modules/api/main.go | 84 +++--- modules/api/pkg/args/builder.go | 18 -- modules/api/pkg/args/holder.go | 43 +--- modules/api/pkg/cert/api/types.go | 47 ---- modules/api/pkg/cert/ecdsa/creator.go | 176 ------------- modules/api/pkg/cert/manager.go | 71 ------ modules/api/pkg/handler/apihandler.go | 7 +- modules/api/pkg/handler/apihandler_test.go | 12 +- modules/api/pkg/handler/confighandler.go | 68 ----- modules/api/pkg/handler/gziphandler.go | 50 ---- modules/api/pkg/handler/localehandler.go | 174 ------------- modules/api/pkg/handler/localehandler_test.go | 228 ----------------- modules/api/pkg/systembanner/api/types.go | 53 ---- modules/api/pkg/systembanner/handler.go | 44 ---- modules/api/pkg/systembanner/manager.go | 39 --- .../pkg/cert => certificates}/api/types.go | 2 +- .../cert => certificates}/ecdsa/creator.go | 4 +- .../ecdsa/creator_test.go | 0 modules/certificates/go.mod | 26 ++ modules/certificates/go.sum | 241 ++++++++++++++++++ .../{web/pkg/cert => certificates}/manager.go | 44 ++-- modules/go.work | 8 + modules/go.work.sum | 3 + modules/tools/go.mod | 18 +- modules/tools/go.sum | 25 +- modules/web/angular.json | 26 ++ modules/web/go.mod | 7 +- modules/web/main.go | 75 +++--- modules/web/package.json | 3 +- modules/web/pkg/args/builder.go | 84 +----- modules/web/pkg/args/holder.go | 91 +------ modules/web/pkg/cert/ecdsa/creator_test.go | 50 ---- modules/web/pkg/systembanner/handler.go | 22 +- modules/web/proxy-https.conf.json | 6 + modules/web/proxy.conf.json | 4 + modules/web/src/chrome/component.ts | 2 +- 39 files changed, 492 insertions(+), 1524 deletions(-) delete mode 100755 hack/scripts/build.sh delete mode 100644 modules/api/pkg/cert/api/types.go delete mode 100644 modules/api/pkg/cert/ecdsa/creator.go delete mode 100644 modules/api/pkg/cert/manager.go delete mode 100644 modules/api/pkg/handler/confighandler.go delete mode 100644 modules/api/pkg/handler/gziphandler.go delete mode 100644 modules/api/pkg/handler/localehandler.go delete mode 100644 modules/api/pkg/handler/localehandler_test.go delete mode 100644 modules/api/pkg/systembanner/api/types.go delete mode 100644 modules/api/pkg/systembanner/handler.go delete mode 100644 modules/api/pkg/systembanner/manager.go rename modules/{web/pkg/cert => certificates}/api/types.go (97%) rename modules/{web/pkg/cert => certificates}/ecdsa/creator.go (97%) rename modules/{api/pkg/cert => certificates}/ecdsa/creator_test.go (100%) create mode 100644 modules/certificates/go.mod create mode 100644 modules/certificates/go.sum rename modules/{web/pkg/cert => certificates}/manager.go (58%) create mode 100644 modules/go.work create mode 100644 modules/go.work.sum delete mode 100644 modules/web/pkg/cert/ecdsa/creator_test.go diff --git a/hack/scripts/build.sh b/hack/scripts/build.sh deleted file mode 100755 index 69d12f54521c..000000000000 --- a/hack/scripts/build.sh +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Exit on error. -set -e - -# Import config. -ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" -. "${ROOT_DIR}/hack/scripts/conf.sh" - -# Declare variables. -CROSS=false -FRONTEND_ONLY=false - -function clean { - rm -rf ${DIST_DIR} ${TMP_DIR} -} - -function build::frontend { - say "\nBuilding localized frontend" - mkdir -p "${FRONTEND_DIST_DIR}" - - cd "${FRONTEND_DIR}" - ${NG_BIN} build \ - --configuration production \ - --localize \ - --outputPath="${FRONTEND_DIST_DIR}" - - # Avoid locale caching due to the same output file naming - # We'll add language code prefix to the generated main javascript file. - languages=($(ls "${FRONTEND_DIST_DIR}")) - for language in "${languages[@]}"; do - localeDir=${FRONTEND_DIST_DIR}/${language} - filename=("$(find "${localeDir}" -name 'main.*.js' -exec basename {} \;)") - - say "${localeDir}" - - mv "${localeDir}/${filename}" "${localeDir}/${language}.${filename}" - perl -i -pe"s/${filename}/${language}.${filename}/" "${localeDir}/index.html" - done - - cd "${ROOT_DIR}" -} - -function build::backend { - say "\nBuilding backend" - make prod-backend -} - -function build::backend::cross { - say "\nBuilding backends for all supported architectures" - make prod-backend-cross -} - -function copy::frontend { - say "\nCopying frontend to backend dist dir" - languages=($(ls ${FRONTEND_DIST_DIR})) - architectures=($(ls ${DIST_DIR})) - for arch in "${architectures[@]}"; do - for language in "${languages[@]}"; do - OUT_DIR=${DIST_DIR}/${arch}/public - mkdir -p ${OUT_DIR} - cp -r ${FRONTEND_DIST_DIR}/${language} ${OUT_DIR} - done - done -} - -function copy::supported-locales { - say "\nCopying locales file to backend dist dirs" - architectures=($(ls ${DIST_DIR})) - for arch in "${architectures[@]}"; do - OUT_DIR=${DIST_DIR}/${arch} - cp ${I18N_DIR}/locale_conf.json ${OUT_DIR} - done -} - -function copy::dockerfile { - say "\nCopying Dockerfile to backend dist dirs" - architectures=($(ls ${DIST_DIR})) - for arch in "${architectures[@]}"; do - OUT_DIR=${DIST_DIR}/${arch} - cp ${AIO_DIR}/Dockerfile ${OUT_DIR} - done -} - -function parse::args { - POSITIONAL=() - while [[ $# -gt 0 ]]; do - key="$1" - case ${key} in - -c|--cross) - CROSS=true - shift - ;; - --frontend-only) - FRONTEND_ONLY=true - shift - ;; - esac - done - set -- "${POSITIONAL[@]}" # Restore positional parameters. -} - -# Execute script. -START=$(date +%s) - -parse::args "$@" -clean - -if [ "${FRONTEND_ONLY}" = true ] ; then - build::frontend - exit -fi - -if [ "${CROSS}" = true ] ; then - build::backend::cross -else - build::backend -fi - -build::frontend -copy::frontend -copy::supported-locales -copy::dockerfile - -END=$(date +%s) -TOOK=$(echo "${END} - ${START}" | bc) -say "\nBuild finished successfully after ${TOOK}s" diff --git a/modules/api/go.mod b/modules/api/go.mod index ba29e4069987..d7a599ed9a0a 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -1,16 +1,15 @@ module k8s.io/dashboard/api -go 1.17 +go 1.18 require ( github.com/docker/distribution v2.8.0+incompatible github.com/emicklei/go-restful/v3 v3.3.3 - github.com/golang/glog v1.0.0 github.com/opencontainers/go-digest v1.0.0 // indirect github.com/prometheus/client_golang v1.11.0 github.com/spf13/pflag v1.0.5 golang.org/x/net v0.0.0-20211209124913-491a49abca63 - golang.org/x/text v0.3.7 + golang.org/x/text v0.3.7 // indirect gopkg.in/igm/sockjs-go.v2 v2.1.0 gopkg.in/square/go-jose.v2 v2.4.1 gopkg.in/yaml.v2 v2.4.0 @@ -18,6 +17,7 @@ require ( k8s.io/apiextensions-apiserver v0.23.6 k8s.io/apimachinery v0.23.6 k8s.io/client-go v0.23.6 + k8s.io/dashboard/certificates v0.0.0-00010101000000-000000000000 k8s.io/heapster v1.5.4 ) @@ -43,9 +43,9 @@ require ( github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.28.0 // indirect github.com/prometheus/procfs v0.6.0 // indirect - golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect - golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect + golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect google.golang.org/appengine v1.6.7 // indirect @@ -59,3 +59,5 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect sigs.k8s.io/yaml v1.2.0 // indirect ) + +replace k8s.io/dashboard/certificates => ../certificates diff --git a/modules/api/go.sum b/modules/api/go.sum index d7e93f0acbca..6e6005672e29 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -77,7 +77,6 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -114,7 +113,6 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.3.3 h1:2WxjFb4b+Eik8vJ1saz3jbhKnt4xaFVn3N9uU3WXfLE= github.com/emicklei/go-restful/v3 v3.3.3/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= @@ -166,7 +164,6 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= 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= @@ -491,8 +488,9 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -663,8 +661,9 @@ golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e h1:XMgFehsDnnLGtjvjOfqWSUzt0alpTR1RSEuznObga2c= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 h1:id054HUawV2/6IGm2IV8KZQjqtwAOo2CYlOToYqa0d0= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= diff --git a/modules/api/main.go b/modules/api/main.go index d7f406ad5ef8..6fd4e07f38b5 100644 --- a/modules/api/main.go +++ b/modules/api/main.go @@ -32,8 +32,6 @@ import ( "k8s.io/dashboard/api/pkg/auth" authApi "k8s.io/dashboard/api/pkg/auth/api" "k8s.io/dashboard/api/pkg/auth/jwe" - "k8s.io/dashboard/api/pkg/cert" - "k8s.io/dashboard/api/pkg/cert/ecdsa" "k8s.io/dashboard/api/pkg/client" clientapi "k8s.io/dashboard/api/pkg/client/api" "k8s.io/dashboard/api/pkg/handler" @@ -41,7 +39,8 @@ import ( integrationapi "k8s.io/dashboard/api/pkg/integration/api" "k8s.io/dashboard/api/pkg/settings" "k8s.io/dashboard/api/pkg/sync" - "k8s.io/dashboard/api/pkg/systembanner" + "k8s.io/dashboard/certificates" + "k8s.io/dashboard/certificates/ecdsa" ) var ( @@ -63,12 +62,9 @@ var ( argAutoGenerateCertificates = pflag.Bool("auto-generate-certificates", false, "enables automatic certificates generation used to serve HTTPS") argEnableInsecureLogin = pflag.Bool("enable-insecure-login", false, "enables login view when the app is not served over HTTPS") argEnableSkip = pflag.Bool("enable-skip-login", false, "enables skip button on the login page") - argSystemBanner = pflag.String("system-banner", "", "system banner message displayed in the app if non-empty, it accepts simple HTML") - argSystemBannerSeverity = pflag.String("system-banner-severity", "INFO", "severity of system banner, should be one of 'INFO', 'WARNING' or 'ERROR'") argAPILogLevel = pflag.String("api-log-level", "INFO", "level of API request logging, should be one of 'NONE', 'INFO' or 'DEBUG'") argDisableSettingsAuthorizer = pflag.Bool("disable-settings-authorizer", false, "disables settings page user authorizer so anyone can access settings page") argNamespace = pflag.String("namespace", getEnv("POD_NAMESPACE", "kube-system"), "if non-default namespace is used encryption key will be created in the specified namespace") - localeConfig = pflag.String("locale-config", "./locale_conf.json", "path to file containing the locale configuration") ) func main() { @@ -106,10 +102,6 @@ func main() { // Init settings manager settingsManager := settings.NewSettingsManager() - // Init system banner manager - systemBannerManager := systembanner.NewSystemBannerManager(args.Holder.GetSystemBanner(), - args.Holder.GetSystemBannerSeverity()) - // Init integrations integrationManager := integration.NewIntegrationManager(clientManager) @@ -133,60 +125,53 @@ func main() { integrationManager, clientManager, authManager, - settingsManager, - systemBannerManager) + settingsManager) if err != nil { handleFatalInitError(err) } - var servingCerts []tls.Certificate - if args.Holder.GetAutoGenerateCertificates() { - log.Println("Auto-generating certificates") - certCreator := ecdsa.NewECDSACreator(args.Holder.GetKeyFile(), args.Holder.GetCertFile(), elliptic.P256()) - certManager := cert.NewCertManager(certCreator, args.Holder.GetDefaultCertDir()) - servingCert, err := certManager.GetCertificates() - if err != nil { - handleFatalInitServingCertError(err) - } - servingCerts = []tls.Certificate{servingCert} - } else if args.Holder.GetCertFile() != "" && args.Holder.GetKeyFile() != "" { - certFilePath := args.Holder.GetDefaultCertDir() + string(os.PathSeparator) + args.Holder.GetCertFile() - keyFilePath := args.Holder.GetDefaultCertDir() + string(os.PathSeparator) + args.Holder.GetKeyFile() - servingCert, err := tls.LoadX509KeyPair(certFilePath, keyFilePath) - if err != nil { - handleFatalInitServingCertError(err) - } - servingCerts = []tls.Certificate{servingCert} + certCreator := ecdsa.NewECDSACreator(args.Holder.GetKeyFile(), args.Holder.GetCertFile(), elliptic.P256()) + certManager := certificates.NewCertManager(certCreator, args.Holder.GetDefaultCertDir(), args.Holder.GetAutoGenerateCertificates()) + certs, err := certManager.GetCertificates() + if err != nil { + handleFatalInitServingCertError(err) } - // Run a HTTP server that serves static public files from './public' and handles API calls. - http.Handle("/", handler.MakeGzipHandler(handler.CreateLocaleHandler())) + // Run HTTP server that handles API calls. http.Handle("/api/", apiHandler) - http.Handle("/config", handler.AppHandler(handler.ConfigHandler)) http.Handle("/api/sockjs/", handler.CreateAttachHandler("/api/sockjs")) http.Handle("/metrics", promhttp.Handler()) // Listen for http or https - if servingCerts != nil { - log.Printf("Serving securely on HTTPS port: %d", args.Holder.GetPort()) - secureAddr := fmt.Sprintf("%s:%d", args.Holder.GetBindAddress(), args.Holder.GetPort()) - server := &http.Server{ - Addr: secureAddr, - Handler: http.DefaultServeMux, - TLSConfig: &tls.Config{ - Certificates: servingCerts, - MinVersion: tls.VersionTLS12, - }, - } - go func() { log.Fatal(server.ListenAndServeTLS("", "")) }() + if certs != nil { + serveTLS(certs) } else { - log.Printf("Serving insecurely on HTTP port: %d", args.Holder.GetInsecurePort()) - addr := fmt.Sprintf("%s:%d", args.Holder.GetInsecureBindAddress(), args.Holder.GetInsecurePort()) - go func() { log.Fatal(http.ListenAndServe(addr, nil)) }() + serve() } + select {} } +func serve() { + log.Printf("Serving insecurely on HTTP port: %d", args.Holder.GetInsecurePort()) + addr := fmt.Sprintf("%s:%d", args.Holder.GetInsecureBindAddress(), args.Holder.GetInsecurePort()) + go func() { log.Fatal(http.ListenAndServe(addr, nil)) }() +} + +func serveTLS(certificates []tls.Certificate) { + log.Printf("Serving securely on HTTPS port: %d", args.Holder.GetPort()) + secureAddr := fmt.Sprintf("%s:%d", args.Holder.GetBindAddress(), args.Holder.GetPort()) + server := &http.Server{ + Addr: secureAddr, + Handler: http.DefaultServeMux, + TLSConfig: &tls.Config{ + Certificates: certificates, + MinVersion: tls.VersionTLS12, + }, + } + go func() { log.Fatal(server.ListenAndServeTLS("", "")) }() +} + func initAuthManager(clientManager clientapi.ClientManager) authApi.AuthManager { insecureClient := clientManager.InsecureClient() @@ -234,8 +219,6 @@ func initArgHolder() { builder.SetHeapsterHost(*argHeapsterHost) builder.SetSidecarHost(*argSidecarHost) builder.SetKubeConfigFile(*argKubeConfigFile) - builder.SetSystemBanner(*argSystemBanner) - builder.SetSystemBannerSeverity(*argSystemBannerSeverity) builder.SetAPILogLevel(*argAPILogLevel) builder.SetAuthenticationMode(*argAuthenticationMode) builder.SetAutoGenerateCertificates(*argAutoGenerateCertificates) @@ -243,7 +226,6 @@ func initArgHolder() { builder.SetDisableSettingsAuthorizer(*argDisableSettingsAuthorizer) builder.SetEnableSkipLogin(*argEnableSkip) builder.SetNamespace(*argNamespace) - builder.SetLocaleConfig(*localeConfig) } /** diff --git a/modules/api/pkg/args/builder.go b/modules/api/pkg/args/builder.go index 59240b91da06..714a0ec40044 100644 --- a/modules/api/pkg/args/builder.go +++ b/modules/api/pkg/args/builder.go @@ -108,18 +108,6 @@ func (self *holderBuilder) SetKubeConfigFile(kubeConfigFile string) *holderBuild return self } -// SetSystemBanner 'system-banner' argument of Dashboard binary. -func (self *holderBuilder) SetSystemBanner(systemBanner string) *holderBuilder { - self.holder.systemBanner = systemBanner - return self -} - -// SetSystemBannerSeverity 'system-banner-severity' argument of Dashboard binary. -func (self *holderBuilder) SetSystemBannerSeverity(systemBannerSeverity string) *holderBuilder { - self.holder.systemBannerSeverity = systemBannerSeverity - return self -} - // SetLogLevel 'api-log-level' argument of Dashboard binary. func (self *holderBuilder) SetAPILogLevel(apiLogLevel string) *holderBuilder { self.holder.apiLogLevel = apiLogLevel @@ -162,12 +150,6 @@ func (self *holderBuilder) SetNamespace(namespace string) *holderBuilder { return self } -// SetLocaleConfig 'locale-config' argument of Dashboard binary. -func (self *holderBuilder) SetLocaleConfig(localeConfig string) *holderBuilder { - self.holder.localeConfig = localeConfig - return self -} - // GetHolderBuilder returns singleton instance of argument holder builder. func GetHolderBuilder() *holderBuilder { return builder diff --git a/modules/api/pkg/args/holder.go b/modules/api/pkg/args/holder.go index 5bb2e9835f95..da8a8a8c6095 100644 --- a/modules/api/pkg/args/holder.go +++ b/modules/api/pkg/args/holder.go @@ -17,7 +17,7 @@ package args import ( "net" - "k8s.io/dashboard/api/pkg/cert/api" + "k8s.io/dashboard/certificates/api" ) var Holder = &holder{} @@ -33,18 +33,16 @@ type holder struct { insecureBindAddress net.IP bindAddress net.IP - defaultCertDir string - certFile string - keyFile string - apiServerHost string - metricsProvider string - heapsterHost string - sidecarHost string - kubeConfigFile string - systemBanner string - systemBannerSeverity string - apiLogLevel string - namespace string + defaultCertDir string + certFile string + keyFile string + apiServerHost string + metricsProvider string + heapsterHost string + sidecarHost string + kubeConfigFile string + apiLogLevel string + namespace string authenticationMode []string @@ -53,8 +51,6 @@ type holder struct { disableSettingsAuthorizer bool enableSkipLogin bool - - localeConfig string } // GetInsecurePort 'insecure-port' argument of Dashboard binary. @@ -135,17 +131,7 @@ func (self *holder) GetKubeConfigFile() string { return self.kubeConfigFile } -// GetSystemBanner 'system-banner' argument of Dashboard binary. -func (self *holder) GetSystemBanner() string { - return self.systemBanner -} - -// GetSystemBannerSeverity 'system-banner-severity' argument of Dashboard binary. -func (self *holder) GetSystemBannerSeverity() string { - return self.systemBannerSeverity -} - -// LogLevel 'api-log-level' argument of Dashboard binary. +// GetAPILogLevel 'api-log-level' argument of Dashboard binary. func (self *holder) GetAPILogLevel() string { return self.apiLogLevel } @@ -179,8 +165,3 @@ func (self *holder) GetEnableSkipLogin() bool { func (self *holder) GetNamespace() string { return self.namespace } - -// GetLocaleConfig 'locale-config' argument of Dashboard binary. -func (self *holder) GetLocaleConfig() string { - return self.localeConfig -} diff --git a/modules/api/pkg/cert/api/types.go b/modules/api/pkg/cert/api/types.go deleted file mode 100644 index 8ca74cd08dc4..000000000000 --- a/modules/api/pkg/cert/api/types.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package api - -import "crypto/tls" - -const ( - // DashboardCertName is the certificate file names that will be generated by Dashboard - DashboardCertName = "dashboard.crt" - // DashboardKeyName is the key file names that will be generated by Dashboard - DashboardKeyName = "dashboard.key" -) - -// Manager is responsible for generating and storing self-signed certificates that can be used by Dashboard -// to serve over HTTPS. -type Manager interface { - // GetCertificates loads existing certificates or generates self-signed certificates. - GetCertificates() (tls.Certificate, error) -} - -// Creator is responsible for preparing and generating certificates. -type Creator interface { - // GenerateKey generates certificate key - GenerateKey() interface{} - // GenerateCertificate generates certificate - GenerateCertificate(key interface{}) []byte - // StoreCertificates saves certificates in a given path - StoreCertificates(path string, key interface{}, certBytes []byte) - // KeyCertPEMBytes converts the key and cert to PEM format - KeyCertPEMBytes(key interface{}, certBytes []byte) (keyPEM []byte, certPEM []byte, err error) - // GetKeyFileName returns certificate key file name - GetKeyFileName() string - // GetCertFileName returns certificate file name - GetCertFileName() string -} diff --git a/modules/api/pkg/cert/ecdsa/creator.go b/modules/api/pkg/cert/ecdsa/creator.go deleted file mode 100644 index 5bc4cf9f5631..000000000000 --- a/modules/api/pkg/cert/ecdsa/creator.go +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package ecdsa - -import ( - "crypto/ecdsa" - "crypto/elliptic" - "crypto/rand" - "crypto/x509" - "crypto/x509/pkix" - "encoding/pem" - "log" - "math/big" - "net" - "os" - "time" - - corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - certapi "k8s.io/dashboard/api/pkg/cert/api" -) - -// Implements certificate Creator interface. See Creator for more information. -type ecdsaCreator struct { - keyFile string - certFile string - curve elliptic.Curve -} - -// GenerateKey implements certificate Creator interface. See Creator for more information. -func (self *ecdsaCreator) GenerateKey() interface{} { - key, err := ecdsa.GenerateKey(self.curve, rand.Reader) - if err != nil { - log.Fatalf("[ECDSAManager] Failed to generate certificate key: %s", err) - } - - return key -} - -// GenerateCertificate implements certificate Creator interface. See Creator for more information. -func (self *ecdsaCreator) GenerateCertificate(key interface{}) []byte { - ecdsaKey := self.getKey(key) - pod := self.getDashboardPod() - - notBefore := time.Now() - validFor, _ := time.ParseDuration("8760h") - notAfter := notBefore.Add(validFor) - - template := x509.Certificate{ - SerialNumber: self.generateSerialNumber(), - NotAfter: notAfter, - NotBefore: notBefore, - } - - if len(pod.Name) > 0 && len(pod.Namespace) > 0 { - podDomainName := pod.Name + "." + pod.Namespace - template.Subject = pkix.Name{CommonName: podDomainName} - template.Issuer = pkix.Name{CommonName: podDomainName} - template.DNSNames = []string{podDomainName} - } - - if len(pod.Status.PodIP) > 0 { - template.IPAddresses = []net.IP{net.ParseIP(pod.Status.PodIP)} - } - - certBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, &ecdsaKey.PublicKey, ecdsaKey) - if err != nil { - log.Fatalf("[ECDSAManager] Failed to create certificate: %s", err) - } - - return certBytes -} - -// StoreCertificates implements certificate Creator interface. See Creator for more information. -func (self *ecdsaCreator) StoreCertificates(path string, key interface{}, certBytes []byte) { - keyPEM, certPEM, err := self.KeyCertPEMBytes(key, certBytes) - if err != nil { - log.Fatalf("[ECDSAManager] Failed to marshal cert/key pair: %v", err) - } - if err := os.WriteFile(path+string(os.PathSeparator)+self.GetCertFileName(), certPEM, os.FileMode(0644)); err != nil { - log.Fatalf("[ECDSAManager] Failed to open %s for writing: %s", self.GetCertFileName(), err) - } - if err := os.WriteFile(path+string(os.PathSeparator)+self.GetKeyFileName(), keyPEM, os.FileMode(0600)); err != nil { - log.Fatalf("[ECDSAManager] Failed to open %s for writing: %s", self.GetKeyFileName(), err) - } -} - -func (self *ecdsaCreator) KeyCertPEMBytes(key interface{}, certBytes []byte) ([]byte, []byte, error) { - marshaledKey, err := x509.MarshalECPrivateKey(self.getKey(key)) - if err != nil { - return nil, nil, err - } - keyPEM := pem.EncodeToMemory(&pem.Block{Type: "EC PRIVATE KEY", Bytes: marshaledKey}) - certPEM := pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: certBytes}) - return keyPEM, certPEM, nil -} - -// GetKeyFileName implements certificate Creator interface. See Creator for more information. -func (self *ecdsaCreator) GetKeyFileName() string { - return self.keyFile -} - -// GetCertFileName implements certificate Creator interface. See Creator for more information. -func (self *ecdsaCreator) GetCertFileName() string { - return self.certFile -} - -func (self *ecdsaCreator) getKey(key interface{}) *ecdsa.PrivateKey { - ecdsaKey, ok := key.(*ecdsa.PrivateKey) - if !ok { - log.Fatal("[ECDSAManager] Key should be an instance of *ecdsa.PrivateKey") - } - - return ecdsaKey -} - -func (self *ecdsaCreator) generateSerialNumber() *big.Int { - serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128) - serialNumber, err := rand.Int(rand.Reader, serialNumberLimit) - if err != nil { - log.Fatalf("[ECDSAManager] Failed to generate serial number: %s", err) - } - - return serialNumber -} - -func (self *ecdsaCreator) getDashboardPod() *corev1.Pod { - // These variables are populated by kubernetes downward API when using in-cluster config - podName := os.Getenv("POD_NAME") - podNamespace := os.Getenv("POD_NAMESPACE") - podIP := os.Getenv("POD_IP") - - return &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Name: podName, - Namespace: podNamespace, - }, - Status: corev1.PodStatus{ - PodIP: podIP, - }, - } -} - -func (self *ecdsaCreator) init() { - if len(self.certFile) == 0 { - self.certFile = certapi.DashboardCertName - } - - if len(self.keyFile) == 0 { - self.keyFile = certapi.DashboardKeyName - } -} - -// NewECDSACreator creates ECDSACreator instance. -func NewECDSACreator(keyFile, certFile string, curve elliptic.Curve) certapi.Creator { - creator := &ecdsaCreator{ - curve: curve, - keyFile: keyFile, - certFile: certFile, - } - - creator.init() - return creator -} diff --git a/modules/api/pkg/cert/manager.go b/modules/api/pkg/cert/manager.go deleted file mode 100644 index f45d89f9b704..000000000000 --- a/modules/api/pkg/cert/manager.go +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package cert - -import ( - "crypto/tls" - "log" - "os" - - certapi "k8s.io/dashboard/api/pkg/cert/api" -) - -// Manager is used to implement cert/api/types.Manager interface. See Manager for more information. -type Manager struct { - creator certapi.Creator - certDir string -} - -// GetCertificates implements Manager interface. See Manager for more information. -func (self *Manager) GetCertificates() (tls.Certificate, error) { - if self.keyFileExists() && self.certFileExists() { - log.Println("Certificates already exist. Returning.") - return tls.LoadX509KeyPair( - self.path(self.creator.GetCertFileName()), - self.path(self.creator.GetKeyFileName()), - ) - } - - key := self.creator.GenerateKey() - cert := self.creator.GenerateCertificate(key) - log.Println("Successfully created certificates") - keyPEM, certPEM, err := self.creator.KeyCertPEMBytes(key, cert) - if err != nil { - return tls.Certificate{}, err - } - return tls.X509KeyPair(certPEM, keyPEM) -} - -func (self *Manager) keyFileExists() bool { - return self.exists(self.path(self.creator.GetKeyFileName())) -} - -func (self *Manager) certFileExists() bool { - return self.exists(self.path(self.creator.GetCertFileName())) -} - -func (self *Manager) path(certFile string) string { - return self.certDir + string(os.PathSeparator) + certFile -} - -func (self *Manager) exists(file string) bool { - _, err := os.Stat(file) - return !os.IsNotExist(err) -} - -// NewCertManager creates Manager object. -func NewCertManager(creator certapi.Creator, certDir string) certapi.Manager { - return &Manager{creator: creator, certDir: certDir} -} diff --git a/modules/api/pkg/handler/apihandler.go b/modules/api/pkg/handler/apihandler.go index bb200b72c41f..c6b535972091 100644 --- a/modules/api/pkg/handler/apihandler.go +++ b/modules/api/pkg/handler/apihandler.go @@ -73,7 +73,6 @@ import ( "k8s.io/dashboard/api/pkg/scaling" "k8s.io/dashboard/api/pkg/settings" settingsApi "k8s.io/dashboard/api/pkg/settings/api" - "k8s.io/dashboard/api/pkg/systembanner" "k8s.io/dashboard/api/pkg/validation" ) @@ -100,8 +99,7 @@ type TerminalResponse struct { // CreateHTTPAPIHandler creates a new HTTP handler that handles all requests to the API of the backend. func CreateHTTPAPIHandler(iManager integration.IntegrationManager, cManager clientapi.ClientManager, - authManager authApi.AuthManager, sManager settingsApi.SettingsManager, - sbManager systembanner.SystemBannerManager) (http.Handler, error) { + authManager authApi.AuthManager, sManager settingsApi.SettingsManager) (http.Handler, error) { apiHandler := APIHandler{iManager: iManager, cManager: cManager, sManager: sManager} wsContainer := restful.NewContainer() wsContainer.EnableContentEncoding(true) @@ -127,9 +125,6 @@ func CreateHTTPAPIHandler(iManager integration.IntegrationManager, cManager clie settingsHandler := settings.NewSettingsHandler(sManager, cManager) settingsHandler.Install(apiV1Ws) - systemBannerHandler := systembanner.NewSystemBannerHandler(sbManager) - systemBannerHandler.Install(apiV1Ws) - apiV1Ws.Route( apiV1Ws.GET("csrftoken/{action}"). To(apiHandler.handleGetCsrfToken). diff --git a/modules/api/pkg/handler/apihandler_test.go b/modules/api/pkg/handler/apihandler_test.go index fd2475eb27de..8825f13c91b0 100644 --- a/modules/api/pkg/handler/apihandler_test.go +++ b/modules/api/pkg/handler/apihandler_test.go @@ -15,16 +15,16 @@ package handler import ( + "bytes" "encoding/json" "net/http" - "testing" - - "bytes" "reflect" "strings" + "testing" - restful "github.com/emicklei/go-restful/v3" + "github.com/emicklei/go-restful/v3" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/args" "k8s.io/dashboard/api/pkg/auth" authApi "k8s.io/dashboard/api/pkg/auth/api" @@ -32,7 +32,6 @@ import ( "k8s.io/dashboard/api/pkg/client" "k8s.io/dashboard/api/pkg/settings" "k8s.io/dashboard/api/pkg/sync" - "k8s.io/dashboard/api/pkg/systembanner" ) func getTokenManager() authApi.TokenManager { @@ -46,8 +45,7 @@ func TestCreateHTTPAPIHandler(t *testing.T) { cManager := client.NewClientManager("", "http://localhost:8080") authManager := auth.NewAuthManager(cManager, getTokenManager(), authApi.AuthenticationModes{}, true) sManager := settings.NewSettingsManager() - sbManager := systembanner.NewSystemBannerManager("Hello world!", "INFO") - _, err := CreateHTTPAPIHandler(nil, cManager, authManager, sManager, sbManager) + _, err := CreateHTTPAPIHandler(nil, cManager, authManager, sManager) if err != nil { t.Fatal("CreateHTTPAPIHandler() cannot create HTTP API handler") } diff --git a/modules/api/pkg/handler/confighandler.go b/modules/api/pkg/handler/confighandler.go deleted file mode 100644 index b61ddb3c0399..000000000000 --- a/modules/api/pkg/handler/confighandler.go +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "encoding/json" - "log" - "net/http" - "text/template" - "time" -) - -// AppHandler is an application handler. -type AppHandler func(http.ResponseWriter, *http.Request) (int, error) - -// AppConfig is a global configuration of application. -type AppConfig struct { - // ServerTime is current server time. - ServerTime int64 `json:"serverTime"` -} - -const ( - // ConfigTemplateName is a name of config template - ConfigTemplateName = "appConfig" - // ConfigTemplate is a template of a config - ConfigTemplate = "{{.}}" -) - -// ServeHTTP serves HTTP endpoint with application configuration. -func (fn AppHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - if _, err := fn(w, r); err != nil { - http.Error(w, http.StatusText(http.StatusInternalServerError), - http.StatusInternalServerError) - } -} - -func getAppConfigJSON() string { - log.Println("Getting application global configuration") - - config := &AppConfig{ - ServerTime: time.Now().UTC().UnixNano() / 1e6, - } - - jsonConfig, _ := json.Marshal(config) - log.Printf("Application configuration %s", jsonConfig) - return string(jsonConfig) -} - -func ConfigHandler(w http.ResponseWriter, r *http.Request) (int, error) { - configTemplate, err := template.New(ConfigTemplateName).Parse(ConfigTemplate) - w.Header().Set("Content-Type", "application/json") - if err != nil { - return http.StatusInternalServerError, err - } - return http.StatusOK, configTemplate.Execute(w, getAppConfigJSON()) -} diff --git a/modules/api/pkg/handler/gziphandler.go b/modules/api/pkg/handler/gziphandler.go deleted file mode 100644 index 3d4730791e7a..000000000000 --- a/modules/api/pkg/handler/gziphandler.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "compress/gzip" - "io" - "net/http" - "strings" -) - -type gzipResponseWriter struct { - io.Writer - http.ResponseWriter -} - -// Use the Writer part of gzipResponseWriter to write the output. -func (w gzipResponseWriter) Write(b []byte) (int, error) { - return w.Writer.Write(b) -} - -// MakeGzipHandler adds support for gzip compression for given handler -func MakeGzipHandler(handler http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - // Check if the client can accept the gzip encoding. - if !strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { - handler.ServeHTTP(w, r) - return - } - - // Set the HTTP header indicating encoding. - w.Header().Set("Content-Encoding", "gzip") - gz := gzip.NewWriter(w) - defer gz.Close() - gzw := gzipResponseWriter{Writer: gz, ResponseWriter: w} - handler.ServeHTTP(gzw, r) - }) -} diff --git a/modules/api/pkg/handler/localehandler.go b/modules/api/pkg/handler/localehandler.go deleted file mode 100644 index c02028022909..000000000000 --- a/modules/api/pkg/handler/localehandler.go +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "encoding/json" - "net/http" - "os" - "path/filepath" - "strings" - - "github.com/golang/glog" - "golang.org/x/text/language" - - "k8s.io/dashboard/api/pkg/args" -) - -const defaultLocaleDir = "en" -const assetsDir = "public" - -// Localization is a spec for the localization configuration of dashboard. -type Localization struct { - Translations []string `json:"translations"` -} - -// LocaleHandler serves different localized versions of the frontend application -// based on the Accept-Language header. -type LocaleHandler struct { - SupportedLocales []language.Tag -} - -// CreateLocaleHandler loads the localization configuration and constructs a LocaleHandler. -func CreateLocaleHandler() *LocaleHandler { - locales, err := getSupportedLocales(args.Holder.GetLocaleConfig()) - if err != nil { - glog.Warningf("Error when loading the localization configuration. Dashboard will not be localized. %s", err) - locales = []language.Tag{} - } - return &LocaleHandler{SupportedLocales: locales} -} - -func getSupportedLocales(configFile string) ([]language.Tag, error) { - // read config file - localesFile, err := os.ReadFile(configFile) - if err != nil { - return []language.Tag{}, err - } - - // unmarshall - localization := Localization{} - err = json.Unmarshal(localesFile, &localization) - if err != nil { - glog.Warningf("%s %s", string(localesFile), err) - } - - // filter locale keys - result := []language.Tag{} - for _, translation := range localization.Translations { - result = append(result, language.Make(translation)) - } - return result, nil -} - -// getAssetsDir determines the absolute path to the localized frontend assets -func getAssetsDir() string { - path, err := os.Executable() - if err != nil { - glog.Fatalf("Error determining path to executable: %#v", err) - } - path, err = filepath.EvalSymlinks(path) - if err != nil { - glog.Fatalf("Error evaluating symlinks for path '%s': %#v", path, err) - } - return filepath.Join(filepath.Dir(path), assetsDir) -} - -// LocaleHandler serves different html versions based on the Accept-Language header. -func (handler *LocaleHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - if r.URL.EscapedPath() == "/" || r.URL.EscapedPath() == "/index.html" { - // Do not store the html page in the cache. If the user is to click on 'switch language', - // we want a different index.html (for the right locale) to be served when the page refreshes. - w.Header().Add("Cache-Control", "no-cache, no-store, must-revalidate") - } - - // Disable directory listing. - if r.URL.Path != "/" && strings.HasSuffix(r.URL.Path, "/") { - http.NotFound(w, r) - return - } - - acceptLanguage := "" - cookie, err := r.Cookie("lang") - if err == nil { - acceptLanguage = cookie.Value - } - - if len(acceptLanguage) == 0 { - acceptLanguage = os.Getenv("ACCEPT_LANGUAGE") - } - - if len(acceptLanguage) == 0 { - acceptLanguage = r.Header.Get("Accept-Language") - } - - dirName := handler.determineLocalizedDir(acceptLanguage) - http.FileServer(http.Dir(dirName)).ServeHTTP(w, r) -} - -func (handler *LocaleHandler) determineLocalizedDir(locale string) string { - // TODO(floreks): Remove that once new locale codes are supported by the browsers. - // For backward compatibility only. - localeMap := strings.NewReplacer( - "zh-CN", "zh-Hans", - "zh-cn", "zh-Hans", - "zh-TW", "zh-Hant", - "zh-tw", "zh-Hant", - "zh-hk", "zh-Hant-HK", - "zh-HK", "zh-Hant-HK", - ) - - return handler.getLocaleDir(localeMap.Replace(locale)) -} - -func (handler *LocaleHandler) getLocaleDir(locale string) string { - localeDir := "" - assetsDir := getAssetsDir() - tags, _, _ := language.ParseAcceptLanguage(locale) - localeMap := handler.getLocaleMap() - - for _, tag := range tags { - if _, exists := localeMap[tag.String()]; exists { - localeDir = filepath.Join(assetsDir, tag.String()) - break - } - } - - if handler.dirExists(localeDir) { - return localeDir - } - - return filepath.Join(assetsDir, defaultLocaleDir) -} - -func (handler *LocaleHandler) getLocaleMap() map[string]struct{} { - result := map[string]struct{}{} - for _, tag := range handler.SupportedLocales { - result[tag.String()] = struct{}{} - } - - return result -} - -func (handler *LocaleHandler) dirExists(name string) bool { - if _, err := os.Stat(name); err != nil { - if os.IsNotExist(err) { - glog.Warningf(name) - return false - } - } - - return true -} diff --git a/modules/api/pkg/handler/localehandler_test.go b/modules/api/pkg/handler/localehandler_test.go deleted file mode 100644 index e7abf5f8951c..000000000000 --- a/modules/api/pkg/handler/localehandler_test.go +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package handler - -import ( - "encoding/json" - "os" - "path/filepath" - "reflect" - "testing" - - "golang.org/x/text/language" -) - -func languageMake(locales []string) []language.Tag { - result := []language.Tag{} - for _, locale := range locales { - result = append(result, language.Make(locale)) - } - return result -} - -func TestGetSupportedLocales(t *testing.T) { - cases := []struct { - localization Localization - expected []language.Tag - }{ - { - Localization{ - Translations: []string{"en", "ja"}, - }, - languageMake([]string{"en", "ja"}), - }, - { - Localization{}, - []language.Tag{}, - }, - } - - for _, c := range cases { - configFile, err := os.CreateTemp("", "test-locale-config") - if err != nil { - t.Fatalf("%s", err) - } - defer os.Remove(configFile.Name()) - - fileContent, _ := json.Marshal(c.localization) - configFile.Write(fileContent) - actual, _ := getSupportedLocales(configFile.Name()) - if !reflect.DeepEqual(actual, c.expected) { - t.Errorf("getSupportedLocales() returns %#v, expected %#v", actual, c.expected) - } - } -} - -func TestDetermineLocale(t *testing.T) { - assetsDir := getAssetsDir() - defaultDir := filepath.Join(assetsDir, defaultLocaleDir) - cases := []struct { - handler *LocaleHandler - createDir bool - acceptLanguageKey string - expected string - }{ - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - false, - "en", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - false, - "de", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - false, - "ja", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "ja", - filepath.Join(assetsDir, "ja"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "ja,en-US;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "ja"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "af,ja,en-US;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "ja"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "af,en-US;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "en"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "ja"}), - }, - true, - "", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "en", - filepath.Join(assetsDir, "en"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "zh", - filepath.Join(assetsDir, "zh"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "ar-DZ", - filepath.Join(assetsDir, "ar-DZ"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hant", "zh-Hans", "ar-DZ"}), - }, - true, - "ar-BH", - defaultDir, - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "af,zh-HK,zh;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "zh-Hant-HK"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "af,zh-TW,zh;q=0.8,en;q=0.6", - filepath.Join(assetsDir, "zh-Hant"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "zh-tw", - filepath.Join(assetsDir, "zh-Hant"), - }, - { - &LocaleHandler{ - SupportedLocales: languageMake([]string{"en", "zh", "zh-Hans", "zh-Hant", "zh-Hant-HK"}), - }, - true, - "zh-hant-hk", - filepath.Join(assetsDir, "zh-Hant-HK"), - }, - } - - for _, c := range cases { - func() { - if c.createDir { - err := os.Mkdir(assetsDir, 0777) - if err != nil { - t.Fatalf("%s", err) - } - for _, lang := range c.handler.SupportedLocales { - err = os.Mkdir(filepath.Join(assetsDir, lang.String()), 0777) - if err != nil { - t.Fatalf("%s", err) - } - } - defer os.RemoveAll(assetsDir) - } - actual := c.handler.determineLocalizedDir(c.acceptLanguageKey) - if !reflect.DeepEqual(actual, c.expected) { - t.Errorf("localeHandler.determineLocalizedDir(%#v) returns %#v, expected %#v", c.acceptLanguageKey, actual, c.expected) - } - }() - } -} diff --git a/modules/api/pkg/systembanner/api/types.go b/modules/api/pkg/systembanner/api/types.go deleted file mode 100644 index 1e437cd1dd38..000000000000 --- a/modules/api/pkg/systembanner/api/types.go +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package api - -// SystemBannerManager is used for user system banner management. -type SystemBannerManager interface { - // Get system banner. - Get() *SystemBanner -} - -// SystemBanner represents system banner. -type SystemBanner struct { - Message string `json:"message"` - Severity SystemBannerSeverity `json:"severity"` -} - -// SystemBannerSeverity represents severity of system banner. -type SystemBannerSeverity string - -const ( - // SystemBannerSeverityInfo is the lowest of allowed system banner severities. - SystemBannerSeverityInfo SystemBannerSeverity = "INFO" - - // SystemBannerSeverityWarning is in the middle of allowed system banner severities. - SystemBannerSeverityWarning SystemBannerSeverity = "WARNING" - - // SystemBannerSeverityError is the highest of allowed system banner severities. - SystemBannerSeverityError SystemBannerSeverity = "ERROR" -) - -// GetSeverity returns one of allowed severity values based on given parameter. -func GetSeverity(severity string) SystemBannerSeverity { - switch severity { - case string(SystemBannerSeverityWarning): - return SystemBannerSeverityWarning - case string(SystemBannerSeverityError): - return SystemBannerSeverityError - default: - return SystemBannerSeverityInfo - } -} diff --git a/modules/api/pkg/systembanner/handler.go b/modules/api/pkg/systembanner/handler.go deleted file mode 100644 index cd4b4d1b8883..000000000000 --- a/modules/api/pkg/systembanner/handler.go +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package systembanner - -import ( - "net/http" - - restful "github.com/emicklei/go-restful/v3" - "k8s.io/dashboard/api/pkg/systembanner/api" -) - -// SystemBannerHandler manages all endpoints related to system banner management. -type SystemBannerHandler struct { - manager SystemBannerManager -} - -// Install creates new endpoints for system banner management. -func (self *SystemBannerHandler) Install(ws *restful.WebService) { - ws.Route( - ws.GET("/systembanner"). - To(self.handleGet). - Writes(api.SystemBanner{})) -} - -func (self *SystemBannerHandler) handleGet(request *restful.Request, response *restful.Response) { - response.WriteHeaderAndEntity(http.StatusOK, self.manager.Get()) -} - -// NewSystemBannerHandler creates SystemBannerHandler. -func NewSystemBannerHandler(manager SystemBannerManager) SystemBannerHandler { - return SystemBannerHandler{manager: manager} -} diff --git a/modules/api/pkg/systembanner/manager.go b/modules/api/pkg/systembanner/manager.go deleted file mode 100644 index 53a941c82ee0..000000000000 --- a/modules/api/pkg/systembanner/manager.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package systembanner - -import ( - "k8s.io/dashboard/api/pkg/systembanner/api" -) - -// SystemBannerManager is a structure containing all system banner manager members. -type SystemBannerManager struct { - systemBanner api.SystemBanner -} - -// NewSystemBannerManager creates new settings manager. -func NewSystemBannerManager(message, severity string) SystemBannerManager { - return SystemBannerManager{ - systemBanner: api.SystemBanner{ - Message: message, - Severity: api.GetSeverity(severity), - }, - } -} - -// Get implements SystemBannerManager interface. Check it for more information. -func (sbm *SystemBannerManager) Get() api.SystemBanner { - return sbm.systemBanner -} diff --git a/modules/web/pkg/cert/api/types.go b/modules/certificates/api/types.go similarity index 97% rename from modules/web/pkg/cert/api/types.go rename to modules/certificates/api/types.go index 8ca74cd08dc4..471679734e73 100644 --- a/modules/web/pkg/cert/api/types.go +++ b/modules/certificates/api/types.go @@ -27,7 +27,7 @@ const ( // to serve over HTTPS. type Manager interface { // GetCertificates loads existing certificates or generates self-signed certificates. - GetCertificates() (tls.Certificate, error) + GetCertificates() ([]tls.Certificate, error) } // Creator is responsible for preparing and generating certificates. diff --git a/modules/web/pkg/cert/ecdsa/creator.go b/modules/certificates/ecdsa/creator.go similarity index 97% rename from modules/web/pkg/cert/ecdsa/creator.go rename to modules/certificates/ecdsa/creator.go index fdd8ae1d4172..f177a1297dbc 100644 --- a/modules/web/pkg/cert/ecdsa/creator.go +++ b/modules/certificates/ecdsa/creator.go @@ -30,7 +30,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - certapi "k8s.io/dashboard/web/pkg/cert/api" + certapi "k8s.io/dashboard/certificates/api" ) // Implements certificate Creator interface. See Creator for more information. @@ -141,7 +141,7 @@ func (self *ecdsaCreator) generateSerialNumber() *big.Int { } func (self *ecdsaCreator) getDashboardPod() *corev1.Pod { - // These variables are populated by kubernetes downward API when using in-cluster config + // These variables might be populated by kubernetes downward API when running inside the cluster podName := os.Getenv("POD_NAME") podNamespace := os.Getenv("POD_NAMESPACE") podIP := os.Getenv("POD_IP") diff --git a/modules/api/pkg/cert/ecdsa/creator_test.go b/modules/certificates/ecdsa/creator_test.go similarity index 100% rename from modules/api/pkg/cert/ecdsa/creator_test.go rename to modules/certificates/ecdsa/creator_test.go diff --git a/modules/certificates/go.mod b/modules/certificates/go.mod new file mode 100644 index 000000000000..60524ca85f6f --- /dev/null +++ b/modules/certificates/go.mod @@ -0,0 +1,26 @@ +module k8s.io/dashboard/certificates + +go 1.18 + +require ( + k8s.io/api v0.23.6 + k8s.io/apimachinery v0.23.6 +) + +require ( + github.com/go-logr/logr v1.2.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/go-cmp v0.5.5 // indirect + github.com/google/gofuzz v1.1.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect + golang.org/x/text v0.3.7 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + k8s.io/klog/v2 v2.30.0 // indirect + k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect + sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect +) diff --git a/modules/certificates/go.sum b/modules/certificates/go.sum new file mode 100644 index 000000000000..4e7e41daf21e --- /dev/null +++ b/modules/certificates/go.sum @@ -0,0 +1,241 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +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= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/api v0.23.6 h1:yOK34wbYECH4RsJbQ9sfkFK3O7f/DUHRlzFehkqZyVw= +k8s.io/api v0.23.6/go.mod h1:1kFaYxGCFHYp3qd6a85DAj/yW8aVD6XLZMqJclkoi9g= +k8s.io/apimachinery v0.23.6 h1:RH1UweWJkWNTlFx0D8uxOpaU1tjIOvVVWV/bu5b3/NQ= +k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/modules/web/pkg/cert/manager.go b/modules/certificates/manager.go similarity index 58% rename from modules/web/pkg/cert/manager.go rename to modules/certificates/manager.go index f29eca325135..4f70d1ed6b0a 100644 --- a/modules/web/pkg/cert/manager.go +++ b/modules/certificates/manager.go @@ -12,40 +12,50 @@ // See the License for the specific language governing permissions and // limitations under the License. -package cert +package certificates import ( "crypto/tls" "log" "os" - certapi "k8s.io/dashboard/web/pkg/cert/api" + "k8s.io/dashboard/certificates/api" ) // Manager is used to implement cert/api/types.Manager interface. See Manager for more information. type Manager struct { - creator certapi.Creator - certDir string + creator api.Creator + certDir string + autogenerate bool } // GetCertificates implements Manager interface. See Manager for more information. -func (self *Manager) GetCertificates() (tls.Certificate, error) { - if self.keyFileExists() && self.certFileExists() { +func (self *Manager) GetCertificates() ([]tls.Certificate, error) { + // Make the autogenerate the top priority option. + if self.autogenerate { + key := self.creator.GenerateKey() + cert := self.creator.GenerateCertificate(key) + log.Println("Successfully created certificates") + keyPEM, certPEM, err := self.creator.KeyCertPEMBytes(key, cert) + if err != nil { + return []tls.Certificate{}, err + } + certificate, err := tls.X509KeyPair(certPEM, keyPEM) + return []tls.Certificate{certificate}, err + } + + // When autogenerate is disabled and provided cert files exist use them. + if self.keyFileExists() && self.certFileExists() && !self.autogenerate { log.Println("Certificates already exist. Returning.") - return tls.LoadX509KeyPair( + certificate, err := tls.LoadX509KeyPair( self.path(self.creator.GetCertFileName()), self.path(self.creator.GetKeyFileName()), ) - } - key := self.creator.GenerateKey() - cert := self.creator.GenerateCertificate(key) - log.Println("Successfully created certificates") - keyPEM, certPEM, err := self.creator.KeyCertPEMBytes(key, cert) - if err != nil { - return tls.Certificate{}, err + return []tls.Certificate{certificate}, err } - return tls.X509KeyPair(certPEM, keyPEM) + + return nil, nil } func (self *Manager) keyFileExists() bool { @@ -66,6 +76,6 @@ func (self *Manager) exists(file string) bool { } // NewCertManager creates Manager object. -func NewCertManager(creator certapi.Creator, certDir string) certapi.Manager { - return &Manager{creator: creator, certDir: certDir} +func NewCertManager(creator api.Creator, certDir string, autogenerate bool) api.Manager { + return &Manager{creator: creator, certDir: certDir, autogenerate: autogenerate} } diff --git a/modules/go.work b/modules/go.work new file mode 100644 index 000000000000..757fd092b7fb --- /dev/null +++ b/modules/go.work @@ -0,0 +1,8 @@ +go 1.18 + +use ( + ./api // k8s.io/dashboard/api + ./certificates // k8s.io/dashboard/certificates + ./tools // k8s.io/dashboard/tools + ./web // k8s.io/dashboard/web +) diff --git a/modules/go.work.sum b/modules/go.work.sum new file mode 100644 index 000000000000..ac8d8a2fae1f --- /dev/null +++ b/modules/go.work.sum @@ -0,0 +1,3 @@ +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= diff --git a/modules/tools/go.mod b/modules/tools/go.mod index 3db4a1d26726..5892b3fb2635 100644 --- a/modules/tools/go.mod +++ b/modules/tools/go.mod @@ -9,20 +9,24 @@ require ( require ( github.com/bmatcuk/doublestar/v2 v2.0.4 // indirect - github.com/golang/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-github/v33 v33.0.0 // indirect github.com/google/go-querystring v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect - github.com/sirupsen/logrus v1.7.0 // indirect - github.com/spf13/cobra v1.1.1 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/sirupsen/logrus v1.8.1 // indirect + github.com/spf13/cobra v1.2.1 // indirect github.com/spf13/pflag v1.0.5 // indirect golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f // indirect - golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect + golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect + golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - google.golang.org/appengine v1.6.1 // indirect - gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/protobuf v1.27.1 // indirect + gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/modules/tools/go.sum b/modules/tools/go.sum index b559981b4267..bbb96a3ba47d 100644 --- a/modules/tools/go.sum +++ b/modules/tools/go.sum @@ -57,12 +57,13 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-github/v33 v33.0.0 h1:qAf9yP0qc54ufQxzwv+u9H0tiVOnPJxo0lI/JXqw3ZM= github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhANBBwm6k6TTEXg= github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= @@ -109,11 +110,10 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -130,6 +130,7 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -154,16 +155,16 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.1.1 h1:KfztREH0tPxJJ+geloSLaAkaPkr4ki2Er5quFV1TDo4= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -172,8 +173,8 @@ github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5q github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -229,12 +230,11 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -304,8 +304,8 @@ google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsb google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -318,10 +318,11 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= 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= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= @@ -329,8 +330,8 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/modules/web/angular.json b/modules/web/angular.json index 50e67d0fbdf6..5fde1478054b 100644 --- a/modules/web/angular.json +++ b/modules/web/angular.json @@ -121,6 +121,29 @@ "with": "src/environments/environment.prod.ts" } ] + }, + "production-en": { + "budgets": [ + { + "type": "anyComponentStyle", + "maximumWarning": "6kb" + } + ], + "aot": true, + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "namedChunks": false, + "localize": false, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ] } } }, @@ -133,6 +156,9 @@ "configurations": { "production": { "browserTarget": "kubernetes-dashboard:build:production" + }, + "production-en": { + "browserTarget": "kubernetes-dashboard:build:production-en" } } }, diff --git a/modules/web/go.mod b/modules/web/go.mod index 184f7527ac45..b18be9d73358 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -6,8 +6,7 @@ require ( github.com/golang/glog v1.0.0 github.com/spf13/pflag v1.0.5 golang.org/x/text v0.3.7 - k8s.io/api v0.23.6 - k8s.io/apimachinery v0.23.6 + k8s.io/dashboard/certificates v0.0.0-00010101000000-000000000000 ) require ( @@ -21,8 +20,12 @@ require ( golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect + k8s.io/api v0.23.6 // indirect + k8s.io/apimachinery v0.23.6 // indirect k8s.io/klog/v2 v2.30.0 // indirect k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect ) + +replace k8s.io/dashboard/certificates => ../certificates diff --git a/modules/web/main.go b/modules/web/main.go index 56c97faa7ea0..f5259d5386f2 100644 --- a/modules/web/main.go +++ b/modules/web/main.go @@ -26,9 +26,9 @@ import ( "github.com/spf13/pflag" + "k8s.io/dashboard/certificates" + "k8s.io/dashboard/certificates/ecdsa" "k8s.io/dashboard/web/pkg/args" - "k8s.io/dashboard/web/pkg/cert" - "k8s.io/dashboard/web/pkg/cert/ecdsa" "k8s.io/dashboard/web/pkg/handler" "k8s.io/dashboard/web/pkg/systembanner" ) @@ -48,6 +48,7 @@ var ( ) func main() { + // TODO: use klog instead? // Set logging output to standard console out log.SetOutput(os.Stdout) @@ -55,61 +56,55 @@ func main() { pflag.Parse() _ = flag.CommandLine.Parse(make([]string, 0)) // Init for glog calls in kubernetes packages - // Initializes dashboard arguments holder so we can read them in other packages + // Initializes dashboard arguments holder, so we can read them in other packages initArgHolder() // Init system banner manager systemBannerManager := systembanner.NewSystemBannerManager(args.Holder.GetSystemBanner(), args.Holder.GetSystemBannerSeverity()) + systembanner.NewSystemBannerHandler(systemBannerManager).Install() - var servingCerts []tls.Certificate - if args.Holder.GetAutoGenerateCertificates() { - log.Println("Auto-generating certificates") - certCreator := ecdsa.NewECDSACreator(args.Holder.GetKeyFile(), args.Holder.GetCertFile(), elliptic.P256()) - certManager := cert.NewCertManager(certCreator, args.Holder.GetDefaultCertDir()) - servingCert, err := certManager.GetCertificates() - if err != nil { - handleFatalInitServingCertError(err) - } - servingCerts = []tls.Certificate{servingCert} - } else if args.Holder.GetCertFile() != "" && args.Holder.GetKeyFile() != "" { - certFilePath := args.Holder.GetDefaultCertDir() + string(os.PathSeparator) + args.Holder.GetCertFile() - keyFilePath := args.Holder.GetDefaultCertDir() + string(os.PathSeparator) + args.Holder.GetKeyFile() - servingCert, err := tls.LoadX509KeyPair(certFilePath, keyFilePath) - if err != nil { - handleFatalInitServingCertError(err) - } - servingCerts = []tls.Certificate{servingCert} + certCreator := ecdsa.NewECDSACreator(args.Holder.GetKeyFile(), args.Holder.GetCertFile(), elliptic.P256()) + certManager := certificates.NewCertManager(certCreator, args.Holder.GetDefaultCertDir(), args.Holder.GetAutoGenerateCertificates()) + certs, err := certManager.GetCertificates() + if err != nil { + handleFatalInitServingCertError(err) } - // Run a HTTP server that serves static public files from './public' and handles API calls. + // Run HTTP server that serves static public files from './public' and handles API calls. http.Handle("/", handler.MakeGzipHandler(handler.CreateLocaleHandler())) http.Handle("/config", handler.AppHandler(handler.ConfigHandler)) - systemBannerHandler := systembanner.NewSystemBannerHandler(systemBannerManager) - systemBannerHandler.Install() - // Listen for http or https - if servingCerts != nil { - log.Printf("Serving securely on HTTPS port: %d", args.Holder.GetPort()) - secureAddr := fmt.Sprintf("%s:%d", args.Holder.GetBindAddress(), args.Holder.GetPort()) - server := &http.Server{ - Addr: secureAddr, - Handler: http.DefaultServeMux, - TLSConfig: &tls.Config{ - Certificates: servingCerts, - MinVersion: tls.VersionTLS12, - }, - } - go func() { log.Fatal(server.ListenAndServeTLS("", "")) }() + if certs != nil { + serveTLS(certs) } else { - log.Printf("Serving insecurely on HTTP port: %d", args.Holder.GetInsecurePort()) - addr := fmt.Sprintf("%s:%d", args.Holder.GetInsecureBindAddress(), args.Holder.GetInsecurePort()) - go func() { log.Fatal(http.ListenAndServe(addr, nil)) }() + serve() } + select {} } +func serve() { + log.Printf("Serving insecurely on HTTP port: %d", args.Holder.GetInsecurePort()) + addr := fmt.Sprintf("%s:%d", args.Holder.GetInsecureBindAddress(), args.Holder.GetInsecurePort()) + go func() { log.Fatal(http.ListenAndServe(addr, nil)) }() +} + +func serveTLS(certificates []tls.Certificate) { + log.Printf("Serving securely on HTTPS port: %d", args.Holder.GetPort()) + secureAddr := fmt.Sprintf("%s:%d", args.Holder.GetBindAddress(), args.Holder.GetPort()) + server := &http.Server{ + Addr: secureAddr, + Handler: http.DefaultServeMux, + TLSConfig: &tls.Config{ + Certificates: certificates, + MinVersion: tls.VersionTLS12, + }, + } + go func() { log.Fatal(server.ListenAndServeTLS("", "")) }() +} + func initArgHolder() { builder := args.GetHolderBuilder() builder.SetInsecurePort(*argInsecurePort) diff --git a/modules/web/package.json b/modules/web/package.json index 15838601def7..03c03fa07d79 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -14,10 +14,11 @@ "scripts": { "start": "npm run ensure:version && ng serve --proxy-config proxy.conf.json --host $npm_config_bind_address --port $npm_config_port", "start:https": "npm run ensure:version && ng serve --proxy-config aio/https-proxy.conf.json --ssl --host $npm_config_bind_address --port $npm_config_port", + "start:prod": "npm run ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", + "start:prod:https": "npm run ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", "build:prod": "scripts/build.sh", - "start:prod": "SIDECAR_HOST=$npm_config_sidecar_host BIND_ADDRESS=$npm_config_bind_address PORT=$npm_config_port ng build", "start:e2e": "concurrently \"make serve-backend\" \"npm run start:frontend\"", "check": "make check", "fix": "make fix", diff --git a/modules/web/pkg/args/builder.go b/modules/web/pkg/args/builder.go index 59240b91da06..152ae64c2b49 100644 --- a/modules/web/pkg/args/builder.go +++ b/modules/web/pkg/args/builder.go @@ -36,18 +36,6 @@ func (self *holderBuilder) SetPort(port int) *holderBuilder { return self } -// SetTokenTTL 'token-ttl' argument of Dashboard binary. -func (self *holderBuilder) SetTokenTTL(ttl int) *holderBuilder { - self.holder.tokenTTL = ttl - return self -} - -// SetMetricClientCheckPeriod 'metric-client-check-period' argument of Dashboard binary. -func (self *holderBuilder) SetMetricClientCheckPeriod(period int) *holderBuilder { - self.holder.metricClientCheckPeriod = period - return self -} - // SetInsecureBindAddress 'insecure-bind-address' argument of Dashboard binary. func (self *holderBuilder) SetInsecureBindAddress(ip net.IP) *holderBuilder { self.holder.insecureBindAddress = ip @@ -78,33 +66,9 @@ func (self *holderBuilder) SetKeyFile(keyFile string) *holderBuilder { return self } -// SetApiServerHost 'api-server-host' argument of Dashboard binary. -func (self *holderBuilder) SetApiServerHost(apiServerHost string) *holderBuilder { - self.holder.apiServerHost = apiServerHost - return self -} - -// SetMetricsProvider 'metrics-provider' argument of Dashboard binary. -func (self *holderBuilder) SetMetricsProvider(metricsProvider string) *holderBuilder { - self.holder.metricsProvider = metricsProvider - return self -} - -// SetHeapsterHost 'heapster-host' argument of Dashboard binary. -func (self *holderBuilder) SetHeapsterHost(heapsterHost string) *holderBuilder { - self.holder.heapsterHost = heapsterHost - return self -} - -// SetSidecarHost 'sidecar-host' argument of Dashboard binary. -func (self *holderBuilder) SetSidecarHost(sidecarHost string) *holderBuilder { - self.holder.sidecarHost = sidecarHost - return self -} - -// SetKubeConfigFile 'kubeconfig' argument of Dashboard binary. -func (self *holderBuilder) SetKubeConfigFile(kubeConfigFile string) *holderBuilder { - self.holder.kubeConfigFile = kubeConfigFile +// SetAutoGenerateCertificates 'auto-generate-certificates' argument of Dashboard binary. +func (self *holderBuilder) SetAutoGenerateCertificates(autoGenerateCertificates bool) *holderBuilder { + self.holder.autoGenerateCertificates = autoGenerateCertificates return self } @@ -120,48 +84,6 @@ func (self *holderBuilder) SetSystemBannerSeverity(systemBannerSeverity string) return self } -// SetLogLevel 'api-log-level' argument of Dashboard binary. -func (self *holderBuilder) SetAPILogLevel(apiLogLevel string) *holderBuilder { - self.holder.apiLogLevel = apiLogLevel - return self -} - -// SetAuthenticationMode 'authentication-mode' argument of Dashboard binary. -func (self *holderBuilder) SetAuthenticationMode(authMode []string) *holderBuilder { - self.holder.authenticationMode = authMode - return self -} - -// SetAutoGenerateCertificates 'auto-generate-certificates' argument of Dashboard binary. -func (self *holderBuilder) SetAutoGenerateCertificates(autoGenerateCertificates bool) *holderBuilder { - self.holder.autoGenerateCertificates = autoGenerateCertificates - return self -} - -// SetEnableInsecureLogin 'enable-insecure-login' argument of Dashboard binary. -func (self *holderBuilder) SetEnableInsecureLogin(enableInsecureLogin bool) *holderBuilder { - self.holder.enableInsecureLogin = enableInsecureLogin - return self -} - -// SetDisableSettingsAuthorizer 'disable-settings-authorizer' argument of Dashboard binary. -func (self *holderBuilder) SetDisableSettingsAuthorizer(disableSettingsAuthorizer bool) *holderBuilder { - self.holder.disableSettingsAuthorizer = disableSettingsAuthorizer - return self -} - -// SetEnableSkipLogin 'enable-skip-login' argument of Dashboard binary. -func (self *holderBuilder) SetEnableSkipLogin(enableSkipLogin bool) *holderBuilder { - self.holder.enableSkipLogin = enableSkipLogin - return self -} - -// SetNamespace 'namespace' argument of Dashboard binary. -func (self *holderBuilder) SetNamespace(namespace string) *holderBuilder { - self.holder.namespace = namespace - return self -} - // SetLocaleConfig 'locale-config' argument of Dashboard binary. func (self *holderBuilder) SetLocaleConfig(localeConfig string) *holderBuilder { self.holder.localeConfig = localeConfig diff --git a/modules/web/pkg/args/holder.go b/modules/web/pkg/args/holder.go index 668c7a7c700e..e183d04c724c 100644 --- a/modules/web/pkg/args/holder.go +++ b/modules/web/pkg/args/holder.go @@ -17,7 +17,7 @@ package args import ( "net" - "k8s.io/dashboard/web/pkg/cert/api" + "k8s.io/dashboard/certificates/api" ) var Holder = &holder{} @@ -25,10 +25,8 @@ var Holder = &holder{} // Argument holder structure. It is private to make sure that only 1 instance can be created. It holds all // arguments values passed to Dashboard binary. type holder struct { - insecurePort int - port int - tokenTTL int - metricClientCheckPeriod int + insecurePort int + port int insecureBindAddress net.IP bindAddress net.IP @@ -36,25 +34,11 @@ type holder struct { defaultCertDir string certFile string keyFile string - apiServerHost string - metricsProvider string - heapsterHost string - sidecarHost string - kubeConfigFile string + localeConfig string systemBanner string systemBannerSeverity string - apiLogLevel string - namespace string - authenticationMode []string - - autoGenerateCertificates bool - enableInsecureLogin bool - disableSettingsAuthorizer bool - - enableSkipLogin bool - - localeConfig string + autoGenerateCertificates bool } // GetInsecurePort 'insecure-port' argument of Dashboard binary. @@ -67,16 +51,6 @@ func (self *holder) GetPort() int { return self.port } -// GetTokenTTL 'token-ttl' argument of Dashboard binary. -func (self *holder) GetTokenTTL() int { - return self.tokenTTL -} - -// GetMetricClientCheckPeriod 'metric-client-check-period' argument of Dashboard binary. -func (self *holder) GetMetricClientCheckPeriod() int { - return self.metricClientCheckPeriod -} - // GetInsecureBindAddress 'insecure-bind-address' argument of Dashboard binary. func (self *holder) GetInsecureBindAddress() net.IP { return self.insecureBindAddress @@ -110,31 +84,6 @@ func (self *holder) GetKeyFile() string { return self.keyFile } -// GetApiServerHost 'apiserver-host' argument of Dashboard binary. -func (self *holder) GetApiServerHost() string { - return self.apiServerHost -} - -// GetMetricsProvider 'metrics-provider' argument of Dashboard binary. -func (self *holder) GetMetricsProvider() string { - return self.metricsProvider -} - -// GetHeapsterHost 'heapster-host' argument of Dashboard binary. -func (self *holder) GetHeapsterHost() string { - return self.heapsterHost -} - -// GetSidecarHost 'sidecar-host' argument of Dashboard binary. -func (self *holder) GetSidecarHost() string { - return self.sidecarHost -} - -// GetKubeConfigFile 'kubeconfig' argument of Dashboard binary. -func (self *holder) GetKubeConfigFile() string { - return self.kubeConfigFile -} - // GetSystemBanner 'system-banner' argument of Dashboard binary. func (self *holder) GetSystemBanner() string { return self.systemBanner @@ -145,41 +94,11 @@ func (self *holder) GetSystemBannerSeverity() string { return self.systemBannerSeverity } -// LogLevel 'api-log-level' argument of Dashboard binary. -func (self *holder) GetAPILogLevel() string { - return self.apiLogLevel -} - -// GetAuthenticationMode 'authentication-mode' argument of Dashboard binary. -func (self *holder) GetAuthenticationMode() []string { - return self.authenticationMode -} - // GetAutoGenerateCertificates 'auto-generate-certificates' argument of Dashboard binary. func (self *holder) GetAutoGenerateCertificates() bool { return self.autoGenerateCertificates } -// GetEnableInsecureLogin 'enable-insecure-login' argument of Dashboard binary. -func (self *holder) GetEnableInsecureLogin() bool { - return self.enableInsecureLogin -} - -// GetDisableSettingsAuthorizer 'disable-settings-authorizer' argument of Dashboard binary. -func (self *holder) GetDisableSettingsAuthorizer() bool { - return self.disableSettingsAuthorizer -} - -// GetEnableSkipLogin 'enable-skip-login' argument of Dashboard binary. -func (self *holder) GetEnableSkipLogin() bool { - return self.enableSkipLogin -} - -// GetNamespace 'namespace' argument of Dashboard binary. -func (self *holder) GetNamespace() string { - return self.namespace -} - // GetLocaleConfig 'locale-config' argument of Dashboard binary. func (self *holder) GetLocaleConfig() string { return self.localeConfig diff --git a/modules/web/pkg/cert/ecdsa/creator_test.go b/modules/web/pkg/cert/ecdsa/creator_test.go deleted file mode 100644 index ee283c657dc6..000000000000 --- a/modules/web/pkg/cert/ecdsa/creator_test.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package ecdsa_test - -import ( - "crypto/elliptic" - "testing" -) - -func TestNewECDSACreator(t *testing.T) { - keyFile := "cert.key" - certFile := "cert.crt" - creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) - - if creator == nil { - t.Fatal("Expected creator not to be nil.") - } -} - -func TestEcdsaCreator_GetCertFileName(t *testing.T) { - keyFile := "cert.key" - certFile := "cert.crt" - creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) - - if creator.GetCertFileName() != certFile { - t.Fatalf("Expected cert file name to equal %s but got %s.", certFile, creator.GetCertFileName()) - } -} - -func TestEcdsaCreator_GetKeyFileName(t *testing.T) { - keyFile := "cert.key" - certFile := "cert.crt" - creator := NewECDSACreator(keyFile, certFile, elliptic.P256()) - - if creator.GetKeyFileName() != keyFile { - t.Fatalf("Expected cert key file name to equal %s but got %s.", keyFile, creator.GetKeyFileName()) - } -} diff --git a/modules/web/pkg/systembanner/handler.go b/modules/web/pkg/systembanner/handler.go index 20f262343202..71224164deac 100644 --- a/modules/web/pkg/systembanner/handler.go +++ b/modules/web/pkg/systembanner/handler.go @@ -15,6 +15,7 @@ package systembanner import ( + "encoding/json" "net/http" "k8s.io/dashboard/web/pkg/handler" @@ -30,20 +31,19 @@ func (self *SystemBannerHandler) Install() { http.Handle("/systembanner", handler.AppHandler(self.handleGet)) } -// TODO: Fix that -func (self *SystemBannerHandler) handleGet(w http.ResponseWriter, r *http.Request) (int, error) { - //configTemplate, err := template.New(ConfigTemplateName).Parse(ConfigTemplate) - //w.Header().Set("Content-Type", "application/json") - //if err != nil { - // return http.StatusInternalServerError, err - //} +func (self *SystemBannerHandler) handleGet(w http.ResponseWriter, _ *http.Request) (int, error) { + w.Header().Set("Content-Type", "application/json") + encoder := json.NewEncoder(w) + systemBanner := self.manager.Get() + err := encoder.Encode(&systemBanner) + if err != nil { + return http.StatusInternalServerError, err + } return http.StatusOK, nil - - //response.WriteHeaderAndEntity(http.StatusOK, self.manager.Get()) } // NewSystemBannerHandler creates SystemBannerHandler. -func NewSystemBannerHandler(manager SystemBannerManager) SystemBannerHandler { - return SystemBannerHandler{manager: manager} +func NewSystemBannerHandler(manager SystemBannerManager) *SystemBannerHandler { + return &SystemBannerHandler{manager: manager} } diff --git a/modules/web/proxy-https.conf.json b/modules/web/proxy-https.conf.json index 267f5e511976..5f3420ebcdbe 100644 --- a/modules/web/proxy-https.conf.json +++ b/modules/web/proxy-https.conf.json @@ -10,5 +10,11 @@ "secure": false, "ws": true, "changeOrigin": true + }, + "/systembanner": { + "target": "http://localhost:8443", + "secure": false, + "ws": true, + "changeOrigin": true } } diff --git a/modules/web/proxy.conf.json b/modules/web/proxy.conf.json index e68244e386c4..0f5a3ee609b9 100644 --- a/modules/web/proxy.conf.json +++ b/modules/web/proxy.conf.json @@ -6,5 +6,9 @@ "/config": { "target": "http://localhost:9090", "secure": false + }, + "/systembanner": { + "target": "http://localhost:8080", + "secure": false } } diff --git a/modules/web/src/chrome/component.ts b/modules/web/src/chrome/component.ts index 8eeb2b3eeba2..43f4a1a65220 100644 --- a/modules/web/src/chrome/component.ts +++ b/modules/web/src/chrome/component.ts @@ -31,7 +31,7 @@ class SystemBanner { styleUrls: ['./style.scss'], }) export class ChromeComponent implements OnInit { - private static readonly systemBannerEndpoint = 'api/v1/systembanner'; + private static readonly systemBannerEndpoint = 'systembanner'; private systemBanner_: SystemBanner; loading = false; From d750e14594e9a0f0827a7168ba464e1f254f3199 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 19:34:57 -0700 Subject: [PATCH 027/162] Bump github/codeql-action from 2.1.8 to 2.1.9 (#7049) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.8 to 2.1.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/1ed1437484560351c5be56cf73a48a279d116b78...7502d6e991ca767d2db617bfd823a1ed925a0d59) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fb8aabe63d8b..d1c59a9428eb 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -35,12 +35,12 @@ jobs: uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - name: Initialize CodeQL - uses: github/codeql-action/init@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + uses: github/codeql-action/init@7502d6e991ca767d2db617bfd823a1ed925a0d59 # v1 with: languages: ${{ matrix.language }} - name: Autobuild - uses: github/codeql-action/autobuild@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + uses: github/codeql-action/autobuild@7502d6e991ca767d2db617bfd823a1ed925a0d59 # v1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@1ed1437484560351c5be56cf73a48a279d116b78 # v1 + uses: github/codeql-action/analyze@7502d6e991ca767d2db617bfd823a1ed925a0d59 # v1 From 4b517d60c1c50d99feedd4a0fd5c52acfa86bc12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 17:36:32 +0900 Subject: [PATCH 028/162] Bump @types/node from 17.0.29 to 17.0.30 (#7059) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.29 to 17.0.30. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 443b674d478e..2c7fedd872b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,7 +65,7 @@ "@types/jest": "27.4.1", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", - "@types/node": "17.0.29", + "@types/node": "17.0.30", "@typescript-eslint/eslint-plugin": "5.21.0", "@typescript-eslint/parser": "5.21.0", "codelyzer": "6.0.2", @@ -4509,9 +4509,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.29.tgz", - "integrity": "sha512-tx5jMmMFwx7wBwq/V7OohKDVb/JwJU5qCVkeLMh1//xycAJ/ESuw9aJ9SEtlCZDYi2pBfe4JkisSoAtbOsBNAA==", + "version": "17.0.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.30.tgz", + "integrity": "sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -26858,9 +26858,9 @@ "dev": true }, "@types/node": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.29.tgz", - "integrity": "sha512-tx5jMmMFwx7wBwq/V7OohKDVb/JwJU5qCVkeLMh1//xycAJ/ESuw9aJ9SEtlCZDYi2pBfe4JkisSoAtbOsBNAA==", + "version": "17.0.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.30.tgz", + "integrity": "sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw==", "dev": true }, "@types/normalize-package-data": { diff --git a/package.json b/package.json index 16c421c7b4af..865b419c69a6 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "@types/jest": "27.4.1", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", - "@types/node": "17.0.29", + "@types/node": "17.0.30", "@typescript-eslint/eslint-plugin": "5.21.0", "@typescript-eslint/parser": "5.21.0", "codelyzer": "6.0.2", From fa738c74e9bc9779858fb8cd55c13bc090961f86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 01:39:12 -0700 Subject: [PATCH 029/162] Bump core-js from 3.22.2 to 3.22.3 (#7055) Bumps [core-js](https://github.com/zloirock/core-js) from 3.22.2 to 3.22.3. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/compare/v3.22.2...v3.22.3) --- updated-dependencies: - dependency-name: core-js dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2c7fedd872b1..ea3b0d3a3741 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "@angular/router": "13.3.4", "@swimlane/ngx-charts": "20.1.0", "ace-builds": "1.4.14", - "core-js": "3.22.2", + "core-js": "3.22.3", "d3": "6.7.0", "file-saver": "2.0.5", "js-beautify": "1.14.3", @@ -7596,9 +7596,9 @@ } }, "node_modules/core-js": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.2.tgz", - "integrity": "sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz", + "integrity": "sha512-1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -29140,9 +29140,9 @@ } }, "core-js": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.2.tgz", - "integrity": "sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==" + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz", + "integrity": "sha512-1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==" }, "core-js-compat": { "version": "3.22.1", diff --git a/package.json b/package.json index 865b419c69a6..b81d0b2a245d 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@angular/router": "13.3.4", "@swimlane/ngx-charts": "20.1.0", "ace-builds": "1.4.14", - "core-js": "3.22.2", + "core-js": "3.22.3", "d3": "6.7.0", "file-saver": "2.0.5", "js-beautify": "1.14.3", From f0e77652cf8906c5f82878690f10d7f84532139f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 01:41:13 -0700 Subject: [PATCH 030/162] Bump docker/setup-buildx-action from 1.6.0 to 1.7.0 (#7056) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.6.0 to 1.7.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/94ab11c41e45d028884a99163086648e898eed25...f211e3e9ded2d9377c8cadc4489a4e38014bc4c9) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cd-workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-workflow.yml b/.github/workflows/cd-workflow.yml index b8cb2cf8bba5..a1490ea25143 100644 --- a/.github/workflows/cd-workflow.yml +++ b/.github/workflows/cd-workflow.yml @@ -70,7 +70,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@94ab11c41e45d028884a99163086648e898eed25 # v1 + uses: docker/setup-buildx-action@f211e3e9ded2d9377c8cadc4489a4e38014bc4c9 # v1 - name: Docker Login env: @@ -129,7 +129,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@94ab11c41e45d028884a99163086648e898eed25 # v1 + uses: docker/setup-buildx-action@f211e3e9ded2d9377c8cadc4489a4e38014bc4c9 # v1 - name: Docker Login env: From 7514d8e7ffd1108eddd90a5675cb235e4ca8154e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 02:05:13 -0700 Subject: [PATCH 031/162] Bump typescript from 4.6.3 to 4.6.4 (#7060) Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.6.3 to 4.6.4. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.6.3...v4.6.4) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea3b0d3a3741..4e601c6864a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -107,7 +107,7 @@ "ts-jest": "27.1.4", "ts-loader": "9.2.9", "ts-node": "10.7.0", - "typescript": "4.6.3", + "typescript": "4.6.4", "wait-on": "6.0.1", "webpack-dev-server": "4.8.1" }, @@ -22457,9 +22457,9 @@ } }, "node_modules/typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -40200,9 +40200,9 @@ } }, "typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==" + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", diff --git a/package.json b/package.json index b81d0b2a245d..8e3c9eca25f7 100644 --- a/package.json +++ b/package.json @@ -163,7 +163,7 @@ "ts-jest": "27.1.4", "ts-loader": "9.2.9", "ts-node": "10.7.0", - "typescript": "4.6.3", + "typescript": "4.6.4", "wait-on": "6.0.1", "webpack-dev-server": "4.8.1" }, From 53bb4c2185603536e52bb6c02163b2b2c6bd4154 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 19:29:13 -0700 Subject: [PATCH 032/162] Bump ts-loader from 9.2.9 to 9.3.0 (#7062) Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.2.9 to 9.3.0. - [Release notes](https://github.com/TypeStrong/ts-loader/releases) - [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md) - [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.9...v9.3.0) --- updated-dependencies: - dependency-name: ts-loader dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e601c6864a0..f3ab529ea2e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -105,7 +105,7 @@ "tar": "6.1.11", "through2": "4.0.2", "ts-jest": "27.1.4", - "ts-loader": "9.2.9", + "ts-loader": "9.3.0", "ts-node": "10.7.0", "typescript": "4.6.4", "wait-on": "6.0.1", @@ -22184,9 +22184,9 @@ } }, "node_modules/ts-loader": { - "version": "9.2.9", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.9.tgz", - "integrity": "sha512-b0+vUY2/enb0qYtDQuNlDnJ9900NTiPiJcDJ6sY7ax1CCCwXfYIqPOMm/BwW7jsF1km+Oz8W9s31HLuD+FLIMg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz", + "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -40004,9 +40004,9 @@ } }, "ts-loader": { - "version": "9.2.9", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.9.tgz", - "integrity": "sha512-b0+vUY2/enb0qYtDQuNlDnJ9900NTiPiJcDJ6sY7ax1CCCwXfYIqPOMm/BwW7jsF1km+Oz8W9s31HLuD+FLIMg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz", + "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==", "dev": true, "requires": { "chalk": "^4.1.0", diff --git a/package.json b/package.json index 8e3c9eca25f7..e60097dc02c3 100644 --- a/package.json +++ b/package.json @@ -161,7 +161,7 @@ "tar": "6.1.11", "through2": "4.0.2", "ts-jest": "27.1.4", - "ts-loader": "9.2.9", + "ts-loader": "9.3.0", "ts-node": "10.7.0", "typescript": "4.6.4", "wait-on": "6.0.1", From 972552d2f236fd11ecae12eb7bbe78b9a68daf2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 19:31:13 -0700 Subject: [PATCH 033/162] Bump stylelint from 14.8.0 to 14.8.1 (#7065) Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.8.0 to 14.8.1. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/14.8.0...14.8.1) --- updated-dependencies: - dependency-name: stylelint dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index f3ab529ea2e5..2ae5e70bb193 100644 --- a/package-lock.json +++ b/package-lock.json @@ -98,7 +98,7 @@ "sass-loader": "12.6.0", "semver": "7.3.7", "source-map-explorer": "2.5.2", - "stylelint": "14.8.0", + "stylelint": "14.8.1", "stylelint-config-standard-scss": "3.0.0", "stylelint-no-unsupported-browser-features": "5.0.3", "stylelint-order": "5.0.0", @@ -21352,9 +21352,9 @@ "dev": true }, "node_modules/stylelint": { - "version": "14.8.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.0.tgz", - "integrity": "sha512-uIyIWMSBSVcj73Gn3nTvPyNsYdwTpxo1W6dWTIa1nm8JKgUi3FIobSXLgrRE6joLidoA0FdgAhCaqxwTF2ikrQ==", + "version": "14.8.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz", + "integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==", "dev": true, "dependencies": { "balanced-match": "^2.0.0", @@ -39404,9 +39404,9 @@ "dev": true }, "stylelint": { - "version": "14.8.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.0.tgz", - "integrity": "sha512-uIyIWMSBSVcj73Gn3nTvPyNsYdwTpxo1W6dWTIa1nm8JKgUi3FIobSXLgrRE6joLidoA0FdgAhCaqxwTF2ikrQ==", + "version": "14.8.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz", + "integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==", "dev": true, "requires": { "balanced-match": "^2.0.0", diff --git a/package.json b/package.json index e60097dc02c3..af7598ca8a56 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "sass-loader": "12.6.0", "semver": "7.3.7", "source-map-explorer": "2.5.2", - "stylelint": "14.8.0", + "stylelint": "14.8.1", "stylelint-config-standard-scss": "3.0.0", "stylelint-no-unsupported-browser-features": "5.0.3", "stylelint-order": "5.0.0", From ccf61ce282a782e122902cc7783003b27cb9a028 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 May 2022 13:10:26 +0900 Subject: [PATCH 034/162] Bump @babel/core from 7.17.9 to 7.17.10 (#7066) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.9 to 7.17.10. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.17.10/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 222 ++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 116 insertions(+), 108 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ae5e70bb193..6dea2dec5b42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "@angular/cli": "13.3.3", "@angular/compiler-cli": "13.3.4", "@angular/language-service": "13.3.4", - "@babel/core": "7.17.9", + "@babel/core": "7.17.10", "@babel/preset-env": "7.16.11", "@babel/register": "7.17.7", "@cypress/webpack-preprocessor": "5.11.1", @@ -985,28 +985,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", - "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", + "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-compilation-targets": "^7.17.7", + "@babel/generator": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-module-transforms": "^7.17.7", "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.9", + "@babel/parser": "^7.17.10", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/traverse": "^7.17.10", + "@babel/types": "^7.17.10", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1033,13 +1033,13 @@ } }, "node_modules/@babel/core/node_modules/@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" @@ -1053,14 +1053,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", @@ -1110,13 +1102,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", + "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", "dependencies": { - "@babel/compat-data": "^7.17.7", + "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "browserslist": "^4.20.2", "semver": "^6.3.0" }, "engines": { @@ -1429,9 +1421,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", - "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", + "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -2628,18 +2620,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", - "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", + "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", "dependencies": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", + "@babel/generator": "^7.17.10", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/parser": "^7.17.10", + "@babel/types": "^7.17.10", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2648,30 +2640,22 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", + "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -3630,6 +3614,18 @@ "node": ">=8" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", @@ -3638,6 +3634,14 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz", + "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.11", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", @@ -24117,25 +24121,25 @@ } }, "@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==" }, "@babel/core": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", - "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", + "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-compilation-targets": "^7.17.7", + "@babel/generator": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-module-transforms": "^7.17.7", "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.9", + "@babel/parser": "^7.17.10", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/traverse": "^7.17.10", + "@babel/types": "^7.17.10", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -24152,24 +24156,19 @@ } }, "@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -24212,13 +24211,13 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", + "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", "requires": { - "@babel/compat-data": "^7.17.7", + "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "browserslist": "^4.20.2", "semver": "^6.3.0" }, "dependencies": { @@ -24451,9 +24450,9 @@ } }, "@babel/parser": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", - "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==" + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", + "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.7", @@ -25258,43 +25257,38 @@ } }, "@babel/traverse": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", - "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", + "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", "requires": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", + "@babel/generator": "^7.17.10", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/parser": "^7.17.10", + "@babel/types": "^7.17.10", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, "@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", + "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", "requires": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -26043,11 +26037,25 @@ } } }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@jridgewell/resolve-uri": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" }, + "@jridgewell/set-array": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz", + "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==" + }, "@jridgewell/sourcemap-codec": { "version": "1.4.11", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", diff --git a/package.json b/package.json index af7598ca8a56..11f06c3d9928 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "@angular/cli": "13.3.3", "@angular/compiler-cli": "13.3.4", "@angular/language-service": "13.3.4", - "@babel/core": "7.17.9", + "@babel/core": "7.17.10", "@babel/preset-env": "7.16.11", "@babel/register": "7.17.7", "@cypress/webpack-preprocessor": "5.11.1", From d55d5d792170b52983e1fdfa3a0b0d2260179588 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 May 2022 13:10:55 +0900 Subject: [PATCH 035/162] Bump @types/node from 17.0.30 to 17.0.31 (#7064) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.30 to 17.0.31. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6dea2dec5b42..887257b9da86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,7 +65,7 @@ "@types/jest": "27.4.1", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", - "@types/node": "17.0.30", + "@types/node": "17.0.31", "@typescript-eslint/eslint-plugin": "5.21.0", "@typescript-eslint/parser": "5.21.0", "codelyzer": "6.0.2", @@ -4513,9 +4513,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.30.tgz", - "integrity": "sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -26866,9 +26866,9 @@ "dev": true }, "@types/node": { - "version": "17.0.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.30.tgz", - "integrity": "sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", "dev": true }, "@types/normalize-package-data": { diff --git a/package.json b/package.json index 11f06c3d9928..141b6aa5bf03 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "@types/jest": "27.4.1", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", - "@types/node": "17.0.30", + "@types/node": "17.0.31", "@typescript-eslint/eslint-plugin": "5.21.0", "@typescript-eslint/parser": "5.21.0", "codelyzer": "6.0.2", From 97984547231ae265f6dbd43b15cca9322560a2bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 May 2022 13:30:11 +0900 Subject: [PATCH 036/162] Bump @babel/preset-env from 7.16.11 to 7.17.10 (#7063) Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.16.11 to 7.17.10. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.17.10/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/preset-env" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 261 +++++++++++++++++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 225 insertions(+), 38 deletions(-) diff --git a/package-lock.json b/package-lock.json index 887257b9da86..1e19bbe05d2e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,7 @@ "@angular/compiler-cli": "13.3.4", "@angular/language-service": "13.3.4", "@babel/core": "7.17.10", - "@babel/preset-env": "7.16.11", + "@babel/preset-env": "7.17.10", "@babel/register": "7.17.7", "@cypress/webpack-preprocessor": "5.11.1", "@types/d3": "7.1.0", @@ -293,6 +293,103 @@ "semver": "bin/semver.js" } }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", @@ -2221,12 +2318,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz", + "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -2463,27 +2560,27 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz", + "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.17.6", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.17.3", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.11", @@ -2509,7 +2606,7 @@ "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.17.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", @@ -2518,15 +2615,15 @@ "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.17.9", + "@babel/plugin-transform-modules-systemjs": "^7.17.8", "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.17.9", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", @@ -2536,11 +2633,11 @@ "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", + "@babel/types": "^7.17.10", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "core-js-compat": "^3.22.1", "semver": "^6.3.0" }, "engines": { @@ -23698,6 +23795,96 @@ } } }, + "@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", @@ -24971,12 +25158,12 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz", + "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.0" } }, "@babel/plugin-transform-new-target": { @@ -25122,27 +25309,27 @@ } }, "@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz", + "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.17.6", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.17.3", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.11", @@ -25168,7 +25355,7 @@ "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.17.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", @@ -25177,15 +25364,15 @@ "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.17.9", + "@babel/plugin-transform-modules-systemjs": "^7.17.8", "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.17.9", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", @@ -25195,11 +25382,11 @@ "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", + "@babel/types": "^7.17.10", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "core-js-compat": "^3.22.1", "semver": "^6.3.0" }, "dependencies": { diff --git a/package.json b/package.json index 141b6aa5bf03..383be35f44ff 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "@angular/compiler-cli": "13.3.4", "@angular/language-service": "13.3.4", "@babel/core": "7.17.10", - "@babel/preset-env": "7.16.11", + "@babel/preset-env": "7.17.10", "@babel/register": "7.17.7", "@cypress/webpack-preprocessor": "5.11.1", "@types/d3": "7.1.0", From 0bbfbd2084eb010df4f52dcbffb07b794a5ce7d3 Mon Sep 17 00:00:00 2001 From: JounQin Date: Mon, 2 May 2022 19:41:15 +0800 Subject: [PATCH 037/162] docs: deploy `helm` with name `kubernetes-dashboard` (#7068) * docs: deploy `helm` with name `my-release` * docs: change all `my-release` to `kubernetes-dashboard` --- .../helm-chart/kubernetes-dashboard/Chart.yaml | 2 +- .../helm-chart/kubernetes-dashboard/README.md | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml index 20bfd66a17fd..ad72dc9c9330 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml @@ -14,7 +14,7 @@ apiVersion: v2 name: kubernetes-dashboard -version: 5.5.0 +version: 5.5.1 appVersion: 2.5.1 description: General-purpose web UI for Kubernetes clusters keywords: diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/README.md b/aio/deploy/helm-chart/kubernetes-dashboard/README.md index a01d8a4148c0..7c4e600d2e28 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/README.md +++ b/aio/deploy/helm-chart/kubernetes-dashboard/README.md @@ -8,8 +8,8 @@ It allows users to manage applications running in the cluster and troubleshoot t ```console # Add kubernetes-dashboard repository helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/ -# Deploy a Helm Release named "my-release" using the kubernetes-dashboard chart -helm install my-release kubernetes-dashboard/kubernetes-dashboard +# Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart +helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard ``` ## Introduction @@ -18,7 +18,7 @@ This chart bootstraps a [Kubernetes Dashboard](https://github.com/kubernetes/das ## Installing the Chart -To install the [Chart](https://helm.sh/docs/intro/using_helm/#three-big-concepts) with the [Release](https://helm.sh/docs/intro/using_helm/#three-big-concepts) name `my-release`: +To install the [Chart](https://helm.sh/docs/intro/using_helm/#three-big-concepts) with the [Release](https://helm.sh/docs/intro/using_helm/#three-big-concepts) name `kubernetes-dashboard`: ```console helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/ @@ -30,10 +30,10 @@ The [configuration](#configuration) section lists the parameters that can be con ## Uninstalling the Chart -To uninstall/delete the `my-release` deployment: +To uninstall/delete the `kubernetes-dashboard` deployment: ```console -helm delete my-release +helm delete kubernetes-dashboard ``` The command removes all the Kubernetes components associated with the chart and deletes the release. @@ -53,14 +53,14 @@ for valid values and their defaults. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console -helm install kubernetes-dashboard/kubernetes-dashboard --name my-release \ +helm install kubernetes-dashboard/kubernetes-dashboard --name kubernetes-dashboard \ --set=service.externalPort=8080,resources.limits.cpu=200m ``` Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, ```console -helm install kubernetes-dashboard/kubernetes-dashboard --name my-release -f values.yaml +helm install kubernetes-dashboard/kubernetes-dashboard --name kubernetes-dashboard -f values.yaml ``` > **Tip**: You can use the default [values.yaml](values.yaml), which is used by default, as reference From 46f31289614c848f9119d65a8cb1729c3027f8df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 15:05:43 +0900 Subject: [PATCH 038/162] Bump @typescript-eslint/eslint-plugin from 5.21.0 to 5.22.0 (#7070) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.21.0 to 5.22.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.22.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 226 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 114 insertions(+), 114 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e19bbe05d2e..853f0a3d4a20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,7 @@ "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", "@types/node": "17.0.31", - "@typescript-eslint/eslint-plugin": "5.21.0", + "@typescript-eslint/eslint-plugin": "5.22.0", "@typescript-eslint/parser": "5.21.0", "codelyzer": "6.0.2", "concurrently": "7.1.0", @@ -4744,14 +4744,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz", - "integrity": "sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz", + "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/type-utils": "5.21.0", - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/type-utils": "5.22.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -4777,13 +4777,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4794,9 +4794,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4807,13 +4807,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -4834,15 +4834,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4858,12 +4858,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/types": "5.22.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -5012,12 +5012,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz", - "integrity": "sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz", + "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, @@ -5038,13 +5038,13 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5055,9 +5055,9 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5068,13 +5068,13 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -5095,15 +5095,15 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -5119,12 +5119,12 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/types": "5.22.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -27187,14 +27187,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz", - "integrity": "sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz", + "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/type-utils": "5.21.0", - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/type-utils": "5.22.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -27204,29 +27204,29 @@ }, "dependencies": { "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" } }, "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -27235,26 +27235,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/types": "5.22.0", "eslint-visitor-keys": "^3.0.0" } } @@ -27335,40 +27335,40 @@ } }, "@typescript-eslint/type-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz", - "integrity": "sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz", + "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, "dependencies": { "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" } }, "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -27377,26 +27377,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/types": "5.22.0", "eslint-visitor-keys": "^3.0.0" } } diff --git a/package.json b/package.json index 383be35f44ff..b270e19ec296 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", "@types/node": "17.0.31", - "@typescript-eslint/eslint-plugin": "5.21.0", + "@typescript-eslint/eslint-plugin": "5.22.0", "@typescript-eslint/parser": "5.21.0", "codelyzer": "6.0.2", "concurrently": "7.1.0", From 49018d12b37eade44b39ca0ba32df65f3786eeb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 15:07:26 +0900 Subject: [PATCH 039/162] Bump @types/jest from 27.4.1 to 27.5.0 (#7069) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.4.1 to 27.5.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 853f0a3d4a20..d65410b4bfbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,7 +62,7 @@ "@types/file-saver": "2.0.5", "@types/jasmine": "4.0.3", "@types/jasminewd2": "2.0.10", - "@types/jest": "27.4.1", + "@types/jest": "27.5.0", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", "@types/node": "17.0.31", @@ -4564,9 +4564,9 @@ } }, "node_modules/@types/jest": { - "version": "27.4.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", - "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "version": "27.5.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz", + "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==", "dev": true, "dependencies": { "jest-matcher-utils": "^27.0.0", @@ -27007,9 +27007,9 @@ } }, "@types/jest": { - "version": "27.4.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", - "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "version": "27.5.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz", + "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==", "dev": true, "requires": { "jest-matcher-utils": "^27.0.0", diff --git a/package.json b/package.json index b270e19ec296..ef3051ac4c47 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "@types/file-saver": "2.0.5", "@types/jasmine": "4.0.3", "@types/jasminewd2": "2.0.10", - "@types/jest": "27.4.1", + "@types/jest": "27.5.0", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", "@types/node": "17.0.31", From e79c88a8c810aee61858c49828feeac48b76347a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 May 2022 23:09:30 -0700 Subject: [PATCH 040/162] Bump core-js from 3.22.3 to 3.22.4 (#7071) Bumps [core-js](https://github.com/zloirock/core-js) from 3.22.3 to 3.22.4. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/compare/v3.22.3...v3.22.4) --- updated-dependencies: - dependency-name: core-js dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index d65410b4bfbe..8a792a7d728b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "@angular/router": "13.3.4", "@swimlane/ngx-charts": "20.1.0", "ace-builds": "1.4.14", - "core-js": "3.22.3", + "core-js": "3.22.4", "d3": "6.7.0", "file-saver": "2.0.5", "js-beautify": "1.14.3", @@ -7697,9 +7697,9 @@ } }, "node_modules/core-js": { - "version": "3.22.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz", - "integrity": "sha512-1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==", + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.4.tgz", + "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -29335,9 +29335,9 @@ } }, "core-js": { - "version": "3.22.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz", - "integrity": "sha512-1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==" + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.4.tgz", + "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==" }, "core-js-compat": { "version": "3.22.1", diff --git a/package.json b/package.json index ef3051ac4c47..079d2283e7a9 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@angular/router": "13.3.4", "@swimlane/ngx-charts": "20.1.0", "ace-builds": "1.4.14", - "core-js": "3.22.3", + "core-js": "3.22.4", "d3": "6.7.0", "file-saver": "2.0.5", "js-beautify": "1.14.3", From 04a5851ffc8312b53017446cce52294c2f0dfd7f Mon Sep 17 00:00:00 2001 From: ziyi-xie <92832323+ziyi-xie@users.noreply.github.com> Date: Wed, 4 May 2022 16:37:30 +0900 Subject: [PATCH 041/162] Update Japanese translation (Line 1-1593) (#7054) * Update Japanese translation (Line 1-1593) * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf * Update i18n/ja/messages.ja.xlf Co-authored-by: Shu Muto --- i18n/ja/messages.ja.xlf | 100 ++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/i18n/ja/messages.ja.xlf b/i18n/ja/messages.ja.xlf index 4c571c2984ea..82dc4a6e9edf 100644 --- a/i18n/ja/messages.ja.xlf +++ b/i18n/ja/messages.ja.xlf @@ -4,7 +4,7 @@ Open notifications panel - Open notifications panel + 通知パネルを開く src/app/frontend/index.messages.ts 21 @@ -12,7 +12,7 @@ Close notifications panel - Close notifications panel + 通知パネルを閉じる src/app/frontend/index.messages.ts 22 @@ -20,7 +20,7 @@ Pin resource - Pin resource + リソースにピンを設定 src/app/frontend/index.messages.ts 23 @@ -28,7 +28,7 @@ Unpin resource - Unpin resource + リソースのピンを解除 src/app/frontend/index.messages.ts 24 @@ -36,7 +36,7 @@ Expand card - Expand card + カードを最大化 src/app/frontend/index.messages.ts 25 @@ -44,7 +44,7 @@ Minimize card - Minimize card + カードを最小化 src/app/frontend/index.messages.ts 26 @@ -52,7 +52,7 @@ Unknown - Unknown + 不明 src/app/frontend/index.messages.ts 27 @@ -76,7 +76,7 @@ Update - Update + 更新 src/app/frontend/common/dialogs/editresource/template.html 43 @@ -88,7 +88,7 @@ Cancel - Cancel + キャンセル src/app/frontend/common/dialogs/deleteresource/template.html 47 @@ -154,7 +154,7 @@ Restart a resource - Restart a resource + リソースの再起動 src/app/frontend/common/dialogs/restartresource/template.html 18 @@ -170,7 +170,7 @@ Preparing file to download... - Preparing file to download... + ダウンロードファイル準備中... src/app/frontend/common/dialogs/download/template.html 27 @@ -178,7 +178,7 @@ File is ready to download! - File is ready to download! + ファイルのダウンロード準備は整いました! src/app/frontend/common/dialogs/download/template.html 29 @@ -202,7 +202,7 @@ Save - Save + 保存 src/app/frontend/common/dialogs/download/template.html 44 @@ -218,7 +218,7 @@ Abort - Abort + 中止 src/app/frontend/common/dialogs/download/template.html 48 @@ -226,7 +226,7 @@ will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. + 目標のレプリカ数を反映するように更新します。 src/app/frontend/common/dialogs/scaleresource/template.html 20 @@ -266,7 +266,7 @@ Logged in with auth header - Logged in with auth header + 認証ヘッダーでログインしました src/app/frontend/chrome/userpanel/template.html 45,46 @@ -274,7 +274,7 @@ Logged in with token - Logged in with token + トークンでログインしました src/app/frontend/chrome/userpanel/template.html 48,49 @@ -282,7 +282,7 @@ Default service account - Default service account + デフォルトサービスアカウント src/app/frontend/chrome/userpanel/template.html 51 @@ -290,7 +290,7 @@ Sign in - Sign in + サインイン src/app/frontend/chrome/userpanel/template.html 67 @@ -298,7 +298,7 @@ Sign out - Sign out + サインアウト src/app/frontend/chrome/userpanel/template.html 71 @@ -322,7 +322,7 @@ Scale - Scale + スケールする src/app/frontend/common/components/list/column/menu/template.html 35 @@ -334,7 +334,7 @@ Trigger a - Trigger a + のトリガー src/app/frontend/common/dialogs/triggerresource/template.html 18 @@ -367,7 +367,7 @@ Scale a resource - Scale a resource + リソースをスケールする src/app/frontend/common/dialogs/scaleresource/template.html 18 @@ -383,7 +383,7 @@ Trigger - Trigger + トリガー src/app/frontend/common/components/list/column/menu/template.html 31 @@ -435,7 +435,7 @@ Endpoints - Endpoints + エンドポイント src/app/frontend/common/components/endpoint/cardlist/template.html 20 @@ -475,7 +475,7 @@ IP - IP + IP src/app/frontend/resource/workloads/pod/detail/template.html 61 @@ -483,7 +483,7 @@ QoS Class - QoS Class + QoS クラス src/app/frontend/resource/workloads/pod/detail/template.html 67 @@ -491,7 +491,7 @@ Service Account - Service Account + サービスアカウント src/app/frontend/resource/workloads/pod/detail/template.html 79 @@ -559,7 +559,7 @@ Started - Started + 起動 src/app/frontend/common/components/container/template.html 50 @@ -579,7 +579,7 @@ Init containers - Init containers + 初期化コンテナー src/app/frontend/resource/workloads/pod/detail/template.html 132 @@ -587,7 +587,7 @@ Reclaim policy - Reclaim policy + 再要求ポリシー src/app/frontend/resource/cluster/persistentvolume/detail/template.html 46 @@ -595,7 +595,7 @@ Storage class - Storage class + ストレージクラス src/app/frontend/resource/cluster/persistentvolume/detail/template.html 52 @@ -603,7 +603,7 @@ Mount Option(s) - Mount Option(s) + マウントオプション src/app/frontend/resource/cluster/persistentvolume/detail/template.html 73 @@ -611,7 +611,7 @@ Access modes - Access modes + アクセスモード src/app/frontend/resource/cluster/persistentvolume/detail/template.html 83 @@ -659,7 +659,7 @@ Download logs file - Download logs file + ログファイルのダウンロード src/app/frontend/common/dialogs/download/template.html 19 @@ -683,7 +683,7 @@ There is nothing to display here - There is nothing to display here + ここに表示するものはありません src/app/frontend/common/components/list/zerostate/template.html 22 @@ -695,7 +695,7 @@ No resources found. - No resources found. + リソースはありません。 src/app/frontend/common/components/list/zerostate/template.html 27 @@ -703,7 +703,7 @@ Conditions - Conditions + 条件 src/app/frontend/common/components/condition/template.html 20 @@ -723,7 +723,7 @@ Error - Error + エラー src/app/frontend/index.messages.ts 32 @@ -755,7 +755,7 @@ Metadata - Metadata + メタデータ src/app/frontend/common/components/objectmeta/template.html 19 @@ -1191,7 +1191,7 @@ UID - UID + UID src/app/frontend/common/components/objectmeta/template.html 71 @@ -1287,7 +1287,7 @@ Annotations - Annotations + アノテーション src/app/frontend/common/components/objectmeta/template.html 88 @@ -1295,7 +1295,7 @@ Pods status - Pods status + ポッド状態 src/app/frontend/common/components/podstatus/template.html 20 @@ -1347,7 +1347,7 @@ Deployments - Deployments + デプロイメント src/app/frontend/common/components/resourcelist/deployment/template.html 24 @@ -1363,7 +1363,7 @@ Events - Events + イベント src/app/frontend/common/components/resourcelist/event/template.html 22 @@ -1375,7 +1375,7 @@ Overview - Overview + 概要 src/app/frontend/index.messages.ts 37 @@ -1503,7 +1503,7 @@ Age - Age + 経過時間 src/app/frontend/common/components/creator/template.html 68 @@ -1543,7 +1543,7 @@ Image - Image + イメージ src/app/frontend/common/components/container/template.html 32 @@ -1555,7 +1555,7 @@ Environment Variables - Environment Variables + 環境変数 src/app/frontend/common/components/container/template.html 106 @@ -1579,7 +1579,7 @@ bytes - bytes + バイト src/app/frontend/common/components/container/template.html 140 From 2532b061ad426bc8315d415977eb6feeeb761290 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 17:22:30 +0900 Subject: [PATCH 042/162] Bump @typescript-eslint/parser from 5.21.0 to 5.22.0 (#7072) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.21.0 to 5.22.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.22.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 2283 +++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 1265 insertions(+), 1020 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8a792a7d728b..202a94b75124 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,7 @@ "@types/lodash": "4.14.182", "@types/node": "17.0.31", "@typescript-eslint/eslint-plugin": "5.22.0", - "@typescript-eslint/parser": "5.21.0", + "@typescript-eslint/parser": "5.22.0", "codelyzer": "6.0.2", "concurrently": "7.1.0", "cypress": "9.3.1", @@ -390,18 +390,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@angular-devkit/build-angular/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -414,6 +402,51 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/@angular-devkit/build-angular/node_modules/babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/babel-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/babel-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -435,6 +468,53 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/@angular-devkit/build-angular/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -447,6 +527,18 @@ "node": "*" } }, + "node_modules/@angular-devkit/build-angular/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/sass": { "version": "1.49.9", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", @@ -498,25 +590,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -562,6 +635,53 @@ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", @@ -613,10 +733,72 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -924,11 +1106,12 @@ } }, "node_modules/@angular/localize/node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" @@ -964,13 +1147,13 @@ } }, "node_modules/@angular/localize/node_modules/@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" @@ -984,14 +1167,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@angular/localize/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@angular/material": { "version": "13.3.4", "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.4.tgz", @@ -1119,11 +1294,12 @@ } }, "node_modules/@babel/core/node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" @@ -2010,9 +2186,9 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz", + "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" @@ -2985,9 +3161,9 @@ "dev": true }, "node_modules/@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", "dev": true }, "node_modules/@hapi/topo": { @@ -3724,9 +3900,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", + "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", "engines": { "node": ">=6.0.0" } @@ -3740,9 +3916,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + "version": "1.4.12", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz", + "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", @@ -4132,9 +4308,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz", - "integrity": "sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==", + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", "dev": true, "dependencies": { "@babel/types": "^7.3.0" @@ -4436,9 +4612,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", + "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", "dev": true, "dependencies": { "@types/estree": "*", @@ -4516,9 +4692,9 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, "dependencies": { "@types/node": "*" @@ -4646,9 +4822,9 @@ "dev": true }, "node_modules/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, "node_modules/@types/semver": { @@ -4776,75 +4952,13 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "node_modules/@typescript-eslint/experimental-utils": { "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.22.0.tgz", + "integrity": "sha512-rKxoCUtAHwEH6IcAoVpqipY6Th+YKW7WFspAKu0IFdbdKZpveFBeqxxE9Xn+GWikhq1o03V3VXbxIe+GdhggiQ==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "@typescript-eslint/utils": "5.22.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4857,51 +4971,15 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "node_modules/@typescript-eslint/parser": { "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", + "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==", "dev": true, "dependencies": { + "@typescript-eslint/scope-manager": "5.22.0", "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", - "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.20.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz", - "integrity": "sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/typescript-estree": "5.22.0", "debug": "^4.3.2" }, "engines": { @@ -4920,88 +4998,14 @@ } } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", - "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0" + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5037,24 +5041,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "node_modules/@typescript-eslint/types": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", @@ -5067,7 +5054,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "node_modules/@typescript-eslint/typescript-estree": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", @@ -5094,7 +5081,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "node_modules/@typescript-eslint/utils": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", @@ -5118,7 +5105,7 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "node_modules/@typescript-eslint/visitor-keys": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", @@ -5135,87 +5122,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", - "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", - "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", - "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.20.0", - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/typescript-estree": "5.20.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", - "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.20.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -5410,9 +5316,9 @@ "integrity": "sha512-NBOQlm9+7RBqRqZwimpgquaLeTJFayqb9UEPtTkpC3TkkwDnlsT/TwsCC0svjt9kEZ6G9mH5AEOHSz6Q/HrzQQ==" }, "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5570,12 +5476,15 @@ } }, "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, "peerDependencies": { - "ajv": "^6.9.1" + "ajv": "^8.8.2" } }, "node_modules/ansi-align": { @@ -5823,9 +5732,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", - "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", "dev": true, "funding": [ { @@ -5838,8 +5747,8 @@ } ], "dependencies": { - "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001317", + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -5981,13 +5890,14 @@ } }, "node_modules/babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, + "peer": true, "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -6004,6 +5914,7 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "peer": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -6016,30 +5927,19 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, + "peer": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.9.0" } }, "node_modules/babel-loader/node_modules/make-dir": { @@ -6047,6 +5947,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "peer": true, "dependencies": { "semver": "^6.0.0" }, @@ -6062,6 +5963,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "peer": true, "dependencies": { "find-up": "^4.0.0" }, @@ -6074,6 +5976,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -6297,24 +6200,27 @@ "dev": true }, "node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/bytes": { @@ -6335,6 +6241,15 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6342,10 +6257,13 @@ "dev": true }, "node_modules/body-parser/node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -6368,9 +6286,9 @@ } }, "node_modules/bonjour-service": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.11.tgz", - "integrity": "sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", + "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", "dev": true, "dependencies": { "array-flatten": "^2.1.2", @@ -6551,9 +6469,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "funding": [ { "type": "opencollective", @@ -6565,10 +6483,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" }, "bin": { @@ -6656,6 +6574,16 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -6791,9 +6719,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", + "version": "1.0.30001335", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz", + "integrity": "sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==", "funding": [ { "type": "opencollective", @@ -7559,9 +7487,9 @@ } }, "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "engines": { "node": ">= 0.6" @@ -7609,18 +7537,6 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/copy-webpack-plugin/node_modules/array-union": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", @@ -7707,12 +7623,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.1.tgz", - "integrity": "sha512-CWbNqTluLMvZg1cjsQUbGiCM91dobSHKfDIyCoxuqxthdjGuUlaMbCsSehP3CBiVvG0C7P6UIrC1v0hgFE75jw==", + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz", + "integrity": "sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==", "dev": true, "dependencies": { - "browserslist": "^4.20.2", + "browserslist": "^4.20.3", "semver": "7.0.0" }, "funding": { @@ -8279,9 +8195,9 @@ } }, "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz", - "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==", + "version": "14.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", + "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", "dev": true }, "node_modules/cypress/node_modules/ansi-styles": { @@ -9001,10 +8917,14 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-newline": { "version": "3.1.0", @@ -9333,9 +9253,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.115", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.115.tgz", - "integrity": "sha512-yy1W7cTcreskCWSRTtvp8CNLEci3uYBn5s1U4IytDz7v485iLVPh4QwFuSCavsFbxRLVvwnHNXEFIDShrk/UnQ==" + "version": "1.4.132", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.132.tgz", + "integrity": "sha512-JYdZUw/1068NWN+SwXQ7w6Ue0bWYGihvSUNNQwurvcDV/SM7vSiGZ3NuFvFgoEiCs4kB8xs3cX2an3wB7d4TBw==" }, "node_modules/emittery": { "version": "0.8.1", @@ -10636,38 +10556,39 @@ } }, "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -10691,6 +10612,15 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -10698,10 +10628,13 @@ "dev": true }, "node_modules/express/node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -10933,17 +10866,17 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -11012,9 +10945,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", + "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", "dev": true, "funding": [ { @@ -12408,19 +12341,28 @@ "dev": true }, "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, "node_modules/http-parser-js": { @@ -16954,9 +16896,9 @@ } }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.5.tgz", - "integrity": "sha512-8s/08Kgu5sk9JcmOrekdUTM7cPPewz2FIQWVQOGOCdWPMRxBUD10WXApQD39Qvg1y5AKXcjo+pnOHkeveEFHCA==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz", + "integrity": "sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==", "dev": true, "dependencies": { "@npmcli/fs": "^2.1.0", @@ -17017,9 +16959,9 @@ } }, "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", - "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz", + "integrity": "sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==", "dev": true, "engines": { "node": ">=12" @@ -17263,18 +17205,6 @@ "webpack": "^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -17525,9 +17455,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -17738,9 +17668,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", - "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==" }, "node_modules/nopt": { "version": "5.0.0", @@ -18026,9 +17956,9 @@ "dev": true }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { "ee-first": "1.1.1" @@ -18271,12 +18201,12 @@ } }, "node_modules/p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "dependencies": { - "@types/retry": "^0.12.0", + "@types/retry": "0.12.0", "retry": "^0.13.1" }, "engines": { @@ -19228,9 +19158,9 @@ } }, "node_modules/postcss-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.3.tgz", - "integrity": "sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", + "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", "dev": true, "engines": { "node": ">=12.0" @@ -19577,13 +19507,13 @@ } }, "node_modules/raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -19636,6 +19566,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/raw-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/raw-loader/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -20537,6 +20476,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -20615,24 +20563,24 @@ } }, "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -20653,6 +20601,15 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -20728,16 +20685,25 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -20788,6 +20754,20 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -21313,12 +21293,12 @@ } }, "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/string_decoder": { @@ -21638,9 +21618,9 @@ } }, "node_modules/stylelint/node_modules/postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "version": "8.4.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", + "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", "dev": true, "funding": [ { @@ -21653,7 +21633,7 @@ } ], "dependencies": { - "nanoid": "^3.3.1", + "nanoid": "^3.3.3", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -22021,6 +22001,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -22430,6 +22419,136 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/tslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/tslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/tslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tslint/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "peer": true + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true + }, + "node_modules/tslint/node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "peer": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -23033,10 +23152,11 @@ } }, "node_modules/webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", "dev": true, + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -23102,18 +23222,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -23184,18 +23292,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/webpack-dev-server/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -23239,9 +23335,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -23307,6 +23403,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -23318,17 +23415,29 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "peer": true }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -23885,21 +23994,46 @@ } } }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, + "babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -23916,6 +24050,40 @@ "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", "dev": true }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -23925,6 +24093,15 @@ "brace-expansion": "^1.1.7" } }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, "sass": { "version": "1.49.9", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", @@ -23946,18 +24123,6 @@ "neo-async": "^2.6.2" } }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -23988,6 +24153,70 @@ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, + "webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "webpack-dev-server": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", @@ -24023,12 +24252,26 @@ "strip-ansi": "^7.0.0", "webpack-dev-middleware": "^5.3.0", "ws": "^8.1.0" + }, + "dependencies": { + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } } }, "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "dev": true, "requires": {} } @@ -24210,11 +24453,12 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/core": { @@ -24240,24 +24484,19 @@ } }, "@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -24335,11 +24574,12 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/generator": { @@ -24964,9 +25204,9 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz", + "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" @@ -25660,9 +25900,9 @@ "dev": true }, "@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", "dev": true }, "@hapi/topo": { @@ -26234,9 +26474,9 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", + "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==" }, "@jridgewell/set-array": { "version": "1.1.0", @@ -26244,9 +26484,9 @@ "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==" }, "@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + "version": "1.4.12", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz", + "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA==" }, "@jridgewell/trace-mapping": { "version": "0.3.9", @@ -26573,9 +26813,9 @@ } }, "@types/babel__traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz", - "integrity": "sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==", + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", "dev": true, "requires": { "@babel/types": "^7.3.0" @@ -26879,9 +27119,9 @@ } }, "@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", + "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", "dev": true, "requires": { "@types/estree": "*", @@ -26959,9 +27199,9 @@ } }, "@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, "requires": { "@types/node": "*" @@ -27089,9 +27329,9 @@ "dev": true }, "@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, "@types/semver": { @@ -27201,137 +27441,37 @@ "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" - } - }, - "@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/experimental-utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", - "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.22.0.tgz", + "integrity": "sha512-rKxoCUtAHwEH6IcAoVpqipY6Th+YKW7WFspAKu0IFdbdKZpveFBeqxxE9Xn+GWikhq1o03V3VXbxIe+GdhggiQ==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.20.0" + "@typescript-eslint/utils": "5.22.0" } }, "@typescript-eslint/parser": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz", - "integrity": "sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", + "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "debug": "^4.3.2" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/scope-manager": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", - "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0" + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" } }, "@typescript-eslint/type-utils": { @@ -27343,79 +27483,22 @@ "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" - } - }, - "@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/types": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", - "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", - "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/visitor-keys": "5.20.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -27424,26 +27507,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", - "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.20.0", - "@typescript-eslint/types": "5.20.0", - "@typescript-eslint/typescript-estree": "5.20.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", - "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/types": "5.22.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -27638,9 +27721,9 @@ "integrity": "sha512-NBOQlm9+7RBqRqZwimpgquaLeTJFayqb9UEPtTkpC3TkkwDnlsT/TwsCC0svjt9kEZ6G9mH5AEOHSz6Q/HrzQQ==" }, "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true }, "acorn-globals": { @@ -27756,11 +27839,13 @@ } }, "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "requires": {} + "requires": { + "fast-deep-equal": "^3.1.3" + } }, "ansi-align": { "version": "3.0.1", @@ -27939,13 +28024,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", - "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", "dev": true, "requires": { - "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001317", + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -28050,13 +28135,14 @@ } }, "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, + "peer": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -28066,30 +28152,23 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "peer": true, "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, + "peer": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" } }, "make-dir": { @@ -28097,6 +28176,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "peer": true, "requires": { "semver": "^6.0.0" } @@ -28106,6 +28186,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "peer": true, "requires": { "find-up": "^4.0.0" } @@ -28114,7 +28195,8 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "dev": true, + "peer": true } } }, @@ -28292,21 +28374,23 @@ "dev": true }, "body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { @@ -28324,6 +28408,12 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -28331,10 +28421,13 @@ "dev": true }, "qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, @@ -28375,9 +28468,9 @@ } }, "bonjour-service": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.11.tgz", - "integrity": "sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", + "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", "dev": true, "requires": { "array-flatten": "^2.1.2", @@ -28495,14 +28588,14 @@ "dev": true }, "browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "requires": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" } }, @@ -28558,6 +28651,13 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "peer": true + }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -28665,9 +28765,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==" + "version": "1.0.30001335", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz", + "integrity": "sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==" }, "caseless": { "version": "0.12.0", @@ -29242,9 +29342,9 @@ } }, "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, "cookie-signature": { @@ -29276,15 +29376,6 @@ "serialize-javascript": "^6.0.0" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "array-union": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", @@ -29340,12 +29431,12 @@ "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==" }, "core-js-compat": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.1.tgz", - "integrity": "sha512-CWbNqTluLMvZg1cjsQUbGiCM91dobSHKfDIyCoxuqxthdjGuUlaMbCsSehP3CBiVvG0C7P6UIrC1v0hgFE75jw==", + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz", + "integrity": "sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==", "dev": true, "requires": { - "browserslist": "^4.20.2", + "browserslist": "^4.20.3", "semver": "7.0.0" }, "dependencies": { @@ -29732,9 +29823,9 @@ }, "dependencies": { "@types/node": { - "version": "14.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz", - "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==", + "version": "14.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", + "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", "dev": true }, "ansi-styles": { @@ -30385,9 +30476,9 @@ "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-newline": { @@ -30659,9 +30750,9 @@ } }, "electron-to-chromium": { - "version": "1.4.115", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.115.tgz", - "integrity": "sha512-yy1W7cTcreskCWSRTtvp8CNLEci3uYBn5s1U4IytDz7v485iLVPh4QwFuSCavsFbxRLVvwnHNXEFIDShrk/UnQ==" + "version": "1.4.132", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.132.tgz", + "integrity": "sha512-JYdZUw/1068NWN+SwXQ7w6Ue0bWYGihvSUNNQwurvcDV/SM7vSiGZ3NuFvFgoEiCs4kB8xs3cX2an3wB7d4TBw==" }, "emittery": { "version": "0.8.1", @@ -31527,38 +31618,39 @@ } }, "express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -31579,6 +31671,12 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -31586,10 +31684,13 @@ "dev": true }, "qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } }, "safe-buffer": { "version": "5.2.1", @@ -31770,17 +31871,17 @@ } }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { @@ -31839,9 +31940,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", + "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", "dev": true }, "forever-agent": { @@ -32862,16 +32963,24 @@ "dev": true }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + } } }, "http-parser-js": { @@ -36218,9 +36327,9 @@ "dev": true }, "cacache": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.5.tgz", - "integrity": "sha512-8s/08Kgu5sk9JcmOrekdUTM7cPPewz2FIQWVQOGOCdWPMRxBUD10WXApQD39Qvg1y5AKXcjo+pnOHkeveEFHCA==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz", + "integrity": "sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==", "dev": true, "requires": { "@npmcli/fs": "^2.1.0", @@ -36269,9 +36378,9 @@ } }, "lru-cache": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", - "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz", + "integrity": "sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==", "dev": true }, "ssri": { @@ -36442,15 +36551,6 @@ "schema-utils": "^4.0.0" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -36648,9 +36748,9 @@ "dev": true }, "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true }, "natural-compare": { @@ -36806,9 +36906,9 @@ "dev": true }, "node-releases": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", - "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==" }, "nopt": { "version": "5.0.0", @@ -37028,9 +37128,9 @@ "dev": true }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -37206,12 +37306,12 @@ } }, "p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "requires": { - "@types/retry": "^0.12.0", + "@types/retry": "0.12.0", "retry": "^0.13.1" }, "dependencies": { @@ -37884,9 +37984,9 @@ "requires": {} }, "postcss-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.3.tgz", - "integrity": "sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", + "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", "dev": true, "requires": {} }, @@ -38135,13 +38235,13 @@ "dev": true }, "raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -38176,6 +38276,13 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -38854,6 +38961,13 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -38920,24 +39034,24 @@ } }, "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -38957,6 +39071,12 @@ } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -39027,19 +39147,25 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true } } }, "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" } }, "set-blocking": { @@ -39078,6 +39204,17 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -39502,9 +39639,9 @@ } }, "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true }, "string_decoder": { @@ -39669,12 +39806,12 @@ "dev": true }, "postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "version": "8.4.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", + "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", "dev": true, "requires": { - "nanoid": "^3.3.1", + "nanoid": "^3.3.3", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -40004,6 +40141,13 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -40295,6 +40439,113 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "dev": true, + "peer": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "peer": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "peer": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, "tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -40779,10 +41030,11 @@ "dev": true }, "webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "version": "5.72.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", + "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", "dev": true, + "peer": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -40815,6 +41067,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -40822,17 +41075,27 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "requires": {} + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "peer": true }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, + "peer": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -40854,15 +41117,6 @@ "schema-utils": "^4.0.0" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -40914,15 +41168,6 @@ "ws": "^8.4.2" }, "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -40949,9 +41194,9 @@ } }, "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "dev": true, "requires": {} } diff --git a/package.json b/package.json index 079d2283e7a9..85e75302774f 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "@types/lodash": "4.14.182", "@types/node": "17.0.31", "@typescript-eslint/eslint-plugin": "5.22.0", - "@typescript-eslint/parser": "5.21.0", + "@typescript-eslint/parser": "5.22.0", "codelyzer": "6.0.2", "concurrently": "7.1.0", "cypress": "9.3.1", From 1c98fbb6e8f5d1a0254bfff4f9fa8b1b7d57421d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 May 2022 19:33:04 -0700 Subject: [PATCH 043/162] Bump docker/setup-qemu-action from 1.2.0 to 2 (#7074) Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1.2.0 to 2. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/27d0a4f181a40b142cce983c5393082c365d1480...8b122486cedac8393e77aa9734c3528886e4a1a8) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cd-workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-workflow.yml b/.github/workflows/cd-workflow.yml index a1490ea25143..f26b139c7e00 100644 --- a/.github/workflows/cd-workflow.yml +++ b/.github/workflows/cd-workflow.yml @@ -66,7 +66,7 @@ jobs: [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && go mod download - name: Set up QEMU - uses: docker/setup-qemu-action@27d0a4f181a40b142cce983c5393082c365d1480 # v1 + uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1 - name: Set up Docker Buildx id: buildx @@ -125,7 +125,7 @@ jobs: [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && go mod download - name: Set up QEMU - uses: docker/setup-qemu-action@27d0a4f181a40b142cce983c5393082c365d1480 # v1 + uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1 - name: Set up Docker Buildx id: buildx From e27664acf9a2dbc4345e39f141e822fdfc8a464b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 May 2022 19:35:05 -0700 Subject: [PATCH 044/162] Bump docker/setup-buildx-action from 1.7.0 to 2 (#7075) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.7.0 to 2. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/f211e3e9ded2d9377c8cadc4489a4e38014bc4c9...dc7b9719a96d48369863986a06765841d7ea23f6) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cd-workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-workflow.yml b/.github/workflows/cd-workflow.yml index f26b139c7e00..f09c1a01ca7e 100644 --- a/.github/workflows/cd-workflow.yml +++ b/.github/workflows/cd-workflow.yml @@ -70,7 +70,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@f211e3e9ded2d9377c8cadc4489a4e38014bc4c9 # v1 + uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # v1 - name: Docker Login env: @@ -129,7 +129,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@f211e3e9ded2d9377c8cadc4489a4e38014bc4c9 # v1 + uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # v1 - name: Docker Login env: From 5c40ba5fb6be5411b86bc4ab89a79355f7687539 Mon Sep 17 00:00:00 2001 From: Andrea Decorte Date: Mon, 9 May 2022 09:59:19 +0200 Subject: [PATCH 045/162] Add support for IngressClass [kubernetes#5232] (#6920) --- i18n/de/messages.de.xlf | 166 +- i18n/es/messages.es.xlf | 158 +- i18n/fr/messages.fr.xlf | 146 +- i18n/ja/messages.ja.xlf | 146 +- i18n/ko/messages.ko.xlf | 146 +- i18n/messages.xlf | 4803 +++++++++-------- i18n/zh-Hans/messages.zh-Hans.xlf | 146 +- i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf | 146 +- i18n/zh-Hant/messages.zh-Hant.xlf | 146 +- src/app/backend/api/types.go | 2 + src/app/backend/handler/apihandler.go | 42 + .../resource/common/resourcechannels.go | 28 + .../backend/resource/ingressclass/common.go | 54 + .../backend/resource/ingressclass/detail.go | 68 + .../resource/ingressclass/detail_test.go | 69 + src/app/backend/resource/ingressclass/list.go | 95 + .../resource/ingressclass/list_test.go | 134 + src/app/frontend/chrome/nav/template.html | 7 +- src/app/frontend/chrome/routing.ts | 4 + src/app/frontend/common/components/module.ts | 2 + .../components/resourcelist/groupids.ts | 1 + .../resourcelist/ingressclass/component.ts | 59 + .../resourcelist/ingressclass/template.html | 98 + .../common/services/resource/endpoint.ts | 1 + src/app/frontend/index.messages.ts | 1 + src/app/frontend/overview/template.html | 2 + .../ingressclass/detail/component.ts | 68 + .../discovery/ingressclass/detail/style.scss | 23 + .../ingressclass/detail/template.html | 43 + .../discovery/ingressclass/list/component.ts | 21 + .../resource/discovery/ingressclass/module.ts | 28 + .../discovery/ingressclass/routing.ts | 47 + .../frontend/resource/discovery/template.html | 2 + src/app/frontend/search/template.html | 2 + src/app/frontend/typings/root.api.ts | 13 + src/app/frontend/typings/root.ui.ts | 1 + 36 files changed, 4164 insertions(+), 2754 deletions(-) create mode 100644 src/app/backend/resource/ingressclass/common.go create mode 100644 src/app/backend/resource/ingressclass/detail.go create mode 100644 src/app/backend/resource/ingressclass/detail_test.go create mode 100644 src/app/backend/resource/ingressclass/list.go create mode 100644 src/app/backend/resource/ingressclass/list_test.go create mode 100644 src/app/frontend/common/components/resourcelist/ingressclass/component.ts create mode 100644 src/app/frontend/common/components/resourcelist/ingressclass/template.html create mode 100644 src/app/frontend/resource/discovery/ingressclass/detail/component.ts create mode 100644 src/app/frontend/resource/discovery/ingressclass/detail/style.scss create mode 100644 src/app/frontend/resource/discovery/ingressclass/detail/template.html create mode 100644 src/app/frontend/resource/discovery/ingressclass/list/component.ts create mode 100644 src/app/frontend/resource/discovery/ingressclass/module.ts create mode 100644 src/app/frontend/resource/discovery/ingressclass/routing.ts diff --git a/i18n/de/messages.de.xlf b/i18n/de/messages.de.xlf index 02749f9c98ba..2ca1af9805bb 100644 --- a/i18n/de/messages.de.xlf +++ b/i18n/de/messages.de.xlf @@ -595,6 +595,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -653,11 +657,11 @@ Konfiguration und Storage src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -689,15 +693,15 @@ Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -815,6 +819,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1463,7 +1471,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -1475,7 +1483,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -1487,7 +1495,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -1593,7 +1601,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -1611,7 +1619,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -1620,7 +1628,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -1629,7 +1637,7 @@ src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -1638,7 +1646,7 @@ src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -1647,7 +1655,7 @@ src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -1656,7 +1664,7 @@ src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -1665,7 +1673,7 @@ src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -1674,7 +1682,7 @@ src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -1683,7 +1691,7 @@ src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -1691,7 +1699,15 @@ Events src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -1700,7 +1716,7 @@ src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -1709,7 +1725,7 @@ src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -1718,7 +1734,7 @@ src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -1727,7 +1743,7 @@ src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -1736,7 +1752,7 @@ src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -1745,7 +1761,7 @@ src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -1754,7 +1770,7 @@ src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -1763,7 +1779,7 @@ src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -1772,7 +1788,7 @@ src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -1781,7 +1797,7 @@ src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -1790,7 +1806,7 @@ src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -1974,7 +1990,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -1982,7 +1998,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -2018,11 +2034,11 @@ Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -2038,7 +2054,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -2050,7 +2066,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -2141,6 +2157,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -2599,7 +2619,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2715,7 +2735,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2727,7 +2747,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2739,7 +2759,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -2978,6 +2998,50 @@ 128 + + Deployments + Deployments + + src/app/frontend/common/components/resourcelist/deployment/template.html + 24 + + + src/app/frontend/common/components/workloadstatus/template.html + 74 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + + + Events + Events + + src/app/frontend/common/components/resourcelist/event/template.html + 22 + + Created Erstellungszeitpunkt @@ -3029,6 +3093,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -3115,7 +3183,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -3339,7 +3407,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -3347,7 +3415,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3427,7 +3495,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -3451,7 +3519,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -4025,7 +4093,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -4073,7 +4141,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -5735,6 +5803,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/i18n/es/messages.es.xlf b/i18n/es/messages.es.xlf index dc1a62004986..b577909c2ced 100644 --- a/i18n/es/messages.es.xlf +++ b/i18n/es/messages.es.xlf @@ -595,6 +595,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -653,11 +657,11 @@ Configuración y almacenamiento src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -689,15 +693,15 @@ Clúster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -815,6 +819,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1463,7 +1471,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -1475,7 +1483,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -1487,7 +1495,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -1592,7 +1600,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -1610,7 +1618,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -1619,7 +1627,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -1628,7 +1636,7 @@ src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -1637,7 +1645,7 @@ src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -1646,7 +1654,7 @@ src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -1655,7 +1663,7 @@ src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -1664,7 +1672,7 @@ src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -1673,7 +1681,7 @@ src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -1682,7 +1690,7 @@ src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -1690,7 +1698,15 @@ Eventos src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -1698,7 +1714,7 @@ Espacios de Nombre src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -1706,7 +1722,7 @@ Políticas de Red src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -1714,7 +1730,7 @@ Nodos src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -1722,7 +1738,7 @@ Volúmenes Persistentes src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -1730,7 +1746,7 @@ Vinculaciones de roles src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -1738,7 +1754,7 @@ Roles src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -1746,7 +1762,7 @@ Cuentas de Servicio src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -1754,7 +1770,7 @@ Definiciones de recursos personalizadas src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -1762,7 +1778,7 @@ Complementos src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -1770,7 +1786,7 @@ Ajustes src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -1779,7 +1795,7 @@ src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -1963,7 +1979,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -1971,7 +1987,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -2007,11 +2023,11 @@ Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -2027,7 +2043,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -2039,7 +2055,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -2130,6 +2146,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -2391,6 +2411,30 @@ 68 + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + Horizontal Pod Autoscaler Horizontal Pod Autoscaler @@ -2588,7 +2632,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2704,7 +2748,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2716,7 +2760,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2728,7 +2772,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -2967,6 +3011,18 @@ 128 + + Deployments + Deployments + + src/app/frontend/common/components/resourcelist/deployment/template.html + 24 + + + src/app/frontend/common/components/workloadstatus/template.html + 74 + + Created Fecha de creación @@ -3018,6 +3074,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -3104,7 +3164,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -3328,7 +3388,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -3336,7 +3396,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3416,7 +3476,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -3440,7 +3500,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -4014,7 +4074,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -4061,7 +4121,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -5724,6 +5784,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/i18n/fr/messages.fr.xlf b/i18n/fr/messages.fr.xlf index ac3bd7656794..215370ae815d 100644 --- a/i18n/fr/messages.fr.xlf +++ b/i18n/fr/messages.fr.xlf @@ -595,6 +595,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -653,11 +657,11 @@ Configuration et Stockage src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -689,15 +693,15 @@ Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -815,6 +819,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1463,7 +1471,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -1475,7 +1483,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -1487,7 +1495,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -1593,7 +1601,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -1611,7 +1619,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -1620,7 +1628,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -1629,7 +1637,7 @@ src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -1638,7 +1646,7 @@ src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -1647,7 +1655,7 @@ src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -1656,7 +1664,7 @@ src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -1665,7 +1673,7 @@ src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -1674,7 +1682,7 @@ src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -1683,7 +1691,7 @@ src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -1691,7 +1699,15 @@ Events src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -1700,7 +1716,7 @@ src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -1709,7 +1725,7 @@ src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -1718,7 +1734,7 @@ src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -1727,7 +1743,7 @@ src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -1736,7 +1752,7 @@ src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -1745,7 +1761,7 @@ src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -1754,7 +1770,7 @@ src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -1763,7 +1779,7 @@ src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -1772,7 +1788,7 @@ src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -1781,7 +1797,7 @@ src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -1790,7 +1806,7 @@ src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -1974,7 +1990,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -1982,7 +1998,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -2018,11 +2034,11 @@ Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -2038,7 +2054,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -2050,7 +2066,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -2141,6 +2157,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -2402,6 +2422,30 @@ 68 + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + Horizontal Pod Autoscaler Horizontal Pod Autoscaler @@ -2599,7 +2643,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2715,7 +2759,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2727,7 +2771,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2739,7 +2783,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -3029,6 +3073,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -3115,7 +3163,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -3339,7 +3387,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -3347,7 +3395,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3427,7 +3475,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -3451,7 +3499,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -4025,7 +4073,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -4073,7 +4121,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -5746,6 +5794,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/i18n/ja/messages.ja.xlf b/i18n/ja/messages.ja.xlf index 82dc4a6e9edf..fdae486b1bc5 100644 --- a/i18n/ja/messages.ja.xlf +++ b/i18n/ja/messages.ja.xlf @@ -852,6 +852,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -992,6 +996,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1361,6 +1369,30 @@ 41 + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + Events イベント @@ -1432,6 +1464,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -2290,7 +2326,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -2314,7 +2350,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -2370,7 +2406,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -2536,7 +2572,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -2740,7 +2776,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2880,7 +2916,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2892,7 +2928,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2904,7 +2940,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -2916,7 +2952,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -2924,7 +2960,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3048,7 +3084,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -3060,7 +3096,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -3072,7 +3108,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -3080,7 +3116,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -3148,7 +3184,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -3160,7 +3196,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -3176,11 +3212,11 @@ シークレット src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -3196,7 +3232,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -3204,15 +3240,15 @@ Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -3499,7 +3535,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -3517,7 +3553,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -3526,7 +3562,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -3535,7 +3571,7 @@ src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -3544,7 +3580,7 @@ src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -3553,7 +3589,7 @@ src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -3562,7 +3598,7 @@ src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -3571,7 +3607,7 @@ src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -3580,7 +3616,7 @@ src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -3589,7 +3625,7 @@ src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -3597,7 +3633,15 @@ イベント src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -3606,7 +3650,7 @@ src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -3615,7 +3659,7 @@ src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -3624,7 +3668,7 @@ src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -3633,7 +3677,7 @@ src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -3642,7 +3686,7 @@ src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -3651,7 +3695,7 @@ src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -3660,7 +3704,7 @@ src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -3669,7 +3713,7 @@ src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -3678,7 +3722,7 @@ src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -3695,7 +3739,7 @@ src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -3704,7 +3748,7 @@ src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -3982,6 +4026,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -4052,7 +4100,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -5047,11 +5095,11 @@ Config and Storage src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -5606,6 +5654,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/i18n/ko/messages.ko.xlf b/i18n/ko/messages.ko.xlf index 5866629009dd..d149b6efdbc1 100644 --- a/i18n/ko/messages.ko.xlf +++ b/i18n/ko/messages.ko.xlf @@ -465,7 +465,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -605,7 +605,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -617,7 +617,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -629,7 +629,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -637,7 +637,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -1035,6 +1035,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -1175,6 +1179,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1544,6 +1552,30 @@ 41 + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + Events Events @@ -1615,6 +1647,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -2397,7 +2433,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -2453,7 +2489,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -2587,7 +2623,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -2823,7 +2859,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2963,7 +2999,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2975,7 +3011,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2987,7 +3023,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -2999,7 +3035,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -3007,7 +3043,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3131,7 +3167,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -3143,7 +3179,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -3159,11 +3195,11 @@ Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -3179,7 +3215,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -3187,15 +3223,15 @@ Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -3482,7 +3518,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -3500,7 +3536,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -3509,7 +3545,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -3518,7 +3554,7 @@ src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -3527,7 +3563,7 @@ src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -3536,7 +3572,7 @@ src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -3545,7 +3581,7 @@ src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -3554,7 +3590,7 @@ src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -3563,7 +3599,7 @@ src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -3572,7 +3608,7 @@ src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -3580,7 +3616,15 @@ Events src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -3589,7 +3633,7 @@ src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -3598,7 +3642,7 @@ src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -3607,7 +3651,7 @@ src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -3616,7 +3660,7 @@ src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -3625,7 +3669,7 @@ src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -3634,7 +3678,7 @@ src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -3643,7 +3687,7 @@ src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -3652,7 +3696,7 @@ src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -3661,7 +3705,7 @@ src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -3678,7 +3722,7 @@ src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -3687,7 +3731,7 @@ src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -3969,6 +4013,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -4039,7 +4087,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -5083,11 +5131,11 @@ Config and Storage src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -5673,6 +5721,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/i18n/messages.xlf b/i18n/messages.xlf index 0e8f8c413122..663909f40892 100644 --- a/i18n/messages.xlf +++ b/i18n/messages.xlf @@ -2,6 +2,107 @@ + + Create new resource + + src/app/frontend/chrome/template.html + 42 + + + + + + src/app/frontend/chrome/notifications/template.html + 47,48 + + + + There are no notifications + + src/app/frontend/chrome/notifications/template.html + 63,65 + + + + Remove all notifications + + src/app/frontend/chrome/notifications/template.html + 71 + + + + Search + + src/app/frontend/chrome/search/template.html + 29 + + + + Close + + src/app/frontend/chrome/userpanel/template.html + 30 + + + src/app/frontend/chrome/userpanel/template.html + 55 + + + src/app/frontend/common/components/chips/chipdialog/template.html + 29 + + + src/app/frontend/common/dialogs/download/template.html + 56 + + + src/app/frontend/common/dialogs/previewdeployment/template.html + 34 + + + src/app/frontend/settings/global/namespace/adddialog/template.html + 53 + + + src/app/frontend/settings/global/namespace/editdialog/template.html + 49 + + + + Logged in with auth header + + src/app/frontend/chrome/userpanel/template.html + 45,46 + + + + Logged in with token + + src/app/frontend/chrome/userpanel/template.html + 48 + + + + Default service account + + src/app/frontend/chrome/userpanel/template.html + 51 + + + + Sign in + + src/app/frontend/chrome/userpanel/template.html + 67 + + + + Sign out + + src/app/frontend/chrome/userpanel/template.html + 71 + + Open notifications panel @@ -321,6 +422,17 @@ 48 + + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + Services @@ -329,14 +441,14 @@ src/app/frontend/index.messages.ts - 49 + 50 Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -347,7 +459,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -358,18 +470,18 @@ src/app/frontend/index.messages.ts - 52 + 53 Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -385,7 +497,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -396,22 +508,22 @@ src/app/frontend/index.messages.ts - 54 + 55 Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -422,7 +534,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -433,7 +545,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -444,7 +556,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -455,7 +567,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -466,7 +578,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -477,7 +589,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -488,7 +600,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -499,7 +611,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -510,7 +622,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -521,14 +633,14 @@ src/app/frontend/index.messages.ts - 65 + 66 Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -539,7 +651,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -640,2870 +752,2824 @@ 142,144 - - Create new resource + + Delete resource - src/app/frontend/chrome/template.html - 42 + src/app/frontend/common/components/actionbar/detailactions/delete/template.html + 21 - - Search + + Edit resource - src/app/frontend/chrome/search/template.html - 29 + src/app/frontend/common/components/actionbar/detailactions/edit/template.html + 21 - - Close - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - + + Exec into pod - src/app/frontend/common/components/chips/chipdialog/template.html - 29 + src/app/frontend/common/components/actionbar/detailactions/exec/template.html + 20 + + + View logs - src/app/frontend/common/dialogs/download/template.html - 56 + src/app/frontend/common/components/actionbar/detailactions/logs/template.html + 21 + + + Restart - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 + src/app/frontend/common/components/actionbar/detailactions/restart/template.html + 21 - src/app/frontend/settings/global/namespace/adddialog/template.html + src/app/frontend/common/components/list/column/menu/template.html 53 - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 + src/app/frontend/common/dialogs/restartresource/template.html + 42 - - Logged in with auth header + + Scale resource - src/app/frontend/chrome/userpanel/template.html - 45,46 + src/app/frontend/common/components/actionbar/detailactions/scale/template.html + 21 - - Logged in with token + + Trigger resource - src/app/frontend/chrome/userpanel/template.html - 48 + src/app/frontend/common/components/actionbar/detailactions/trigger/template.html + 21 - - Default service account + + Search for - src/app/frontend/chrome/userpanel/template.html - 51 + src/app/frontend/common/components/breadcrumbs/component.ts + 143 - - Sign in + + Show less - src/app/frontend/chrome/userpanel/template.html - 67 + src/app/frontend/common/components/chips/template.html + 55 - - Sign out + + Show all - src/app/frontend/chrome/userpanel/template.html - 71 + src/app/frontend/common/components/chips/template.html + 57 - - + + Conditions - src/app/frontend/chrome/notifications/template.html - 47,48 + src/app/frontend/common/components/condition/template.html + 20 - - There are no notifications + + Items:  - src/app/frontend/chrome/notifications/template.html - 63,65 + src/app/frontend/common/components/condition/template.html + 26 - - - Remove all notifications - src/app/frontend/chrome/notifications/template.html - 71 + src/app/frontend/common/components/endpoint/cardlist/template.html + 26 - - - Workloads - src/app/frontend/chrome/nav/template.html - 27,28 + src/app/frontend/common/components/ingressrulelist/template.html + 26 - - - Cron Jobs - src/app/frontend/chrome/nav/template.html - 32 + src/app/frontend/common/components/limits/template.html + 26 - - - Daemon Sets - src/app/frontend/chrome/nav/template.html - 36 + src/app/frontend/common/components/policyrule/template.html + 26 - - - Deployments - src/app/frontend/chrome/nav/template.html - 40 + src/app/frontend/common/components/quotas/template.html + 26 - - - Jobs - src/app/frontend/chrome/nav/template.html - 44 + src/app/frontend/common/components/resourcelist/clusterrole/template.html + 23 - - - Pods - src/app/frontend/chrome/nav/template.html - 48 + src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html + 23 - - - Replica Sets - src/app/frontend/chrome/nav/template.html - 52 + src/app/frontend/common/components/resourcelist/configmap/template.html + 23 - - - Replication Controllers - src/app/frontend/chrome/nav/template.html - 56,57 + src/app/frontend/common/components/resourcelist/crd/template.html + 23 - - - Stateful Sets - src/app/frontend/chrome/nav/template.html - 61 + src/app/frontend/common/components/resourcelist/crdobject/template.html + 23 - - - Service - src/app/frontend/chrome/nav/template.html - 68,69 + src/app/frontend/common/components/resourcelist/crdversion/template.html + 26 - - - Ingresses - src/app/frontend/chrome/nav/template.html - 73 + src/app/frontend/common/components/resourcelist/cronjob/template.html + 26 - - - Services - src/app/frontend/chrome/nav/template.html - 77 + src/app/frontend/common/components/resourcelist/daemonset/template.html + 26 - - - Config and Storage - src/app/frontend/chrome/nav/template.html - 83 + src/app/frontend/common/components/resourcelist/deployment/template.html + 26 - - - Config Maps - src/app/frontend/chrome/nav/template.html - 89,90 + src/app/frontend/common/components/resourcelist/event/template.html + 24 - - - Persistent Volume Claims - src/app/frontend/chrome/nav/template.html - 95,96 + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 24 - - - Secrets - src/app/frontend/chrome/nav/template.html - 101 + src/app/frontend/common/components/resourcelist/ingress/template.html + 23 - - - Storage Classes - src/app/frontend/chrome/nav/template.html - 105 + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 - - - Cluster - src/app/frontend/chrome/nav/template.html - 111 + src/app/frontend/common/components/resourcelist/job/template.html + 29 - - - Cluster Role Bindings - src/app/frontend/chrome/nav/template.html - 115,116 + src/app/frontend/common/components/resourcelist/namespace/template.html + 23 - - - Cluster Roles - src/app/frontend/chrome/nav/template.html - 120 + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 23 - - - Events - src/app/frontend/chrome/nav/template.html - 125 + src/app/frontend/common/components/resourcelist/node/template.html + 26 - - - Namespaces - src/app/frontend/chrome/nav/template.html - 129 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 23 - - - Network Policies - src/app/frontend/chrome/nav/template.html - 134,135 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 23 - - - Nodes - src/app/frontend/chrome/nav/template.html - 139 + src/app/frontend/common/components/resourcelist/plugin/template.html + 23 - - - Persistent Volumes - src/app/frontend/chrome/nav/template.html - 143,144 + src/app/frontend/common/components/resourcelist/pod/template.html + 26 - - - Role Bindings - src/app/frontend/chrome/nav/template.html - 149,150 + src/app/frontend/common/components/resourcelist/replicaset/template.html + 29 - - - Roles - src/app/frontend/chrome/nav/template.html - 155 + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 23 - - - Service Accounts - src/app/frontend/chrome/nav/template.html - 160,161 + src/app/frontend/common/components/resourcelist/role/template.html + 23 - - - Custom Resource Definitions - src/app/frontend/chrome/nav/template.html - 168,169 + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 23 - - - Settings - src/app/frontend/chrome/nav/template.html - 187 + src/app/frontend/common/components/resourcelist/secret/template.html + 22 - - - About - src/app/frontend/chrome/nav/template.html - 192 + src/app/frontend/common/components/resourcelist/service/template.html + 23 - - - Plugins - src/app/frontend/chrome/nav/template.html - 179 + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 23 - - - Select namespace... - src/app/frontend/common/components/namespace/template.html - 24 + src/app/frontend/common/components/resourcelist/statefulset/template.html + 26 - - - NAMESPACES - src/app/frontend/common/components/namespace/template.html - 34 + src/app/frontend/common/components/resourcelist/storageclass/template.html + 23 - - - All namespaces - src/app/frontend/common/components/namespace/template.html - 33 + src/app/frontend/common/components/subject/template.html + 26 - - - Search for - src/app/frontend/common/components/breadcrumbs/component.ts - 143 + src/app/frontend/common/components/volumemount/template.html + 25 - - Download logs file + + Type - src/app/frontend/common/dialogs/download/template.html - 19 + src/app/frontend/common/components/condition/template.html + 36 - - - Size: B - src/app/frontend/common/dialogs/download/template.html - 22 + src/app/frontend/common/components/resourcelist/secret/template.html + 75 - - - Preparing file to download... - src/app/frontend/common/dialogs/download/template.html + src/app/frontend/common/components/resourcelist/service/template.html + 86 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 27 - - - File is ready to download! - src/app/frontend/common/dialogs/download/template.html - 29 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 59 - - - Forbidden (403) - src/app/frontend/common/dialogs/download/template.html - 33 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 85 - - - You do not have required permissions to access this resource. - src/app/frontend/common/dialogs/download/template.html - 34 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 121 - - - Save - src/app/frontend/common/dialogs/download/template.html - 44 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 135 - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 167 - src/app/frontend/settings/global/template.html - 127 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 193 - - - Abort - src/app/frontend/common/dialogs/download/template.html - 48 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 207 - - - - src/app/frontend/chrome/nav/pinner/template.html - 22,23 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 268 - - - Preview Deployment - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 306 - - - Delete a resource - src/app/frontend/common/dialogs/deleteresource/template.html - 18 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 332 + + + src/app/frontend/resource/discovery/service/detail/template.html + 28 - - This action is equivalent to: + + Status - src/app/frontend/common/dialogs/deleteresource/template.html - 29 + src/app/frontend/common/components/condition/template.html + 44 - src/app/frontend/common/dialogs/editresource/template.html - 33 + src/app/frontend/common/components/container/template.html + 39 - src/app/frontend/common/dialogs/scaleresource/template.html - 48 + src/app/frontend/common/components/quotas/template.html + 52 - - - Delete - src/app/frontend/common/components/list/column/menu/template.html - 57 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 93 - src/app/frontend/common/dialogs/deleteresource/template.html - 43 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 86 - - - Cancel - src/app/frontend/common/dialogs/deleteresource/template.html - 47 + src/app/frontend/common/components/resourcelist/pod/template.html + 118 - src/app/frontend/common/dialogs/editresource/template.html - 47 + src/app/frontend/resource/cluster/namespace/detail/template.html + 28 - src/app/frontend/common/dialogs/restartresource/template.html - 46 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 29 - src/app/frontend/common/dialogs/scaleresource/template.html - 65 + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 28 - src/app/frontend/common/dialogs/triggerresource/template.html - 29 + src/app/frontend/resource/workloads/pod/detail/template.html + 55 + + + + Last probe time + + src/app/frontend/common/components/condition/template.html + 52 + + + + Last transition time + + src/app/frontend/common/components/condition/template.html + 60 + + + + Reason + + src/app/frontend/common/components/condition/template.html + 68 - src/app/frontend/create/from/form/createnamespace/template.html - 72 + src/app/frontend/common/components/container/template.html + 58 - src/app/frontend/create/from/form/createsecret/template.html - 95 + src/app/frontend/common/components/container/template.html + 72 - src/app/frontend/create/from/form/template.html - 360 + src/app/frontend/common/components/resourcelist/event/template.html + 68 - src/app/frontend/create/from/input/template.html - 48 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 126 - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 60 - - Are you sure you want to delete  in namespace ? + + Message - src/app/frontend/common/dialogs/deleteresource/template.html - 21,23 + src/app/frontend/common/components/condition/template.html + 76 - - - Trigger a - src/app/frontend/common/dialogs/triggerresource/template.html - 18 + src/app/frontend/common/components/container/template.html + 64 - - - will be triggered. - src/app/frontend/common/dialogs/triggerresource/template.html - 20 + src/app/frontend/common/components/container/template.html + 78 - - - Trigger - src/app/frontend/common/components/list/column/menu/template.html - 31 + src/app/frontend/common/components/resourcelist/event/template.html + 76 - src/app/frontend/common/dialogs/triggerresource/template.html - 25 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 66 - - Edit a resource + + Image:  - src/app/frontend/common/dialogs/editresource/template.html - 18 + src/app/frontend/common/components/container/template.html + 19 - - Update - - src/app/frontend/common/dialogs/editresource/template.html - 43 - + + Image - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 + src/app/frontend/common/components/container/template.html + 32 - - - Scale a resource - src/app/frontend/common/dialogs/scaleresource/template.html - 18 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 344 - - will be updated to reflect the desired replicas count. + + Ready - src/app/frontend/common/dialogs/scaleresource/template.html - 20 + src/app/frontend/common/components/container/template.html + 44 - - - Desired replicas - src/app/frontend/common/dialogs/scaleresource/template.html - 26 + src/app/frontend/common/components/endpoint/cardlist/template.html + 67 - - - Actual replicas - src/app/frontend/common/dialogs/scaleresource/template.html - 38 + src/app/frontend/common/components/resourcelist/node/template.html + 80 - - Scale - - src/app/frontend/common/components/list/column/menu/template.html - 35 - + + Started - src/app/frontend/common/dialogs/scaleresource/template.html - 61 + src/app/frontend/common/components/container/template.html + 50 - - Edit resource + + Exit Code - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 + src/app/frontend/common/components/container/template.html + 84 - - Delete resource + + Signal - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 + src/app/frontend/common/components/container/template.html + 90 - - Restart a resource + + Started At - src/app/frontend/common/dialogs/restartresource/template.html - 18 + src/app/frontend/common/components/container/template.html + 98 - - This action is equivalent to: + + Environment Variables - src/app/frontend/common/dialogs/restartresource/template.html - 29 + src/app/frontend/common/components/container/template.html + 106,108 - - Restart + + Environment variable - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 + src/app/frontend/common/components/container/template.html + 116 - src/app/frontend/common/components/list/column/menu/template.html - 53 + src/app/frontend/common/components/container/template.html + 133 - src/app/frontend/common/dialogs/restartresource/template.html - 42 + src/app/frontend/common/components/container/template.html + 153 - - in namespace will be restarted. + + bytes - src/app/frontend/common/dialogs/restartresource/template.html - 21,23 + src/app/frontend/common/components/container/template.html + 140 - - - Show less - src/app/frontend/common/components/chips/template.html - 55 + src/app/frontend/common/components/container/template.html + 160 - - Show all + + Commands - src/app/frontend/common/components/chips/template.html - 57 + src/app/frontend/common/components/container/template.html + 170 - - Unsupported graph type . + + Arguments - src/app/frontend/common/components/graph/component.ts - 95 + src/app/frontend/common/components/container/template.html + 184 - - Waiting for more data to display chart... + + Mounts - src/app/frontend/common/components/graph/template.html - 22 + src/app/frontend/common/components/container/template.html + 199 - - Endpoints + + Security Context - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 + src/app/frontend/common/components/container/template.html + 214 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 + src/app/frontend/resource/workloads/pod/detail/template.html + 102 + + + Liveness Probe - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 + src/app/frontend/common/components/container/template.html + 226 - - Items:  + + Readiness Probe - src/app/frontend/common/components/condition/template.html - 26 + src/app/frontend/common/components/container/template.html + 236 + + + Startup Probe - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 + src/app/frontend/common/components/container/template.html + 246 + + + Controlled by - src/app/frontend/common/components/ingressrulelist/template.html - 26 + src/app/frontend/common/components/creator/template.html + 42 + + + Name - src/app/frontend/common/components/limits/template.html - 26 + src/app/frontend/common/components/creator/template.html + 48 - src/app/frontend/common/components/policyrule/template.html - 26 + src/app/frontend/common/components/objectmeta/template.html + 44 src/app/frontend/common/components/quotas/template.html - 26 + 37 src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 + 43 src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 + 43 src/app/frontend/common/components/resourcelist/configmap/template.html - 23 + 44 src/app/frontend/common/components/resourcelist/crd/template.html - 23 + 54 src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 + 41 src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 + 36 src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 + 57 src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 + 66 src/app/frontend/common/components/resourcelist/deployment/template.html - 26 + 66 src/app/frontend/common/components/resourcelist/event/template.html - 24 + 50 src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 + 44 src/app/frontend/common/components/resourcelist/ingress/template.html - 23 + 44 + + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 src/app/frontend/common/components/resourcelist/job/template.html - 29 + 69 src/app/frontend/common/components/resourcelist/namespace/template.html - 23 + 53 src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 + 42 src/app/frontend/common/components/resourcelist/node/template.html - 26 + 57 src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 + 52 src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 + 52 src/app/frontend/common/components/resourcelist/plugin/template.html - 23 + 43 src/app/frontend/common/components/resourcelist/pod/template.html - 26 + 66 src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 + 69 src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 + 63 src/app/frontend/common/components/resourcelist/role/template.html - 23 + 43 src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 + 43 src/app/frontend/common/components/resourcelist/secret/template.html - 22 + 43 src/app/frontend/common/components/resourcelist/service/template.html - 23 + 54 src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 + 42 src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 + 66 src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 + 44 src/app/frontend/common/components/subject/template.html - 26 + 36 src/app/frontend/common/components/volumemount/template.html - 25 - - - - Host - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 + 35 - - - Ports (Name, Port, Protocol) - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 + src/app/frontend/create/from/form/environmentvariables/template.html + 29 - - - unset - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 + src/app/frontend/resource/workloads/deployment/detail/template.html + 224 - - Node + + Kind - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 + src/app/frontend/common/components/creator/template.html + 56 - src/app/frontend/common/components/resourcelist/pod/template.html - 109 + src/app/frontend/common/components/subject/template.html + 57 - src/app/frontend/resource/workloads/pod/detail/template.html - 47 + src/app/frontend/crd/detail/template.html + 72 - - Ready + + Age - src/app/frontend/common/components/container/template.html - 44 + src/app/frontend/common/components/creator/template.html + 68 - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 + src/app/frontend/common/components/objectmeta/template.html + 62 - src/app/frontend/common/components/resourcelist/node/template.html - 80 + src/app/frontend/resource/workloads/deployment/detail/template.html + 238 - - Image:  + + Name:  - src/app/frontend/common/components/container/template.html - 19 + src/app/frontend/common/components/creator/template.html + 22 - - - Image - src/app/frontend/common/components/container/template.html - 32 + src/app/frontend/common/components/objectmeta/template.html + 23 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 + src/app/frontend/resource/workloads/deployment/detail/template.html + 192 - - Status - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - + + Kind:  - src/app/frontend/resource/cluster/persistentvolume/detail/template.html + src/app/frontend/common/components/creator/template.html 29 - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - - - - Started - - src/app/frontend/common/components/container/template.html - 50 - - - Reason - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - + + Age:  - src/app/frontend/common/components/resourcelist/event/template.html - 68 + src/app/frontend/common/components/creator/template.html + 36 - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 + src/app/frontend/common/components/objectmeta/template.html + 35 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 + src/app/frontend/resource/workloads/deployment/detail/template.html + 206 - - Message - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - + + Labels - src/app/frontend/common/components/container/template.html + src/app/frontend/common/components/creator/template.html 78 - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - - - - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - - - - Signal - - src/app/frontend/common/components/container/template.html - 90 + src/app/frontend/common/components/objectmeta/template.html + 78 - - - Started At - src/app/frontend/common/components/container/template.html - 98 + src/app/frontend/common/components/resourcelist/configmap/template.html + 66 - - - Environment Variables - src/app/frontend/common/components/container/template.html - 106,108 + src/app/frontend/common/components/resourcelist/cronjob/template.html + 89 - - - Environment variable - src/app/frontend/common/components/container/template.html - 116 + src/app/frontend/common/components/resourcelist/daemonset/template.html + 99 - src/app/frontend/common/components/container/template.html - 133 + src/app/frontend/common/components/resourcelist/deployment/template.html + 99 - src/app/frontend/common/components/container/template.html - 153 + src/app/frontend/common/components/resourcelist/ingress/template.html + 66 - - - bytes - src/app/frontend/common/components/container/template.html - 140 + src/app/frontend/common/components/resourcelist/job/template.html + 102 - src/app/frontend/common/components/container/template.html - 160 + src/app/frontend/common/components/resourcelist/namespace/template.html + 64 - - - Commands - src/app/frontend/common/components/container/template.html - 170 + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 60 - - - Arguments - src/app/frontend/common/components/container/template.html - 184 + src/app/frontend/common/components/resourcelist/node/template.html + 70 - - - Mounts - src/app/frontend/common/components/container/template.html - 199 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 74 - - - Security Context - src/app/frontend/common/components/container/template.html - 214 + src/app/frontend/common/components/resourcelist/pod/template.html + 99 - src/app/frontend/resource/workloads/pod/detail/template.html + src/app/frontend/common/components/resourcelist/replicaset/template.html 102 - - - Liveness Probe - src/app/frontend/common/components/container/template.html - 226 + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 96 - - - Readiness Probe - src/app/frontend/common/components/container/template.html - 236 + src/app/frontend/common/components/resourcelist/secret/template.html + 65 - - - Startup Probe - src/app/frontend/common/components/container/template.html - 246 + src/app/frontend/common/components/resourcelist/service/template.html + 76 - - - Exec into pod - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 60 - - - View logs - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 + src/app/frontend/common/components/resourcelist/statefulset/template.html + 99 - - - Filter - src/app/frontend/common/components/list/filter/template.html - 29 + src/app/frontend/create/from/form/template.html + 183 - - - Filter objects by name - src/app/frontend/common/components/list/filter/template.html - 34 + src/app/frontend/resource/workloads/deployment/detail/template.html + 254 - - Trigger resource + + Images - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 + src/app/frontend/common/components/creator/template.html + 87 - - - Scale resource - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 + src/app/frontend/common/components/resourcelist/cronjob/template.html + 79 - - - Conditions - src/app/frontend/common/components/condition/template.html - 20 + src/app/frontend/common/components/resourcelist/daemonset/template.html + 89 - - - Type - src/app/frontend/common/components/condition/template.html - 36 + src/app/frontend/common/components/resourcelist/deployment/template.html + 89 - src/app/frontend/common/components/resourcelist/secret/template.html - 75 + src/app/frontend/common/components/resourcelist/job/template.html + 92 - src/app/frontend/common/components/resourcelist/service/template.html - 86 + src/app/frontend/common/components/resourcelist/pod/template.html + 89 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 + src/app/frontend/common/components/resourcelist/replicaset/template.html + 92 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 86 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 + src/app/frontend/common/components/resourcelist/statefulset/template.html + 89 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 + src/app/frontend/resource/workloads/daemonset/detail/template.html + 39 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 + src/app/frontend/resource/workloads/deployment/detail/template.html + 263 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 + src/app/frontend/resource/workloads/job/detail/template.html + 58 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 + src/app/frontend/resource/workloads/replicaset/detail/template.html + 47 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 + src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + 39 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 + src/app/frontend/resource/workloads/statefulset/detail/template.html + 39 + + + Endpoints - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 + src/app/frontend/common/components/endpoint/cardlist/template.html + 20 src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 + 173 - src/app/frontend/resource/discovery/service/detail/template.html - 28 + src/app/frontend/resource/discovery/ingress/detail/template.html + 36 - - Last probe time + + Host - src/app/frontend/common/components/condition/template.html - 52 + src/app/frontend/common/components/endpoint/cardlist/template.html + 37 - - Last transition time + + Ports (Name, Port, Protocol) - src/app/frontend/common/components/condition/template.html - 60 + src/app/frontend/common/components/endpoint/cardlist/template.html + 45 - - Controlled by + + unset - src/app/frontend/common/components/creator/template.html - 42 + src/app/frontend/common/components/endpoint/cardlist/template.html + 51 - - Name - - src/app/frontend/common/components/creator/template.html - 48 - + + Node - src/app/frontend/common/components/objectmeta/template.html - 44 + src/app/frontend/common/components/endpoint/cardlist/template.html + 59 - src/app/frontend/common/components/quotas/template.html - 37 + src/app/frontend/common/components/resourcelist/pod/template.html + 109 - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 + src/app/frontend/resource/workloads/pod/detail/template.html + 47 + + + Unsupported graph type . - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 + src/app/frontend/common/components/graph/component.ts + 95 + + + Waiting for more data to display chart... - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 + src/app/frontend/common/components/graph/template.html + 22 + + + Rules - src/app/frontend/common/components/resourcelist/crd/template.html - 54 + src/app/frontend/common/components/ingressrulelist/template.html + 20 - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 + src/app/frontend/common/components/policyrule/template.html + 20 + + + Host - src/app/frontend/common/components/resourcelist/crdversion/template.html + src/app/frontend/common/components/ingressrulelist/template.html 36 + + + Path - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 + src/app/frontend/common/components/ingressrulelist/template.html + 47 + + + Path Type - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 + src/app/frontend/common/components/ingressrulelist/template.html + 54 + + + Service Name - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 + src/app/frontend/common/components/ingressrulelist/template.html + 61 + + + Service Port - src/app/frontend/common/components/resourcelist/event/template.html - 50 + src/app/frontend/common/components/ingressrulelist/template.html + 88 + + + TLS Secret - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 + src/app/frontend/common/components/ingressrulelist/template.html + 97 + + + Resource Limits - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 + src/app/frontend/common/components/limits/template.html + 20 + + + Resource name - src/app/frontend/common/components/resourcelist/job/template.html - 69 + src/app/frontend/common/components/limits/template.html + 37 - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 105 + + + Resource type - src/app/frontend/common/components/resourcelist/networkpolicy/template.html + src/app/frontend/common/components/limits/template.html 42 + + + Default - src/app/frontend/common/components/resourcelist/node/template.html - 57 + src/app/frontend/common/components/limits/template.html + 47 + + + Default request - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/app/frontend/common/components/limits/template.html 52 + + + Edit - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 + src/app/frontend/common/components/list/column/menu/template.html + 49 - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 + src/app/frontend/settings/global/namespace/editdialog/template.html + 45 + + + Delete - src/app/frontend/common/components/resourcelist/pod/template.html - 66 + src/app/frontend/common/components/list/column/menu/template.html + 57 - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 + src/app/frontend/common/dialogs/deleteresource/template.html + 43 + + + Actions - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 + src/app/frontend/common/components/list/column/menu/template.html + 66 + + + Exec - src/app/frontend/common/components/resourcelist/role/template.html - 43 + src/app/frontend/common/components/list/column/menu/template.html + 27 + + + Trigger - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 + src/app/frontend/common/components/list/column/menu/template.html + 31 - src/app/frontend/common/components/resourcelist/secret/template.html - 43 + src/app/frontend/common/dialogs/triggerresource/template.html + 25 + + + Scale - src/app/frontend/common/components/resourcelist/service/template.html - 54 + src/app/frontend/common/components/list/column/menu/template.html + 35 - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 + src/app/frontend/common/dialogs/scaleresource/template.html + 61 + + + Unpin - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 + src/app/frontend/common/components/list/column/menu/template.html + 41 + + + Pin - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 + src/app/frontend/common/components/list/column/menu/template.html + 43 + + + Filter - src/app/frontend/common/components/subject/template.html - 36 + src/app/frontend/common/components/list/filter/template.html + 29 + + + Filter objects by name - src/app/frontend/common/components/volumemount/template.html - 35 + src/app/frontend/common/components/list/filter/template.html + 34 + + + There is nothing to display here - src/app/frontend/create/from/form/environmentvariables/template.html - 29 + src/app/frontend/common/components/list/zerostate/template.html + 22 - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 + src/app/frontend/common/components/zerostate/template.html + 23 - - Kind + + No resources found. - src/app/frontend/common/components/creator/template.html - 56 + src/app/frontend/common/components/list/zerostate/template.html + 27 + + + Namespace conflict - src/app/frontend/common/components/subject/template.html - 57 + src/app/frontend/common/components/namespace/changedialog/template.html + 19 + + + Selected namespace is different than namespace of currently selected resource. - src/app/frontend/crd/detail/template.html - 72 + src/app/frontend/common/components/namespace/changedialog/template.html + 22 - - Age + + Do you want to stay on current page and change namespace from to ? - src/app/frontend/common/components/creator/template.html - 68 + src/app/frontend/common/components/namespace/changedialog/template.html + 24,26 + + + Yes - src/app/frontend/common/components/objectmeta/template.html - 62 + src/app/frontend/common/components/namespace/changedialog/template.html + 32 + + + No - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 + src/app/frontend/common/components/namespace/changedialog/template.html + 35 - - Name:  + + Select namespace... - src/app/frontend/common/components/creator/template.html - 22 + src/app/frontend/common/components/namespace/template.html + 24 + + + NAMESPACES - src/app/frontend/common/components/objectmeta/template.html - 23 + src/app/frontend/common/components/namespace/template.html + 34 + + + All namespaces - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 + src/app/frontend/common/components/namespace/template.html + 33 - - Kind:  + + Metadata - src/app/frontend/common/components/creator/template.html - 29 + src/app/frontend/common/components/objectmeta/template.html + 19 - - Age:  + + Created - src/app/frontend/common/components/creator/template.html - 36 + src/app/frontend/common/components/objectmeta/template.html + 55 - src/app/frontend/common/components/objectmeta/template.html - 35 + src/app/frontend/common/components/quotas/template.html + 42 - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 + src/app/frontend/common/components/resourcelist/clusterrole/template.html + 54 - - - Labels - src/app/frontend/common/components/creator/template.html - 78 + src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html + 54 - src/app/frontend/common/components/objectmeta/template.html + src/app/frontend/common/components/resourcelist/configmap/template.html 78 - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 + src/app/frontend/common/components/resourcelist/crd/template.html + 91 + + + src/app/frontend/common/components/resourcelist/crdobject/template.html + 58 src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 + 152 src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 + 121 src/app/frontend/common/components/resourcelist/deployment/template.html - 99 + 121 + + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 78 src/app/frontend/common/components/resourcelist/ingress/template.html - 66 + 116 + + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 src/app/frontend/common/components/resourcelist/job/template.html - 102 + 124 src/app/frontend/common/components/resourcelist/namespace/template.html - 64 + 80 src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 + 70 src/app/frontend/common/components/resourcelist/node/template.html - 70 + 144 + + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 139 src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 + 142 + + + src/app/frontend/common/components/resourcelist/plugin/template.html + 72 src/app/frontend/common/components/resourcelist/pod/template.html - 99 + 160 src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 + 124 src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 + 118 + + + src/app/frontend/common/components/resourcelist/role/template.html + 61 + + + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 61 src/app/frontend/common/components/resourcelist/secret/template.html - 65 + 85 src/app/frontend/common/components/resourcelist/service/template.html - 76 + 124 src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 + 70 src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 + 121 - src/app/frontend/create/from/form/template.html - 183 + src/app/frontend/common/components/resourcelist/storageclass/template.html + 75 + + + + Namespace:  + + src/app/frontend/common/components/objectmeta/template.html + 29 src/app/frontend/resource/workloads/deployment/detail/template.html - 254 + 199 - - Images + + Namespace - src/app/frontend/common/components/creator/template.html - 87 + src/app/frontend/common/components/objectmeta/template.html + 50 - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 + src/app/frontend/common/components/resourcelist/configmap/template.html + 58 - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 + src/app/frontend/common/components/resourcelist/crdobject/template.html + 52 - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 + src/app/frontend/common/components/resourcelist/cronjob/template.html + 71 - src/app/frontend/common/components/resourcelist/job/template.html - 92 + src/app/frontend/common/components/resourcelist/daemonset/template.html + 81 - src/app/frontend/common/components/resourcelist/pod/template.html - 89 + src/app/frontend/common/components/resourcelist/deployment/template.html + 81 - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 + src/app/frontend/common/components/resourcelist/event/template.html + 59 - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 50 - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 + src/app/frontend/common/components/resourcelist/ingress/template.html + 58 - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 + src/app/frontend/common/components/resourcelist/job/template.html + 84 - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 54 - src/app/frontend/resource/workloads/job/detail/template.html - 58 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 66 - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 + src/app/frontend/common/components/resourcelist/plugin/template.html + 64 - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 + src/app/frontend/common/components/resourcelist/pod/template.html + 81 - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 + src/app/frontend/common/components/resourcelist/replicaset/template.html + 84 - - - There is nothing to display here - src/app/frontend/common/components/list/zerostate/template.html - 22 + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 78 - src/app/frontend/common/components/zerostate/template.html - 23 + src/app/frontend/common/components/resourcelist/role/template.html + 53 - - - No resources found. - src/app/frontend/common/components/list/zerostate/template.html - 27 + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 53 - - - Rules - src/app/frontend/common/components/ingressrulelist/template.html - 20 + src/app/frontend/common/components/resourcelist/secret/template.html + 57 - src/app/frontend/common/components/policyrule/template.html - 20 + src/app/frontend/common/components/resourcelist/service/template.html + 68 - - - Host - src/app/frontend/common/components/ingressrulelist/template.html - 36 + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 54 - - - Path - src/app/frontend/common/components/ingressrulelist/template.html - 47 + src/app/frontend/common/components/resourcelist/statefulset/template.html + 81 - - - Path Type - src/app/frontend/common/components/ingressrulelist/template.html - 54 + src/app/frontend/common/components/subject/template.html + 48 - - - Service Name - src/app/frontend/common/components/ingressrulelist/template.html - 61 + src/app/frontend/create/from/form/template.html + 145 - - - Service Port - src/app/frontend/common/components/ingressrulelist/template.html - 88 + src/app/frontend/resource/workloads/deployment/detail/template.html + 232 - - - TLS Secret - src/app/frontend/common/components/ingressrulelist/template.html - 97 + src/app/frontend/settings/global/namespace/adddialog/template.html + 29 - - - Resource Limits - src/app/frontend/common/components/limits/template.html - 20 + src/app/frontend/settings/global/namespace/template.html + 27 - - Resource name + + UID - src/app/frontend/common/components/limits/template.html - 37 + src/app/frontend/common/components/objectmeta/template.html + 71 + + + Annotations - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 + src/app/frontend/common/components/objectmeta/template.html + 88 - - Resource type + + Pods status - src/app/frontend/common/components/limits/template.html - 42 + src/app/frontend/common/components/podstatus/template.html + 20 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 119 - - Default + + Desired:  - src/app/frontend/common/components/limits/template.html - 47 + src/app/frontend/common/components/podstatus/template.html + 53 - - Default request + + Running:  - src/app/frontend/common/components/limits/template.html - 52 + src/app/frontend/common/components/podstatus/template.html + 26 - - Namespace + + Succeeded:  - src/app/frontend/common/components/objectmeta/template.html - 50 + src/app/frontend/common/components/podstatus/template.html + 33 + + + Pending:  - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 + src/app/frontend/common/components/podstatus/template.html + 40 + + + Failed:  - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 + src/app/frontend/common/components/podstatus/template.html + 47 + + + Desired - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 + src/app/frontend/common/components/podstatus/template.html + 88 + + + Running - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 + src/app/frontend/common/components/podstatus/template.html + 63 + + + Succeeded - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 + src/app/frontend/common/components/podstatus/template.html + 69 + + + Pending - src/app/frontend/common/components/resourcelist/event/template.html - 59 + src/app/frontend/common/components/podstatus/template.html + 75 + + + Failed - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 + src/app/frontend/common/components/podstatus/template.html + 82 + + + Resources - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 + src/app/frontend/common/components/policyrule/template.html + 36 + + + Non-resource URL - src/app/frontend/common/components/resourcelist/job/template.html - 84 + src/app/frontend/common/components/policyrule/template.html + 46 + + + Resource Names - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 + src/app/frontend/common/components/policyrule/template.html + 56 + + + Verbs - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/app/frontend/common/components/policyrule/template.html 66 + + + API Groups - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 + src/app/frontend/common/components/policyrule/template.html + 76 + + + Initial Delay (Seconds) - src/app/frontend/common/components/resourcelist/pod/template.html - 81 + src/app/frontend/common/components/probe/template.html + 26 + + + Timeout (Seconds) - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 + src/app/frontend/common/components/probe/template.html + 31 + + + Probe Period (Seconds) - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 + src/app/frontend/common/components/probe/template.html + 36 + + + Success Threshold - src/app/frontend/common/components/resourcelist/role/template.html - 53 + src/app/frontend/common/components/probe/template.html + 41 + + + Failure Threshold - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 + src/app/frontend/common/components/probe/template.html + 46 + + + Termination Grace Period (Seconds) - src/app/frontend/common/components/resourcelist/secret/template.html - 57 + src/app/frontend/common/components/probe/template.html + 51 + + + HTTP Healthcheck URI - src/app/frontend/common/components/resourcelist/service/template.html - 68 + src/app/frontend/common/components/probe/template.html + 58 + + + HTTP Headers - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 + src/app/frontend/common/components/probe/template.html + 68 + + + TCP Socket - src/app/frontend/common/components/resourcelist/statefulset/template.html + src/app/frontend/common/components/probe/template.html 81 + + + Exec Commands - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 + src/app/frontend/common/components/probe/template.html + 90 + + + Resource Quotas - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 + src/app/frontend/common/components/quotas/template.html + 20 + + + Group - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 + src/app/frontend/common/components/resourcelist/crd/template.html + 65 - src/app/frontend/settings/global/namespace/template.html - 27 + src/app/frontend/crd/detail/template.html + 41 - - Endpoint links are external links that will be open in a new tab. + + Full Name - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 + src/app/frontend/common/components/resourcelist/crd/template.html + 73 - - Endpoints open_in_new + + Namespaced - src/app/frontend/common/components/resourcelist/ingress/template.html - 76,80 + src/app/frontend/common/components/resourcelist/crd/template.html + 81 - - Host links are external links that will be open in a new tab. + + Objects - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 + src/app/frontend/common/components/resourcelist/crdobject/template.html + 21 - - Hosts open_in_new + + No resources found in the selected namespace. - src/app/frontend/common/components/resourcelist/ingress/template.html - 93,97 + src/app/frontend/common/components/resourcelist/crdobject/template.html + 92 - - Created + + Versions - src/app/frontend/common/components/objectmeta/template.html - 55 + src/app/frontend/common/components/resourcelist/crdversion/template.html + 20 + + + Served - src/app/frontend/common/components/quotas/template.html + src/app/frontend/common/components/resourcelist/crdversion/template.html 42 + + + Storage - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 + src/app/frontend/common/components/resourcelist/crdversion/template.html + 48 + + + Schedule - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 + src/app/frontend/common/components/resourcelist/cronjob/template.html + 99 - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 52 + + + Suspend - src/app/frontend/common/components/resourcelist/crd/template.html - 91 + src/app/frontend/common/components/resourcelist/cronjob/template.html + 110 - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 64 + + + Active src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 + 120 + + + Last Schedule - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 + src/app/frontend/common/components/resourcelist/cronjob/template.html + 128 + + + Source - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 + src/app/frontend/common/components/resourcelist/event/template.html + 84 - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 19 + + + Object - src/app/frontend/common/components/resourcelist/job/template.html - 124 + src/app/frontend/common/components/resourcelist/event/template.html + 95 + + + Sub-object - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 + src/app/frontend/common/components/resourcelist/event/template.html + 114 + + + Count - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 + src/app/frontend/common/components/resourcelist/event/template.html + 125 + + + First Seen - src/app/frontend/common/components/resourcelist/node/template.html - 144 + src/app/frontend/common/components/resourcelist/event/template.html + 134 + + + Last Seen - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 + src/app/frontend/common/components/resourcelist/event/template.html + 146 + + + Horizontal Pod Autoscalers - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 22 + + + Min Replicas - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 56 + + + Max Replicas - src/app/frontend/common/components/resourcelist/pod/template.html - 160 + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 62 + + + Reference - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 68 + + + Controller - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 - src/app/frontend/common/components/resourcelist/role/template.html - 61 + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + + Endpoint links are external links that will be open in a new tab. - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 + src/app/frontend/common/components/resourcelist/ingress/template.html + 80 + + + Endpoints open_in_new - src/app/frontend/common/components/resourcelist/secret/template.html - 85 + src/app/frontend/common/components/resourcelist/ingress/template.html + 76,80 + + + Host links are external links that will be open in a new tab. - src/app/frontend/common/components/resourcelist/service/template.html - 124 + src/app/frontend/common/components/resourcelist/ingress/template.html + 97 + + + Hosts open_in_new - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 + src/app/frontend/common/components/resourcelist/ingress/template.html + 93,97 + + + Phase - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 + src/app/frontend/common/components/resourcelist/namespace/template.html + 72 - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 + src/app/frontend/resource/cluster/node/detail/template.html + 30 - - Edit + + CPU requests (cores) - src/app/frontend/common/components/list/column/menu/template.html - 49 + src/app/frontend/common/components/resourcelist/node/template.html + 88 + + + CPU limits (cores) - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 + src/app/frontend/common/components/resourcelist/node/template.html + 99 - - Actions + + Memory requests (bytes) - src/app/frontend/common/components/list/column/menu/template.html - 66 + src/app/frontend/common/components/resourcelist/node/template.html + 110 - - Exec + + Memory limits (bytes) - src/app/frontend/common/components/list/column/menu/template.html - 27 + src/app/frontend/common/components/resourcelist/node/template.html + 121 - - Unpin + + Capacity - src/app/frontend/common/components/list/column/menu/template.html - 41 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 63 - - - Pin - src/app/frontend/common/components/list/column/menu/template.html - 43 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 108 - - - Namespace conflict - src/app/frontend/common/components/namespace/changedialog/template.html - 19 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 98 - - - Selected namespace is different than namespace of currently selected resource. - src/app/frontend/common/components/namespace/changedialog/template.html - 22 + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 49 - - Do you want to stay on current page and change namespace from to ? + + Access Modes - src/app/frontend/common/components/namespace/changedialog/template.html - 24,26 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 73 - - - Yes - src/app/frontend/common/components/namespace/changedialog/template.html - 32 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 119 - - - No - src/app/frontend/common/components/namespace/changedialog/template.html - 35 + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 58 - - Metadata + + Reclaim Policy - src/app/frontend/common/components/objectmeta/template.html - 19 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 83 - - Namespace:  + + Claim - src/app/frontend/common/components/objectmeta/template.html - 29 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 101 - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 35 - - UID + + Storage Class - src/app/frontend/common/components/objectmeta/template.html - 71 + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 115 - - - Annotations - src/app/frontend/common/components/objectmeta/template.html - 88 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 129 - - - Pods status - src/app/frontend/common/components/podstatus/template.html - 20 + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 33 + + + Volume - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 94 - - Desired:  + + Dependencies - src/app/frontend/common/components/podstatus/template.html - 53 + src/app/frontend/common/components/resourcelist/plugin/template.html + 55 - - Running:  + + Restarts - src/app/frontend/common/components/podstatus/template.html - 26 + src/app/frontend/common/components/resourcelist/pod/template.html + 126 - - - Succeeded:  - src/app/frontend/common/components/podstatus/template.html - 33 + src/app/frontend/resource/workloads/pod/detail/template.html + 73 - - Pending:  + + CPU Usage (cores) - src/app/frontend/common/components/podstatus/template.html - 40 + src/app/frontend/common/components/resourcelist/pod/template.html + 134 - - Failed:  + + Memory Usage (bytes) - src/app/frontend/common/components/podstatus/template.html - 47 + src/app/frontend/common/components/resourcelist/pod/template.html + 146 - - Desired + + Cluster IP - src/app/frontend/common/components/podstatus/template.html - 88 + src/app/frontend/common/components/resourcelist/service/template.html + 94 - - - Running - src/app/frontend/common/components/podstatus/template.html - 63 + src/app/frontend/resource/discovery/service/detail/template.html + 33 - - Succeeded + + Internal Endpoints - src/app/frontend/common/components/podstatus/template.html - 69 + src/app/frontend/common/components/resourcelist/service/template.html + 102 - - Pending + + External Endpoints - src/app/frontend/common/components/podstatus/template.html - 75 + src/app/frontend/common/components/resourcelist/service/template.html + 112 - - Failed + + Provisioner - src/app/frontend/common/components/podstatus/template.html - 82 + src/app/frontend/common/components/resourcelist/storageclass/template.html + 55 - - - Resources - src/app/frontend/common/components/policyrule/template.html - 36 + src/app/frontend/resource/config/storageclass/detail/template.html + 29 - - Non-resource URL + + Parameters - src/app/frontend/common/components/policyrule/template.html - 46 + src/app/frontend/common/components/resourcelist/storageclass/template.html + 63 - - Resource Names + + SE Linux User - src/app/frontend/common/components/policyrule/template.html - 56 + src/app/frontend/common/components/securitycontext/template.html + 23 - - Verbs + + SE Linux Role - src/app/frontend/common/components/policyrule/template.html - 66 + src/app/frontend/common/components/securitycontext/template.html + 28 - - API Groups + + SE Linux Type - src/app/frontend/common/components/policyrule/template.html - 76 + src/app/frontend/common/components/securitycontext/template.html + 33 - - Initial Delay (Seconds) + + SE Linux Level - src/app/frontend/common/components/probe/template.html - 26 + src/app/frontend/common/components/securitycontext/template.html + 38 - - Timeout (Seconds) + + Windows GMSA Credential Spec Name - src/app/frontend/common/components/probe/template.html - 31 + src/app/frontend/common/components/securitycontext/template.html + 44 - - Probe Period (Seconds) + + Windows GMSA Credential Spec - src/app/frontend/common/components/probe/template.html - 36 + src/app/frontend/common/components/securitycontext/template.html + 49 - - Success Threshold + + Windows Run as User - src/app/frontend/common/components/probe/template.html - 41 + src/app/frontend/common/components/securitycontext/template.html + 54 - - Failure Threshold + + Run as User - src/app/frontend/common/components/probe/template.html - 46 + src/app/frontend/common/components/securitycontext/template.html + 60 - - Termination Grace Period (Seconds) + + Run as Group - src/app/frontend/common/components/probe/template.html - 51 + src/app/frontend/common/components/securitycontext/template.html + 65 - - HTTP Healthcheck URI + + Run as Non-Root - src/app/frontend/common/components/probe/template.html - 58 + src/app/frontend/common/components/securitycontext/template.html + 70 - - HTTP Headers + + Seccomp Profile Type - src/app/frontend/common/components/probe/template.html - 68 + src/app/frontend/common/components/securitycontext/template.html + 76 - - TCP Socket + + Seccomp Localhost Profile - src/app/frontend/common/components/probe/template.html + src/app/frontend/common/components/securitycontext/template.html 81 - - Exec Commands + + Added Capabilities - src/app/frontend/common/components/probe/template.html - 90 + src/app/frontend/common/components/securitycontext/template.html + 88 - - Resource Quotas + + Dropped Capabilities - src/app/frontend/common/components/quotas/template.html - 20 + src/app/frontend/common/components/securitycontext/template.html + 93 - - Group - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - + + Privileged - src/app/frontend/crd/detail/template.html - 41 + src/app/frontend/common/components/securitycontext/template.html + 98 - - Full Name + + Read Only Filesystem - src/app/frontend/common/components/resourcelist/crd/template.html - 73 + src/app/frontend/common/components/securitycontext/template.html + 103 - - Namespaced + + Allow Privilege Escalation - src/app/frontend/common/components/resourcelist/crd/template.html - 81 + src/app/frontend/common/components/securitycontext/template.html + 108 - - Objects + + Proc Mount - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 + src/app/frontend/common/components/securitycontext/template.html + 113 - - No resources found in the selected namespace. + + Filesystem Group - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 + src/app/frontend/common/components/securitycontext/template.html + 120 - - Versions + + Filesystem Group Change Policy - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 + src/app/frontend/common/components/securitycontext/template.html + 125 - - Served + + Supplemental Groups - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 + src/app/frontend/common/components/securitycontext/template.html + 131 - - Storage + + Sysctls - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 + src/app/frontend/common/components/securitycontext/template.html + 139 - - Schedule + + Subjects - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 + src/app/frontend/common/components/subject/template.html + 20 + + + API Group - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 + src/app/frontend/common/components/subject/template.html + 63 - - Suspend + + Read Only - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 + src/app/frontend/common/components/volumemount/template.html + 40 - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 227 - - Active + + Mount Path - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 + src/app/frontend/common/components/volumemount/template.html + 45 - - Last Schedule + + Sub Path - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 + src/app/frontend/common/components/volumemount/template.html + 50 - - Source + + Source Type - src/app/frontend/common/components/resourcelist/event/template.html - 84 + src/app/frontend/common/components/volumemount/template.html + 55 + + + Source Name - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 + src/app/frontend/common/components/volumemount/template.html + 60 - - Object + + Workload Status - src/app/frontend/common/components/resourcelist/event/template.html - 95 + src/app/frontend/common/components/workloadstatus/template.html + 20 - - Sub-object + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - src/app/frontend/common/components/resourcelist/event/template.html - 114 + src/app/frontend/common/components/zerostate/template.html + 26,35 - - Count + + Workloads - src/app/frontend/common/components/resourcelist/event/template.html - 125 + src/app/frontend/chrome/nav/template.html + 27,28 - - First Seen + + Cron Jobs - src/app/frontend/common/components/resourcelist/event/template.html - 134 + src/app/frontend/chrome/nav/template.html + 32 - - Last Seen + + Daemon Sets - src/app/frontend/common/components/resourcelist/event/template.html - 146 + src/app/frontend/chrome/nav/template.html + 36 - - Horizontal Pod Autoscalers + + Deployments - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 + src/app/frontend/chrome/nav/template.html + 40 - - Min Replicas + + Jobs - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 + src/app/frontend/chrome/nav/template.html + 44 - - Max Replicas + + Pods - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 + src/app/frontend/chrome/nav/template.html + 48 - - Reference + + Replica Sets - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 + src/app/frontend/chrome/nav/template.html + 52 - - CPU requests (cores) + + Replication Controllers - src/app/frontend/common/components/resourcelist/node/template.html - 88 + src/app/frontend/chrome/nav/template.html + 56,57 - - CPU limits (cores) + + Stateful Sets - src/app/frontend/common/components/resourcelist/node/template.html - 99 + src/app/frontend/chrome/nav/template.html + 61 - - Memory requests (bytes) + + Service - src/app/frontend/common/components/resourcelist/node/template.html - 110 + src/app/frontend/chrome/nav/template.html + 67,68 - - Memory limits (bytes) + + Ingresses - src/app/frontend/common/components/resourcelist/node/template.html - 121 + src/app/frontend/chrome/nav/template.html + 73 - - Phase + + Ingress Classes - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 + src/app/frontend/chrome/nav/template.html + 77 + + + + Services + + src/app/frontend/chrome/nav/template.html + 82 + + + Config and Storage - src/app/frontend/resource/cluster/node/detail/template.html - 30 + src/app/frontend/chrome/nav/template.html + 88 - - Capacity + + Config Maps - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 + src/app/frontend/chrome/nav/template.html + 94,95 + + + Persistent Volume Claims - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 + src/app/frontend/chrome/nav/template.html + 100,101 + + + Secrets - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 + src/app/frontend/chrome/nav/template.html + 106 + + + Storage Classes - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 + src/app/frontend/chrome/nav/template.html + 110 - - Access Modes + + Cluster - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 + src/app/frontend/chrome/nav/template.html + 116 + + + Cluster Role Bindings - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 + src/app/frontend/chrome/nav/template.html + 120,121 + + + Cluster Roles - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 + src/app/frontend/chrome/nav/template.html + 125 - - Reclaim Policy + + Events - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 + src/app/frontend/chrome/nav/template.html + 130 - - Claim + + Namespaces - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 + src/app/frontend/chrome/nav/template.html + 134 + + + Network Policies - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 + src/app/frontend/chrome/nav/template.html + 139,140 - - Storage Class + + Nodes - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 + src/app/frontend/chrome/nav/template.html + 144 + + + Persistent Volumes - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 + src/app/frontend/chrome/nav/template.html + 148,149 + + + Role Bindings - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 + src/app/frontend/chrome/nav/template.html + 154,155 - - Volume + + Roles - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 + src/app/frontend/chrome/nav/template.html + 160 - - Dependencies + + Service Accounts - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 + src/app/frontend/chrome/nav/template.html + 165,166 - - Workload Status + + Custom Resource Definitions - src/app/frontend/common/components/workloadstatus/template.html - 20 + src/app/frontend/chrome/nav/template.html + 173,174 - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + + Settings - src/app/frontend/common/components/zerostate/template.html - 26,35 + src/app/frontend/chrome/nav/template.html + 192 - - Restarts + + About - src/app/frontend/common/components/resourcelist/pod/template.html - 126 + src/app/frontend/chrome/nav/template.html + 197 + + + Plugins - src/app/frontend/resource/workloads/pod/detail/template.html - 73 + src/app/frontend/chrome/nav/template.html + 184 - - CPU Usage (cores) + + - src/app/frontend/common/components/resourcelist/pod/template.html - 134 + src/app/frontend/chrome/nav/pinner/template.html + 22,23 - - Memory Usage (bytes) + + Delete a resource - src/app/frontend/common/components/resourcelist/pod/template.html - 146 + src/app/frontend/common/dialogs/deleteresource/template.html + 18 - - Cluster IP + + This action is equivalent to: - src/app/frontend/common/components/resourcelist/service/template.html - 94 + src/app/frontend/common/dialogs/deleteresource/template.html + 29 - src/app/frontend/resource/discovery/service/detail/template.html + src/app/frontend/common/dialogs/editresource/template.html 33 - - - Internal Endpoints - src/app/frontend/common/components/resourcelist/service/template.html - 102 + src/app/frontend/common/dialogs/scaleresource/template.html + 48 - - External Endpoints + + Cancel - src/app/frontend/common/components/resourcelist/service/template.html - 112 + src/app/frontend/common/dialogs/deleteresource/template.html + 47 - - - Provisioner - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 + src/app/frontend/common/dialogs/editresource/template.html + 47 - src/app/frontend/resource/config/storageclass/detail/template.html + src/app/frontend/common/dialogs/restartresource/template.html + 46 + + + src/app/frontend/common/dialogs/scaleresource/template.html + 65 + + + src/app/frontend/common/dialogs/triggerresource/template.html 29 - - - Parameters - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 + src/app/frontend/create/from/form/createnamespace/template.html + 72 - - - SE Linux User - src/app/frontend/common/components/securitycontext/template.html - 23 + src/app/frontend/create/from/form/createsecret/template.html + 95 - - - SE Linux Role - src/app/frontend/common/components/securitycontext/template.html - 28 + src/app/frontend/create/from/form/template.html + 360 + + + src/app/frontend/create/from/input/template.html + 48 + + + src/app/frontend/resource/config/secret/detail/edit/template.html + 35 - - SE Linux Type + + Are you sure you want to delete  in namespace ? - src/app/frontend/common/components/securitycontext/template.html - 33 + src/app/frontend/common/dialogs/deleteresource/template.html + 21,23 - - SE Linux Level + + Download logs file - src/app/frontend/common/components/securitycontext/template.html - 38 + src/app/frontend/common/dialogs/download/template.html + 19 - - Windows GMSA Credential Spec Name + + Size: B - src/app/frontend/common/components/securitycontext/template.html - 44 + src/app/frontend/common/dialogs/download/template.html + 22 - - Windows GMSA Credential Spec + + Preparing file to download... - src/app/frontend/common/components/securitycontext/template.html - 49 + src/app/frontend/common/dialogs/download/template.html + 27 - - Windows Run as User + + File is ready to download! - src/app/frontend/common/components/securitycontext/template.html - 54 + src/app/frontend/common/dialogs/download/template.html + 29 - - Run as User + + Forbidden (403) - src/app/frontend/common/components/securitycontext/template.html - 60 + src/app/frontend/common/dialogs/download/template.html + 33 - - Run as Group + + You do not have required permissions to access this resource. - src/app/frontend/common/components/securitycontext/template.html - 65 + src/app/frontend/common/dialogs/download/template.html + 34 - - Run as Non-Root + + Save - src/app/frontend/common/components/securitycontext/template.html - 70 + src/app/frontend/common/dialogs/download/template.html + 44 - - - Seccomp Profile Type - src/app/frontend/common/components/securitycontext/template.html - 76 + src/app/frontend/settings/global/saveanywaysdialog/template.html + 24 - - - Seccomp Localhost Profile - src/app/frontend/common/components/securitycontext/template.html - 81 + src/app/frontend/settings/global/template.html + 127 - - Added Capabilities + + Abort - src/app/frontend/common/components/securitycontext/template.html - 88 + src/app/frontend/common/dialogs/download/template.html + 48 - - Dropped Capabilities + + Edit a resource - src/app/frontend/common/components/securitycontext/template.html - 93 + src/app/frontend/common/dialogs/editresource/template.html + 18 - - Privileged + + Update - src/app/frontend/common/components/securitycontext/template.html - 98 + src/app/frontend/common/dialogs/editresource/template.html + 43 - - - Read Only Filesystem - src/app/frontend/common/components/securitycontext/template.html - 103 + src/app/frontend/resource/config/secret/detail/edit/template.html + 31 - - Allow Privilege Escalation + + Restart a resource - src/app/frontend/common/components/securitycontext/template.html - 108 + src/app/frontend/common/dialogs/restartresource/template.html + 18 - - Proc Mount + + This action is equivalent to: - src/app/frontend/common/components/securitycontext/template.html - 113 + src/app/frontend/common/dialogs/restartresource/template.html + 29 - - Filesystem Group + + in namespace will be restarted. - src/app/frontend/common/components/securitycontext/template.html - 120 + src/app/frontend/common/dialogs/restartresource/template.html + 21,23 - - Filesystem Group Change Policy + + Scale a resource - src/app/frontend/common/components/securitycontext/template.html - 125 + src/app/frontend/common/dialogs/scaleresource/template.html + 18 - - Supplemental Groups + + will be updated to reflect the desired replicas count. - src/app/frontend/common/components/securitycontext/template.html - 131 + src/app/frontend/common/dialogs/scaleresource/template.html + 20 - - Sysctls + + Desired replicas - src/app/frontend/common/components/securitycontext/template.html - 139 + src/app/frontend/common/dialogs/scaleresource/template.html + 26 - - Subjects + + Actual replicas - src/app/frontend/common/components/subject/template.html - 20 + src/app/frontend/common/dialogs/scaleresource/template.html + 38 - - API Group + + Trigger a - src/app/frontend/common/components/subject/template.html - 63 + src/app/frontend/common/dialogs/triggerresource/template.html + 18 - - Read Only + + will be triggered. - src/app/frontend/common/components/volumemount/template.html - 40 + src/app/frontend/common/dialogs/triggerresource/template.html + 20 + + + Preview Deployment - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 + src/app/frontend/common/dialogs/previewdeployment/template.html + 18 - - Mount Path + + Can't find plugin "" - src/app/frontend/common/components/volumemount/template.html - 45 + src/app/frontend/common/services/pluginloader/clientloader.service.ts + 42 - - Sub Path + + Can't find dependency "" for plugin "" - src/app/frontend/common/components/volumemount/template.html - 50 + src/app/frontend/common/services/pluginloader/clientloader.service.ts + 48 - - Source Type + + Suffix '' not recognized. - src/app/frontend/common/components/volumemount/template.html - 55 + src/app/frontend/common/components/graph/helper.ts + 58 - - Source Name + + Config and Storage - src/app/frontend/common/components/volumemount/template.html - 60 + src/app/frontend/overview/template.html + 58 - - - Shell in in - src/app/frontend/shell/template.html - 22,33 + src/app/frontend/search/template.html + 54 @@ -3734,6 +3800,27 @@ 23,25 + + Shell in in + + src/app/frontend/shell/template.html + 22,33 + + + + Read documentation + + src/app/frontend/about/actionbar/template.html + 24 + + + + Provide feedback + + src/app/frontend/about/actionbar/template.html + 35 + + General-purpose web UI for Kubernetes clusters @@ -3857,6 +3944,27 @@ 132 + + Add Namespace + + src/app/frontend/settings/global/namespace/adddialog/template.html + 20 + + + + Provide a namespace name that should be added to the namespace fallback list + + src/app/frontend/settings/global/namespace/adddialog/template.html + 23 + + + + Add + + src/app/frontend/settings/global/namespace/adddialog/template.html + 47,49 + + Default namespace @@ -3878,18 +3986,60 @@ 40 - - List of namespaces that should be presented to user without namespace list privileges. + + List of namespaces that should be presented to user without namespace list privileges. + + src/app/frontend/settings/global/namespace/template.html + 42 + + + + Add namespaces... + + src/app/frontend/settings/global/namespace/template.html + 60 + + + + Edit Namespace List + + src/app/frontend/settings/global/namespace/editdialog/template.html + 20 + + + + Remove namespaces from the list and confirm to save the changes. + + src/app/frontend/settings/global/namespace/editdialog/template.html + 23 + + + + No namespaces selected + + src/app/frontend/settings/global/namespace/editdialog/template.html + 36 + + + + Settings have changed since last reload + + src/app/frontend/settings/global/saveanywaysdialog/template.html + 18 + + + + Do you want to save them anyways? - src/app/frontend/settings/global/namespace/template.html - 42 + src/app/frontend/settings/global/saveanywaysdialog/template.html + 19 - - Add namespaces... + + Refresh - src/app/frontend/settings/global/namespace/template.html - 60 + src/app/frontend/settings/global/saveanywaysdialog/template.html + 28 @@ -3934,29 +4084,89 @@ 43 - - Can't find plugin "" + + Resource Information - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 + src/app/frontend/crd/detail/template.html + 22 - - Can't find dependency "" for plugin "" + + Accepted Names - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 + src/app/frontend/crd/detail/template.html + 55 - - Config and Storage + + Scope - src/app/frontend/overview/template.html - 56 + src/app/frontend/crd/detail/template.html + 35 + + + Version - src/app/frontend/search/template.html - 52 + src/app/frontend/crd/detail/template.html + 29 + + + + Subresources + + src/app/frontend/crd/detail/template.html + 47 + + + + Plural + + src/app/frontend/crd/detail/template.html + 62 + + + + List Kind + + src/app/frontend/crd/detail/template.html + 77 + + + + Singular + + src/app/frontend/crd/detail/template.html + 67 + + + + Short Names + + src/app/frontend/crd/detail/template.html + 82 + + + + Categories + + src/app/frontend/crd/detail/template.html + 87 + + + + Data + + src/app/frontend/crd/crdobject/template.html + 22 + + + src/app/frontend/resource/config/configmap/detail/template.html + 23 + + + src/app/frontend/resource/config/secret/detail/template.html + 22 @@ -3997,6 +4207,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -4040,20 +4254,9 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 - - - Data - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - src/app/frontend/resource/config/secret/detail/template.html - 22 + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 @@ -4063,856 +4266,709 @@ 32 - src/app/frontend/resource/config/secret/detail/template.html - 40 - - - - Read documentation - - src/app/frontend/about/actionbar/template.html - 24 - - - - Provide feedback - - src/app/frontend/about/actionbar/template.html - 35 - - - - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - - - - Provide a namespace name that should be added to the namespace fallback list - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - - - - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47,49 - - - - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - - - - Remove namespaces from the list and confirm to save the changes. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - - - - No namespaces selected - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - - - - Settings have changed since last reload - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - - - - Do you want to save them anyways? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - - - - Refresh - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - - - - Status:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - - - - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - - - - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - - - - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - - - - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - - - - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - - - - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - - - - Reclaim policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 + src/app/frontend/resource/config/secret/detail/template.html + 40 - - Storage class + + Volume Name - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 38 - - Mount Option(s) + + Session Affinity - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 + src/app/frontend/resource/discovery/service/detail/template.html + 38 - - Access modes + + Selector - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 + src/app/frontend/resource/discovery/service/detail/template.html + 44 - - - Quantity - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 + src/app/frontend/resource/workloads/daemonset/detail/template.html + 30 - - - Filesystem type - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 + src/app/frontend/resource/workloads/deployment/detail/template.html + 71 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 + src/app/frontend/resource/workloads/replicaset/detail/template.html + 38 + + + Ingress Class Name - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 + src/app/frontend/resource/discovery/ingress/detail/template.html + 29 + + + Default Backend - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 + src/app/frontend/resource/discovery/ingress/detail/template.html + 49 + + + Service Name - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 + src/app/frontend/resource/discovery/ingress/detail/template.html + 55 + + + Service Port Name - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 + src/app/frontend/resource/discovery/ingress/detail/template.html + 61 - - Partition + + Service Port Number - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 + src/app/frontend/resource/discovery/ingress/detail/template.html + 67 + + + - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 + src/app/frontend/resource/discovery/ingress/detail/template.html + 73 - - Read only + + Label Selector - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 + src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + 30 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 + src/app/frontend/resource/workloads/statefulset/detail/template.html + 30 + + + Init images - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 + src/app/frontend/resource/workloads/daemonset/detail/template.html + 48 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 + src/app/frontend/resource/workloads/deployment/detail/template.html + 272 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 + src/app/frontend/resource/workloads/job/detail/template.html + 67 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 + src/app/frontend/resource/workloads/replicaset/detail/template.html + 56 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 + src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + 48 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 + src/app/frontend/resource/workloads/statefulset/detail/template.html + 48 - - Volume ID + + Pods:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 + src/app/frontend/resource/workloads/deployment/detail/template.html + 214 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 + src/app/frontend/resource/workloads/replicaset/detail/template.html + 28 - - Lun number + + Status:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 + src/app/frontend/resource/workloads/pod/detail/template.html + 30 - - Target World Wide Names + + IP:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 + src/app/frontend/resource/workloads/pod/detail/template.html + 37 - - Dataset name + + IP - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 + src/app/frontend/resource/workloads/pod/detail/template.html + 61 - - Persistent disk name + + QoS Class - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 + src/app/frontend/resource/workloads/pod/detail/template.html + 67 - - Path + + Service Account - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 + src/app/frontend/resource/workloads/pod/detail/template.html + 79 + + + Image Pull Secrets - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 + src/app/frontend/resource/cluster/serviceaccount/detail/template.html + 25 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 + src/app/frontend/resource/workloads/pod/detail/template.html + 89 - - Driver + + Init containers - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 + src/app/frontend/resource/workloads/pod/detail/template.html + 132 - - Volume Handle + + Completions:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 + src/app/frontend/resource/workloads/job/detail/template.html + 28 - - File System Type + + Parallelism:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 + src/app/frontend/resource/workloads/job/detail/template.html + 35 - - Volume Attributes + + Completions - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 + src/app/frontend/resource/workloads/job/detail/template.html + 45 - - Key + + Parallelism - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 + src/app/frontend/resource/workloads/job/detail/template.html + 51 - - Value + + Rolling update strategy - src/app/frontend/create/from/form/environmentvariables/template.html - 44 + src/app/frontend/resource/workloads/deployment/detail/template.html + 82 + + + Old Replica Sets - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 + src/app/frontend/resource/workloads/deployment/detail/template.html + 283 - - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 + + Horizontal Pod Autoscaler + + src/app/frontend/resource/workloads/deployment/detail/template.html + 287 - - iSCSI target lun number + + Strategy:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 + src/app/frontend/resource/workloads/deployment/detail/template.html + 28 - - Target portal + + Min ready seconds:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 + src/app/frontend/resource/workloads/deployment/detail/template.html + 35 - - Server + + Revision history limit:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 + src/app/frontend/resource/workloads/deployment/detail/template.html + 42 - - Keyring + + Strategy - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 + src/app/frontend/resource/workloads/deployment/detail/template.html + 52 - - Monitors + + Min ready seconds - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 + src/app/frontend/resource/workloads/deployment/detail/template.html + 58 - - Pool + + Revision history limit - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 + src/app/frontend/resource/workloads/deployment/detail/template.html + 64 - - Secret reference name + + Max surge:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 + src/app/frontend/resource/workloads/deployment/detail/template.html + 88 - - User + + Max unavailable:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 + src/app/frontend/resource/workloads/deployment/detail/template.html + 95 - - Resource Information + + Max surge - src/app/frontend/crd/detail/template.html - 22 + src/app/frontend/resource/workloads/deployment/detail/template.html + 105 - - Accepted Names + + Max unavailable - src/app/frontend/crd/detail/template.html - 55 + src/app/frontend/resource/workloads/deployment/detail/template.html + 111 - - Scope + + Updated:  - src/app/frontend/crd/detail/template.html - 35 + src/app/frontend/resource/workloads/deployment/detail/template.html + 125 - - Version + + Total:  - src/app/frontend/crd/detail/template.html - 29 + src/app/frontend/resource/workloads/deployment/detail/template.html + 132 - - Subresources + + Available:  - src/app/frontend/crd/detail/template.html - 47 + src/app/frontend/resource/workloads/deployment/detail/template.html + 139 - - Plural + + Unavailable:  - src/app/frontend/crd/detail/template.html - 62 + src/app/frontend/resource/workloads/deployment/detail/template.html + 146 - - List Kind + + Updated - src/app/frontend/crd/detail/template.html - 77 + src/app/frontend/resource/workloads/deployment/detail/template.html + 156 - - Singular + + Total - src/app/frontend/crd/detail/template.html - 67 + src/app/frontend/resource/workloads/deployment/detail/template.html + 162 - - Short Names + + Available - src/app/frontend/crd/detail/template.html - 82 + src/app/frontend/resource/workloads/deployment/detail/template.html + 168 - - Categories + + Unavailable - src/app/frontend/crd/detail/template.html - 87 + src/app/frontend/resource/workloads/deployment/detail/template.html + 174 - - Session Affinity + + New Replica Set - src/app/frontend/resource/discovery/service/detail/template.html - 38 + src/app/frontend/resource/workloads/deployment/detail/template.html + 186 - - Selector + + Role Reference - src/app/frontend/resource/discovery/service/detail/template.html - 44 + src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html + 28 - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 + src/app/frontend/resource/cluster/rolebinding/detail/template.html + 28 + + + Active Jobs - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 58 - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 90 - - Volume Name + + Inactive Jobs - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 94 - - Label Selector - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - + + Schedule:  - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 28 - - Init images + + Active Jobs:  - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 35 + + + Suspend:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 42 + + + Last schedule - src/app/frontend/resource/workloads/job/detail/template.html - 67 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 70 + + + Concurrency policy - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 76 + + + Starting deadline seconds - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 + src/app/frontend/resource/workloads/cronjob/detail/template.html + 82 + + + Reclaim policy - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 46 - - Ingress Class Name + + Storage class - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 52 - - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 + + Mount Option(s) + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 73 - - Service Name + + Access modes - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 83 - - Service Port Name + + Quantity - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 114 - - Service Port Number + + Filesystem type - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 33 - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 65 - - - Pods:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 91 - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 141 - - - Completions:  - src/app/frontend/resource/workloads/job/detail/template.html - 28 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 274 - - - Parallelism:  - src/app/frontend/resource/workloads/job/detail/template.html - 35 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 338 - - Completions + + Partition - src/app/frontend/resource/workloads/job/detail/template.html - 45 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 39 - - - Parallelism - src/app/frontend/resource/workloads/job/detail/template.html - 51 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 147 - - Rolling update strategy + + Read only - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 45 - - - Old Replica Sets - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 71 - - - Horizontal Pod Autoscaler - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 97 - - - Strategy:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 153 - - - Min ready seconds:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 185 - - - Revision history limit:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 286 - - - Strategy - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 324 - - - Min ready seconds - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 371 - - Revision history limit + + Volume ID - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 51 - - - Max surge:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 77 - - Max unavailable:  + + Lun number - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 103 - - Max surge + + Target World Wide Names - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 110 - - Max unavailable + + Dataset name - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 127 - - Updated:  + + Persistent disk name - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 159 - - Total:  + + Path - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 179 - - - Available:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 199 - - - Unavailable:  - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 318 - - Updated + + Driver - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 212 - - Total + + Volume Handle - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 217 - - Available + + File System Type - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 222 - - Unavailable + + Volume Attributes - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 237 - - New Replica Set + + Key - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 244 - - Active Jobs + + Value - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 + src/app/frontend/create/from/form/environmentvariables/template.html + 44 - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 252 - - Inactive Jobs + + iSCSI Qualified Name - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 280 - - Schedule:  + + iSCSI target lun number - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 292 - - Active Jobs:  + + Target portal - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 298 - - Suspend:  + + Server - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 312 - - Last schedule + + Keyring - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 350 - - Concurrency policy + + Monitors - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 356 - - Starting deadline seconds + + Pool - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 365 - - Role Reference + + Secret reference name - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 377 + + + User - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 383 @@ -5083,13 +5139,6 @@ 23 - - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - - App name @@ -5373,97 +5422,6 @@ 258,260 - - Port - - src/app/frontend/create/from/form/portmappings/template.html - 48 - - - - Target port - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - - Protocol - - src/app/frontend/create/from/form/portmappings/template.html - 102 - - - - Port must be an integer. - - src/app/frontend/create/from/form/portmappings/template.html - 52 - - - - Port cannot be empty. - - src/app/frontend/create/from/form/portmappings/template.html - 54 - - - - Port must be greater than 0. - - src/app/frontend/create/from/form/portmappings/template.html - 56 - - - - Port must be less than 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 58 - - - - Target port must be an integer. - - src/app/frontend/create/from/form/portmappings/template.html - 77,79 - - - - Target port cannot be empty. - - src/app/frontend/create/from/form/portmappings/template.html - 81,83 - - - - Target port must be greater than 0. - - src/app/frontend/create/from/form/portmappings/template.html - 85,87 - - - - Target port must be less than 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 89,91 - - - - Protocol is required. - - src/app/frontend/create/from/form/portmappings/template.html - 114 - - - - Invalid protocol. - - src/app/frontend/create/from/form/portmappings/template.html - 116 - - Create a new namespace @@ -5661,6 +5619,97 @@ 32,34 + + Port + + src/app/frontend/create/from/form/portmappings/template.html + 48 + + + + Target port + + src/app/frontend/create/from/form/portmappings/template.html + 71 + + + + Protocol + + src/app/frontend/create/from/form/portmappings/template.html + 102 + + + + Port must be an integer. + + src/app/frontend/create/from/form/portmappings/template.html + 52 + + + + Port cannot be empty. + + src/app/frontend/create/from/form/portmappings/template.html + 54 + + + + Port must be greater than 0. + + src/app/frontend/create/from/form/portmappings/template.html + 56 + + + + Port must be less than 65536. + + src/app/frontend/create/from/form/portmappings/template.html + 58 + + + + Target port must be an integer. + + src/app/frontend/create/from/form/portmappings/template.html + 77,79 + + + + Target port cannot be empty. + + src/app/frontend/create/from/form/portmappings/template.html + 81,83 + + + + Target port must be greater than 0. + + src/app/frontend/create/from/form/portmappings/template.html + 85,87 + + + + Target port must be less than 65536. + + src/app/frontend/create/from/form/portmappings/template.html + 89,91 + + + + Protocol is required. + + src/app/frontend/create/from/form/portmappings/template.html + 114 + + + + Invalid protocol. + + src/app/frontend/create/from/form/portmappings/template.html + 116 + + Running: diff --git a/i18n/zh-Hans/messages.zh-Hans.xlf b/i18n/zh-Hans/messages.zh-Hans.xlf index 96fa011b6a35..f5acc77ec4df 100644 --- a/i18n/zh-Hans/messages.zh-Hans.xlf +++ b/i18n/zh-Hans/messages.zh-Hans.xlf @@ -465,7 +465,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -605,7 +605,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -617,7 +617,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -629,7 +629,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -637,7 +637,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -1035,6 +1035,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -1175,6 +1179,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1544,6 +1552,30 @@ 41 + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + Events Events @@ -1615,6 +1647,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -2397,7 +2433,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -2453,7 +2489,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -2617,7 +2653,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -2821,7 +2857,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2961,7 +2997,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2973,7 +3009,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2985,7 +3021,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -2997,7 +3033,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -3005,7 +3041,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3129,7 +3165,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -3141,7 +3177,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -3157,11 +3193,11 @@ Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -3177,7 +3213,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -3185,15 +3221,15 @@ Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -3478,7 +3514,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -3496,7 +3532,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -3505,7 +3541,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -3513,7 +3549,7 @@ Config Maps src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -3521,7 +3557,7 @@ Persistent Volume Claims src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -3529,7 +3565,7 @@ Secrets src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -3537,7 +3573,7 @@ Storage Classes src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -3545,7 +3581,7 @@ 集群 src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -3553,7 +3589,7 @@ Cluster Role Bindings src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -3561,7 +3597,7 @@ Cluster Roles src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -3569,7 +3605,15 @@ 事件 src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -3577,7 +3621,7 @@ 命名空间 src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -3585,7 +3629,7 @@ 网络策略 src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -3593,7 +3637,7 @@ Nodes src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -3601,7 +3645,7 @@ Persistent Volumes src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -3609,7 +3653,7 @@ Role Bindings src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -3617,7 +3661,7 @@ Roles src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -3625,7 +3669,7 @@ 服务账号 src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -3633,7 +3677,7 @@ 自定义资源 src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -3641,7 +3685,7 @@ 插件 src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -3657,7 +3701,7 @@ 设置 src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -3665,7 +3709,7 @@ 关于 src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -3933,6 +3977,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -4003,7 +4051,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -4976,11 +5024,11 @@ Config and Storage src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -5534,6 +5582,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf b/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf index ffae42ef85e1..0d8314e648f8 100644 --- a/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf +++ b/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf @@ -465,7 +465,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -605,7 +605,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -617,7 +617,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -629,7 +629,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -637,7 +637,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -1035,6 +1035,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -1175,6 +1179,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1544,6 +1552,30 @@ 41 + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + Events Events @@ -1615,6 +1647,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -2389,7 +2425,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -2445,7 +2481,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -2579,7 +2615,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -2815,7 +2851,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2955,7 +2991,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2967,7 +3003,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2979,7 +3015,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -2991,7 +3027,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -2999,7 +3035,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3123,7 +3159,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -3135,7 +3171,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -3151,11 +3187,11 @@ Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -3171,7 +3207,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -3179,15 +3215,15 @@ Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -3474,7 +3510,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -3492,7 +3528,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -3501,7 +3537,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -3510,7 +3546,7 @@ src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -3519,7 +3555,7 @@ src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -3528,7 +3564,7 @@ src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -3537,7 +3573,7 @@ src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -3546,7 +3582,7 @@ src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -3555,7 +3591,7 @@ src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -3564,7 +3600,7 @@ src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -3572,7 +3608,15 @@ Events src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -3581,7 +3625,7 @@ src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -3590,7 +3634,7 @@ src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -3599,7 +3643,7 @@ src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -3608,7 +3652,7 @@ src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -3617,7 +3661,7 @@ src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -3626,7 +3670,7 @@ src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -3635,7 +3679,7 @@ src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -3644,7 +3688,7 @@ src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -3653,7 +3697,7 @@ src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -3670,7 +3714,7 @@ src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -3679,7 +3723,7 @@ src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -3961,6 +4005,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -4031,7 +4079,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -5078,11 +5126,11 @@ Config and Storage src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -5668,6 +5716,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/i18n/zh-Hant/messages.zh-Hant.xlf b/i18n/zh-Hant/messages.zh-Hant.xlf index 7b886dca0f80..69fe785f4f95 100644 --- a/i18n/zh-Hant/messages.zh-Hant.xlf +++ b/i18n/zh-Hant/messages.zh-Hant.xlf @@ -465,7 +465,7 @@ src/app/frontend/index.messages.ts - 58 + 59 @@ -605,7 +605,7 @@ src/app/frontend/index.messages.ts - 63 + 64 @@ -617,7 +617,7 @@ src/app/frontend/index.messages.ts - 62 + 63 @@ -629,7 +629,7 @@ src/app/frontend/index.messages.ts - 49 + 50 @@ -637,7 +637,7 @@ Config And Storage src/app/frontend/index.messages.ts - 50 + 51 @@ -1035,6 +1035,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 23 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + src/app/frontend/common/components/resourcelist/job/template.html 29 @@ -1175,6 +1179,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 44 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + src/app/frontend/common/components/resourcelist/job/template.html 69 @@ -1544,6 +1552,30 @@ 41 + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + + + + Controller + Controller + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + + Events Events @@ -1615,6 +1647,10 @@ src/app/frontend/common/components/resourcelist/ingress/template.html 116 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + src/app/frontend/common/components/resourcelist/job/template.html 124 @@ -2397,7 +2433,7 @@ src/app/frontend/index.messages.ts - 59 + 60 @@ -2453,7 +2489,7 @@ src/app/frontend/index.messages.ts - 61 + 62 @@ -2619,7 +2655,7 @@ src/app/frontend/index.messages.ts - 60 + 61 @@ -2823,7 +2859,7 @@ src/app/frontend/index.messages.ts - 52 + 53 @@ -2963,7 +2999,7 @@ src/app/frontend/index.messages.ts - 57 + 58 @@ -2975,7 +3011,7 @@ src/app/frontend/index.messages.ts - 56 + 57 @@ -2987,7 +3023,7 @@ src/app/frontend/index.messages.ts - 51 + 52 @@ -2999,7 +3035,7 @@ src/app/frontend/index.messages.ts - 65 + 66 @@ -3007,7 +3043,7 @@ Settings src/app/frontend/index.messages.ts - 66 + 67 @@ -3131,7 +3167,7 @@ src/app/frontend/index.messages.ts - 64 + 65 @@ -3143,7 +3179,7 @@ src/app/frontend/index.messages.ts - 54 + 55 @@ -3159,11 +3195,11 @@ Secrets src/app/frontend/index.messages.ts - 53 + 54 src/app/frontend/overview/template.html - 64 + 66 src/app/frontend/resource/cluster/serviceaccount/detail/template.html @@ -3179,7 +3215,7 @@ src/app/frontend/search/template.html - 60 + 62 @@ -3187,15 +3223,15 @@ Cluster src/app/frontend/index.messages.ts - 55 + 56 src/app/frontend/overview/template.html - 73 + 75 src/app/frontend/search/template.html - 68 + 70 @@ -3482,7 +3518,7 @@ src/app/frontend/chrome/nav/template.html - 68 + 67 @@ -3500,7 +3536,7 @@ src/app/frontend/chrome/nav/template.html - 77 + 82 @@ -3509,7 +3545,7 @@ src/app/frontend/chrome/nav/template.html - 83 + 88 @@ -3518,7 +3554,7 @@ src/app/frontend/chrome/nav/template.html - 89 + 94 @@ -3527,7 +3563,7 @@ src/app/frontend/chrome/nav/template.html - 95 + 100 @@ -3536,7 +3572,7 @@ src/app/frontend/chrome/nav/template.html - 101 + 106 @@ -3545,7 +3581,7 @@ src/app/frontend/chrome/nav/template.html - 105 + 110 @@ -3554,7 +3590,7 @@ src/app/frontend/chrome/nav/template.html - 111 + 116 @@ -3563,7 +3599,7 @@ src/app/frontend/chrome/nav/template.html - 115 + 120 @@ -3572,7 +3608,7 @@ src/app/frontend/chrome/nav/template.html - 120 + 125 @@ -3580,7 +3616,15 @@ Events src/app/frontend/chrome/nav/template.html - 125 + 130 + + + + Ingress Classes + Ingress Classes + + src/app/frontend/chrome/nav/template.html + 77 @@ -3589,7 +3633,7 @@ src/app/frontend/chrome/nav/template.html - 129 + 134 @@ -3598,7 +3642,7 @@ src/app/frontend/chrome/nav/template.html - 134 + 139 @@ -3607,7 +3651,7 @@ src/app/frontend/chrome/nav/template.html - 139 + 144 @@ -3616,7 +3660,7 @@ src/app/frontend/chrome/nav/template.html - 143 + 148 @@ -3625,7 +3669,7 @@ src/app/frontend/chrome/nav/template.html - 149 + 154 @@ -3634,7 +3678,7 @@ src/app/frontend/chrome/nav/template.html - 155 + 160 @@ -3643,7 +3687,7 @@ src/app/frontend/chrome/nav/template.html - 160 + 165 @@ -3652,7 +3696,7 @@ src/app/frontend/chrome/nav/template.html - 168 + 173 @@ -3661,7 +3705,7 @@ src/app/frontend/chrome/nav/template.html - 179 + 184 @@ -3678,7 +3722,7 @@ src/app/frontend/chrome/nav/template.html - 187 + 192 @@ -3687,7 +3731,7 @@ src/app/frontend/chrome/nav/template.html - 192 + 197 @@ -3969,6 +4013,10 @@ src/app/frontend/resource/discovery/ingress/detail/template.html 23 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + src/app/frontend/resource/discovery/service/detail/template.html 22 @@ -4039,7 +4087,7 @@ src/app/frontend/index.messages.ts - 67 + 68 @@ -5086,11 +5134,11 @@ Config and Storage src/app/frontend/overview/template.html - 56 + 58 src/app/frontend/search/template.html - 52 + 54 @@ -5676,6 +5724,10 @@ src/app/frontend/resource/config/storageclass/detail/template.html 37 + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + Data diff --git a/src/app/backend/api/types.go b/src/app/backend/api/types.go index 51e1f3ee5875..34ea9ab478c6 100644 --- a/src/app/backend/api/types.go +++ b/src/app/backend/api/types.go @@ -148,6 +148,7 @@ const ( ResourceKindPlugin = "plugin" ResourceKindEndpoint = "endpoint" ResourceKindNetworkPolicy = "networkpolicy" + ResourceKindIngressClass = "ingressclass" ) // Scalable method return whether ResourceKind is scalable. @@ -223,6 +224,7 @@ var KindToAPIMapping = map[string]APIMapping{ ResourceKindEvent: {"events", ClientTypeDefault, true}, ResourceKindHorizontalPodAutoscaler: {"horizontalpodautoscalers", ClientTypeAutoscalingClient, true}, ResourceKindIngress: {"ingresses", ClientTypeNetworkingClient, true}, + ResourceKindIngressClass: {"ingressclasses", ClientTypeNetworkingClient, false}, ResourceKindJob: {"jobs", ClientTypeBatchClient, true}, ResourceKindCronJob: {"cronjobs", ClientTypeBetaBatchClient, true}, ResourceKindLimitRange: {"limitrange", ClientTypeDefault, true}, diff --git a/src/app/backend/handler/apihandler.go b/src/app/backend/handler/apihandler.go index 29cebc5b0885..f320273e7729 100644 --- a/src/app/backend/handler/apihandler.go +++ b/src/app/backend/handler/apihandler.go @@ -54,6 +54,7 @@ import ( "github.com/kubernetes/dashboard/src/app/backend/resource/event" "github.com/kubernetes/dashboard/src/app/backend/resource/horizontalpodautoscaler" "github.com/kubernetes/dashboard/src/app/backend/resource/ingress" + "github.com/kubernetes/dashboard/src/app/backend/resource/ingressclass" "github.com/kubernetes/dashboard/src/app/backend/resource/job" "github.com/kubernetes/dashboard/src/app/backend/resource/logs" ns "github.com/kubernetes/dashboard/src/app/backend/resource/namespace" @@ -688,6 +689,15 @@ func CreateHTTPAPIHandler(iManager integration.IntegrationManager, cManager clie To(apiHandler.handleGetStorageClassPersistentVolumes). Writes(persistentvolume.PersistentVolumeList{})) + apiV1Ws.Route( + apiV1Ws.GET("/ingressclass"). + To(apiHandler.handleGetIngressClassList). + Writes(ingressclass.IngressClassList{})) + apiV1Ws.Route( + apiV1Ws.GET("/ingressclass/{ingressclass}"). + To(apiHandler.handleGetIngressClass). + Writes(ingressclass.IngressClass{})) + apiV1Ws.Route( apiV1Ws.GET("/log/source/{namespace}/{resourceName}/{resourceType}"). To(apiHandler.handleLogSource). @@ -2554,6 +2564,38 @@ func (apiHandler *APIHandler) handleGetStorageClassPersistentVolumes(request *re response.WriteHeaderAndEntity(http.StatusOK, result) } +func (apiHandler *APIHandler) handleGetIngressClassList(request *restful.Request, response *restful.Response) { + k8sClient, err := apiHandler.cManager.Client(request) + if err != nil { + errors.HandleInternalError(response, err) + return + } + + dataSelect := parser.ParseDataSelectPathParameter(request) + result, err := ingressclass.GetIngressClassList(k8sClient, dataSelect) + if err != nil { + errors.HandleInternalError(response, err) + return + } + response.WriteHeaderAndEntity(http.StatusOK, result) +} + +func (apiHandler *APIHandler) handleGetIngressClass(request *restful.Request, response *restful.Response) { + k8sClient, err := apiHandler.cManager.Client(request) + if err != nil { + errors.HandleInternalError(response, err) + return + } + + name := request.PathParameter("ingressclass") + result, err := ingressclass.GetIngressClass(k8sClient, name) + if err != nil { + errors.HandleInternalError(response, err) + return + } + response.WriteHeaderAndEntity(http.StatusOK, result) +} + func (apiHandler *APIHandler) handleGetPodPersistentVolumeClaims(request *restful.Request, response *restful.Response) { k8sClient, err := apiHandler.cManager.Client(request) diff --git a/src/app/backend/resource/common/resourcechannels.go b/src/app/backend/resource/common/resourcechannels.go index 5ea6b75633d0..32507b30331e 100644 --- a/src/app/backend/resource/common/resourcechannels.go +++ b/src/app/backend/resource/common/resourcechannels.go @@ -112,6 +112,9 @@ type ResourceChannels struct { // List and error channels to StorageClasses StorageClassList StorageClassListChannel + // List and error channels to IngressClasses + IngressClassList IngressClassListChannel + // List and error channels to Roles RoleList RoleListChannel @@ -943,3 +946,28 @@ func GetStorageClassListChannel(client client.Interface, numReads int) StorageCl return channel } + +// IngressClassListChannel is a list and error channels to ingress classes. +type IngressClassListChannel struct { + List chan *networkingv1.IngressClassList + Error chan error +} + +// GetIngressClassListChannel returns a pair of channels to a ingress class list and +// errors that both must be read numReads times. +func GetIngressClassListChannel(client client.Interface, numReads int) IngressClassListChannel { + channel := IngressClassListChannel{ + List: make(chan *networkingv1.IngressClassList, numReads), + Error: make(chan error, numReads), + } + + go func() { + list, err := client.NetworkingV1().IngressClasses().List(context.TODO(), api.ListEverything) + for i := 0; i < numReads; i++ { + channel.List <- list + channel.Error <- err + } + }() + + return channel +} diff --git a/src/app/backend/resource/ingressclass/common.go b/src/app/backend/resource/ingressclass/common.go new file mode 100644 index 000000000000..5cfe080ef5ff --- /dev/null +++ b/src/app/backend/resource/ingressclass/common.go @@ -0,0 +1,54 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ingressclass + +import ( + "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + networkingv1 "k8s.io/api/networking/v1" +) + +// The code below allows to perform complex data section on []networkingv1.IngressClass + +type IngressClassCell networkingv1.IngressClass + +func (self IngressClassCell) GetProperty(name dataselect.PropertyName) dataselect.ComparableValue { + switch name { + case dataselect.NameProperty: + return dataselect.StdComparableString(self.ObjectMeta.Name) + case dataselect.CreationTimestampProperty: + return dataselect.StdComparableTime(self.ObjectMeta.CreationTimestamp.Time) + case dataselect.NamespaceProperty: + return dataselect.StdComparableString(self.ObjectMeta.Namespace) + default: + // if name is not supported then just return a constant dummy value, sort will have no effect. + return nil + } +} + +func toCells(std []networkingv1.IngressClass) []dataselect.DataCell { + cells := make([]dataselect.DataCell, len(std)) + for i := range std { + cells[i] = IngressClassCell(std[i]) + } + return cells +} + +func fromCells(cells []dataselect.DataCell) []networkingv1.IngressClass { + std := make([]networkingv1.IngressClass, len(cells)) + for i := range std { + std[i] = networkingv1.IngressClass(cells[i].(IngressClassCell)) + } + return std +} diff --git a/src/app/backend/resource/ingressclass/detail.go b/src/app/backend/resource/ingressclass/detail.go new file mode 100644 index 000000000000..278aae0441e8 --- /dev/null +++ b/src/app/backend/resource/ingressclass/detail.go @@ -0,0 +1,68 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ingressclass + +import ( + "context" + "log" + + networkingv1 "k8s.io/api/networking/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes" +) + +// IngressClassDetail provides the presentation layer view of Ingress Class resource. +type IngressClassDetail struct { + // Extends list item structure. + IngressClass `json:",inline"` + Parameters map[string]string `json:"parameters"` +} + +// GetIngressClass returns Storage Class resource. +func GetIngressClass(client kubernetes.Interface, name string) (*IngressClassDetail, error) { + log.Printf("Getting details of %s ingress class", name) + + ic, err := client.NetworkingV1().IngressClasses().Get(context.TODO(), name, metaV1.GetOptions{}) + if err != nil { + return nil, err + } + + ingressClass := toIngressClassDetail(ic) + return &ingressClass, err +} + +func toIngressClassDetail(ingressClass *networkingv1.IngressClass) IngressClassDetail { + parametersMap := make(map[string]string) + parameters := ingressClass.Spec.Parameters + if parameters != nil { + // Mandatory parameters + parametersMap["Kind"] = parameters.Kind + parametersMap["Name"] = parameters.Name + // Optional parameters + if parameters.APIGroup != nil { + parametersMap["ApiGroup"] = *parameters.APIGroup + } + if parameters.Namespace != nil { + parametersMap["Namespace"] = *parameters.Namespace + } + if parameters.Scope != nil { + parametersMap["Scope"] = *parameters.Scope + } + } + return IngressClassDetail{ + IngressClass: toIngressClass(ingressClass), + Parameters: parametersMap, + } +} diff --git a/src/app/backend/resource/ingressclass/detail_test.go b/src/app/backend/resource/ingressclass/detail_test.go new file mode 100644 index 000000000000..63669487c3c9 --- /dev/null +++ b/src/app/backend/resource/ingressclass/detail_test.go @@ -0,0 +1,69 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ingressclass + +import ( + "reflect" + "testing" + + "github.com/kubernetes/dashboard/src/app/backend/api" + networkingv1 "k8s.io/api/networking/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +func TestToIngressClassDetails(t *testing.T) { + paramRef := networkingv1.IngressClassParametersReference{Kind: "pods", Name: "test"} + apiGroup := "k8s.example.com" + scope := "Namespace" + paramFullRef := networkingv1.IngressClassParametersReference{Kind: "pods", Name: "test", APIGroup: &apiGroup, Scope: &scope} + cases := []struct { + ingressClass *networkingv1.IngressClass + expected IngressClassDetail + }{ + { + ingressClass: &networkingv1.IngressClass{ + ObjectMeta: metaV1.ObjectMeta{Name: "test-ic"}, + Spec: networkingv1.IngressClassSpec{Controller: "k8s.io/ingress-nginx", Parameters: ¶mRef}, + }, + expected: IngressClassDetail{ + IngressClass: IngressClass{ + ObjectMeta: api.ObjectMeta{Name: "test-ic"}, + TypeMeta: api.TypeMeta{Kind: "ingressclass"}, + Controller: "k8s.io/ingress-nginx"}, + Parameters: map[string]string{"Kind": "pods", "Name": "test"}, + }, + }, { + ingressClass: &networkingv1.IngressClass{ + ObjectMeta: metaV1.ObjectMeta{Name: "test-ic"}, + Spec: networkingv1.IngressClassSpec{Controller: "k8s.io/ingress-nginx", Parameters: ¶mFullRef}, + }, + expected: IngressClassDetail{ + IngressClass: IngressClass{ + ObjectMeta: api.ObjectMeta{Name: "test-ic"}, + TypeMeta: api.TypeMeta{Kind: "ingressclass"}, + Controller: "k8s.io/ingress-nginx"}, + Parameters: map[string]string{"ApiGroup": "k8s.example.com", "Kind": "pods", "Name": "test", "Scope": "Namespace"}, + }, + }, + } + + for _, c := range cases { + actual := toIngressClassDetail(c.ingressClass) + + if !reflect.DeepEqual(actual, c.expected) { + t.Errorf("toIngressClassDetails(%#v) == \ngot %#v, \nexpected %#v", c.ingressClass, actual, c.expected) + } + } +} diff --git a/src/app/backend/resource/ingressclass/list.go b/src/app/backend/resource/ingressclass/list.go new file mode 100644 index 000000000000..149509fdc8db --- /dev/null +++ b/src/app/backend/resource/ingressclass/list.go @@ -0,0 +1,95 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ingressclass + +import ( + "log" + + "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/src/app/backend/resource/common" + "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + networkingv1 "k8s.io/api/networking/v1" + "k8s.io/client-go/kubernetes" +) + +// IngressClassList holds a list of Ingress Class objects in the cluster. +type IngressClassList struct { + ListMeta api.ListMeta `json:"listMeta"` + Items []IngressClass `json:"items"` + + // List of non-critical errors, that occurred during resource retrieval. + Errors []error `json:"errors"` +} + +// IngressClass is a representation of a Kubernetes Ingress Class object. +type IngressClass struct { + ObjectMeta api.ObjectMeta `json:"objectMeta"` + TypeMeta api.TypeMeta `json:"typeMeta"` + Controller string `json:"controller"` +} + +// GetIngressClassList returns a list of all Ingress class objects in the cluster. +func GetIngressClassList(client kubernetes.Interface, dsQuery *dataselect.DataSelectQuery) ( + *IngressClassList, error) { + log.Print("Getting list of ingress classes in the cluster") + + channels := &common.ResourceChannels{ + IngressClassList: common.GetIngressClassListChannel(client, 1), + } + + return GetIngressClassListFromChannels(channels, dsQuery) +} + +// GetIngressClassListFromChannels returns a list of all ingress class objects in the cluster. +func GetIngressClassListFromChannels(channels *common.ResourceChannels, + dsQuery *dataselect.DataSelectQuery) (*IngressClassList, error) { + ingressClasses := <-channels.IngressClassList.List + err := <-channels.IngressClassList.Error + nonCriticalErrors, criticalError := errors.HandleError(err) + if criticalError != nil { + return nil, criticalError + } + + return toIngressClassList(ingressClasses.Items, nonCriticalErrors, dsQuery), nil +} + +func toIngressClassList(ingressClasses []networkingv1.IngressClass, nonCriticalErrors []error, + dsQuery *dataselect.DataSelectQuery) *IngressClassList { + + ingressClassList := &IngressClassList{ + Items: make([]IngressClass, 0), + ListMeta: api.ListMeta{TotalItems: len(ingressClasses)}, + Errors: nonCriticalErrors, + } + + ingressClassCells, filteredTotal := dataselect.GenericDataSelectWithFilter(toCells(ingressClasses), dsQuery) + ingressClasses = fromCells(ingressClassCells) + ingressClassList.ListMeta = api.ListMeta{TotalItems: filteredTotal} + + for _, ingressClass := range ingressClasses { + ingressClassList.Items = append(ingressClassList.Items, toIngressClass(&ingressClass)) + } + + return ingressClassList +} + +func toIngressClass(ingressClass *networkingv1.IngressClass) IngressClass { + return IngressClass{ + ObjectMeta: api.NewObjectMeta(ingressClass.ObjectMeta), + TypeMeta: api.NewTypeMeta(api.ResourceKindIngressClass), + Controller: ingressClass.Spec.Controller, + } +} diff --git a/src/app/backend/resource/ingressclass/list_test.go b/src/app/backend/resource/ingressclass/list_test.go new file mode 100644 index 000000000000..4f93bdf5c8e3 --- /dev/null +++ b/src/app/backend/resource/ingressclass/list_test.go @@ -0,0 +1,134 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ingressclass + +import ( + "reflect" + "testing" + + "github.com/kubernetes/dashboard/src/app/backend/api" + "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + networkingv1 "k8s.io/api/networking/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/fake" +) + +func TestGetIngressClassList(t *testing.T) { + cases := []struct { + ingressClassList *networkingv1.IngressClassList + expectedActions []string + expected *IngressClassList + }{ + { + ingressClassList: &networkingv1.IngressClassList{ + Items: []networkingv1.IngressClass{ + { + ObjectMeta: metaV1.ObjectMeta{ + Name: "ingress-1", + Labels: map[string]string{}, + }, + }, + }}, + expectedActions: []string{"list"}, + expected: &IngressClassList{ + ListMeta: api.ListMeta{TotalItems: 1}, + Items: []IngressClass{ + { + ObjectMeta: api.ObjectMeta{ + Name: "ingress-1", + Labels: map[string]string{}, + }, + TypeMeta: api.TypeMeta{Kind: api.ResourceKindIngressClass}, + }, + }, + Errors: []error{}, + }, + }, + } + + for _, c := range cases { + fakeClient := fake.NewSimpleClientset(c.ingressClassList) + + actual, _ := GetIngressClassList(fakeClient, dataselect.NoDataSelect) + + actions := fakeClient.Actions() + if len(actions) != len(c.expectedActions) { + t.Errorf("Unexpected actions: %v, expected %d actions got %d", actions, + len(c.expectedActions), len(actions)) + continue + } + + for i, verb := range c.expectedActions { + if actions[i].GetVerb() != verb { + t.Errorf("Unexpected action: %+v, expected %s", + actions[i], verb) + } + } + + if !reflect.DeepEqual(actual, c.expected) { + t.Errorf("GetIngressClassList(client) == got\n%#v, expected\n %#v", actual, c.expected) + } + } +} + +func TestToIngressClass(t *testing.T) { + paramRef := networkingv1.IngressClassParametersReference{Kind: "pods", Name: "test"} + cases := []struct { + ingressClass *networkingv1.IngressClass + expected IngressClass + }{ + { + ingressClass: &networkingv1.IngressClass{}, + expected: IngressClass{ + TypeMeta: api.TypeMeta{Kind: api.ResourceKindIngressClass}, + }, + }, { + ingressClass: &networkingv1.IngressClass{ + ObjectMeta: metaV1.ObjectMeta{Name: "test-ic"}}, + expected: IngressClass{ + ObjectMeta: api.ObjectMeta{Name: "test-ic"}, + TypeMeta: api.TypeMeta{Kind: api.ResourceKindIngressClass}, + }, + }, { + ingressClass: &networkingv1.IngressClass{ + ObjectMeta: metaV1.ObjectMeta{Name: "test-ic"}, + Spec: networkingv1.IngressClassSpec{Controller: "k8s.io/ingress-nginx"}, + }, + expected: IngressClass{ + ObjectMeta: api.ObjectMeta{Name: "test-ic"}, + TypeMeta: api.TypeMeta{Kind: api.ResourceKindIngressClass}, + Controller: "k8s.io/ingress-nginx", + }, + }, { + ingressClass: &networkingv1.IngressClass{ + ObjectMeta: metaV1.ObjectMeta{Name: "test-ic"}, + Spec: networkingv1.IngressClassSpec{Controller: "k8s.io/ingress-nginx", Parameters: ¶mRef}, + }, + expected: IngressClass{ + ObjectMeta: api.ObjectMeta{Name: "test-ic"}, + TypeMeta: api.TypeMeta{Kind: api.ResourceKindIngressClass}, + Controller: "k8s.io/ingress-nginx", + }, + }, + } + + for _, c := range cases { + actual := toIngressClass(c.ingressClass) + + if !reflect.DeepEqual(actual, c.expected) { + t.Errorf("toIngressClass(%#v) == \ngot %#v, \nexpected %#v", c.ingressClass, actual, c.expected) + } + } +} diff --git a/src/app/frontend/chrome/nav/template.html b/src/app/frontend/chrome/nav/template.html index c27d4f43884e..feaaeb7b2565 100644 --- a/src/app/frontend/chrome/nav/template.html +++ b/src/app/frontend/chrome/nav/template.html @@ -64,16 +64,21 @@ Service Ingresses + Ingress Classes Services diff --git a/src/app/frontend/chrome/routing.ts b/src/app/frontend/chrome/routing.ts index 6cf5ffb95a46..b526b6e00730 100644 --- a/src/app/frontend/chrome/routing.ts +++ b/src/app/frontend/chrome/routing.ts @@ -129,6 +129,10 @@ const routes: Routes = [ path: 'ingress', loadChildren: () => import('resource/discovery/ingress/module').then(m => m.IngressModule), }, + { + path: 'ingressclass', + loadChildren: () => import('resource/discovery/ingressclass/module').then(m => m.IngressClassModule), + }, { path: 'service', loadChildren: () => import('resource/discovery/service/module').then(m => m.ServiceModule), diff --git a/src/app/frontend/common/components/module.ts b/src/app/frontend/common/components/module.ts index 8187f2abdd12..9b846e63085d 100644 --- a/src/app/frontend/common/components/module.ts +++ b/src/app/frontend/common/components/module.ts @@ -78,6 +78,7 @@ import {DaemonSetListComponent} from './resourcelist/daemonset/component'; import {DeploymentListComponent} from './resourcelist/deployment/component'; import {EventListComponent} from './resourcelist/event/component'; import {HorizontalPodAutoscalerListComponent} from './resourcelist/horizontalpodautoscaler/component'; +import {IngressClassListComponent} from './resourcelist/ingressclass/component'; import {IngressListComponent} from './resourcelist/ingress/component'; import {JobListComponent} from './resourcelist/job/component'; import {NamespaceListComponent} from './resourcelist/namespace/component'; @@ -146,6 +147,7 @@ const components = [ GraphMetricsComponent, HiddenPropertyComponent, HorizontalPodAutoscalerListComponent, + IngressClassListComponent, IngressListComponent, IngressRuleFlatListComponent, InternalEndpointComponent, diff --git a/src/app/frontend/common/components/resourcelist/groupids.ts b/src/app/frontend/common/components/resourcelist/groupids.ts index b0371298f758..1d16eec685ed 100644 --- a/src/app/frontend/common/components/resourcelist/groupids.ts +++ b/src/app/frontend/common/components/resourcelist/groupids.ts @@ -21,6 +21,7 @@ export enum ListIdentifier { node = 'nodeList', persistentVolume = 'persistentVolumeList', storageClass = 'storageClassList', + ingressClass = 'ingressClassList', cronJob = 'cronJobList', crd = 'crdList', crdObject = 'crdObjectList', diff --git a/src/app/frontend/common/components/resourcelist/ingressclass/component.ts b/src/app/frontend/common/components/resourcelist/ingressclass/component.ts new file mode 100644 index 000000000000..02e971f61ffb --- /dev/null +++ b/src/app/frontend/common/components/resourcelist/ingressclass/component.ts @@ -0,0 +1,59 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {HttpParams} from '@angular/common/http'; +import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Input} from '@angular/core'; +import {IngressClass, IngressClassList} from '@api/root.api'; +import {Observable} from 'rxjs'; + +import {ResourceListBase} from '@common/resources/list'; +import {NotificationsService} from '@common/services/global/notifications'; +import {EndpointManager, Resource} from '@common/services/resource/endpoint'; +import {ResourceService} from '@common/services/resource/resource'; +import {MenuComponent} from '../../list/column/menu/component'; +import {ListGroupIdentifier, ListIdentifier} from '../groupids'; + +@Component({ + selector: 'kd-ingress-class-list', + templateUrl: './template.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class IngressClassListComponent extends ResourceListBase { + @Input() endpoint = EndpointManager.resource(Resource.ingressClass).list(); + + constructor( + private readonly ic_: ResourceService, + notifications: NotificationsService, + cdr: ChangeDetectorRef + ) { + super('ingressclass', notifications, cdr); + this.id = ListIdentifier.ingressClass; + this.groupId = ListGroupIdentifier.cluster; + + // Register action columns. + this.registerActionColumn('menu', MenuComponent); + } + + getResourceObservable(params?: HttpParams): Observable { + return this.ic_.get(this.endpoint, undefined, params); + } + + map(ingressClassList: IngressClassList): IngressClass[] { + return ingressClassList.items; + } + + getDisplayColumns(): string[] { + return ['name', 'controller', 'created']; + } +} diff --git a/src/app/frontend/common/components/resourcelist/ingressclass/template.html b/src/app/frontend/common/components/resourcelist/ingressclass/template.html new file mode 100644 index 000000000000..3a269379769d --- /dev/null +++ b/src/app/frontend/common/components/resourcelist/ingressclass/template.html @@ -0,0 +1,98 @@ + + + +
Ingress Classes
+
Items: {{ totalItems }}
+
+ +
+ +
+
+ + + + Name + + {{ sc.objectMeta.name }} + + + + + Controller + {{ sc.controller }} + + + + Created + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+
diff --git a/src/app/frontend/common/services/resource/endpoint.ts b/src/app/frontend/common/services/resource/endpoint.ts index a441551cedb1..c1e1190473a9 100644 --- a/src/app/frontend/common/services/resource/endpoint.ts +++ b/src/app/frontend/common/services/resource/endpoint.ts @@ -33,6 +33,7 @@ export enum Resource { namespace = 'namespace', persistentVolume = 'persistentvolume', storageClass = 'storageclass', + ingressClass = 'ingressclass', clusterRole = 'clusterrole', clusterRoleBinding = 'clusterrolebinding', role = 'role', diff --git a/src/app/frontend/index.messages.ts b/src/app/frontend/index.messages.ts index 2c4e057be647..82e5786e2f4f 100644 --- a/src/app/frontend/index.messages.ts +++ b/src/app/frontend/index.messages.ts @@ -46,6 +46,7 @@ export const BREADCRUMBS: IBreadcrumbMessage = { [IBreadcrumbMessageKey.StatefulSets]: $localize`Stateful Sets`, [IBreadcrumbMessageKey.Service]: $localize`Service`, [IBreadcrumbMessageKey.Ingresses]: $localize`Ingresses`, + [IBreadcrumbMessageKey.IngressClasses]: $localize`Ingress Classes`, [IBreadcrumbMessageKey.Services]: $localize`Services`, [IBreadcrumbMessageKey.ConfigAndStorage]: $localize`Config And Storage`, [IBreadcrumbMessageKey.ConfigMaps]: $localize`Config Maps`, diff --git a/src/app/frontend/overview/template.html b/src/app/frontend/overview/template.html index b3a773b55f99..e91aebd125f8 100644 --- a/src/app/frontend/overview/template.html +++ b/src/app/frontend/overview/template.html @@ -47,6 +47,8 @@
+
diff --git a/src/app/frontend/resource/discovery/ingressclass/detail/component.ts b/src/app/frontend/resource/discovery/ingressclass/detail/component.ts new file mode 100644 index 000000000000..1d971fee3f08 --- /dev/null +++ b/src/app/frontend/resource/discovery/ingressclass/detail/component.ts @@ -0,0 +1,68 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {Component, OnDestroy, OnInit} from '@angular/core'; +import {ActivatedRoute} from '@angular/router'; +import {IngressClassDetail} from '@api/root.api'; +import {Subject} from 'rxjs'; +import {takeUntil} from 'rxjs/operators'; + +import {ActionbarService, ResourceMeta} from '@common/services/global/actionbar'; +import {NotificationsService} from '@common/services/global/notifications'; +import {EndpointManager, Resource} from '@common/services/resource/endpoint'; +import {ResourceService} from '@common/services/resource/resource'; + +@Component({ + selector: 'kd-ingress-class-detail', + templateUrl: './template.html', + styleUrls: ['./style.scss'], +}) +export class IngressClassDetailComponent implements OnInit, OnDestroy { + private readonly endpoint_ = EndpointManager.resource(Resource.ingressClass); + private readonly unsubscribe_ = new Subject(); + + ingressClass: IngressClassDetail; + isInitialized = false; + + constructor( + private readonly ingressClass_: ResourceService, + private readonly actionbar_: ActionbarService, + private readonly activatedRoute_: ActivatedRoute, + private readonly notifications_: NotificationsService + ) {} + + ngOnInit(): void { + const resourceName = this.activatedRoute_.snapshot.params.resourceName; + + this.ingressClass_ + .get(this.endpoint_.detail(), resourceName) + .pipe(takeUntil(this.unsubscribe_)) + .subscribe((d: IngressClassDetail) => { + this.ingressClass = d; + this.notifications_.pushErrors(d.errors); + this.actionbar_.onInit.emit(new ResourceMeta('Ingress Class', d.objectMeta, d.typeMeta)); + this.isInitialized = true; + }); + } + + ngOnDestroy(): void { + this.unsubscribe_.next(); + this.unsubscribe_.complete(); + this.actionbar_.onDetailsLeave.emit(); + } + + getParameterNames(): string[] { + return this.ingressClass.parameters ? Object.keys(this.ingressClass.parameters) : []; + } +} diff --git a/src/app/frontend/resource/discovery/ingressclass/detail/style.scss b/src/app/frontend/resource/discovery/ingressclass/detail/style.scss new file mode 100644 index 000000000000..1b08d10a84df --- /dev/null +++ b/src/app/frontend/resource/discovery/ingressclass/detail/style.scss @@ -0,0 +1,23 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@use '../../../../variables' as *; +@use '../../../../mixins' as *; + +.kd-ingress-class-parameter-icon { + @include kd-icon-size($caption-font-size-base); + + align-self: center; + margin-left: $baseline-grid * 0.5; +} diff --git a/src/app/frontend/resource/discovery/ingressclass/detail/template.html b/src/app/frontend/resource/discovery/ingressclass/detail/template.html new file mode 100644 index 000000000000..e8f46134a8c4 --- /dev/null +++ b/src/app/frontend/resource/discovery/ingressclass/detail/template.html @@ -0,0 +1,43 @@ + + + + + +
Resource information
+
+ +
Controller
+
{{ ingressClass?.controller }}
+
+ +
+ {{ parameter }} + tune +
+
{{ ingressClass?.parameters[parameter] }}
+
+
+
diff --git a/src/app/frontend/resource/discovery/ingressclass/list/component.ts b/src/app/frontend/resource/discovery/ingressclass/list/component.ts new file mode 100644 index 000000000000..b898242f1d38 --- /dev/null +++ b/src/app/frontend/resource/discovery/ingressclass/list/component.ts @@ -0,0 +1,21 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {Component} from '@angular/core'; + +@Component({ + selector: 'kd-ingress-class-list-state', + template: '', +}) +export class IngressClassListComponent {} diff --git a/src/app/frontend/resource/discovery/ingressclass/module.ts b/src/app/frontend/resource/discovery/ingressclass/module.ts new file mode 100644 index 000000000000..d6bca5594065 --- /dev/null +++ b/src/app/frontend/resource/discovery/ingressclass/module.ts @@ -0,0 +1,28 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {NgModule} from '@angular/core'; + +import {ComponentsModule} from '@common/components/module'; +import {SharedModule} from '../../../shared.module'; + +import {IngressClassDetailComponent} from './detail/component'; +import {IngressClassListComponent} from './list/component'; +import {IngressClassRoutingModule} from './routing'; + +@NgModule({ + imports: [SharedModule, ComponentsModule, IngressClassRoutingModule], + declarations: [IngressClassListComponent, IngressClassDetailComponent], +}) +export class IngressClassModule {} diff --git a/src/app/frontend/resource/discovery/ingressclass/routing.ts b/src/app/frontend/resource/discovery/ingressclass/routing.ts new file mode 100644 index 000000000000..4ef4b042c2e0 --- /dev/null +++ b/src/app/frontend/resource/discovery/ingressclass/routing.ts @@ -0,0 +1,47 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {NgModule} from '@angular/core'; +import {Route, RouterModule} from '@angular/router'; +import {BREADCRUMBS} from '../../../index.messages'; +import {DEFAULT_ACTIONBAR} from '@common/components/actionbars/routing'; + +import {DISCOVERY_ROUTE} from '../routing'; + +import {IngressClassDetailComponent} from './detail/component'; +import {IngressClassListComponent} from './list/component'; + +const INGRESSCLASS_LIST_ROUTE: Route = { + path: '', + component: IngressClassListComponent, + data: { + breadcrumb: BREADCRUMBS.IngressClasses, + parent: DISCOVERY_ROUTE, + }, +}; + +const INGRESSCLASS_DETAIL_ROUTE: Route = { + path: ':resourceName', + component: IngressClassDetailComponent, + data: { + breadcrumb: '{{ resourceName }}', + parent: INGRESSCLASS_LIST_ROUTE, + }, +}; + +@NgModule({ + imports: [RouterModule.forChild([INGRESSCLASS_LIST_ROUTE, INGRESSCLASS_DETAIL_ROUTE, DEFAULT_ACTIONBAR])], + exports: [RouterModule], +}) +export class IngressClassRoutingModule {} diff --git a/src/app/frontend/resource/discovery/template.html b/src/app/frontend/resource/discovery/template.html index 14d581052dcb..dc5558dac039 100644 --- a/src/app/frontend/resource/discovery/template.html +++ b/src/app/frontend/resource/discovery/template.html @@ -17,6 +17,8 @@
+
diff --git a/src/app/frontend/search/template.html b/src/app/frontend/search/template.html index 2f68dd6eb41c..aa9acd6a5867 100644 --- a/src/app/frontend/search/template.html +++ b/src/app/frontend/search/template.html @@ -43,6 +43,8 @@
+
diff --git a/src/app/frontend/typings/root.api.ts b/src/app/frontend/typings/root.api.ts index d1b9081a6874..26d729e732a4 100644 --- a/src/app/frontend/typings/root.api.ts +++ b/src/app/frontend/typings/root.api.ts @@ -211,6 +211,10 @@ export interface StorageClassList extends ResourceList { items: StorageClass[]; } +export interface IngressClassList extends ResourceList { + items: IngressClass[]; +} + // Simple detail types export type ClusterRole = Resource; @@ -405,6 +409,10 @@ export interface StorageClass extends Resource { parameters: StringMap[]; } +export interface IngressClass extends Resource { + controller: string; +} + // Detail types export interface ReplicaSetDetail extends ResourceDetail { @@ -581,6 +589,11 @@ export interface StorageClassDetail extends ResourceDetail { provisioner: string; } +export interface IngressClassDetail extends ResourceDetail { + parameters: StringMap; + controller: string; +} + export interface ConfigMapDetail extends ResourceDetail { data: StringMap; } diff --git a/src/app/frontend/typings/root.ui.ts b/src/app/frontend/typings/root.ui.ts index ecbde9065387..6c076f5c5acc 100644 --- a/src/app/frontend/typings/root.ui.ts +++ b/src/app/frontend/typings/root.ui.ts @@ -189,6 +189,7 @@ export enum IBreadcrumbMessageKey { StatefulSets = 'StatefulSets', Service = 'Service', Ingresses = 'Ingresses', + IngressClasses = 'IngressClasses', Services = 'Services', ConfigAndStorage = 'ConfigAndStorage', ConfigMaps = 'ConfigMaps', From c2b666b40f4957f617c49de1954fb18faf760d14 Mon Sep 17 00:00:00 2001 From: ziyi-xie <92832323+ziyi-xie@users.noreply.github.com> Date: Tue, 10 May 2022 10:19:42 +0900 Subject: [PATCH 046/162] Update Japanese translation(Line 1594-2887) (#7079) * Update Japanese translation(Line 1594-2887) * modified Japanese translation(Line 1594-2887) * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 Co-authored-by: atoato88 --- i18n/ja/messages.ja.xlf | 106 ++++++++++++++++++++-------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/i18n/ja/messages.ja.xlf b/i18n/ja/messages.ja.xlf index fdae486b1bc5..dabfbd58b0c0 100644 --- a/i18n/ja/messages.ja.xlf +++ b/i18n/ja/messages.ja.xlf @@ -178,7 +178,7 @@
File is ready to download! - ファイルのダウンロード準備は整いました! + ファイルをダウンロードできます! src/app/frontend/common/dialogs/download/template.html 29 @@ -226,7 +226,7 @@ will be updated to reflect the desired replicas count. - 目標のレプリカ数を反映するように更新します。 + は、目標のレプリカ数になるように更新されます。 src/app/frontend/common/dialogs/scaleresource/template.html 20 @@ -322,7 +322,7 @@ Scale - スケールする + スケール src/app/frontend/common/components/list/column/menu/template.html 35 @@ -1627,7 +1627,7 @@ Commands - Commands + コマンド src/app/frontend/common/components/container/template.html 170 @@ -1635,7 +1635,7 @@ Arguments - Arguments + 引数 src/app/frontend/common/components/container/template.html 184 @@ -1643,7 +1643,7 @@ Mounts - Mounts + マウント src/app/frontend/common/components/container/template.html 199 @@ -1651,7 +1651,7 @@ Security Context - Security Context + セキュリティコンテキスト src/app/frontend/common/components/container/template.html 214 @@ -1663,7 +1663,7 @@ Liveness Probe - Liveness Probe + 生存プローブ src/app/frontend/common/components/container/template.html 226 @@ -1671,7 +1671,7 @@ Readiness Probe - Readiness Probe + 準備プローブ src/app/frontend/common/components/container/template.html 236 @@ -1679,7 +1679,7 @@ Startup Probe - Startup Probe + 起動プローブ src/app/frontend/common/components/container/template.html 246 @@ -1687,7 +1687,7 @@ Unsupported graph type . - Unsupported graph type . + は無効なグラフタイプです。 src/app/frontend/common/components/graph/component.ts 95 @@ -1695,7 +1695,7 @@ Waiting for more data to display chart... - Waiting for more data to display chart... + チャートのデータが完全に表示されるまでもうしばらくお待ちください... src/app/frontend/common/components/graph/template.html 22 @@ -1783,7 +1783,7 @@ Resource Limits - Resource Limits + リソース上限 src/app/frontend/common/components/limits/template.html 20 @@ -1843,7 +1843,7 @@ Exit Code - Exit Code + 終了コード src/app/frontend/common/components/container/template.html 84 @@ -1851,7 +1851,7 @@ Signal - Signal + シグナル src/app/frontend/common/components/container/template.html 90 @@ -1859,7 +1859,7 @@ Started At - Started At + 起動中 src/app/frontend/common/components/container/template.html 98 @@ -1979,7 +1979,7 @@ Cron Jobs - Cron Jobs + Cron ジョブ src/app/frontend/common/components/resourcelist/cronjob/template.html 24 @@ -2087,7 +2087,7 @@ Versions - Versions + バージョン src/app/frontend/common/components/resourcelist/crdversion/template.html 20 @@ -2111,7 +2111,7 @@ Daemon Sets - Daemon Sets + デーモンセット src/app/frontend/common/components/resourcelist/daemonset/template.html 24 @@ -2219,7 +2219,7 @@ Horizontal Pod Autoscalers - Horizontal Pod Autoscalers + 水平ポッドオートスケーラー src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html 22 @@ -2295,7 +2295,7 @@ Controlled by - Controlled by + 制御 src/app/frontend/common/components/creator/template.html 42 @@ -2319,7 +2319,7 @@ Namespaces - Namespaces + ネームスペース src/app/frontend/common/components/resourcelist/namespace/template.html 21 @@ -2343,7 +2343,7 @@ Network Policies - Network Policies + ネットワークポリシー src/app/frontend/common/components/resourcelist/networkpolicy/template.html 21 @@ -2355,7 +2355,7 @@ Ingresses - Ingresses + イングレス src/app/frontend/common/components/resourcelist/ingress/template.html 21 @@ -2399,7 +2399,7 @@ Persistent Volumes - Persistent Volumes + 永続ボリューム src/app/frontend/common/components/resourcelist/persistentvolume/template.html 21 @@ -2427,7 +2427,7 @@ Search for - Search for + を検索 src/app/frontend/common/components/breadcrumbs/component.ts 143 @@ -2453,7 +2453,7 @@ Yes - Yes + はい src/app/frontend/common/components/namespace/changedialog/template.html 32 @@ -2461,7 +2461,7 @@ No - No + いいえ src/app/frontend/common/components/namespace/changedialog/template.html 35 @@ -2469,7 +2469,7 @@ Initial Delay (Seconds) - Initial Delay (Seconds) + 初期遅延(秒) src/app/frontend/common/components/probe/template.html 26 @@ -2477,7 +2477,7 @@ Timeout (Seconds) - Timeout (Seconds) + タイムアウト(秒) src/app/frontend/common/components/probe/template.html 31 @@ -2485,7 +2485,7 @@ Probe Period (Seconds) - Probe Period (Seconds) + 探査期間(秒) src/app/frontend/common/components/probe/template.html 36 @@ -2493,7 +2493,7 @@ Success Threshold - Success Threshold + 成功閾値 src/app/frontend/common/components/probe/template.html 41 @@ -2501,7 +2501,7 @@ Failure Threshold - Failure Threshold + 失敗閾値 src/app/frontend/common/components/probe/template.html 46 @@ -2509,7 +2509,7 @@ Termination Grace Period (Seconds) - Termination Grace Period (Seconds) + 終了猶予期間(秒) src/app/frontend/common/components/probe/template.html 51 @@ -2517,7 +2517,7 @@ HTTP Healthcheck URI - HTTP Healthcheck URI + HTTP ヘルスチェック URI src/app/frontend/common/components/probe/template.html 58 @@ -2525,7 +2525,7 @@ HTTP Headers - HTTP Headers + HTTP ヘッダー src/app/frontend/common/components/probe/template.html 68 @@ -2533,7 +2533,7 @@ TCP Socket - TCP Socket + TCP ソケット src/app/frontend/common/components/probe/template.html 81 @@ -2541,7 +2541,7 @@ Exec Commands - Exec Commands + 実行コマンド src/app/frontend/common/components/probe/template.html 90 @@ -2549,7 +2549,7 @@ Objects - Objects + オブジェクト src/app/frontend/common/components/resourcelist/crdobject/template.html 21 @@ -2557,7 +2557,7 @@ No resources found in the selected namespace. - No resources found in the selected namespace. + 指定されたネームスペースにリソースはありません。 src/app/frontend/common/components/resourcelist/crdobject/template.html 92 @@ -2565,7 +2565,7 @@ Nodes - Nodes + ノード src/app/frontend/common/components/resourcelist/node/template.html 24 @@ -2621,7 +2621,7 @@ Desired - Desired + 要求中 src/app/frontend/common/components/podstatus/template.html 88 @@ -2629,7 +2629,7 @@ Running - Running + 稼働中 src/app/frontend/common/components/podstatus/template.html 63 @@ -2637,7 +2637,7 @@ Succeeded - Succeeded + 成功 src/app/frontend/common/components/podstatus/template.html 69 @@ -2645,7 +2645,7 @@ Pending - Pending + 待機中 src/app/frontend/common/components/podstatus/template.html 75 @@ -2653,7 +2653,7 @@ Failed - Failed + 失敗 src/app/frontend/common/components/podstatus/template.html 82 @@ -2661,7 +2661,7 @@ Rules - Rules + ルール src/app/frontend/common/components/ingressrulelist/template.html 20 @@ -2769,7 +2769,7 @@ Persistent Volume Claims - Persistent Volume Claims + 永続ボリューム要求 src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html 21 @@ -2789,7 +2789,7 @@ Plugins - Plugins + プラグイン src/app/frontend/common/components/resourcelist/plugin/template.html 21 @@ -2801,7 +2801,7 @@ Shell - Shell + シェル src/app/frontend/index.messages.ts 35 @@ -2853,7 +2853,7 @@ Preview Deployment - Preview Deployment + デプロイメントのプレビュー src/app/frontend/common/dialogs/previewdeployment/template.html 18 @@ -2901,7 +2901,7 @@ Resource Quotas - Resource Quotas + リソースクォータ src/app/frontend/common/components/quotas/template.html 20 @@ -2909,7 +2909,7 @@ Cluster Roles - Cluster Roles + クラスターロール src/app/frontend/common/components/resourcelist/clusterrole/template.html 21 From cf55d51a5369f08b2500e0d97d2ba5e4e5254616 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 11:21:10 +0200 Subject: [PATCH 047/162] Comment targets to migrate --- Makefile | 458 +++++++++++++++++++++++++++---------------------------- 1 file changed, 229 insertions(+), 229 deletions(-) diff --git a/Makefile b/Makefile index 98296f06ac18..81291dc748ea 100644 --- a/Makefile +++ b/Makefile @@ -38,125 +38,6 @@ HEAD_VERSION = latest HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) ARCHITECTURES = amd64 arm64 arm ppc64le s390x -.PHONY: ensure-version -ensure-version: - node ./aio/scripts/version.mjs - -.PHONY: ensure-golangcilint -ensure-golangcilint: -ifndef GOLANGCILINT_BINARY - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin $(GOLANGCILINT_VERSION) -endif - -.PHONY: ensure-codegen -ensure-codegen: ensure-go - go get -d k8s.io/code-generator@$(CODEGEN_VERSION) - go mod tidy - chmod +x $(CODEGEN_BIN) - -.PHONY: ensure-air -ensure-air: -ifndef AIR_BINARY - curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(GOPATH)/bin -endif - -.PHONY: ensure-go -ensure-go: -ifndef GO_BINARY - $(error "Cannot find go binary") -endif - @if [ $(GO_MAJOR_VERSION) -gt $(MIN_GO_MAJOR_VERSION) ]; then \ - exit 0 ;\ - elif [ $(GO_MAJOR_VERSION) -lt $(MIN_GO_MAJOR_VERSION) ]; then \ - exit 1; \ - elif [ $(GO_MINOR_VERSION) -lt $(MIN_GO_MINOR_VERSION) ] ; then \ - exit 1; \ - fi - -.PHONY: clean -clean: - rm -rf .tmp - -.PHONY: build-backend -build-backend: ensure-go - CGO_ENABLED=0 go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(SERVE_BINARY) $(MAIN_PACKAGE) - -.PHONY: build -build: clean ensure-go - ./aio/scripts/build.sh - -.PHONY: build-cross -build-cross: clean ensure-go - ./aio/scripts/build.sh -c - -.PHONY: serve-backend -serve-backend: build-backend run-backend - -.PHONY: run-backend -run-backend: - cp i18n/locale_conf.json $(SERVE_DIRECTORY)/locale_conf.json - $(SERVE_BINARY) --kubeconfig=$(KUBECONFIG) \ - --sidecar-host=$(SIDECAR_HOST) \ - --system-banner=$(SYSTEM_BANNER) \ - --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ - --token-ttl=$(TOKEN_TTL) \ - --auto-generate-certificates=$(AUTO_GENERATE_CERTS) \ - --enable-insecure-login=$(ENABLE_INSECURE_LOGIN) \ - --enable-skip-login=$(ENABLE_SKIP_LOGIN) - -.PHONY: watch-backend -watch-backend: ensure-air - air - -.PHONY: prod-backend -prod-backend: clean ensure-go - CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -o $(PROD_BINARY) $(MAIN_PACKAGE) - -.PHONY: prod-backend-cross -prod-backend-cross: clean ensure-go - for ARCH in $(ARCHITECTURES) ; do \ - CGO_ENABLED=0 GOOS=linux GOARCH=$$ARCH go build -a -installsuffix cgo -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -o dist/$$ARCH/dashboard $(MAIN_PACKAGE) ; \ - done - -.PHONY: prod -prod: build - $(PROD_BINARY) --kubeconfig=$(KUBECONFIG) \ - --sidecar-host=$(SIDECAR_HOST) \ - --auto-generate-certificates \ - --locale-config=dist/amd64/locale_conf.json \ - --bind-address=${BIND_ADDRESS} \ - --port=${PORT} - -.PHONY: test-backend -test-backend: ensure-go - go test $(MAIN_PACKAGE)/... - -.PHONY: test-frontend -test-frontend: - npx jest -c aio/jest.config.js - -.PHONY: test -test: test-backend test-frontend - -.PHONY: coverage-backend -coverage-backend: ensure-go - $(shell mkdir -p $(COVERAGE_DIRECTORY)) \ - go test -coverprofile=$(GO_COVERAGE_FILE) -covermode=atomic $(MAIN_PACKAGE)/... - -.PHONY: coverage-frontend -coverage-frontend: - npx jest -c aio/jest.config.js --coverage -i - -.PHONY: coverage -coverage: coverage-backend coverage-frontend - -.PHONY: check-i18n -check-i18n: fix-i18n - -.PHONY: fix-i18n -fix-i18n: - ./aio/scripts/pre-commit-i18n.sh - .PHONY: check-license check-license: ${GOPATH}/bin/license-eye header check @@ -165,113 +46,232 @@ check-license: fix-license: ${GOPATH}/bin/license-eye header fix -.PHONY: check-codegen -check-codegen: ensure-codegen - ./aio/scripts/verify-codegen.sh - -.PHONY: fix-codegen -fix-codegen: ensure-codegen - ./aio/scripts/update-codegen.sh - -.PHONY: check-go -check-go: ensure-golangcilint - golangci-lint run -c .golangci.yml ./src/app/backend/... - -.PHONY: fix-go -fix-go: ensure-golangcilint - golangci-lint run -c .golangci.yml --fix ./src/app/backend/... - -.PHONY: check-html -check-html: - ./aio/scripts/check-html.sh - -.PHONY: fix-html -fix-html: - npx html-beautify -f=./src/**/*.html - -.PHONY: check-scss -check-scss: - stylelint "src/**/*.scss" - -.PHONY: fix-scss -fix-scss: - stylelint "src/**/*.scss" --fix - -.PHONY: check-ts -check-ts: - gts lint - -.PHONY: fix-ts -fix-ts: - gts fix - -.PHONY: check-backend -check-backend: check-license check-go check-codegen - -.PHONY: fix-backend -fix-backend: fix-license fix-go fix-codegen - -.PHONY: check-frontend -check-frontend: check-i18n check-license check-html check-scss check-ts - -.PHONY: fix-frontend -fix-frontend: fix-i18n fix-license fix-html fix-scss fix-ts - -.PHONY: check -check: check-i18n check-license check-go check-codegen check-html check-scss check-ts - -.PHONY: fix -fix: fix-i18n fix-license fix-go fix-codegen fix-html fix-scss fix-ts - -.PHONY: start-cluster -start-cluster: - ./aio/scripts/start-cluster.sh - -.PHONY: stop-cluster -stop-cluster: - ./aio/scripts/stop-cluster.sh - -.PHONY: e2e -e2e: start-cluster - npm run e2e - make stop-cluster - -.PHONY: e2e-headed -e2e-headed: start-cluster - npm run e2e:headed - make stop-cluster - -.PHONY: docker-build-release -docker-build-release: build-cross - for ARCH in $(ARCHITECTURES) ; do \ - docker buildx build \ - -t $(RELEASE_IMAGE)-$$ARCH:$(RELEASE_VERSION) \ - -t $(RELEASE_IMAGE)-$$ARCH:latest \ - --build-arg BUILDPLATFORM=linux/$$ARCH \ - --platform linux/$$ARCH \ - --push \ - dist/$$ARCH ; \ - done ; \ - -.PHONY: docker-push-release -docker-push-release: docker-build-release - docker manifest create --amend $(RELEASE_IMAGE):$(RELEASE_VERSION) $(RELEASE_IMAGE_NAMES) ; \ - docker manifest create --amend $(RELEASE_IMAGE):latest $(RELEASE_IMAGE_NAMES_LATEST) ; \ - docker manifest push $(RELEASE_IMAGE):$(RELEASE_VERSION) ; \ - docker manifest push $(RELEASE_IMAGE):latest - -.PHONY: docker-build-head -docker-build-head: build-cross - for ARCH in $(ARCHITECTURES) ; do \ - docker buildx build \ - -t $(HEAD_IMAGE)-$$ARCH:$(HEAD_VERSION) \ - --build-arg BUILDPLATFORM=linux/$$ARCH \ - --platform linux/$$ARCH \ - --push \ - dist/$$ARCH ; \ - done ; \ - -.PHONY: docker-push-head -docker-push-head: docker-build-head - docker manifest create --amend $(HEAD_IMAGE):$(HEAD_VERSION) $(HEAD_IMAGE_NAMES) - docker manifest push $(HEAD_IMAGE):$(HEAD_VERSION) ; \ +#.PHONY: ensure-version +#ensure-version: +# node ./aio/scripts/version.mjs +# +#.PHONY: ensure-golangcilint +#ensure-golangcilint: +#ifndef GOLANGCILINT_BINARY +# curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin $(GOLANGCILINT_VERSION) +#endif +# +#.PHONY: ensure-codegen +#ensure-codegen: ensure-go +# go get -d k8s.io/code-generator@$(CODEGEN_VERSION) +# go mod tidy +# chmod +x $(CODEGEN_BIN) +# +#.PHONY: ensure-air +#ensure-air: +#ifndef AIR_BINARY +# curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(GOPATH)/bin +#endif +# +#.PHONY: ensure-go +#ensure-go: +#ifndef GO_BINARY +# $(error "Cannot find go binary") +#endif +# @if [ $(GO_MAJOR_VERSION) -gt $(MIN_GO_MAJOR_VERSION) ]; then \ +# exit 0 ;\ +# elif [ $(GO_MAJOR_VERSION) -lt $(MIN_GO_MAJOR_VERSION) ]; then \ +# exit 1; \ +# elif [ $(GO_MINOR_VERSION) -lt $(MIN_GO_MINOR_VERSION) ] ; then \ +# exit 1; \ +# fi +# +#.PHONY: clean +#clean: +# rm -rf .tmp +# +#.PHONY: build-backend +#build-backend: ensure-go +# CGO_ENABLED=0 go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(SERVE_BINARY) $(MAIN_PACKAGE) +# +#.PHONY: build +#build: clean ensure-go +# ./aio/scripts/build.sh +# +#.PHONY: build-cross +#build-cross: clean ensure-go +# ./aio/scripts/build.sh -c +# +#.PHONY: serve-backend +#serve-backend: build-backend run-backend +# +#.PHONY: run-backend +#run-backend: +# cp i18n/locale_conf.json $(SERVE_DIRECTORY)/locale_conf.json +# $(SERVE_BINARY) --kubeconfig=$(KUBECONFIG) \ +# --sidecar-host=$(SIDECAR_HOST) \ +# --system-banner=$(SYSTEM_BANNER) \ +# --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ +# --token-ttl=$(TOKEN_TTL) \ +# --auto-generate-certificates=$(AUTO_GENERATE_CERTS) \ +# --enable-insecure-login=$(ENABLE_INSECURE_LOGIN) \ +# --enable-skip-login=$(ENABLE_SKIP_LOGIN) +# +#.PHONY: watch-backend +#watch-backend: ensure-air +# air +# +#.PHONY: prod-backend +#prod-backend: clean ensure-go +# CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -o $(PROD_BINARY) $(MAIN_PACKAGE) +# +#.PHONY: prod-backend-cross +#prod-backend-cross: clean ensure-go +# for ARCH in $(ARCHITECTURES) ; do \ +# CGO_ENABLED=0 GOOS=linux GOARCH=$$ARCH go build -a -installsuffix cgo -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -o dist/$$ARCH/dashboard $(MAIN_PACKAGE) ; \ +# done +# +#.PHONY: prod +#prod: build +# $(PROD_BINARY) --kubeconfig=$(KUBECONFIG) \ +# --sidecar-host=$(SIDECAR_HOST) \ +# --auto-generate-certificates \ +# --locale-config=dist/amd64/locale_conf.json \ +# --bind-address=${BIND_ADDRESS} \ +# --port=${PORT} +# +#.PHONY: test-backend +#test-backend: ensure-go +# go test $(MAIN_PACKAGE)/... +# +#.PHONY: test-frontend +#test-frontend: +# npx jest -c aio/jest.config.js +# +#.PHONY: test +#test: test-backend test-frontend +# +#.PHONY: coverage-backend +#coverage-backend: ensure-go +# $(shell mkdir -p $(COVERAGE_DIRECTORY)) \ +# go test -coverprofile=$(GO_COVERAGE_FILE) -covermode=atomic $(MAIN_PACKAGE)/... +# +#.PHONY: coverage-frontend +#coverage-frontend: +# npx jest -c aio/jest.config.js --coverage -i +# +#.PHONY: coverage +#coverage: coverage-backend coverage-frontend +# +#.PHONY: check-i18n +#check-i18n: fix-i18n +# +#.PHONY: fix-i18n +#fix-i18n: +# ./aio/scripts/pre-commit-i18n.sh +# +#.PHONY: check-codegen +#check-codegen: ensure-codegen +# ./aio/scripts/verify-codegen.sh +# +#.PHONY: fix-codegen +#fix-codegen: ensure-codegen +# ./aio/scripts/update-codegen.sh +# +#.PHONY: check-go +#check-go: ensure-golangcilint +# golangci-lint run -c .golangci.yml ./src/app/backend/... +# +#.PHONY: fix-go +#fix-go: ensure-golangcilint +# golangci-lint run -c .golangci.yml --fix ./src/app/backend/... +# +#.PHONY: check-html +#check-html: +# ./aio/scripts/check-html.sh +# +#.PHONY: fix-html +#fix-html: +# npx html-beautify -f=./src/**/*.html +# +#.PHONY: check-scss +#check-scss: +# stylelint "src/**/*.scss" +# +#.PHONY: fix-scss +#fix-scss: +# stylelint "src/**/*.scss" --fix +# +#.PHONY: check-ts +#check-ts: +# gts lint +# +#.PHONY: fix-ts +#fix-ts: +# gts fix +# +#.PHONY: check-backend +#check-backend: check-license check-go check-codegen +# +#.PHONY: fix-backend +#fix-backend: fix-license fix-go fix-codegen +# +#.PHONY: check-frontend +#check-frontend: check-i18n check-license check-html check-scss check-ts +# +#.PHONY: fix-frontend +#fix-frontend: fix-i18n fix-license fix-html fix-scss fix-ts +# +#.PHONY: check +#check: check-i18n check-license check-go check-codegen check-html check-scss check-ts +# +#.PHONY: fix +#fix: fix-i18n fix-license fix-go fix-codegen fix-html fix-scss fix-ts +# +#.PHONY: start-cluster +#start-cluster: +# ./aio/scripts/start-cluster.sh +# +#.PHONY: stop-cluster +#stop-cluster: +# ./aio/scripts/stop-cluster.sh +# +#.PHONY: e2e +#e2e: start-cluster +# npm run e2e +# make stop-cluster +# +#.PHONY: e2e-headed +#e2e-headed: start-cluster +# npm run e2e:headed +# make stop-cluster +# +#.PHONY: docker-build-release +#docker-build-release: build-cross +# for ARCH in $(ARCHITECTURES) ; do \ +# docker buildx build \ +# -t $(RELEASE_IMAGE)-$$ARCH:$(RELEASE_VERSION) \ +# -t $(RELEASE_IMAGE)-$$ARCH:latest \ +# --build-arg BUILDPLATFORM=linux/$$ARCH \ +# --platform linux/$$ARCH \ +# --push \ +# dist/$$ARCH ; \ +# done ; \ +# +#.PHONY: docker-push-release +#docker-push-release: docker-build-release +# docker manifest create --amend $(RELEASE_IMAGE):$(RELEASE_VERSION) $(RELEASE_IMAGE_NAMES) ; \ +# docker manifest create --amend $(RELEASE_IMAGE):latest $(RELEASE_IMAGE_NAMES_LATEST) ; \ +# docker manifest push $(RELEASE_IMAGE):$(RELEASE_VERSION) ; \ +# docker manifest push $(RELEASE_IMAGE):latest +# +#.PHONY: docker-build-head +#docker-build-head: build-cross +# for ARCH in $(ARCHITECTURES) ; do \ +# docker buildx build \ +# -t $(HEAD_IMAGE)-$$ARCH:$(HEAD_VERSION) \ +# --build-arg BUILDPLATFORM=linux/$$ARCH \ +# --platform linux/$$ARCH \ +# --push \ +# dist/$$ARCH ; \ +# done ; \ +# +#.PHONY: docker-push-head +#docker-push-head: docker-build-head +# docker manifest create --amend $(HEAD_IMAGE):$(HEAD_VERSION) $(HEAD_IMAGE_NAMES) +# docker manifest push $(HEAD_IMAGE):$(HEAD_VERSION) ; \ From 07205aacf63860f269f961736120c4910b3c14f3 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 11:25:25 +0200 Subject: [PATCH 048/162] Add licence ignores --- .licenserc.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.licenserc.yaml b/.licenserc.yaml index 4dc94e938cb4..559491418ee6 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -50,6 +50,8 @@ header: - '**/config_repos' - '**/go.mod' - '**/go.sum' + - '**/go.work' + - '**/go.work.sum' - '**/Makefile' - '**/OWNERS' - '.github/**' From fc1014faaf5c045782c516e658133a399019b8cd Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 11:56:49 +0200 Subject: [PATCH 049/162] Refactor workflows --- .../{api-workflow.yml => ci-api.yml} | 4 +- .../{static-checks.yml => ci-global.yml} | 49 ++++- .../{ci-helm-workflow.yml => ci-helm.yml} | 27 +-- .github/workflows/ci-web.yml | 96 +++++++++ .github/workflows/ci-workflow.yml | 182 ------------------ 5 files changed, 151 insertions(+), 207 deletions(-) rename .github/workflows/{api-workflow.yml => ci-api.yml} (97%) rename .github/workflows/{static-checks.yml => ci-global.yml} (53%) rename .github/workflows/{ci-helm-workflow.yml => ci-helm.yml} (79%) create mode 100644 .github/workflows/ci-web.yml delete mode 100644 .github/workflows/ci-workflow.yml diff --git a/.github/workflows/api-workflow.yml b/.github/workflows/ci-api.yml similarity index 97% rename from .github/workflows/api-workflow.yml rename to .github/workflows/ci-api.yml index 0aa0b1ac7bd2..d8c91e3830aa 100644 --- a/.github/workflows/api-workflow.yml +++ b/.github/workflows/ci-api.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: Continuous Integration - API +name: CI - API on: push: branches: [ master ] @@ -77,7 +77,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: 1.17.0 + go-version: 1.18 - name: Install Dependencies shell: bash run: | diff --git a/.github/workflows/static-checks.yml b/.github/workflows/ci-global.yml similarity index 53% rename from .github/workflows/static-checks.yml rename to .github/workflows/ci-global.yml index b08cb4d6d87c..b091e1b71744 100644 --- a/.github/workflows/static-checks.yml +++ b/.github/workflows/ci-global.yml @@ -12,12 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: Static Checks +name: CI - Global on: push: - branches: [ master, gh-pages, plugin/base ] + branches: [ master ] pull_request: - branches: [ master, gh-pages, plugin/base ] + branches: [ master ] schedule: - cron: '0 0 * * 1' permissions: @@ -48,12 +48,51 @@ jobs: uses: github/codeql-action/analyze@v2 license: - name: License + name: License check runs-on: ubuntu-latest env: TERM: xterm steps: - name: Checkout uses: actions/checkout@v3 - - name: Check + - name: Check licenses uses: apache/skywalking-eyes@main + + e2e: + name: End-to-end tests + runs-on: ubuntu-latest + env: + NG_CLI_ANALYTICS: ci + GOPROXY: "https://proxy.golang.org" + NODE_OPTIONS: "--max-old-space-size=8192" + TERM: xterm + steps: + - name: Start kind cluster + uses: helm/kind-action@v1.2.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: 1.18 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Cache + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + path: | + ~/.cache/Cypress + node_modules + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + - name: Install dependencies + shell: bash + run: | + [ ! -d "node_modules" ] && npm ci && npm i cypress || node aio/scripts/version.mjs && go mod download + - name: Run end-to-end tests + run: make e2e diff --git a/.github/workflows/ci-helm-workflow.yml b/.github/workflows/ci-helm.yml similarity index 79% rename from .github/workflows/ci-helm-workflow.yml rename to .github/workflows/ci-helm.yml index 80ac5b952972..6664b7c42733 100644 --- a/.github/workflows/ci-helm-workflow.yml +++ b/.github/workflows/ci-helm.yml @@ -12,52 +12,43 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: Continuous Integration - Helm - +name: CI - Helm on: pull_request: paths: - - 'aio/deploy/helm-chart/**' - - '.github/workflows/ci-helm-workflow.yml' - + - 'charts/helm-chart/**' + - '.github/workflows/ci-helm.yml' jobs: + helm-lint-test: - name: Lint & Test + name: Lint and test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: "0" - - name: Validate schema uses: wiremind/helm-kubeval-action@v1.2.1 with: - path: aio/deploy/helm-chart + path: charts/helm-chart config: aio/deploy/helm-chart/config_repos version: 1.23.0 - - uses: actions/setup-python@v3.1.2 with: python-version: 3.7 - - name: Set up chart-testing uses: helm/chart-testing-action@v2.2.1 - - name: Cleanup charts directory id: cleanup - run: sudo rm -rf aio/deploy/helm-chart/kubernetes-dashboard/charts - + run: sudo rm -rf charts/helm-chart/kubernetes-dashboard/charts - name: Run chart-testing (lint) id: lint - run: ct lint --config=aio/deploy/helm-chart/.helm-chart-testing.yaml - + run: ct lint --config=charts/helm-chart/.helm-chart-testing.yaml - name: Create kind cluster uses: helm/kind-action@v1.2.0 - - name: Install Prometheus Operator CRDs id: prom run: kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.54.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml - - name: Run chart-testing (install) - run: ct install --config=aio/deploy/helm-chart/.helm-chart-testing.yaml + run: ct install --config=charts/helm-chart/.helm-chart-testing.yaml diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml new file mode 100644 index 000000000000..67f5cfc5b236 --- /dev/null +++ b/.github/workflows/ci-web.yml @@ -0,0 +1,96 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: CI - Web +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] +permissions: + contents: read +jobs: + + check: + name: Static Check + runs-on: ubuntu-latest + env: + NG_CLI_ANALYTICS: ci + GO111MODULE: on + GOPROXY: "https://proxy.golang.org" + NODE_OPTIONS: "--max-old-space-size=8192" + TERM: xterm + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Cache + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + path: node_modules + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + - name: Install Dependencies + shell: bash + run: | + [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs + - name: Check Code + shell: bash + run: npm run check + + unit: + name: Unit Tests + runs-on: ubuntu-latest + env: + NG_CLI_ANALYTICS: ci + GOPROXY: "https://proxy.golang.org" + NODE_OPTIONS: "--max-old-space-size=8192" + TERM: xterm + + steps: + - name: Setup Environment + uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + with: + fetch-depth: 0 + - name: Setup NodeJS + uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + with: + node-version: 16.14.2 + - name: Cache Node Modules + uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 + env: + cache-name: cache-node-modules + with: + path: node_modules + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + - name: Install Dependencies + shell: bash + run: | + export GOPATH=$(go env GOPATH)/bin + [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } && go mod download + + - name: Run Frontend Unit Tests + run: make coverage-frontend + + - name: Cleanup & Upload Coverage + shell: bash + run: | + make clean + bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml deleted file mode 100644 index 45a7b774ad20..000000000000 --- a/.github/workflows/ci-workflow.yml +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: Continuous Integration - Code - -on: - push: - branches: [ master ] - ignore-paths: - - '**/*.md' - - 'aio/deploy/**' - - 'aio/test-resources/**' - - 'docs/**' - - '.github/workflows/cd-helm-workflow.yml' - - '.github/workflows/cd-workflow.yml' - pull_request: - branches: [ master ] - ignore-paths: - - '**/*.md' - - 'aio/deploy/**' - - 'aio/test-resources/**' - - 'docs/**' - - '.github/workflows/cd-helm-workflow.yml' - - '.github/workflows/cd-workflow.yml' - -permissions: - contents: read - -jobs: - check: - name: Static Check - runs-on: ubuntu-latest - env: - NG_CLI_ANALYTICS: ci - GO111MODULE: on - GOPROXY: "https://proxy.golang.org" - NODE_OPTIONS: "--max-old-space-size=8192" - TERM: xterm - steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - with: - fetch-depth: 0 - - - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 - with: - go-version: 1.17.0 - - - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 - with: - node-version: 16.14.2 - - - name: Cache Node Modules - uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 - env: - cache-name: cache-node-modules - with: - path: node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - - name: Install Dependencies - shell: bash - run: | - [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } && go mod download - - - name: Check Code - shell: bash - run: | - export GOPATH=$(go env GOPATH)/bin - npm run check - - unit: - name: Unit Tests - runs-on: ubuntu-latest - env: - NG_CLI_ANALYTICS: ci - GO111MODULE: on - GOPROXY: "https://proxy.golang.org" - NODE_OPTIONS: "--max-old-space-size=8192" - TERM: xterm - - steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - with: - fetch-depth: 0 - - - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 - with: - go-version: 1.17.0 - - - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 - with: - node-version: 16.14.2 - - - name: Cache Node Modules - uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 - env: - cache-name: cache-node-modules - with: - path: node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - - name: Install Dependencies - shell: bash - run: | - export GOPATH=$(go env GOPATH)/bin - [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } && go mod download - - - name: Run Frontend Unit Tests - run: make coverage-frontend - - - name: Run Backend Unit Tests - run: make coverage-backend - - - name: Cleanup & Upload Coverage - shell: bash - run: | - make clean - bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" - - e2e: - name: E2E Tests - runs-on: ubuntu-latest - env: - NG_CLI_ANALYTICS: ci - GO111MODULE: on - GOPROXY: "https://proxy.golang.org" - NODE_OPTIONS: "--max-old-space-size=8192" - TERM: xterm - - steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - with: - fetch-depth: 0 - - # Increase watchers system limit - - run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - - - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 - with: - go-version: 1.17.0 - - - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 - with: - node-version: 16.14.2 - - - name: Cache Node Modules - uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 - env: - cache-name: cache-node-modules - with: - path: | - ~/.cache/Cypress - node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - - name: Install Dependencies - shell: bash - run: | - [ ! -d "node_modules" ] && npm ci && npm install cypress || node aio/scripts/version.mjs && command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } && go mod download - - - name: Run E2E Tests - run: make e2e From 5457db003ffbb0e4c64926b24838a3c53c063abf Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 12:38:24 +0200 Subject: [PATCH 050/162] Other updates --- modules/api/pkg/handler/apihandler.go | 1 + .../api/pkg/resource/ingressclass/common.go | 2 +- .../pkg/resource/ingressclass/detail_test.go | 2 +- modules/api/pkg/resource/ingressclass/list.go | 8 +- .../pkg/resource/ingressclass/list_test.go | 4 +- modules/web/package-lock.json | 1794 +++++++++-------- 6 files changed, 918 insertions(+), 893 deletions(-) diff --git a/modules/api/pkg/handler/apihandler.go b/modules/api/pkg/handler/apihandler.go index fa3da6ecb58c..41b2b7fa690c 100644 --- a/modules/api/pkg/handler/apihandler.go +++ b/modules/api/pkg/handler/apihandler.go @@ -54,6 +54,7 @@ import ( "k8s.io/dashboard/api/pkg/resource/event" "k8s.io/dashboard/api/pkg/resource/horizontalpodautoscaler" "k8s.io/dashboard/api/pkg/resource/ingress" + "k8s.io/dashboard/api/pkg/resource/ingressclass" "k8s.io/dashboard/api/pkg/resource/job" "k8s.io/dashboard/api/pkg/resource/logs" ns "k8s.io/dashboard/api/pkg/resource/namespace" diff --git a/modules/api/pkg/resource/ingressclass/common.go b/modules/api/pkg/resource/ingressclass/common.go index 5cfe080ef5ff..6beda4a0daf7 100644 --- a/modules/api/pkg/resource/ingressclass/common.go +++ b/modules/api/pkg/resource/ingressclass/common.go @@ -15,8 +15,8 @@ package ingressclass import ( - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" networkingv1 "k8s.io/api/networking/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []networkingv1.IngressClass diff --git a/modules/api/pkg/resource/ingressclass/detail_test.go b/modules/api/pkg/resource/ingressclass/detail_test.go index 63669487c3c9..cd177e04f781 100644 --- a/modules/api/pkg/resource/ingressclass/detail_test.go +++ b/modules/api/pkg/resource/ingressclass/detail_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" networkingv1 "k8s.io/api/networking/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" ) func TestToIngressClassDetails(t *testing.T) { diff --git a/modules/api/pkg/resource/ingressclass/list.go b/modules/api/pkg/resource/ingressclass/list.go index 149509fdc8db..ef0070db99eb 100644 --- a/modules/api/pkg/resource/ingressclass/list.go +++ b/modules/api/pkg/resource/ingressclass/list.go @@ -17,12 +17,12 @@ package ingressclass import ( "log" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" networkingv1 "k8s.io/api/networking/v1" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // IngressClassList holds a list of Ingress Class objects in the cluster. diff --git a/modules/api/pkg/resource/ingressclass/list_test.go b/modules/api/pkg/resource/ingressclass/list_test.go index 4f93bdf5c8e3..7dca5191117c 100644 --- a/modules/api/pkg/resource/ingressclass/list_test.go +++ b/modules/api/pkg/resource/ingressclass/list_test.go @@ -18,11 +18,11 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" networkingv1 "k8s.io/api/networking/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetIngressClassList(t *testing.T) { diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index 4e392837fb67..6b8454b96577 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -24,7 +24,7 @@ "@angular/router": "13.3.4", "@swimlane/ngx-charts": "20.1.0", "ace-builds": "1.4.14", - "core-js": "3.22.2", + "core-js": "3.22.4", "d3": "6.7.0", "file-saver": "2.0.5", "js-beautify": "1.14.3", @@ -53,8 +53,8 @@ "@angular/cli": "13.3.3", "@angular/compiler-cli": "13.3.4", "@angular/language-service": "13.3.4", - "@babel/core": "7.17.9", - "@babel/preset-env": "7.16.11", + "@babel/core": "7.17.10", + "@babel/preset-env": "7.17.10", "@babel/register": "7.17.7", "@cypress/webpack-preprocessor": "5.11.1", "@types/d3": "7.1.0", @@ -62,12 +62,12 @@ "@types/file-saver": "2.0.5", "@types/jasmine": "4.0.3", "@types/jasminewd2": "2.0.10", - "@types/jest": "27.4.1", + "@types/jest": "27.5.0", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", - "@types/node": "17.0.29", - "@typescript-eslint/eslint-plugin": "5.21.0", - "@typescript-eslint/parser": "5.21.0", + "@types/node": "17.0.31", + "@typescript-eslint/eslint-plugin": "5.22.0", + "@typescript-eslint/parser": "5.22.0", "codelyzer": "6.0.2", "concurrently": "7.1.0", "cypress": "9.3.1", @@ -98,16 +98,16 @@ "sass-loader": "12.6.0", "semver": "7.3.7", "source-map-explorer": "2.5.2", - "stylelint": "14.8.0", + "stylelint": "14.8.1", "stylelint-config-standard-scss": "3.0.0", "stylelint-no-unsupported-browser-features": "5.0.3", "stylelint-order": "5.0.0", "tar": "6.1.11", "through2": "4.0.2", "ts-jest": "27.1.4", - "ts-loader": "9.2.9", + "ts-loader": "9.3.0", "ts-node": "10.7.0", - "typescript": "4.6.3", + "typescript": "4.6.4", "wait-on": "6.0.1", "webpack-dev-server": "4.8.1" }, @@ -293,6 +293,103 @@ "semver": "bin/semver.js" } }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -894,6 +991,7 @@ "version": "13.3.4", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", + "dev": true, "dependencies": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -923,6 +1021,7 @@ "version": "0.26.1", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "dev": true, "dependencies": { "sourcemap-codec": "^1.4.8" }, @@ -1168,28 +1267,29 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", - "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", + "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", + "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-compilation-targets": "^7.17.7", + "@babel/generator": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-module-transforms": "^7.17.7", "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.9", + "@babel/parser": "^7.17.10", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/traverse": "^7.17.10", + "@babel/types": "^7.17.10", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1208,6 +1308,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1217,13 +1318,14 @@ } }, "node_modules/@babel/core/node_modules/@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "dev": true, "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" @@ -1233,18 +1335,11 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", @@ -1294,13 +1389,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", + "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", "dependencies": { - "@babel/compat-data": "^7.17.7", + "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "browserslist": "^4.20.2", "semver": "^6.3.0" }, "engines": { @@ -1613,9 +1708,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", - "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", + "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -2413,12 +2508,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz", + "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -2655,27 +2750,27 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz", + "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.17.6", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.17.3", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.11", @@ -2701,7 +2796,7 @@ "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.17.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", @@ -2710,15 +2805,15 @@ "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.17.9", + "@babel/plugin-transform-modules-systemjs": "^7.17.8", "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.17.9", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", @@ -2728,11 +2823,11 @@ "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", + "@babel/types": "^7.17.10", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "core-js-compat": "^3.22.1", "semver": "^6.3.0" }, "engines": { @@ -2812,18 +2907,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", - "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", + "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", "dependencies": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", + "@babel/generator": "^7.17.10", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/parser": "^7.17.10", + "@babel/types": "^7.17.10", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2832,30 +2927,22 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", + "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -4668,9 +4755,9 @@ } }, "node_modules/@types/jest": { - "version": "27.4.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", - "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "version": "27.5.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz", + "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==", "dev": true, "dependencies": { "jest-matcher-utils": "^27.0.0", @@ -4714,9 +4801,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.29.tgz", - "integrity": "sha512-tx5jMmMFwx7wBwq/V7OohKDVb/JwJU5qCVkeLMh1//xycAJ/ESuw9aJ9SEtlCZDYi2pBfe4JkisSoAtbOsBNAA==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -4848,14 +4935,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz", - "integrity": "sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz", + "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/type-utils": "5.21.0", - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/type-utils": "5.22.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -4880,6 +4967,104 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/experimental-utils": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.21.0.tgz", @@ -4900,14 +5085,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz", - "integrity": "sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", + "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "debug": "^4.3.2" }, "engines": { @@ -4926,6 +5111,80 @@ } } }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", @@ -4944,12 +5203,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz", - "integrity": "sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz", + "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, @@ -4969,6 +5228,104 @@ } } }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.22.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/types": { "version": "5.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", @@ -5483,6 +5840,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5817,98 +6175,6 @@ "node": ">=8" } }, - "node_modules/babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", - "dev": true, - "peer": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "peer": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "peer": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "peer": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "peer": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -6100,6 +6366,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, "engines": { "node": ">=8" } @@ -6383,6 +6650,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -6502,16 +6770,6 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "node_modules/builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -6708,6 +6966,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, "funding": [ { "type": "individual", @@ -7541,9 +7800,9 @@ } }, "node_modules/core-js": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.2.tgz", - "integrity": "sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==", + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.4.tgz", + "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -8840,6 +9099,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, "engines": { "node": ">= 0.6.0" } @@ -10786,6 +11046,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -10988,6 +11249,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -11179,6 +11441,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -12789,6 +13052,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -12854,6 +13118,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -12883,6 +13148,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -12937,6 +13203,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { "node": ">=0.12.0" } @@ -16708,6 +16975,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -17633,6 +17901,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -18390,6 +18659,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { "node": ">=8.6" }, @@ -19694,6 +19964,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -19717,7 +19988,8 @@ "node_modules/reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true }, "node_modules/regenerate": { "version": "1.4.2", @@ -20441,6 +20713,7 @@ "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -21040,7 +21313,8 @@ "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true }, "node_modules/spawn-command": { "version": "0.0.2-1", @@ -21361,9 +21635,9 @@ "dev": true }, "node_modules/stylelint": { - "version": "14.8.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.0.tgz", - "integrity": "sha512-uIyIWMSBSVcj73Gn3nTvPyNsYdwTpxo1W6dWTIa1nm8JKgUi3FIobSXLgrRE6joLidoA0FdgAhCaqxwTF2ikrQ==", + "version": "14.8.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz", + "integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==", "dev": true, "dependencies": { "balanced-match": "^2.0.0", @@ -22085,6 +22359,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -22202,9 +22477,9 @@ } }, "node_modules/ts-loader": { - "version": "9.2.9", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.9.tgz", - "integrity": "sha512-b0+vUY2/enb0qYtDQuNlDnJ9900NTiPiJcDJ6sY7ax1CCCwXfYIqPOMm/BwW7jsF1km+Oz8W9s31HLuD+FLIMg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz", + "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -22347,136 +22622,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "node_modules/tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "bin": { - "tslint": "bin/tslint" - }, - "engines": { - "node": ">=4.8.0" - }, - "peerDependencies": { - "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" - } - }, - "node_modules/tslint/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/tslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/tslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/tslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tslint/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "peer": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/tslint/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true, - "peer": true - }, - "node_modules/tslint/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "peer": true - }, - "node_modules/tslint/node_modules/tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "peer": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "peerDependencies": { - "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" - } - }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -22605,9 +22750,10 @@ } }, "node_modules/typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -23079,54 +23225,6 @@ "node": ">=10.4" } }, - "node_modules/webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, "node_modules/webpack-dev-middleware": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", @@ -23326,59 +23424,6 @@ } } }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -23634,7 +23679,8 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yaml": { "version": "1.10.2", @@ -23832,6 +23878,96 @@ } } }, + "@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -24039,8 +24175,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "schema-utils": { "version": "3.1.1", @@ -24110,8 +24245,7 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true, - "requires": {} + "dev": true } } }, @@ -24227,6 +24361,7 @@ "version": "13.3.4", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", + "dev": true, "requires": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -24244,6 +24379,7 @@ "version": "0.26.1", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "dev": true, "requires": { "sourcemap-codec": "^1.4.8" } @@ -24390,25 +24526,26 @@ } }, "@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==" }, "@babel/core": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", - "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", + "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", + "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-compilation-targets": "^7.17.7", + "@babel/generator": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-module-transforms": "^7.17.7", "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.9", + "@babel/parser": "^7.17.10", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/traverse": "^7.17.10", + "@babel/types": "^7.17.10", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -24420,30 +24557,28 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "dev": true, "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, @@ -24486,13 +24621,13 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", + "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", "requires": { - "@babel/compat-data": "^7.17.7", + "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "browserslist": "^4.20.2", "semver": "^6.3.0" }, "dependencies": { @@ -24725,9 +24860,9 @@ } }, "@babel/parser": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", - "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==" + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", + "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.7", @@ -25246,12 +25381,12 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz", + "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.0" } }, "@babel/plugin-transform-new-target": { @@ -25397,27 +25532,27 @@ } }, "@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz", + "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.17.6", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.17.3", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.11", @@ -25443,7 +25578,7 @@ "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.17.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", @@ -25452,15 +25587,15 @@ "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.17.9", + "@babel/plugin-transform-modules-systemjs": "^7.17.8", "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.17.9", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", @@ -25470,11 +25605,11 @@ "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", + "@babel/types": "^7.17.10", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "core-js-compat": "^3.22.1", "semver": "^6.3.0" }, "dependencies": { @@ -25532,43 +25667,38 @@ } }, "@babel/traverse": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", - "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", + "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", "requires": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", + "@babel/generator": "^7.17.10", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/parser": "^7.17.10", + "@babel/types": "^7.17.10", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, "@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", + "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", "requires": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -26360,8 +26490,7 @@ "version": "13.3.3", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.3.tgz", "integrity": "sha512-O6EzafKfFuvI3Ju941u7ANs0mT7YDdChbVRhVECCPWOTm3Klr73js3bnCDzaJlxZNjzlG/KeUu5ghrhbMrHjSw==", - "dev": true, - "requires": {} + "dev": true }, "@nodelib/fs.scandir": { "version": "2.1.5", @@ -27100,9 +27229,9 @@ } }, "@types/jest": { - "version": "27.4.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", - "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "version": "27.5.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz", + "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==", "dev": true, "requires": { "jest-matcher-utils": "^27.0.0", @@ -27146,9 +27275,9 @@ "dev": true }, "@types/node": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.29.tgz", - "integrity": "sha512-tx5jMmMFwx7wBwq/V7OohKDVb/JwJU5qCVkeLMh1//xycAJ/ESuw9aJ9SEtlCZDYi2pBfe4JkisSoAtbOsBNAA==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", "dev": true }, "@types/normalize-package-data": { @@ -27280,20 +27409,77 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz", - "integrity": "sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz", + "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/type-utils": "5.21.0", - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/type-utils": "5.22.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" + } + }, + "@typescript-eslint/types": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "eslint-visitor-keys": "^3.0.0" + } + } } }, "@typescript-eslint/experimental-utils": { @@ -27306,15 +27492,58 @@ } }, "@typescript-eslint/parser": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz", - "integrity": "sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", + "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "debug": "^4.3.2" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" + } + }, + "@typescript-eslint/types": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "eslint-visitor-keys": "^3.0.0" + } + } } }, "@typescript-eslint/scope-manager": { @@ -27328,14 +27557,71 @@ } }, "@typescript-eslint/type-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz", - "integrity": "sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz", + "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.21.0", + "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" + } + }, + "@typescript-eslint/types": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.22.0", + "eslint-visitor-keys": "^3.0.0" + } + } } }, "@typescript-eslint/types": { @@ -27601,15 +27887,13 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} + "dev": true }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-walk": { "version": "7.2.0", @@ -27747,6 +28031,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -27987,72 +28272,6 @@ } } }, - "babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", - "dev": true, - "peer": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "peer": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "peer": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "peer": true, - "requires": { - "semver": "^6.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "peer": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true - } - } - }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -28201,7 +28420,8 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true }, "bl": { "version": "4.1.0", @@ -28430,6 +28650,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -28504,13 +28725,6 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true, - "peer": true - }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -28660,6 +28874,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -28693,8 +28908,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "dev": true, - "requires": {} + "dev": true }, "cjs-module-lexer": { "version": "1.2.2", @@ -28866,15 +29080,13 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", - "dev": true, - "requires": {} + "dev": true }, "@angular/core": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", - "dev": true, - "requires": {} + "dev": true }, "source-map": { "version": "0.5.7", @@ -29279,9 +29491,9 @@ } }, "core-js": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.2.tgz", - "integrity": "sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==" + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.4.tgz", + "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==" }, "core-js-compat": { "version": "3.22.2", @@ -29477,8 +29689,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true, - "requires": {} + "dev": true }, "css-rule-stream": { "version": "1.1.0", @@ -30326,7 +30537,8 @@ "dependency-graph": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true }, "destroy": { "version": "1.2.0", @@ -31160,8 +31372,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", - "dev": true, - "requires": {} + "dev": true }, "eslint-etc": { "version": "5.1.0", @@ -31719,6 +31930,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -31869,6 +32081,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, "optional": true }, "function-bind": { @@ -32027,6 +32240,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -32938,8 +33152,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} + "dev": true }, "ieee754": { "version": "1.2.1", @@ -33198,6 +33411,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -33238,7 +33452,8 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "4.0.0", @@ -33256,6 +33471,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -33291,7 +33507,8 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-obj": { "version": "2.0.0", @@ -34330,8 +34547,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} + "dev": true }, "jest-preset-angular": { "version": "11.1.2", @@ -36086,6 +36302,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { "yallist": "^4.0.0" } @@ -36786,7 +37003,8 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, "normalize-range": { "version": "0.1.2", @@ -37381,7 +37599,8 @@ "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true }, "pidtree": { "version": "0.5.0", @@ -37549,8 +37768,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz", "integrity": "sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==", - "dev": true, - "requires": {} + "dev": true }, "postcss-custom-properties": { "version": "12.1.7", @@ -37620,15 +37838,13 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true, - "requires": {} + "dev": true }, "postcss-gap-properties": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-image-set-function": { "version": "4.0.6", @@ -37654,8 +37870,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-lab-function": { "version": "4.2.0", @@ -37682,15 +37897,13 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true, - "requires": {} + "dev": true }, "postcss-media-minmax": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-media-query-parser": { "version": "0.2.3", @@ -37702,8 +37915,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} + "dev": true }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -37747,15 +37959,13 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", - "dev": true, - "requires": {} + "dev": true }, "postcss-page-break": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-place": { "version": "7.0.4", @@ -37820,8 +38030,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true, - "requires": {} + "dev": true }, "postcss-resolve-nested-selector": { "version": "0.1.1", @@ -37833,15 +38042,13 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-scss": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", - "dev": true, - "requires": {} + "dev": true }, "postcss-selector-not": { "version": "5.0.0", @@ -37866,8 +38073,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz", "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", - "dev": true, - "requires": {} + "dev": true }, "postcss-value-parser": { "version": "4.2.0", @@ -38133,8 +38339,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "json-schema-traverse": { "version": "0.4.1", @@ -38295,6 +38500,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -38312,7 +38518,8 @@ "reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true }, "regenerate": { "version": "1.4.2", @@ -38818,8 +39025,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "json-schema-traverse": { "version": "0.4.1", @@ -38848,6 +39054,7 @@ "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -39330,7 +39537,8 @@ "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true }, "spawn-command": { "version": "0.0.2-1", @@ -39589,9 +39797,9 @@ "dev": true }, "stylelint": { - "version": "14.8.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.0.tgz", - "integrity": "sha512-uIyIWMSBSVcj73Gn3nTvPyNsYdwTpxo1W6dWTIa1nm8JKgUi3FIobSXLgrRE6joLidoA0FdgAhCaqxwTF2ikrQ==", + "version": "14.8.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz", + "integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==", "dev": true, "requires": { "balanced-match": "^2.0.0", @@ -39685,8 +39893,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", - "dev": true, - "requires": {} + "dev": true }, "stylelint-config-recommended-scss": { "version": "5.0.2", @@ -39998,8 +40205,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "json-schema-traverse": { "version": "0.4.1", @@ -40127,6 +40333,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } @@ -40196,9 +40403,9 @@ } }, "ts-loader": { - "version": "9.2.9", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.9.tgz", - "integrity": "sha512-b0+vUY2/enb0qYtDQuNlDnJ9900NTiPiJcDJ6sY7ax1CCCwXfYIqPOMm/BwW7jsF1km+Oz8W9s31HLuD+FLIMg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz", + "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -40292,113 +40499,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "dev": true, - "peer": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "peer": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true, - "peer": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "peer": true - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "peer": true, - "requires": { - "tslib": "^1.8.1" - } - } - } - }, "tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -40499,9 +40599,10 @@ } }, "typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==" + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "dev": true }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -40882,81 +40983,6 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true }, - "webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", - "dev": true, - "peer": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "peer": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, "webpack-dev-middleware": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", @@ -41050,8 +41076,7 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true, - "requires": {} + "dev": true } } }, @@ -41220,8 +41245,7 @@ "version": "7.5.7", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "dev": true, - "requires": {} + "dev": true }, "xdg-basedir": { "version": "4.0.0", @@ -41261,8 +41285,7 @@ "xterm-addon-fit": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", - "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", - "requires": {} + "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==" }, "y18n": { "version": "5.0.8", @@ -41272,7 +41295,8 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "yaml": { "version": "1.10.2", From b90fc60c3160a4d8916784185e6ebf1e970fac58 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 12:49:40 +0200 Subject: [PATCH 051/162] Workflow updates --- .../{cd-workflow.yml => cd-global.yml} | 2 +- .../{cd-helm-workflow.yml => cd-helm.yml} | 2 +- .github/workflows/ci-api.yml | 6 ++-- .github/workflows/ci-global.yml | 6 +++- .github/workflows/ci-helm.yml | 2 +- .github/workflows/ci-web.yml | 29 +++++++------------ 6 files changed, 22 insertions(+), 25 deletions(-) rename .github/workflows/{cd-workflow.yml => cd-global.yml} (99%) rename .github/workflows/{cd-helm-workflow.yml => cd-helm.yml} (98%) diff --git a/.github/workflows/cd-workflow.yml b/.github/workflows/cd-global.yml similarity index 99% rename from .github/workflows/cd-workflow.yml rename to .github/workflows/cd-global.yml index f09c1a01ca7e..1694deb973ac 100644 --- a/.github/workflows/cd-workflow.yml +++ b/.github/workflows/cd-global.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: Continuous Deployment - App +name: CD / Global on: push: diff --git a/.github/workflows/cd-helm-workflow.yml b/.github/workflows/cd-helm.yml similarity index 98% rename from .github/workflows/cd-helm-workflow.yml rename to .github/workflows/cd-helm.yml index 9f11de5b0731..0d745c38bd85 100644 --- a/.github/workflows/cd-helm-workflow.yml +++ b/.github/workflows/cd-helm.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: Continuous Deployment - Helm +name: CD / Helm on: push: diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index d8c91e3830aa..5a7e88a711c0 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -12,18 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: CI - API +name: CI / API on: push: branches: [ master ] - ignore-paths: + paths-ignore: - '**/*.md' - 'aio/**' - 'docs/**' - 'web/**' pull_request: branches: [ master ] - ignore-paths: + paths-ignore: - '**/*.md' - 'aio/**' - 'docs/**' diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index b091e1b71744..0951c70e9ef9 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -12,12 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: CI - Global +name: CI / Global on: push: branches: [ master ] + paths-ignore: + - '**/*.md' pull_request: branches: [ master ] + paths-ignore: + - '**/*.md' schedule: - cron: '0 0 * * 1' permissions: diff --git a/.github/workflows/ci-helm.yml b/.github/workflows/ci-helm.yml index 6664b7c42733..0c97d75d3231 100644 --- a/.github/workflows/ci-helm.yml +++ b/.github/workflows/ci-helm.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: CI - Helm +name: CI / Helm on: pull_request: paths: diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index 67f5cfc5b236..3b5202ece065 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: CI - Web +name: CI / Web on: push: branches: [ master ] @@ -27,8 +27,6 @@ jobs: runs-on: ubuntu-latest env: NG_CLI_ANALYTICS: ci - GO111MODULE: on - GOPROXY: "https://proxy.golang.org" NODE_OPTIONS: "--max-old-space-size=8192" TERM: xterm steps: @@ -40,7 +38,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: 16.15.0 - - name: Cache + - name: Cache Node.js modules uses: actions/cache@v3 env: cache-name: cache-node-modules @@ -50,7 +48,7 @@ jobs: - name: Install Dependencies shell: bash run: | - [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs + [ ! -d "node_modules" ] && npm ci || node modules/web/scripts/version.mjs - name: Check Code shell: bash run: npm run check @@ -63,18 +61,17 @@ jobs: GOPROXY: "https://proxy.golang.org" NODE_OPTIONS: "--max-old-space-size=8192" TERM: xterm - steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + - name: Checkout repository + uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + - name: Setup Node.js + uses: actions/setup-node@v3 with: - node-version: 16.14.2 - - name: Cache Node Modules - uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 + node-version: 16.15.0 + - name: Cache Node.js modules + uses: actions/cache@v3 env: cache-name: cache-node-modules with: @@ -82,13 +79,9 @@ jobs: key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - name: Install Dependencies shell: bash - run: | - export GOPATH=$(go env GOPATH)/bin - [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1; } && go mod download - + run: [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs - name: Run Frontend Unit Tests run: make coverage-frontend - - name: Cleanup & Upload Coverage shell: bash run: | From 8967fe946874b8cd352266483cd7050d254e66ba Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 12:57:33 +0200 Subject: [PATCH 052/162] Workflow updates --- .github/workflows/ci-api.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 5a7e88a711c0..ed8764308d15 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -40,16 +40,16 @@ jobs: TERM: xterm defaults: run: - working-directory: ./api + working-directory: modules/api steps: - - name: Checkout + - name: Checkout repository uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v3 with: - go-version: 1.17.0 + go-version: 1.18 - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: From 3eff92b6f2fdc8584c97e7bb0f5e195cdb498250 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 13:09:06 +0200 Subject: [PATCH 053/162] Workflow updates --- .github/workflows/cd-global.yml | 34 ++++++++----------- .github/workflows/cd-helm.yml | 8 ++--- .github/workflows/ci-api.yml | 2 +- .github/workflows/ci-global.yml | 10 ++++-- .github/workflows/ci-helm.yml | 10 +++--- .gitignore | 2 +- charts/helm-chart/.helm-chart-testing.yaml | 2 +- .../helm-chart/kubernetes-dashboard/README.md | 2 +- docs/developer/release-procedures.md | 4 +-- 9 files changed, 35 insertions(+), 39 deletions(-) diff --git a/.github/workflows/cd-global.yml b/.github/workflows/cd-global.yml index 1694deb973ac..1d126b7db7fa 100644 --- a/.github/workflows/cd-global.yml +++ b/.github/workflows/cd-global.yml @@ -37,21 +37,18 @@ jobs: TERM: xterm steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + - name: Checkout repository + uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@v3 with: - go-version: 1.17.0 - - - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + go-version: 1.18 + - name: Setup Node.js + uses: actions/setup-node@v3 with: - node-version: 16.14.2 - + node-version: 16.15.0 - name: Cache Node Modules uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 env: @@ -96,21 +93,18 @@ jobs: TERM: xterm steps: - - name: Setup Environment - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 + - name: Checkout repository + uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@v3 with: - go-version: 1.17.0 - - - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + go-version: 1.18 + - name: Setup Node.js + uses: actions/setup-node@v3 with: - node-version: 16.14.2 - + node-version: 16.15.0 - name: Cache Node Modules uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 env: diff --git a/.github/workflows/cd-helm.yml b/.github/workflows/cd-helm.yml index 0d745c38bd85..9f1190bf4dab 100644 --- a/.github/workflows/cd-helm.yml +++ b/.github/workflows/cd-helm.yml @@ -18,7 +18,7 @@ on: push: branches: [ master ] paths: - - 'aio/deploy/helm-chart/**' + - 'charts/helm-chart/**' - 'aio/scripts/helm-release-chart.sh' - '.github/workflows/cd-helm-workflow.yml' @@ -28,16 +28,14 @@ jobs: runs-on: ubuntu-latest steps: - - name: Setup Environment - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Configure Git run: | git config user.name "$GITHUB_ACTOR" git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - - name: Package shell: bash run: aio/scripts/helm-release-chart.sh diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index ed8764308d15..7d9bc0e120d2 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -70,7 +70,7 @@ jobs: run: working-directory: ./api steps: - - name: Checkout + - name: Checkout repository uses: actions/checkout@v3 with: fetch-depth: 0 diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 0951c70e9ef9..e54d101751a1 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -40,8 +40,10 @@ jobs: matrix: language: [ 'go', 'typescript' ] steps: - - name: Checkout + - name: Checkout repository uses: actions/checkout@v3 + with: + fetch-depth: 0 - name: Initialize uses: github/codeql-action/init@v2 with: @@ -57,8 +59,10 @@ jobs: env: TERM: xterm steps: - - name: Checkout + - name: Checkout repository uses: actions/checkout@v3 + with: + fetch-depth: 0 - name: Check licenses uses: apache/skywalking-eyes@main @@ -73,7 +77,7 @@ jobs: steps: - name: Start kind cluster uses: helm/kind-action@v1.2.0 - - name: Checkout + - name: Checkout repository uses: actions/checkout@v3 with: fetch-depth: 0 diff --git a/.github/workflows/ci-helm.yml b/.github/workflows/ci-helm.yml index 0c97d75d3231..42b78a61a529 100644 --- a/.github/workflows/ci-helm.yml +++ b/.github/workflows/ci-helm.yml @@ -24,15 +24,15 @@ jobs: name: Lint and test runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v3 with: - fetch-depth: "0" + fetch-depth: 0 - name: Validate schema uses: wiremind/helm-kubeval-action@v1.2.1 with: path: charts/helm-chart - config: aio/deploy/helm-chart/config_repos + config: charts/helm-chart/config_repos version: 1.23.0 - uses: actions/setup-python@v3.1.2 with: @@ -45,7 +45,7 @@ jobs: - name: Run chart-testing (lint) id: lint run: ct lint --config=charts/helm-chart/.helm-chart-testing.yaml - - name: Create kind cluster + - name: Start kind cluster uses: helm/kind-action@v1.2.0 - name: Install Prometheus Operator CRDs id: prom diff --git a/.gitignore b/.gitignore index 77fbd27d411e..15d7c77faf33 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ .idea/ .vscode/ .DS_Store +charts/helm-chart/kubernetes-dashboard/charts i18n/messages.new.xlf _tmp/ @@ -26,4 +27,3 @@ coverage/ cypress/screenshots cypress/videos *.swp -aio/deploy/helm-chart/kubernetes-dashboard/charts diff --git a/charts/helm-chart/.helm-chart-testing.yaml b/charts/helm-chart/.helm-chart-testing.yaml index fb9babce609f..961886409c99 100644 --- a/charts/helm-chart/.helm-chart-testing.yaml +++ b/charts/helm-chart/.helm-chart-testing.yaml @@ -13,7 +13,7 @@ # limitations under the License. # chart-dirs: - - aio/deploy/helm-chart + - charts/helm-chart chart-repos: - metrics-server=https://kubernetes-sigs.github.io/metrics-server/ debug: true diff --git a/charts/helm-chart/kubernetes-dashboard/README.md b/charts/helm-chart/kubernetes-dashboard/README.md index 7c4e600d2e28..d77b5af094b9 100644 --- a/charts/helm-chart/kubernetes-dashboard/README.md +++ b/charts/helm-chart/kubernetes-dashboard/README.md @@ -47,7 +47,7 @@ It is highly recommended to use RBAC with minimal privileges needed for Dashboar ## Configuration -Please refer to [values.yaml](https://github.com/kubernetes/dashboard/blob/master/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml) +Please refer to [values.yaml](https://github.com/kubernetes/dashboard/blob/master/charts/helm-chart/kubernetes-dashboard/values.yaml) for valid values and their defaults. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/docs/developer/release-procedures.md b/docs/developer/release-procedures.md index cf545c29a67d..35375eb05c34 100644 --- a/docs/developer/release-procedures.md +++ b/docs/developer/release-procedures.md @@ -8,8 +8,8 @@ After significant improvements have been done it is worth to release a new versi 2. Send a pull request that increases version numbers in all files. Follow versioning guidelines. Files to keep in sync are listed below: * `package.json` and `package-lock.json` * `RELEASE_VERSION` in `Makefile` - * YAML files from `aio/deploy` - * Helm Chart from `aio/deploy/helm-chart/kubernetes-dashboard`: `image.tag` of `README.md` and `values.yaml`, `version` and `appVersion` of `Chart.yaml` + * YAML files from `charts` + * Helm Chart from `charts/helm-chart/kubernetes-dashboard`: `image.tag` of `README.md` and `values.yaml`, `version` and `appVersion` of `Chart.yaml` 3. Get the pull request reviewed and merged. 4. Create a git [release](https://github.com/kubernetes/dashboard/releases/) tag for the merged pull request. Release description should include a changelog. 5. Update add-ons on the [Kubernetes](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard) repository. If the update is minor, all that needs to be done is to change image version number in the main controller config file (`dashboard-controller.yaml`), and other configs, as described in the header of the config. If the release is major, this needs coordination with Kubernetes core team and possibly alignment with the schedule of the core. From e273548496637988b521789f6798ac8fc58e9574 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 13:23:51 +0200 Subject: [PATCH 054/162] Workflow updates --- .github/workflows/ci-web.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index 3b5202ece065..022044f33287 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -58,9 +58,11 @@ jobs: runs-on: ubuntu-latest env: NG_CLI_ANALYTICS: ci - GOPROXY: "https://proxy.golang.org" NODE_OPTIONS: "--max-old-space-size=8192" TERM: xterm + defaults: + run: + working-directory: modules/web steps: - name: Checkout repository uses: actions/checkout@v3 @@ -79,11 +81,13 @@ jobs: key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - name: Install Dependencies shell: bash - run: [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs - - name: Run Frontend Unit Tests + run: | + [ ! -d "node_modules" ] && npm ci && node modules/web/scripts/version.mjs + - name: Run unit tests run: make coverage-frontend - - name: Cleanup & Upload Coverage + - name: Cleanup + run: make clean + - name: Upload coverage shell: bash run: | - make clean bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" From d05f96bed1a19add237fa41ee30a1f437ff72cf8 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 14:55:22 +0200 Subject: [PATCH 055/162] Add Go lint action --- .github/workflows/ci-api.yml | 4 - .github/workflows/ci-global.yml | 48 +- modules/api/.golangci.yml => .golangci.yml | 0 Makefile | 8 - modules/tools/go.mod | 165 ++- modules/tools/go.sum | 1151 +++++++++++++++++++- modules/tools/main.go | 1 + 7 files changed, 1330 insertions(+), 47 deletions(-) rename modules/api/.golangci.yml => .golangci.yml (100%) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 7d9bc0e120d2..02e2ab123d41 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -50,10 +50,6 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18 - - name: golangci-lint - uses: golangci/golangci-lint-action@v3 - with: - version: v1.41.1 - name: Check Code shell: bash run: | diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index e54d101751a1..c55c64dedde2 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -28,6 +28,39 @@ permissions: contents: read jobs: + lint-go: + name: Lint Go + runs-on: ubuntu-latest + env: + GOPROXY: "https://proxy.golang.org" + TERM: xterm + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: 1.18 + - name: Lint Go + uses: golangci/golangci-lint-action@v3 + with: + version: v1.46.0 + + license-check: + name: License check + runs-on: ubuntu-latest + env: + TERM: xterm + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Check licenses + uses: apache/skywalking-eyes@main + codeql: permissions: actions: read @@ -53,20 +86,7 @@ jobs: - name: Analyze uses: github/codeql-action/analyze@v2 - license: - name: License check - runs-on: ubuntu-latest - env: - TERM: xterm - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Check licenses - uses: apache/skywalking-eyes@main - - e2e: + e2e-tests: name: End-to-end tests runs-on: ubuntu-latest env: diff --git a/modules/api/.golangci.yml b/.golangci.yml similarity index 100% rename from modules/api/.golangci.yml rename to .golangci.yml diff --git a/Makefile b/Makefile index 81291dc748ea..ac0f90d139bf 100644 --- a/Makefile +++ b/Makefile @@ -8,8 +8,6 @@ GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt AIR_BINARY := $(shell which air) CODEGEN_VERSION := v0.23.6 CODEGEN_BIN := $(GOPATH)/pkg/mod/k8s.io/code-generator@$(CODEGEN_VERSION)/generate-groups.sh -GOLANGCILINT_VERSION := v1.45.2 -GOLANGCILINT_BINARY := $(shell which golangci-lint) GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) MIN_GO_MAJOR_VERSION = 1 @@ -50,12 +48,6 @@ fix-license: #ensure-version: # node ./aio/scripts/version.mjs # -#.PHONY: ensure-golangcilint -#ensure-golangcilint: -#ifndef GOLANGCILINT_BINARY -# curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin $(GOLANGCILINT_VERSION) -#endif -# #.PHONY: ensure-codegen #ensure-codegen: ensure-go # go get -d k8s.io/code-generator@$(CODEGEN_VERSION) diff --git a/modules/tools/go.mod b/modules/tools/go.mod index 5892b3fb2635..5a4b3cebc178 100644 --- a/modules/tools/go.mod +++ b/modules/tools/go.mod @@ -4,29 +4,172 @@ go 1.18 require ( github.com/apache/skywalking-eyes v0.2.0 - golang.org/x/tools v0.1.10 // indirect + github.com/golangci/golangci-lint v1.46.0 + golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a // indirect ) require ( + 4d63.com/gochecknoglobals v0.1.0 // indirect + github.com/Antonboom/errname v0.1.6 // indirect + github.com/Antonboom/nilnil v0.1.1 // indirect + github.com/BurntSushi/toml v1.1.0 // indirect + github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect + github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/OpenPeeDeeP/depguard v1.1.0 // indirect + github.com/alexkohler/prealloc v1.0.0 // indirect + github.com/ashanbrown/forbidigo v1.3.0 // indirect + github.com/ashanbrown/makezero v1.1.1 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bkielbasa/cyclop v1.2.0 // indirect + github.com/blizzy78/varnamelen v0.8.0 // indirect github.com/bmatcuk/doublestar/v2 v2.0.4 // indirect + github.com/bombsimon/wsl/v3 v3.3.0 // indirect + github.com/breml/bidichk v0.2.3 // indirect + github.com/breml/errchkjson v0.3.0 // indirect + github.com/butuzov/ireturn v0.1.1 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/charithe/durationcheck v0.0.9 // indirect + github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 // indirect + github.com/daixiang0/gci v0.3.3 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/denis-tingaikin/go-header v0.4.3 // indirect + github.com/esimonov/ifshort v1.0.4 // indirect + github.com/ettle/strcase v0.1.1 // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/fatih/structtag v1.2.0 // indirect + github.com/firefart/nonamedreturns v1.0.1 // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fzipp/gocyclo v0.5.1 // indirect + github.com/go-critic/go-critic v0.6.3 // indirect + github.com/go-toolsmith/astcast v1.0.0 // indirect + github.com/go-toolsmith/astcopy v1.0.0 // indirect + github.com/go-toolsmith/astequal v1.0.1 // indirect + github.com/go-toolsmith/astfmt v1.0.0 // indirect + github.com/go-toolsmith/astp v1.0.0 // indirect + github.com/go-toolsmith/strparse v1.0.0 // indirect + github.com/go-toolsmith/typep v1.0.2 // indirect + github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b // indirect + github.com/gobwas/glob v0.2.3 // indirect + github.com/gofrs/flock v0.8.1 // indirect github.com/golang/protobuf v1.5.2 // indirect + github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect + github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect + github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect + github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a // indirect + github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect + github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect + github.com/golangci/misspell v0.3.5 // indirect + github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 // indirect + github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect + github.com/google/go-cmp v0.5.7 // indirect github.com/google/go-github/v33 v33.0.0 // indirect github.com/google/go-querystring v1.0.0 // indirect + github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect + github.com/gostaticanalysis/analysisutil v0.7.1 // indirect + github.com/gostaticanalysis/comment v1.4.2 // indirect + github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect + github.com/gostaticanalysis/nilerr v0.1.1 // indirect + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-version v1.4.0 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hexops/gotextdiff v1.0.3 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect - github.com/kr/text v0.2.0 // indirect - github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/jgautheron/goconst v1.5.1 // indirect + github.com/jingyugao/rowserrcheck v1.1.1 // indirect + github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect + github.com/julz/importas v0.1.0 // indirect + github.com/kisielk/errcheck v1.6.0 // indirect + github.com/kisielk/gotool v1.0.0 // indirect + github.com/kulti/thelper v0.6.2 // indirect + github.com/kunwardeep/paralleltest v1.0.3 // indirect + github.com/kyoh86/exportloopref v0.1.8 // indirect + github.com/ldez/gomoddirectives v0.2.3 // indirect + github.com/ldez/tagliatelle v0.3.1 // indirect + github.com/leonklingele/grouper v1.1.0 // indirect + github.com/lufeee/execinquery v1.0.0 // indirect + github.com/magiconair/properties v1.8.6 // indirect + github.com/maratori/testpackage v1.0.1 // indirect + github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-runewidth v0.0.9 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/mbilski/exhaustivestruct v1.2.0 // indirect + github.com/mgechev/revive v1.2.1 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moricho/tparallel v0.2.1 // indirect + github.com/nakabonne/nestif v0.3.1 // indirect + github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect + github.com/nishanths/exhaustive v0.7.11 // indirect + github.com/nishanths/predeclared v0.2.2 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect + github.com/pelletier/go-toml v1.9.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.0 // indirect + github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b // indirect + github.com/prometheus/client_golang v1.12.1 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a // indirect + github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 // indirect + github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect + github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect + github.com/ryancurrah/gomodguard v1.2.3 // indirect + github.com/ryanrolds/sqlclosecheck v0.3.0 // indirect + github.com/sanposhiho/wastedassign/v2 v2.0.6 // indirect + github.com/securego/gosec/v2 v2.11.0 // indirect + github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect github.com/sirupsen/logrus v1.8.1 // indirect - github.com/spf13/cobra v1.2.1 // indirect + github.com/sivchari/containedctx v1.0.2 // indirect + github.com/sivchari/tenv v1.5.0 // indirect + github.com/sonatard/noctx v0.0.1 // indirect + github.com/sourcegraph/go-diff v0.6.1 // indirect + github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/cobra v1.4.0 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect + github.com/spf13/viper v1.11.0 // indirect + github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect + github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect + github.com/stretchr/objx v0.1.1 // indirect + github.com/stretchr/testify v1.7.1 // indirect + github.com/subosito/gotenv v1.2.0 // indirect + github.com/sylvia7788/contextcheck v1.0.4 // indirect + github.com/tdakkota/asciicheck v0.1.1 // indirect + github.com/tetafro/godot v1.4.11 // indirect + github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 // indirect + github.com/tomarrell/wrapcheck/v2 v2.6.1 // indirect + github.com/tommy-muehle/go-mnd/v2 v2.5.0 // indirect + github.com/ultraware/funlen v0.0.3 // indirect + github.com/ultraware/whitespace v0.0.5 // indirect + github.com/uudashr/gocognit v1.0.5 // indirect + github.com/yagipy/maintidx v1.0.0 // indirect + github.com/yeya24/promlinter v0.2.0 // indirect + gitlab.com/bosi/decorder v0.2.1 // indirect + golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect + golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect - golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect - golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect + golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect + golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect + golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect golang.org/x/text v0.3.7 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.27.1 // indirect - gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect + google.golang.org/protobuf v1.28.0 // indirect + gopkg.in/ini.v1 v1.66.4 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + honnef.co/go/tools v0.3.1 // indirect + mvdan.cc/gofumpt v0.3.1 // indirect + mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect + mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect + mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5 // indirect ) diff --git a/modules/tools/go.sum b/modules/tools/go.sum index bbb96a3ba47d..487bc4021653 100644 --- a/modules/tools/go.sum +++ b/modules/tools/go.sum @@ -1,203 +1,909 @@ +4d63.com/gochecknoglobals v0.1.0 h1:zeZSRqj5yCg28tCkIV/z/lWbwvNm5qnKVS15PI8nhD0= +4d63.com/gochecknoglobals v0.1.0/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= +bitbucket.org/creachadair/shell v0.0.6/go.mod h1:8Qqi/cYk7vPnsOePHroKXDJYmb5x7ENhtiFtfZq8K+M= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.60.0/go.mod h1:yw2G51M9IfRboUH61Us8GqCeF1PzPblB823Mn2q2eAU= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= 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= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +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= 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/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/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/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= 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= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Antonboom/errname v0.1.6 h1:LzIJZlyLOCSu51o3/t2n9Ck7PcoP9wdbrdaW6J8fX24= +github.com/Antonboom/errname v0.1.6/go.mod h1:7lz79JAnuoMNDAWE9MeeIr1/c/VpSUWatBv2FH9NYpI= +github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q= +github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I= +github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0 h1:LAPPhJ4KR5Z8aKVZF5S48csJkxL5RMKmE/98fMs1u5M= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0/go.mod h1:LGOGuvEgCfCQsy3JF2tRmpGDpzA53iZfyGEWSPwQ6/4= +github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/OpenPeeDeeP/depguard v1.1.0 h1:pjK9nLPS1FwQYGGpPxoMYpe7qACHOhAWQMQzV71i49o= +github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= 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/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= +github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= +github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/apache/skywalking-eyes v0.2.0 h1:FMbZ16s+ZM30uJTPuYLgde8dH5VVl2oE0d4GRl+M1ck= github.com/apache/skywalking-eyes v0.2.0/go.mod h1:yHmfZ2BxHg791VbyGvvYpoqKsVBHjAwWcL8HxbV0RKw= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/ashanbrown/forbidigo v1.3.0 h1:VkYIwb/xxdireGAdJNZoo24O4lmnEWkactplBlWTShc= +github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= +github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= +github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= +github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= +github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= +github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= +github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= github.com/bmatcuk/doublestar/v2 v2.0.4 h1:6I6oUiT/sU27eE2OFcWqBhL1SwjyvQuOssxT4a1yidI= github.com/bmatcuk/doublestar/v2 v2.0.4/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= +github.com/bombsimon/wsl/v3 v3.3.0 h1:Mka/+kRLoQJq7g2rggtgQsjuI/K5Efd87WX96EWFxjM= +github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= +github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI= +github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= +github.com/breml/errchkjson v0.3.0 h1:YdDqhfqMT+I1vIxPSas44P+9Z9HzJwCeAzjB8PxP1xw= +github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= +github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= +github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk= +github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= +github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 h1:tFXjAxje9thrTF4h57Ckik+scJjTWdwAtZqZPtOT48M= +github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4/go.mod h1:W8EnPSQ8Nv4fUjc/v1/8tHFqhuOJXnRub0dTfuAQktU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +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/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-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/daixiang0/gci v0.3.3 h1:55xJKH7Gl9Vk6oQ1cMkwrDWjAkT1D+D1G9kNmRcAIY4= +github.com/daixiang0/gci v0.3.3/go.mod h1:1Xr2bxnQbDxCqqulUOv8qpGqkgRw9RSCGGjEC2LjF8o= +github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= +github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +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/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= +github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= +github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= +github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= +github.com/firefart/nonamedreturns v1.0.1 h1:fSvcq6ZpK/uBAgJEGMvzErlzyM4NELLqqdTofVjVNag= +github.com/firefart/nonamedreturns v1.0.1/go.mod h1:D3dpIBojGGNh5UfElmwPu73SwDCm+VKhHYqwlNOk2uQ= +github.com/frankban/quicktest v1.14.2 h1:SPb1KFFmM+ybpEjPUhCCkZOM5xlovT5UbrMvWnXyBns= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= +github.com/fzipp/gocyclo v0.5.1 h1:L66amyuYogbxl0j2U+vGqJXusPF2IkduvXLnYD5TFgw= +github.com/fzipp/gocyclo v0.5.1/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-critic/go-critic v0.6.3 h1:abibh5XYBTASawfTQ0rA7dVtQT+6KzpGqb/J+DxRDaw= +github.com/go-critic/go-critic v0.6.3/go.mod h1:c6b3ZP1MQ7o6lPR7Rv3lEf7pYQUmAcx8ABHgdZCQt/k= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= +github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= +github.com/go-toolsmith/astcopy v1.0.0 h1:OMgl1b1MEpjFQ1m5ztEO06rz5CUd3oBv9RF7+DyvdG8= +github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= +github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= +github.com/go-toolsmith/astequal v1.0.1 h1:JbSszi42Jiqu36Gnf363HWS9MTEAz67vTQLponh3Moc= +github.com/go-toolsmith/astequal v1.0.1/go.mod h1:4oGA3EZXTVItV/ipGiOx7NWkY5veFfcsOJVS2YxltLw= +github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= +github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= +github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= +github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= +github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5 h1:eD9POs68PHkwrx7hAB78z1cb6PfGq/jyWn3wJywsH1o= +github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= +github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= +github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= +github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +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= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= +github.com/golangci/golangci-lint v1.46.0 h1:uz9AtEcIP63FH+FIyuAXcQGVQO4vCUavEsMTJpPeD4s= +github.com/golangci/golangci-lint v1.46.0/go.mod h1:IJpcNOUfx/XLRwE95FHQ6QtbhYwwqcm0H5QkwUfF4ZE= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo= +github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= +github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 h1:SgM7GDZTxtTTQPU84heOxy34iG5Du7F2jcoZnvp+fXI= +github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= +github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-github/v33 v33.0.0 h1:qAf9yP0qc54ufQxzwv+u9H0tiVOnPJxo0lI/JXqw3ZM= github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhANBBwm6k6TTEXg= github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/trillian v1.3.11/go.mod h1:0tPraVHrSDkA3BO6vKX67zgLXs6SsOAbHEivX+9mPgw= +github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl7wAo= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= +github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 h1:PVRE9d4AQKmbelZ7emNig1+NT27DUmKZn5qXxfio54U= +github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= +github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= +github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= +github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= +github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= +github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= +github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= +github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= +github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= +github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70= +github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= +github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk= +github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= +github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= +github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= +github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4= +github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +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/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= +github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= +github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= +github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= +github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= +github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= +github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/errcheck v1.6.0 h1:YTDO4pNy7AUN/021p+JGHycQyYNIyMoenM1YDVK6RlY= +github.com/kisielk/errcheck v1.6.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kulti/thelper v0.6.2 h1:K4xulKkwOCnT1CDms6Ex3uG1dvSMUUQe9zxgYQgbRXs= +github.com/kulti/thelper v0.6.2/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= +github.com/kunwardeep/paralleltest v1.0.3 h1:UdKIkImEAXjR1chUWLn+PNXqWUGs//7tzMeWuP7NhmI= +github.com/kunwardeep/paralleltest v1.0.3/go.mod h1:vLydzomDFpk7yu5UX02RmP0H8QfRPOV/oFhWN85Mjb4= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= +github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= +github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= +github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= +github.com/ldez/tagliatelle v0.3.1 h1:3BqVVlReVUZwafJUwQ+oxbx2BEX2vUG4Yu/NOfMiKiM= +github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= +github.com/leonklingele/grouper v1.1.0 h1:tC2y/ygPbMFSBOs3DcyaEMKnnwH7eYKzohOtRrf0SAg= +github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= +github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lufeee/execinquery v1.0.0 h1:1XUTuLIVPDlFvUU3LXmmZwHDsolsxXnY67lzhpeqe0I= +github.com/lufeee/execinquery v1.0.0/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= +github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= +github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= +github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= +github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= +github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= +github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= +github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= +github.com/mgechev/revive v1.2.1 h1:GjFml7ZsoR0IrQ2E2YIvWFNS5GPDV7xNwvA5GM1HZC4= +github.com/mgechev/revive v1.2.1/go.mod h1:+Ro3wqY4vakcYNtkBWdZC7dBg1xSB6sp054wWwmeFm0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= +github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= +github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= +github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= +github.com/mwitkow/go-proto-validators v0.2.0/go.mod h1:ZfA1hW+UH/2ZHOWvQ3HnQaU0DtnpXu850MZiy+YUgcc= +github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= +github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= +github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= +github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nishanths/exhaustive v0.7.11 h1:xV/WU3Vdwh5BUH4N06JNUznb6d5zhRPOnlgCrpNYNKA= +github.com/nishanths/exhaustive v0.7.11/go.mod h1:gX+MP7DWMKJmNa1HfMozK+u04hQd3na9i0hyqf3/dOI= +github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62PewwiQTlm/7Rj+cxVYqZvDIUc+JjZq6GHAC1fsObQ= +github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= +github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/otiai10/copy v1.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= +github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= +github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= +github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= +github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= +github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/pelletier/go-toml/v2 v2.0.0 h1:P7Bq0SaI8nsexyay5UAyDo+ICWy5MQPgEZ5+l8JQTKo= +github.com/pelletier/go-toml/v2 v2.0.0/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b h1:/BDyEJWLnDUYKGWdlNx/82qSaVu2bUok/EvPUtIGuvw= +github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= +github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= +github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= +github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a h1:sWFavxtIctGrVs5SYZ5Ml1CvrDAs8Kf5kx2PI3C41dA= +github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a/go.mod h1:VMX+OnnSw4LicdiEGtRSD/1X8kW7GuEscjYNr4cOIT4= +github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/dsl v0.3.16/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= +github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= +github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 h1:PDWGei+Rf2bBiuZIbZmM20J2ftEy9IeUCHA8HbQqed8= +github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5/go.mod h1:wSEyW6O61xRV6zb6My3HxrQ5/8ke7NE2OayqCHa3xRM= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryancurrah/gomodguard v1.2.3 h1:ww2fsjqocGCAFamzvv/b8IsRduuHHeK2MHTcTxZTQX8= +github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoLtnBZ7/TEhXAbg= +github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= +github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.5.0/go.mod h1:l+nzl7KWh51rpzp2h7t4MZWyiEWdhNpOAnclKvg+mdA= +github.com/sanposhiho/wastedassign/v2 v2.0.6 h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA= +github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/securego/gosec/v2 v2.11.0 h1:+PDkpzR41OI2jrw1q6AdXZCbsNGNGT7pQjal0H0cArI= +github.com/securego/gosec/v2 v2.11.0/go.mod h1:SX8bptShuG8reGC0XS09+a4H2BoWSJi+fscA+Pulbpo= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI= +github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= +github.com/sivchari/tenv v1.5.0 h1:wxW0mFpKI6DIb3s6m1jCDYvkWXCskrimXMuGd0K/kSQ= +github.com/sivchari/tenv v1.5.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= +github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= +github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= +github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= +github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= +github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= +github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= +github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= +github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= +github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/sylvia7788/contextcheck v1.0.4 h1:MsiVqROAdr0efZc/fOCt0c235qm9XJqHtWwM+2h2B04= +github.com/sylvia7788/contextcheck v1.0.4/go.mod h1:vuPKJMQ7MQ91ZTqfdyreNKwZjyUg6KO+IebVyQDedZQ= +github.com/tdakkota/asciicheck v0.1.1 h1:PKzG7JUTUmVspQTDqtkX9eSiLGossXTybutHwTXuO0A= +github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA= +github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= +github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= +github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= +github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw= +github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= +github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro= +github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tomarrell/wrapcheck/v2 v2.6.1 h1:Cf4a/iwuMp9s7kKrh74GTgijRVim0wEpKjgAsT7Wctw= +github.com/tomarrell/wrapcheck/v2 v2.6.1/go.mod h1:Eo+Opt6pyMW1b6cNllOcDSSoHO0aTJ+iF6BfCUbHltA= +github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= +github.com/tommy-muehle/go-mnd/v2 v2.5.0 h1:iAj0a8e6+dXSL7Liq0aXPox36FiN1dBbjA6lt9fl65s= +github.com/tommy-muehle/go-mnd/v2 v2.5.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= +github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= +github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= +github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/uudashr/gocognit v1.0.5 h1:rrSex7oHr3/pPLQ0xoWq108XMU8s678FJcQ+aSfOHa4= +github.com/uudashr/gocognit v1.0.5/go.mod h1:wgYz0mitoKOTysqxTDMOUXg+Jb5SvtihkfmugIZYpEA= +github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= +github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= +github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= +github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= +github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= +github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +gitlab.com/bosi/decorder v0.2.1 h1:ehqZe8hI4w7O4b1vgsDZw1YU1PE7iJXrQWFMsocbQ1w= +gitlab.com/bosi/decorder v0.2.1/go.mod h1:6C/nhLSbF6qZbYD8bRmISBwc6vcWdNsiIBkRvjJFrH0= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= +go.etcd.io/etcd/api/v3 v3.5.2/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= +go.etcd.io/etcd/client/pkg/v3 v3.5.2/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.2/go.mod h1:2D7ZejHVMIfog1221iLSYlQRzrtECw3kz4I4VAQm3qI= +go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403/go.mod h1:jHoPAGnDrCy6kaI2tAze5Prf0Nr0w/oNkROt2lw3n3o= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM= +golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -207,15 +913,28 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -227,86 +946,352 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 h1:id054HUawV2/6IGm2IV8KZQjqtwAOo2CYlOToYqa0d0= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211213223007-03aa0b5f6827/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +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-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +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= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= 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-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200622203043-20e05c1c8ffa/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200706234117-b22de6825cf7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201230224404-63754364767c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= +golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= +golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a h1:ofrrl6c6NG5/IOSx/R1cyiQxxjqlur0h/TvbUhkH0II= +golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +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 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +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= +google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -314,26 +1299,172 @@ google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200626011028-ee7919e894b5/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200707001353-8e8330bf89df/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.6/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.3.1 h1:1kJlrWJLkaGXgcaeosRXViwviqjI7nkBvU2+sZW0AYc= +honnef.co/go/tools v0.3.1/go.mod h1:vlRD9XErLMGT+mDuofSr0mMMquscM/1nQqtRSsh6m70= +mvdan.cc/gofumpt v0.3.1 h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8= +mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5 h1:Jh3LAeMt1eGpxomyu3jVkmVZWW2MxZ1qIIV2TZ/nRio= +mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5/go.mod h1:b8RRCBm0eeiWR8cfN88xeq2G5SG3VKGO+5UPWi5FSOY= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/modules/tools/main.go b/modules/tools/main.go index 27fdd7b1c0e4..247ce3cd1e17 100644 --- a/modules/tools/main.go +++ b/modules/tools/main.go @@ -17,3 +17,4 @@ package tools import _ "github.com/apache/skywalking-eyes/cmd/license-eye" +import _ "github.com/golangci/golangci-lint/cmd/golangci-lint" From 1099647cac7a0dfc4539869433d396061537239d Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 11 May 2022 15:31:08 +0200 Subject: [PATCH 056/162] Format files --- modules/certificates/manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/certificates/manager.go b/modules/certificates/manager.go index 4f70d1ed6b0a..e4246bd7f13c 100644 --- a/modules/certificates/manager.go +++ b/modules/certificates/manager.go @@ -54,7 +54,7 @@ func (self *Manager) GetCertificates() ([]tls.Certificate, error) { return []tls.Certificate{certificate}, err } - + return nil, nil } From 5a55dd88d0a7274745951c59976c9929bf2c3158 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 15:50:02 +0200 Subject: [PATCH 057/162] Fix serve target and update build pipeline --- .licenserc.yaml | 3 + Makefile | 33 +-- modules/Makefile | 30 +++ modules/api/.air.toml | 10 +- modules/api/.gitignore | 1 + modules/api/Makefile | 38 +++ modules/api/main.go | 4 +- modules/tools/Makefile | 23 ++ modules/tools/go.mod | 12 +- modules/tools/go.sum | 374 +++++++++++++++++++++++++++++- modules/tools/main.go | 1 + modules/web/Makefile | 41 ++++ modules/web/main.go | 4 +- modules/web/package.json | 6 +- modules/web/proxy-https.conf.json | 6 +- modules/web/proxy.conf.json | 6 +- 16 files changed, 555 insertions(+), 37 deletions(-) create mode 100644 modules/Makefile create mode 100644 modules/api/Makefile create mode 100644 modules/tools/Makefile create mode 100644 modules/web/Makefile diff --git a/.licenserc.yaml b/.licenserc.yaml index 559491418ee6..5863a7083395 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -57,6 +57,9 @@ header: - '.github/**' - '.idea/**' - '.vscode/**' + - '.dist/**' + - '.husky/**' + - 'modules/web/.angular/**' - 'LICENSE' - 'OWNERS_ALIASES' - 'SECURITY_CONTACTS' diff --git a/Makefile b/Makefile index 81291dc748ea..b8615b973423 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ GOOS ?= $(shell go env GOOS) GOARCH ?= $(shell go env GOARCH) GOPATH ?= $(shell go env GOPATH) ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt AIR_BINARY := $(shell which air) @@ -38,18 +39,28 @@ HEAD_VERSION = latest HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) ARCHITECTURES = amd64 arm64 arm ppc64le s390x +PRE = ensure-tools + +.PHONY: ensure-tools +ensure-tools: + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY)/tools install + .PHONY: check-license -check-license: - ${GOPATH}/bin/license-eye header check +check-license: $(PRE) + @${GOPATH}/bin/license-eye header check .PHONY: fix-license -fix-license: - ${GOPATH}/bin/license-eye header fix +fix-license: $(PRE) + @${GOPATH}/bin/license-eye header fix + +.PHONY: serve +serve: $(PRE) + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve + +.PHONY: serve-https +serve-https: $(PRE) + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve-https -#.PHONY: ensure-version -#ensure-version: -# node ./aio/scripts/version.mjs -# #.PHONY: ensure-golangcilint #ensure-golangcilint: #ifndef GOLANGCILINT_BINARY @@ -62,12 +73,6 @@ fix-license: # go mod tidy # chmod +x $(CODEGEN_BIN) # -#.PHONY: ensure-air -#ensure-air: -#ifndef AIR_BINARY -# curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(GOPATH)/bin -#endif -# #.PHONY: ensure-go #ensure-go: #ifndef GO_BINARY diff --git a/modules/Makefile b/modules/Makefile new file mode 100644 index 000000000000..96f5eb271f41 --- /dev/null +++ b/modules/Makefile @@ -0,0 +1,30 @@ +MODULES_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +API_DIRECTORY = $(MODULES_DIRECTORY)/api +WEB_DIRECTORY = $(MODULES_DIRECTORY)/web + +.PHONY: serve +serve: + @$(MAKE) --no-print-directory -j 2 serve-api serve-web + +.PHONY: serve-https +serve-https: + @$(MAKE) --no-print-directory -j 2 serve-api-https serve-web-https + +###################### +# DO NOT RUN MANUALLY +###################### +.PHONY: serve-api +serve-api: + @$(MAKE) --no-print-directory -C $(API_DIRECTORY) serve + +.PHONY: serve-web +serve-web: + @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) serve + +.PHONY: serve-api-https +serve-api-https: + @$(MAKE) --no-print-directory -C $(API_DIRECTORY) serve-https + +.PHONY: serve-web-https +serve-web-https: + @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) serve-https diff --git a/modules/api/.air.toml b/modules/api/.air.toml index d5191e73eaf4..3f79326c97e5 100644 --- a/modules/api/.air.toml +++ b/modules/api/.air.toml @@ -13,19 +13,17 @@ # limitations under the License. # root = "." -tmp_dir = ".tmp" +tmp_dir = "../../.dist/api" [build] - bin = ".tmp/serve/dashboard" - cmd = "make build-backend" + cmd = "make build" delay = 2000 - exclude_dir = [] + exclude_dir = ["hack"] exclude_file = [] exclude_regex = [] exclude_unchanged = false follow_symlink = false - full_bin = "make run-backend" - include_dir = ["src/app/backend"] + full_bin = "make run" include_ext = ["go"] kill_delay = "1s" log = "build-errors.log" diff --git a/modules/api/.gitignore b/modules/api/.gitignore index d3af7316d25a..c4f0e8789c1b 100644 --- a/modules/api/.gitignore +++ b/modules/api/.gitignore @@ -14,3 +14,4 @@ # codegen/ vendor/ +.tmp/ diff --git a/modules/api/Makefile b/modules/api/Makefile new file mode 100644 index 000000000000..7605ee1c86a6 --- /dev/null +++ b/modules/api/Makefile @@ -0,0 +1,38 @@ +API_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +ROOT_DIRECTORY = $(API_DIRECTORY)/../.. +DIST_DIRECTORY = $(ROOT_DIRECTORY)/.dist +SERVE_DIRECTORY = $(DIST_DIRECTORY)/api +SERVE_BINARY = $(DIST_DIRECTORY)/api/dashboard-api +MAIN_PACKAGE = k8s.io/dashboard/api +VERSION = v2.5.1 + +# API Arguments (overridable) +KUBECONFIG ?= $(HOME)/.kube/config +SIDECAR_HOST ?= http://localhost:7000 +TOKEN_TTL ?= 900 +AUTO_GENERATE_CERTS ?= false +BIND_ADDRESS ?= 127.0.0.1 +PORT ?= 8080 +ENABLE_INSECURE_LOGIN ?= false +ENABLE_SKIP_LOGIN ?= false + +.PHONY: build +build: + @CGO_ENABLED=0 go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(VERSION)" -gcflags="all=-N -l" -o $(SERVE_BINARY) $(MAIN_PACKAGE) + +.PHONY: run +run: build + @$(SERVE_BINARY) --kubeconfig=$(KUBECONFIG) \ + --sidecar-host=$(SIDECAR_HOST) \ + --token-ttl=$(TOKEN_TTL) \ + --auto-generate-certificates=$(AUTO_GENERATE_CERTS) \ + --enable-insecure-login=$(ENABLE_INSECURE_LOGIN) \ + --enable-skip-login=$(ENABLE_SKIP_LOGIN) + +.PHONY: serve +serve: + @air + +.PHONY: serve-https +serve-https: + AUTO_GENERATE_CERTS=true $(MAKE) serve diff --git a/modules/api/main.go b/modules/api/main.go index 1f6eb97814be..073f1092656f 100644 --- a/modules/api/main.go +++ b/modules/api/main.go @@ -44,8 +44,8 @@ import ( ) var ( - argInsecurePort = pflag.Int("insecure-port", 9090, "port to listen to for incoming HTTP requests") - argPort = pflag.Int("port", 8443, "secure port to listen to for incoming HTTPS requests") + argInsecurePort = pflag.Int("insecure-port", 9000, "port to listen to for incoming HTTP requests") + argPort = pflag.Int("port", 9001, "secure port to listen to for incoming HTTPS requests") argInsecureBindAddress = pflag.IP("insecure-bind-address", net.IPv4(127, 0, 0, 1), "IP address on which to serve the --insecure-port, set to 127.0.0.1 for all interfaces") argBindAddress = pflag.IP("bind-address", net.IPv4(0, 0, 0, 0), "IP address on which to serve the --port, set to 0.0.0.0 for all interfaces") argDefaultCertDir = pflag.String("default-cert-dir", "/certs", "directory path containing files from --tls-cert-file and --tls-key-file, used also when auto-generating certificates flag is set") diff --git a/modules/tools/Makefile b/modules/tools/Makefile new file mode 100644 index 000000000000..1ef7b461d092 --- /dev/null +++ b/modules/tools/Makefile @@ -0,0 +1,23 @@ +LICENSE_EYE_BINARY := $(shell which license-eye) +AIR_BINARY := $(shell which air) + +.PHONY: install +install: install-license-eye install-air + +.PHONY: install-license-eye +install-license-eye: +ifndef LICENSE_EYE_BINARY + @echo "[tools] downloading license-eye..." + @go install github.com/apache/skywalking-eyes/cmd/license-eye +else + @echo "[tools] license-eye already exists" +endif + +.PHONY: install-air +install-air: +ifndef AIR_BINARY + @echo "[tools] downloading air..." + @go install github.com/apache/skywalking-eyes/cmd/license-eye +else + @echo "[tools] air already exists" +endif diff --git a/modules/tools/go.mod b/modules/tools/go.mod index 5892b3fb2635..02364c7004ce 100644 --- a/modules/tools/go.mod +++ b/modules/tools/go.mod @@ -4,17 +4,24 @@ go 1.18 require ( github.com/apache/skywalking-eyes v0.2.0 - golang.org/x/tools v0.1.10 // indirect + github.com/cosmtrek/air v1.29.0 ) require ( github.com/bmatcuk/doublestar/v2 v2.0.4 // indirect + github.com/fatih/color v1.10.0 // indirect + github.com/fsnotify/fsnotify v1.4.9 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-github/v33 v33.0.0 // indirect github.com/google/go-querystring v1.0.0 // indirect + github.com/imdario/mergo v0.3.12 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/kr/text v0.2.0 // indirect + github.com/mattn/go-colorable v0.1.8 // indirect + github.com/mattn/go-isatty v0.0.12 // indirect github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/pelletier/go-toml v1.9.3 // indirect + github.com/pkg/errors v0.9.1 // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/spf13/cobra v1.2.1 // indirect github.com/spf13/pflag v1.0.5 // indirect @@ -22,8 +29,9 @@ require ( golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect - golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect + golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect golang.org/x/text v0.3.7 // indirect + golang.org/x/tools v0.1.10 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.27.1 // indirect diff --git a/modules/tools/go.sum b/modules/tools/go.sum index bbb96a3ba47d..3c7f85cbbf19 100644 --- a/modules/tools/go.sum +++ b/modules/tools/go.sum @@ -5,17 +5,44 @@ cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6A cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= 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= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= 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/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= 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/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= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/skywalking-eyes v0.2.0 h1:FMbZ16s+ZM30uJTPuYLgde8dH5VVl2oE0d4GRl+M1ck= github.com/apache/skywalking-eyes v0.2.0/go.mod h1:yHmfZ2BxHg791VbyGvvYpoqKsVBHjAwWcL8HxbV0RKw= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -25,53 +52,124 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/bmatcuk/doublestar/v2 v2.0.4 h1:6I6oUiT/sU27eE2OFcWqBhL1SwjyvQuOssxT4a1yidI= github.com/bmatcuk/doublestar/v2 v2.0.4/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +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/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cosmtrek/air v1.29.0 h1:6fptSDBDrNdXKz+Q1xHYbLJRoMiChaBu7YkfRHZpAPc= +github.com/cosmtrek/air v1.29.0/go.mod h1:I/kZTPQfF8qS+4h7zmQDxEB9lGAeQ3R2tWeCYvPPAY0= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= 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= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github/v33 v33.0.0 h1:qAf9yP0qc54ufQxzwv+u9H0tiVOnPJxo0lI/JXqw3ZM= github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhANBBwm6k6TTEXg= github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -79,6 +177,7 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -99,24 +198,38 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -127,15 +240,24 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -143,12 +265,14 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -157,40 +281,67 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= +github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -198,6 +349,11 @@ golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -207,10 +363,21 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= @@ -228,18 +395,57 @@ golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= @@ -254,23 +460,56 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 h1:id054HUawV2/6IGm2IV8KZQjqtwAOo2CYlOToYqa0d0= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= 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= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -281,6 +520,7 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -288,12 +528,46 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= @@ -301,11 +575,31 @@ google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +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 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -315,25 +609,101 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/modules/tools/main.go b/modules/tools/main.go index 27fdd7b1c0e4..af34d9a11d5f 100644 --- a/modules/tools/main.go +++ b/modules/tools/main.go @@ -17,3 +17,4 @@ package tools import _ "github.com/apache/skywalking-eyes/cmd/license-eye" +import _ "github.com/cosmtrek/air" diff --git a/modules/web/Makefile b/modules/web/Makefile new file mode 100644 index 000000000000..4a2af4613029 --- /dev/null +++ b/modules/web/Makefile @@ -0,0 +1,41 @@ +# Web UI Arguments (overridable) +SYSTEM_BANNER ?= "Local test environment" +SYSTEM_BANNER_SEVERITY ?= INFO + +PRE = ensure-version + +.PHONY: serve +serve: $(PRE) + @$(MAKE) --no-print-directory -j 2 serve-go serve-angular + +.PHONY: serve-https +serve-https: $(PRE) + @$(MAKE) --no-print-directory -j 2 serve-go-https serve-angular-https + +###################### +# DO NOT RUN MANUALLY +###################### +.PHONY: serve-go +serve-go: + @go run k8s.io/dashboard/web \ + --system-banner=$(SYSTEM_BANNER) \ + --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) + +.PHONY: serve-anulgar +serve-angular: + @npx ng serve --proxy-config proxy.conf.json + +.PHONY: serve-go-https +serve-go-https: + @go run k8s.io/dashboard/web \ + --system-banner=$(SYSTEM_BANNER) \ + --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ + --auto-generate-certificates + +.PHONY: serve-anulgar-https +serve-angular-https: + @npx ng serve --proxy-config proxy-https.conf.json --ssl + +.PHONY: ensure-version +ensure-version: + node ./scripts/version.mjs diff --git a/modules/web/main.go b/modules/web/main.go index f5259d5386f2..2c75924a6737 100644 --- a/modules/web/main.go +++ b/modules/web/main.go @@ -34,8 +34,8 @@ import ( ) var ( - argInsecurePort = pflag.Int("insecure-port", 4000, "port to listen to for incoming HTTP requests") - argPort = pflag.Int("port", 4001, "secure port to listen to for incoming HTTPS requests") + argInsecurePort = pflag.Int("insecure-port", 8000, "port to listen to for incoming HTTP requests") + argPort = pflag.Int("port", 8001, "secure port to listen to for incoming HTTPS requests") argInsecureBindAddress = pflag.IP("insecure-bind-address", net.IPv4(127, 0, 0, 1), "IP address on which to serve the --insecure-port, set to 127.0.0.1 for all interfaces") argBindAddress = pflag.IP("bind-address", net.IPv4(0, 0, 0, 0), "IP address on which to serve the --port, set to 0.0.0.0 for all interfaces") argDefaultCertDir = pflag.String("default-cert-dir", "/certs", "directory path containing files from --tls-cert-file and --tls-key-file, used also when auto-generating certificates flag is set") diff --git a/modules/web/package.json b/modules/web/package.json index 8395c13c4d1a..e5b77feb34c0 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -12,8 +12,9 @@ "npm": ">=8.6.0" }, "scripts": { - "start": "npm run ensure:version && ng serve --proxy-config proxy.conf.json --host $npm_config_bind_address --port $npm_config_port", - "start:https": "npm run ensure:version && ng serve --proxy-config aio/https-proxy.conf.json --ssl --host $npm_config_bind_address --port $npm_config_port", + "start": "make serve", + "start:https": "make serve-https", + "start:prod": "npm run ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", "start:prod:https": "npm run ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", @@ -33,7 +34,6 @@ "fix:ts": "make fix-ts", "test": "make test", "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", - "ensure:version": "node ./scripts/version.mjs", "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "postinstall": "npm run ensure:version && ngcc", "prepare": "husky install" diff --git a/modules/web/proxy-https.conf.json b/modules/web/proxy-https.conf.json index 5f3420ebcdbe..19495f1ca370 100644 --- a/modules/web/proxy-https.conf.json +++ b/modules/web/proxy-https.conf.json @@ -1,18 +1,18 @@ { "/api": { - "target": "https://localhost:8443", + "target": "https://localhost:9001", "secure": false, "ws": true, "changeOrigin": true }, "/config": { - "target": "https://localhost:8443", + "target": "https://localhost:8001", "secure": false, "ws": true, "changeOrigin": true }, "/systembanner": { - "target": "http://localhost:8443", + "target": "https://localhost:8001", "secure": false, "ws": true, "changeOrigin": true diff --git a/modules/web/proxy.conf.json b/modules/web/proxy.conf.json index 0f5a3ee609b9..114a0ef916c8 100644 --- a/modules/web/proxy.conf.json +++ b/modules/web/proxy.conf.json @@ -1,14 +1,14 @@ { "/api": { - "target": "http://localhost:9090", + "target": "http://localhost:9000", "secure": false }, "/config": { - "target": "http://localhost:9090", + "target": "http://localhost:8000", "secure": false }, "/systembanner": { - "target": "http://localhost:8080", + "target": "http://localhost:8000", "secure": false } } From 106680b2432d79f185603a7b81eff65e84df3cba Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 15:52:51 +0200 Subject: [PATCH 058/162] go mod tidy for tools --- modules/tools/go.mod | 103 +++++++++++++++++++++++++++++++++++++++---- modules/tools/go.sum | 4 ++ 2 files changed, 99 insertions(+), 8 deletions(-) diff --git a/modules/tools/go.mod b/modules/tools/go.mod index 1cfab1ee0606..398db5cbe228 100644 --- a/modules/tools/go.mod +++ b/modules/tools/go.mod @@ -4,9 +4,8 @@ go 1.18 require ( github.com/apache/skywalking-eyes v0.2.0 - github.com/golangci/golangci-lint v1.46.0 - golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a // indirect github.com/cosmtrek/air v1.29.0 + github.com/golangci/golangci-lint v1.46.0 ) require ( @@ -25,6 +24,34 @@ require ( github.com/bkielbasa/cyclop v1.2.0 // indirect github.com/blizzy78/varnamelen v0.8.0 // indirect github.com/bmatcuk/doublestar/v2 v2.0.4 // indirect + github.com/bombsimon/wsl/v3 v3.3.0 // indirect + github.com/breml/bidichk v0.2.3 // indirect + github.com/breml/errchkjson v0.3.0 // indirect + github.com/butuzov/ireturn v0.1.1 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/charithe/durationcheck v0.0.9 // indirect + github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 // indirect + github.com/daixiang0/gci v0.3.3 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/denis-tingaikin/go-header v0.4.3 // indirect + github.com/esimonov/ifshort v1.0.4 // indirect + github.com/ettle/strcase v0.1.1 // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/fatih/structtag v1.2.0 // indirect + github.com/firefart/nonamedreturns v1.0.1 // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fzipp/gocyclo v0.5.1 // indirect + github.com/go-critic/go-critic v0.6.3 // indirect + github.com/go-toolsmith/astcast v1.0.0 // indirect + github.com/go-toolsmith/astcopy v1.0.0 // indirect + github.com/go-toolsmith/astequal v1.0.1 // indirect + github.com/go-toolsmith/astfmt v1.0.0 // indirect + github.com/go-toolsmith/astp v1.0.0 // indirect + github.com/go-toolsmith/strparse v1.0.0 // indirect + github.com/go-toolsmith/typep v1.0.2 // indirect + github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b // indirect + github.com/gobwas/glob v0.2.3 // indirect + github.com/gofrs/flock v0.8.1 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect @@ -38,9 +65,67 @@ require ( github.com/google/go-cmp v0.5.7 // indirect github.com/google/go-github/v33 v33.0.0 // indirect github.com/google/go-querystring v1.0.0 // indirect + github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect + github.com/gostaticanalysis/analysisutil v0.7.1 // indirect + github.com/gostaticanalysis/comment v1.4.2 // indirect + github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect + github.com/gostaticanalysis/nilerr v0.1.1 // indirect + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-version v1.4.0 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hexops/gotextdiff v1.0.3 // indirect + github.com/imdario/mergo v0.3.12 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect - github.com/kr/text v0.2.0 // indirect - github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/jgautheron/goconst v1.5.1 // indirect + github.com/jingyugao/rowserrcheck v1.1.1 // indirect + github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect + github.com/julz/importas v0.1.0 // indirect + github.com/kisielk/errcheck v1.6.0 // indirect + github.com/kisielk/gotool v1.0.0 // indirect + github.com/kulti/thelper v0.6.2 // indirect + github.com/kunwardeep/paralleltest v1.0.3 // indirect + github.com/kyoh86/exportloopref v0.1.8 // indirect + github.com/ldez/gomoddirectives v0.2.3 // indirect + github.com/ldez/tagliatelle v0.3.1 // indirect + github.com/leonklingele/grouper v1.1.0 // indirect + github.com/lufeee/execinquery v1.0.0 // indirect + github.com/magiconair/properties v1.8.6 // indirect + github.com/maratori/testpackage v1.0.1 // indirect + github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-runewidth v0.0.9 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/mbilski/exhaustivestruct v1.2.0 // indirect + github.com/mgechev/revive v1.2.1 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moricho/tparallel v0.2.1 // indirect + github.com/nakabonne/nestif v0.3.1 // indirect + github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect + github.com/nishanths/exhaustive v0.7.11 // indirect + github.com/nishanths/predeclared v0.2.2 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect + github.com/pelletier/go-toml v1.9.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.0 // indirect + github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b // indirect + github.com/prometheus/client_golang v1.12.1 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a // indirect + github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 // indirect + github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect + github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect + github.com/ryancurrah/gomodguard v1.2.3 // indirect + github.com/ryanrolds/sqlclosecheck v0.3.0 // indirect + github.com/sanposhiho/wastedassign/v2 v2.0.6 // indirect + github.com/securego/gosec/v2 v2.11.0 // indirect + github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/sivchari/containedctx v1.0.2 // indirect github.com/sivchari/tenv v1.5.0 // indirect @@ -72,11 +157,13 @@ require ( golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect - golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect - golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect + golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect + golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect + golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect golang.org/x/text v0.3.7 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a // indirect + golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.28.0 // indirect gopkg.in/ini.v1 v1.66.4 // indirect diff --git a/modules/tools/go.sum b/modules/tools/go.sum index 487bc4021653..4f5ad3478b3a 100644 --- a/modules/tools/go.sum +++ b/modules/tools/go.sum @@ -163,6 +163,8 @@ github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cosmtrek/air v1.29.0 h1:6fptSDBDrNdXKz+Q1xHYbLJRoMiChaBu7YkfRHZpAPc= +github.com/cosmtrek/air v1.29.0/go.mod h1:I/kZTPQfF8qS+4h7zmQDxEB9lGAeQ3R2tWeCYvPPAY0= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -458,6 +460,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= From 945e6bf7a7511c3864ac6f38cdca64e1669c2514 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 15:55:43 +0200 Subject: [PATCH 059/162] Add ensure target for golangci-lint --- modules/api/go.mod | 30 +++++++++++++++++----------- modules/api/go.sum | 40 ++++++++++++++++++------------------- modules/certificates/go.mod | 6 ++++-- modules/certificates/go.sum | 8 ++++---- modules/tools/Makefile | 13 +++++++++++- modules/tools/go.mod | 2 +- modules/tools/go.sum | 2 +- modules/web/go.mod | 6 ++++-- modules/web/go.sum | 8 ++++---- 9 files changed, 67 insertions(+), 48 deletions(-) diff --git a/modules/api/go.mod b/modules/api/go.mod index d7a599ed9a0a..2ddb0ce9cc1c 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -6,9 +6,9 @@ require ( github.com/docker/distribution v2.8.0+incompatible github.com/emicklei/go-restful/v3 v3.3.3 github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/prometheus/client_golang v1.11.0 + github.com/prometheus/client_golang v1.12.1 github.com/spf13/pflag v1.0.5 - golang.org/x/net v0.0.0-20211209124913-491a49abca63 + golang.org/x/net v0.0.0-20220412020605-290c469a71a5 golang.org/x/text v0.3.7 // indirect gopkg.in/igm/sockjs-go.v2 v2.1.0 gopkg.in/square/go-jose.v2 v2.4.1 @@ -23,33 +23,39 @@ require ( require ( github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/go-logr/logr v1.2.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.5 // indirect + github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v1.1.0 // indirect + github.com/google/uuid v1.3.0 // indirect github.com/googleapis/gnostic v0.5.5 // indirect github.com/gorilla/websocket v1.4.2 // indirect - github.com/imdario/mergo v0.3.5 // indirect + github.com/imdario/mergo v0.3.12 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/onsi/ginkgo v1.16.4 // indirect + github.com/onsi/gomega v1.18.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect - golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect - golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect - golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect - golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect + github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/stretchr/testify v1.7.1 // indirect + golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect + golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect + golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect + golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.27.1 // indirect + google.golang.org/protobuf v1.28.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect k8s.io/klog/v2 v2.30.0 // indirect diff --git a/modules/api/go.sum b/modules/api/go.sum index 6e6005672e29..600eaa3a3e35 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -78,8 +78,8 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA 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/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -131,8 +131,8 @@ github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -211,8 +211,8 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -231,8 +231,8 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= @@ -271,8 +271,8 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= @@ -339,18 +339,18 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -371,8 +371,8 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -383,14 +383,14 @@ github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= @@ -431,8 +431,8 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -489,8 +489,7 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -572,8 +571,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -587,8 +586,8 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -662,11 +661,10 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 h1:id054HUawV2/6IGm2IV8KZQjqtwAOo2CYlOToYqa0d0= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= 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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -744,8 +742,8 @@ golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpd golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -855,8 +853,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= 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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/modules/certificates/go.mod b/modules/certificates/go.mod index 60524ca85f6f..8911125f43b9 100644 --- a/modules/certificates/go.mod +++ b/modules/certificates/go.mod @@ -10,13 +10,15 @@ require ( require ( github.com/go-logr/logr v1.2.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/google/go-cmp v0.5.5 // indirect + github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v1.1.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect + github.com/stretchr/testify v1.7.1 // indirect + golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect golang.org/x/text v0.3.7 // indirect + golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/klog/v2 v2.30.0 // indirect diff --git a/modules/certificates/go.sum b/modules/certificates/go.sum index 4e7e41daf21e..faf6b2c28e3d 100644 --- a/modules/certificates/go.sum +++ b/modules/certificates/go.sum @@ -47,8 +47,8 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -102,8 +102,8 @@ github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -129,8 +129,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -174,8 +174,8 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= diff --git a/modules/tools/Makefile b/modules/tools/Makefile index 1ef7b461d092..6384c6a09953 100644 --- a/modules/tools/Makefile +++ b/modules/tools/Makefile @@ -1,8 +1,9 @@ LICENSE_EYE_BINARY := $(shell which license-eye) AIR_BINARY := $(shell which air) +GOLANGCI_LINT_BINARY := $(shell which golangci-lint) .PHONY: install -install: install-license-eye install-air +install: install-license-eye install-air install-golangci-lint .PHONY: install-license-eye install-license-eye: @@ -21,3 +22,13 @@ ifndef AIR_BINARY else @echo "[tools] air already exists" endif + +.PHONY: install-golangci-lint +install-golangci-lint: +ifndef GOLANGCI_LINT_BINARY + @echo "[tools] downloading golangci-lint..." + @go install github.com/apache/skywalking-eyes/cmd/license-eye +else + @echo "[tools] golangci-lint already exists" +endif + diff --git a/modules/tools/go.mod b/modules/tools/go.mod index 398db5cbe228..5ec3b537c5a3 100644 --- a/modules/tools/go.mod +++ b/modules/tools/go.mod @@ -96,7 +96,7 @@ require ( github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.2.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect diff --git a/modules/tools/go.sum b/modules/tools/go.sum index 4f5ad3478b3a..fcf4999f2ded 100644 --- a/modules/tools/go.sum +++ b/modules/tools/go.sum @@ -563,8 +563,8 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= diff --git a/modules/web/go.mod b/modules/web/go.mod index b18be9d73358..8655bae7b50b 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -12,12 +12,14 @@ require ( require ( github.com/go-logr/logr v1.2.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/google/go-cmp v0.5.5 // indirect + github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v1.1.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect + github.com/stretchr/testify v1.7.1 // indirect + golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect + golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/api v0.23.6 // indirect diff --git a/modules/web/go.sum b/modules/web/go.sum index e27f9adc7c96..b1d8d1201549 100644 --- a/modules/web/go.sum +++ b/modules/web/go.sum @@ -49,8 +49,8 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -104,8 +104,8 @@ github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -131,8 +131,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -176,8 +176,8 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= From 6e958735c777af36c7eb268a16422bdb6a0c545b Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 16:03:02 +0200 Subject: [PATCH 060/162] Add ensure go target to tools --- Makefile | 45 ------------------------------------------ modules/tools/Makefile | 23 +++++++++++++++++++-- 2 files changed, 21 insertions(+), 47 deletions(-) diff --git a/Makefile b/Makefile index aa7f3a65d651..0edb0091daab 100644 --- a/Makefile +++ b/Makefile @@ -9,11 +9,6 @@ GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt AIR_BINARY := $(shell which air) CODEGEN_VERSION := v0.23.6 CODEGEN_BIN := $(GOPATH)/pkg/mod/k8s.io/code-generator@$(CODEGEN_VERSION)/generate-groups.sh -GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) -GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) -MIN_GO_MAJOR_VERSION = 1 -MIN_GO_MINOR_VERSION = 17 -GO_BINARY := $(shell which go) MAIN_PACKAGE = github.com/kubernetes/dashboard/src/app/backend KUBECONFIG ?= $(HOME)/.kube/config SIDECAR_HOST ?= http://localhost:8000 @@ -65,54 +60,14 @@ serve-https: $(PRE) # go mod tidy # chmod +x $(CODEGEN_BIN) # -#.PHONY: ensure-go -#ensure-go: -#ifndef GO_BINARY -# $(error "Cannot find go binary") -#endif -# @if [ $(GO_MAJOR_VERSION) -gt $(MIN_GO_MAJOR_VERSION) ]; then \ -# exit 0 ;\ -# elif [ $(GO_MAJOR_VERSION) -lt $(MIN_GO_MAJOR_VERSION) ]; then \ -# exit 1; \ -# elif [ $(GO_MINOR_VERSION) -lt $(MIN_GO_MINOR_VERSION) ] ; then \ -# exit 1; \ -# fi -# #.PHONY: clean #clean: # rm -rf .tmp # -#.PHONY: build-backend -#build-backend: ensure-go -# CGO_ENABLED=0 go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(SERVE_BINARY) $(MAIN_PACKAGE) -# -#.PHONY: build -#build: clean ensure-go -# ./aio/scripts/build.sh -# #.PHONY: build-cross #build-cross: clean ensure-go # ./aio/scripts/build.sh -c # -#.PHONY: serve-backend -#serve-backend: build-backend run-backend -# -#.PHONY: run-backend -#run-backend: -# cp i18n/locale_conf.json $(SERVE_DIRECTORY)/locale_conf.json -# $(SERVE_BINARY) --kubeconfig=$(KUBECONFIG) \ -# --sidecar-host=$(SIDECAR_HOST) \ -# --system-banner=$(SYSTEM_BANNER) \ -# --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ -# --token-ttl=$(TOKEN_TTL) \ -# --auto-generate-certificates=$(AUTO_GENERATE_CERTS) \ -# --enable-insecure-login=$(ENABLE_INSECURE_LOGIN) \ -# --enable-skip-login=$(ENABLE_SKIP_LOGIN) -# -#.PHONY: watch-backend -#watch-backend: ensure-air -# air -# #.PHONY: prod-backend #prod-backend: clean ensure-go # CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -o $(PROD_BINARY) $(MAIN_PACKAGE) diff --git a/modules/tools/Makefile b/modules/tools/Makefile index 6384c6a09953..95517d4d742f 100644 --- a/modules/tools/Makefile +++ b/modules/tools/Makefile @@ -2,8 +2,27 @@ LICENSE_EYE_BINARY := $(shell which license-eye) AIR_BINARY := $(shell which air) GOLANGCI_LINT_BINARY := $(shell which golangci-lint) +GO_BINARY := $(shell which go) +GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) +GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) +MIN_GO_MAJOR_VERSION = 1 +MIN_GO_MINOR_VERSION = 18 + .PHONY: install -install: install-license-eye install-air install-golangci-lint +install: ensure-go install-license-eye install-air install-golangci-lint + +.PHONY: ensure-go +ensure-go: +ifndef GO_BINARY + $(error "Cannot find go binary") +endif + @if [ $(GO_MAJOR_VERSION) -gt $(MIN_GO_MAJOR_VERSION) ]; then \ + exit 0 ;\ + elif [ $(GO_MAJOR_VERSION) -lt $(MIN_GO_MAJOR_VERSION) ]; then \ + exit 1; \ + elif [ $(GO_MINOR_VERSION) -lt $(MIN_GO_MINOR_VERSION) ] ; then \ + exit 1; \ + fi .PHONY: install-license-eye install-license-eye: @@ -27,7 +46,7 @@ endif install-golangci-lint: ifndef GOLANGCI_LINT_BINARY @echo "[tools] downloading golangci-lint..." - @go install github.com/apache/skywalking-eyes/cmd/license-eye + @go install github.com/golangci/golangci-lint/cmd/golangci-lint else @echo "[tools] golangci-lint already exists" endif From cfd379932ede2406263b63ddf439ff281bdb03ea Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 16:28:10 +0200 Subject: [PATCH 061/162] Use private targets in makefile --- Makefile | 6 +++--- modules/Makefile | 27 ++++++++++++--------------- modules/web/.npmrc | 5 ----- modules/web/Makefile | 31 ++++++++++++++----------------- 4 files changed, 29 insertions(+), 40 deletions(-) diff --git a/Makefile b/Makefile index 0edb0091daab..be9b5a189a4c 100644 --- a/Makefile +++ b/Makefile @@ -32,10 +32,10 @@ HEAD_VERSION = latest HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) ARCHITECTURES = amd64 arm64 arm ppc64le s390x -PRE = ensure-tools +PRE = --ensure-tools -.PHONY: ensure-tools -ensure-tools: +.PHONY: --ensure-tools +--ensure-tools: @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY)/tools install .PHONY: check-license diff --git a/modules/Makefile b/modules/Makefile index 96f5eb271f41..b473409904bd 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -2,29 +2,26 @@ MODULES_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) API_DIRECTORY = $(MODULES_DIRECTORY)/api WEB_DIRECTORY = $(MODULES_DIRECTORY)/web +MAKEFLAGS += -j2 + .PHONY: serve -serve: - @$(MAKE) --no-print-directory -j 2 serve-api serve-web +serve: --serve-api --serve-web .PHONY: serve-https -serve-https: - @$(MAKE) --no-print-directory -j 2 serve-api-https serve-web-https +serve-https: --serve-api-https --serve-web-https -###################### -# DO NOT RUN MANUALLY -###################### -.PHONY: serve-api -serve-api: +.PHONY: --serve-api +--serve-api: @$(MAKE) --no-print-directory -C $(API_DIRECTORY) serve -.PHONY: serve-web -serve-web: +.PHONY: --serve-web +--serve-web: @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) serve -.PHONY: serve-api-https -serve-api-https: +.PHONY: --serve-api-https +--serve-api-https: @$(MAKE) --no-print-directory -C $(API_DIRECTORY) serve-https -.PHONY: serve-web-https -serve-web-https: +.PHONY: --serve-web-https +--serve-web-https: @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) serve-https diff --git a/modules/web/.npmrc b/modules/web/.npmrc index 0fa114b8a9dd..7996bf838514 100644 --- a/modules/web/.npmrc +++ b/modules/web/.npmrc @@ -5,8 +5,3 @@ # General configuration engine-strict = true - -# Dashboard configuration -bind_address = 127.0.0.1 -port = 8080 -sidecar_host = http://localhost:8000 diff --git a/modules/web/Makefile b/modules/web/Makefile index 4a2af4613029..8af3cb456d76 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -2,40 +2,37 @@ SYSTEM_BANNER ?= "Local test environment" SYSTEM_BANNER_SEVERITY ?= INFO -PRE = ensure-version +PRE = --ensure-version + +MAKEFLAGS += -j2 .PHONY: serve -serve: $(PRE) - @$(MAKE) --no-print-directory -j 2 serve-go serve-angular +serve: $(PRE) --serve-go --serve-angular .PHONY: serve-https -serve-https: $(PRE) - @$(MAKE) --no-print-directory -j 2 serve-go-https serve-angular-https - -###################### -# DO NOT RUN MANUALLY -###################### -.PHONY: serve-go -serve-go: +serve-https: $(PRE) --serve-go-https --serve-angular-https + +.PHONY: --serve-go +--serve-go: @go run k8s.io/dashboard/web \ --system-banner=$(SYSTEM_BANNER) \ --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) .PHONY: serve-anulgar -serve-angular: +--serve-angular: @npx ng serve --proxy-config proxy.conf.json -.PHONY: serve-go-https -serve-go-https: +.PHONY: --serve-go-https +--serve-go-https: @go run k8s.io/dashboard/web \ --system-banner=$(SYSTEM_BANNER) \ --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ --auto-generate-certificates .PHONY: serve-anulgar-https -serve-angular-https: +--serve-angular-https: @npx ng serve --proxy-config proxy-https.conf.json --ssl -.PHONY: ensure-version -ensure-version: +.PHONY: --ensure-version +--ensure-version: node ./scripts/version.mjs From 704343271fbf7c409824b10d42bbb94cfe56d288 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 16:43:02 +0200 Subject: [PATCH 062/162] Optimize targets --- modules/api/Makefile | 2 +- modules/web/Makefile | 28 ++++++++++++++++------------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/modules/api/Makefile b/modules/api/Makefile index 7605ee1c86a6..5d7761ac2962 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -9,7 +9,7 @@ VERSION = v2.5.1 # API Arguments (overridable) KUBECONFIG ?= $(HOME)/.kube/config SIDECAR_HOST ?= http://localhost:7000 -TOKEN_TTL ?= 900 +TOKEN_TTL ?= 3600 # 1 hour AUTO_GENERATE_CERTS ?= false BIND_ADDRESS ?= 127.0.0.1 PORT ?= 8080 diff --git a/modules/web/Makefile b/modules/web/Makefile index 8af3cb456d76..85417cdb2a76 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -1,6 +1,11 @@ # Web UI Arguments (overridable) SYSTEM_BANNER ?= "Local test environment" SYSTEM_BANNER_SEVERITY ?= INFO +AUTO_GENERATE_CERTIFICATES ?= false + +# Angular Serve Arguments +PROXY_CONFIG ?= proxy.conf.json +SSL_ENABLED ?= false PRE = --ensure-version @@ -16,22 +21,21 @@ serve-https: $(PRE) --serve-go-https --serve-angular-https --serve-go: @go run k8s.io/dashboard/web \ --system-banner=$(SYSTEM_BANNER) \ - --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) - -.PHONY: serve-anulgar ---serve-angular: - @npx ng serve --proxy-config proxy.conf.json + --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ + --auto-generate-certificates=$(AUTO_GENERATE_CERTIFICATES) .PHONY: --serve-go-https ---serve-go-https: - @go run k8s.io/dashboard/web \ - --system-banner=$(SYSTEM_BANNER) \ - --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ - --auto-generate-certificates +--serve-go-https: AUTO_GENERATE_CERTIFICATES = true +--serve-go-https: --serve-go + +.PHONY: --serve-anulgar +--serve-angular: + @npx ng serve --proxy-config $(PROXY_CONFIG) --ssl=$(SSL_ENABLED) .PHONY: serve-anulgar-https ---serve-angular-https: - @npx ng serve --proxy-config proxy-https.conf.json --ssl +--serve-angular-https: PROXY_CONFIG = proxy-https.conf.json +--serve-angular-https: SSL_ENABLED = true +--serve-angular-https: --serve-angular .PHONY: --ensure-version --ensure-version: From 76b45c3097f7c58080335c6342d8d845ecd1c571 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 17:14:46 +0200 Subject: [PATCH 063/162] Update i18n handling for web --- Makefile | 9 +- modules/web/.husky/pre-commit | 2 +- modules/web/.husky/pre-push | 4 +- modules/web/Makefile | 1 + modules/web/angular.json | 17 + modules/web/i18n/messages.xlf | 4922 ++++++++--------- modules/web/package-lock.json | 2350 ++++---- modules/web/package.json | 10 +- .../web}/scripts/pre-commit-i18n.sh | 0 9 files changed, 3768 insertions(+), 3547 deletions(-) rename {hack => modules/web}/scripts/pre-commit-i18n.sh (100%) diff --git a/Makefile b/Makefile index be9b5a189a4c..ebe134397cc6 100644 --- a/Makefile +++ b/Makefile @@ -32,12 +32,9 @@ HEAD_VERSION = latest HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) ARCHITECTURES = amd64 arm64 arm ppc64le s390x +# List of targets that should be always executed before other targets PRE = --ensure-tools -.PHONY: --ensure-tools ---ensure-tools: - @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY)/tools install - .PHONY: check-license check-license: $(PRE) @${GOPATH}/bin/license-eye header check @@ -54,6 +51,10 @@ serve: $(PRE) serve-https: $(PRE) @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve-https +.PHONY: --ensure-tools +--ensure-tools: + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY)/tools install + #.PHONY: ensure-codegen #ensure-codegen: ensure-go # go get -d k8s.io/code-generator@$(CODEGEN_VERSION) diff --git a/modules/web/.husky/pre-commit b/modules/web/.husky/pre-commit index ea0db1ade7ca..856d8a63b744 100755 --- a/modules/web/.husky/pre-commit +++ b/modules/web/.husky/pre-commit @@ -15,4 +15,4 @@ . "$(dirname "$0")/_/husky.sh" -npx --no-install lint-staged +#npx --no-install lint-staged diff --git a/modules/web/.husky/pre-push b/modules/web/.husky/pre-push index 0c7fc3ac1f35..c216f33b58b0 100755 --- a/modules/web/.husky/pre-push +++ b/modules/web/.husky/pre-push @@ -14,5 +14,5 @@ # limitations under the License . "$(dirname "$0")/_/husky.sh" -npm run check -npm run test +#npm run check +#npm run test diff --git a/modules/web/Makefile b/modules/web/Makefile index 85417cdb2a76..31589066abf1 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -7,6 +7,7 @@ AUTO_GENERATE_CERTIFICATES ?= false PROXY_CONFIG ?= proxy.conf.json SSL_ENABLED ?= false +# List of targets that should be always executed before other targets PRE = --ensure-version MAKEFLAGS += -j2 diff --git a/modules/web/angular.json b/modules/web/angular.json index 5fde1478054b..4def2fa8c565 100644 --- a/modules/web/angular.json +++ b/modules/web/angular.json @@ -167,6 +167,23 @@ "options": { "browserTarget": "kubernetes-dashboard:build" } + }, + "extract-i18n-merge": { + "builder": "ng-extract-i18n-merge:ng-extract-i18n-merge", + "options": { + "format": "xlf", + "outputPath": "i18n", + "targetFiles": [ + "../de/messages.de.xlf", + "../es/messages.es.xlf", + "../fr/messages.fr.xlf", + "../ja/messages.ja.xlf", + "../ko/messages.ko.xlf", + "../zh-Hans/messages.zh-Hans.xlf", + "../zh-Hant/messages.zh-Hant.xlf", + "../zh-Hant-HK/messages.zh-Hant-HK.xlf" + ] + } } } } diff --git a/modules/web/i18n/messages.xlf b/modules/web/i18n/messages.xlf index 663909f40892..3965e2a36137 100644 --- a/modules/web/i18n/messages.xlf +++ b/modules/web/i18n/messages.xlf @@ -2,3749 +2,3636 @@ - - Create new resource - - src/app/frontend/chrome/template.html - 42 - - - - - - src/app/frontend/chrome/notifications/template.html - 47,48 - - - - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63,65 - - - - Remove all notifications - - src/app/frontend/chrome/notifications/template.html - 71 - - - - Search - - src/app/frontend/chrome/search/template.html - 29 - - - - Close - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - - - - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - - - - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48 - - - - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - - - - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - - - - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - - Open notifications panel - src/app/frontend/index.messages.ts + src/index.messages.ts 21 Close notifications panel - src/app/frontend/index.messages.ts + src/index.messages.ts 22 Pin resource - src/app/frontend/index.messages.ts + src/index.messages.ts 23 Unpin resource - src/app/frontend/index.messages.ts + src/index.messages.ts 24 Expand card - src/app/frontend/index.messages.ts + src/index.messages.ts 25 Minimize card - src/app/frontend/index.messages.ts + src/index.messages.ts 26 Unknown - src/app/frontend/index.messages.ts + src/index.messages.ts 27 Logs - src/app/frontend/common/components/list/column/menu/template.html + src/common/components/list/column/menu/template.html 22 - src/app/frontend/index.messages.ts + src/index.messages.ts 31 Error - src/app/frontend/index.messages.ts + src/index.messages.ts 32 Create - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 92 - src/app/frontend/index.messages.ts + src/index.messages.ts 33 Plugins - src/app/frontend/common/components/resourcelist/plugin/template.html + src/common/components/resourcelist/plugin/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 34 Shell - src/app/frontend/index.messages.ts + src/index.messages.ts 35 Events - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 22 - src/app/frontend/index.messages.ts + src/index.messages.ts 36 Overview - src/app/frontend/index.messages.ts + src/index.messages.ts 37 Workloads - src/app/frontend/index.messages.ts + src/index.messages.ts 38 - src/app/frontend/overview/template.html + src/overview/template.html 19 - src/app/frontend/search/template.html + src/search/template.html 20 Cron Jobs - src/app/frontend/common/components/resourcelist/cronjob/template.html + src/common/components/resourcelist/cronjob/template.html 24 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 38 - src/app/frontend/index.messages.ts + src/index.messages.ts 39 Daemon Sets - src/app/frontend/common/components/resourcelist/daemonset/template.html + src/common/components/resourcelist/daemonset/template.html 24 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 56 - src/app/frontend/index.messages.ts + src/index.messages.ts 40 Deployments - src/app/frontend/common/components/resourcelist/deployment/template.html + src/common/components/resourcelist/deployment/template.html 24 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 74 - src/app/frontend/index.messages.ts + src/index.messages.ts 41 Jobs - src/app/frontend/common/components/resourcelist/job/template.html + src/common/components/resourcelist/job/template.html 26 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 92 - src/app/frontend/index.messages.ts + src/index.messages.ts 42 Pods - src/app/frontend/common/components/creator/template.html + src/common/components/creator/template.html 62 - src/app/frontend/common/components/resourcelist/daemonset/template.html + src/common/components/resourcelist/daemonset/template.html 109 - src/app/frontend/common/components/resourcelist/deployment/template.html + src/common/components/resourcelist/deployment/template.html 109 - src/app/frontend/common/components/resourcelist/job/template.html + src/common/components/resourcelist/job/template.html 112 - src/app/frontend/common/components/resourcelist/node/template.html + src/common/components/resourcelist/node/template.html 132 - src/app/frontend/common/components/resourcelist/pod/template.html + src/common/components/resourcelist/pod/template.html 24 - src/app/frontend/common/components/resourcelist/replicaset/template.html + src/common/components/resourcelist/replicaset/template.html 112 - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + src/common/components/resourcelist/replicationcontroller/template.html 106 - src/app/frontend/common/components/resourcelist/statefulset/template.html + src/common/components/resourcelist/statefulset/template.html 109 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 111 - src/app/frontend/index.messages.ts + src/index.messages.ts 43 - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 164 - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 247 Replica Sets - src/app/frontend/common/components/resourcelist/replicaset/template.html + src/common/components/resourcelist/replicaset/template.html 26 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 129 - src/app/frontend/index.messages.ts + src/index.messages.ts 44 Replication Controllers - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + src/common/components/resourcelist/replicationcontroller/template.html 21 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 147 - src/app/frontend/index.messages.ts + src/index.messages.ts 45 Stateful Sets - src/app/frontend/common/components/resourcelist/statefulset/template.html + src/common/components/resourcelist/statefulset/template.html 24 - src/app/frontend/common/components/workloadstatus/template.html + src/common/components/workloadstatus/template.html 165 - src/app/frontend/index.messages.ts + src/index.messages.ts 46 Service - src/app/frontend/create/from/form/portmappings/template.html + src/create/from/form/portmappings/template.html 25 - src/app/frontend/index.messages.ts + src/index.messages.ts 47 - src/app/frontend/overview/template.html + src/overview/template.html 46 - src/app/frontend/search/template.html + src/search/template.html 42 Ingresses - src/app/frontend/common/components/resourcelist/ingress/template.html + src/common/components/resourcelist/ingress/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 48 Ingress Classes - src/app/frontend/common/components/resourcelist/ingressclass/template.html + src/common/components/resourcelist/ingressclass/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 49 Services - src/app/frontend/common/components/resourcelist/service/template.html + src/common/components/resourcelist/service/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 50 Config And Storage - src/app/frontend/index.messages.ts + src/index.messages.ts 51 Config Maps - src/app/frontend/common/components/resourcelist/configmap/template.html + src/common/components/resourcelist/configmap/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 52 Persistent Volume Claims - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/common/components/resourcelist/persistentvolumeclaim/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 53 Secrets - src/app/frontend/index.messages.ts + src/index.messages.ts 54 - src/app/frontend/overview/template.html + src/overview/template.html 66 - src/app/frontend/resource/cluster/serviceaccount/detail/template.html + src/resource/cluster/serviceaccount/detail/template.html 21 - src/app/frontend/resource/config/secret/list/template.html + src/resource/config/secret/list/template.html 17 - src/app/frontend/resource/config/template.html + src/resource/config/template.html 24 - src/app/frontend/search/template.html + src/search/template.html 62 Storage Classes - src/app/frontend/common/components/resourcelist/storageclass/template.html + src/common/components/resourcelist/storageclass/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 55 Cluster - src/app/frontend/index.messages.ts + src/index.messages.ts 56 - src/app/frontend/overview/template.html + src/overview/template.html 75 - src/app/frontend/search/template.html + src/search/template.html 70 Cluster Role Bindings - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html + src/common/components/resourcelist/clusterrolebinding/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 57 Cluster Roles - src/app/frontend/common/components/resourcelist/clusterrole/template.html + src/common/components/resourcelist/clusterrole/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 58 Namespaces - src/app/frontend/common/components/resourcelist/namespace/template.html + src/common/components/resourcelist/namespace/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 59 Network Policies - src/app/frontend/common/components/resourcelist/networkpolicy/template.html + src/common/components/resourcelist/networkpolicy/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 60 Nodes - src/app/frontend/common/components/resourcelist/node/template.html + src/common/components/resourcelist/node/template.html 24 - src/app/frontend/index.messages.ts + src/index.messages.ts 61 Persistent Volumes - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 62 Role Bindings - src/app/frontend/common/components/resourcelist/rolebinding/template.html + src/common/components/resourcelist/rolebinding/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 63 Roles - src/app/frontend/common/components/resourcelist/role/template.html + src/common/components/resourcelist/role/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 64 Service Accounts - src/app/frontend/common/components/resourcelist/serviceaccount/template.html + src/common/components/resourcelist/serviceaccount/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 65 Custom Resource Definitions - src/app/frontend/common/components/resourcelist/crd/template.html + src/common/components/resourcelist/crd/template.html 21 - src/app/frontend/index.messages.ts + src/index.messages.ts 66 Settings - src/app/frontend/index.messages.ts + src/index.messages.ts 67 About - src/app/frontend/about/template.html + src/about/template.html 19 - src/app/frontend/index.messages.ts + src/index.messages.ts 68 Kubernetes Dashboard - src/app/frontend/login/template.html + src/login/template.html 23 Sign in - src/app/frontend/login/template.html + src/login/template.html 133,135 Kubeconfig - src/app/frontend/login/template.html + src/login/template.html 34 Basic - src/app/frontend/login/template.html + src/login/template.html 36 Token - src/app/frontend/login/template.html + src/login/template.html 38 Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - src/app/frontend/login/template.html + src/login/template.html 44,49 Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - src/app/frontend/login/template.html + src/login/template.html 51,56 Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - src/app/frontend/login/template.html + src/login/template.html 58,62 Enter token - src/app/frontend/login/template.html + src/login/template.html 74 Username - src/app/frontend/login/template.html + src/login/template.html 87 Password - src/app/frontend/login/template.html + src/login/template.html 98 Choose kubeconfig file - src/app/frontend/login/template.html + src/login/template.html 107 Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - src/app/frontend/login/template.html + src/login/template.html 117,123 Skip - src/app/frontend/login/template.html + src/login/template.html 142,144 - - Delete resource + + Create new resource - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 + src/chrome/template.html + 42 - - Edit resource + + - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 + src/chrome/notifications/template.html + 47,48 - - Exec into pod + + There are no notifications - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 + src/chrome/notifications/template.html + 63,65 - - View logs + + Remove all notifications - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 + src/chrome/notifications/template.html + 71 - - Restart + + Search - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 + src/chrome/search/template.html + 29 + + + Close - src/app/frontend/common/components/list/column/menu/template.html - 53 + src/chrome/userpanel/template.html + 30 - src/app/frontend/common/dialogs/restartresource/template.html - 42 + src/chrome/userpanel/template.html + 55 - - - Scale resource - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 + src/common/components/chips/chipdialog/template.html + 29 - - - Trigger resource - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 + src/common/dialogs/download/template.html + 56 - - - Search for - src/app/frontend/common/components/breadcrumbs/component.ts - 143 + src/common/dialogs/previewdeployment/template.html + 34 - - - Show less - src/app/frontend/common/components/chips/template.html - 55 + src/settings/global/namespace/adddialog/template.html + 53 - - - Show all - src/app/frontend/common/components/chips/template.html - 57 + src/settings/global/namespace/editdialog/template.html + 49 - - Conditions + + Logged in with auth header - src/app/frontend/common/components/condition/template.html - 20 + src/chrome/userpanel/template.html + 45,46 - - Items:  + + Logged in with token - src/app/frontend/common/components/condition/template.html - 26 + src/chrome/userpanel/template.html + 48 + + + Default service account - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 + src/chrome/userpanel/template.html + 51 + + + Sign in - src/app/frontend/common/components/ingressrulelist/template.html - 26 + src/chrome/userpanel/template.html + 67 + + + Sign out - src/app/frontend/common/components/limits/template.html - 26 + src/chrome/userpanel/template.html + 71 + + + Workloads - src/app/frontend/common/components/policyrule/template.html - 26 + src/chrome/nav/template.html + 27,28 + + + Cron Jobs - src/app/frontend/common/components/quotas/template.html - 26 + src/chrome/nav/template.html + 32 + + + Daemon Sets - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 + src/chrome/nav/template.html + 36 + + + Deployments - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 + src/chrome/nav/template.html + 40 + + + Jobs - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 + src/chrome/nav/template.html + 44 + + + Pods - src/app/frontend/common/components/resourcelist/crd/template.html - 23 + src/chrome/nav/template.html + 48 + + + Replica Sets - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 + src/chrome/nav/template.html + 52 + + + Replication Controllers - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 + src/chrome/nav/template.html + 56,57 + + + Stateful Sets - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 + src/chrome/nav/template.html + 61 + + + Service - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 + src/chrome/nav/template.html + 67,68 + + + Ingresses - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 + src/chrome/nav/template.html + 73 + + + Ingress Classes - src/app/frontend/common/components/resourcelist/event/template.html - 24 + src/chrome/nav/template.html + 77 + + + Services - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 + src/chrome/nav/template.html + 82 + + + Config and Storage - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 + src/chrome/nav/template.html + 88 + + + Config Maps - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 + src/chrome/nav/template.html + 94,95 + + + Persistent Volume Claims - src/app/frontend/common/components/resourcelist/job/template.html - 29 + src/chrome/nav/template.html + 100,101 + + + Secrets - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 + src/chrome/nav/template.html + 106 + + + Storage Classes - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 + src/chrome/nav/template.html + 110 + + + Cluster - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 + src/chrome/nav/template.html + 116 + + + Cluster Role Bindings - src/app/frontend/common/components/resourcelist/role/template.html - 23 + src/chrome/nav/template.html + 120,121 + + + Cluster Roles - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 + src/chrome/nav/template.html + 125 + + + Events - src/app/frontend/common/components/resourcelist/secret/template.html - 22 + src/chrome/nav/template.html + 130 + + + Namespaces - src/app/frontend/common/components/resourcelist/service/template.html - 23 + src/chrome/nav/template.html + 134 + + + Network Policies - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 + src/chrome/nav/template.html + 139,140 + + + Nodes - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 + src/chrome/nav/template.html + 144 + + + Persistent Volumes - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 + src/chrome/nav/template.html + 148,149 + + + Role Bindings - src/app/frontend/common/components/subject/template.html - 26 + src/chrome/nav/template.html + 154,155 + + + Roles - src/app/frontend/common/components/volumemount/template.html - 25 + src/chrome/nav/template.html + 160 - - Type + + Service Accounts - src/app/frontend/common/components/condition/template.html - 36 + src/chrome/nav/template.html + 165,166 + + + Custom Resource Definitions - src/app/frontend/common/components/resourcelist/secret/template.html - 75 + src/chrome/nav/template.html + 173,174 + + + Settings - src/app/frontend/common/components/resourcelist/service/template.html - 86 + src/chrome/nav/template.html + 192 + + + About - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 + src/chrome/nav/template.html + 197 + + + Plugins - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 + src/chrome/nav/template.html + 184 + + + Select namespace... - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 + src/common/components/namespace/template.html + 24 + + + NAMESPACES - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 + src/common/components/namespace/template.html + 34 + + + All namespaces - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 + src/common/components/namespace/template.html + 33 + + + Search for - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 + src/common/components/breadcrumbs/component.ts + 143 + + + - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 + src/chrome/nav/pinner/template.html + 22,23 + + + Show less - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 + src/common/components/chips/template.html + 55 + + + Show all - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 + src/common/components/chips/template.html + 57 + + + Image:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 + src/common/components/container/template.html + 19 + + + Image - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 + src/common/components/container/template.html + 32 - src/app/frontend/resource/discovery/service/detail/template.html - 28 + src/resource/cluster/persistentvolume/detail/source/template.html + 344 Status - src/app/frontend/common/components/condition/template.html + src/common/components/condition/template.html 44 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 39 - src/app/frontend/common/components/quotas/template.html + src/common/components/quotas/template.html 52 - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 93 - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/common/components/resourcelist/persistentvolumeclaim/template.html 86 - src/app/frontend/common/components/resourcelist/pod/template.html + src/common/components/resourcelist/pod/template.html 118 - src/app/frontend/resource/cluster/namespace/detail/template.html + src/resource/cluster/namespace/detail/template.html 28 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html + src/resource/cluster/persistentvolume/detail/template.html 29 - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + src/resource/config/persistentvolumeclaim/detail/template.html 28 - src/app/frontend/resource/workloads/pod/detail/template.html + src/resource/workloads/pod/detail/template.html 55 - - Last probe time + + Ready - src/app/frontend/common/components/condition/template.html - 52 + src/common/components/container/template.html + 44 + + + src/common/components/endpoint/cardlist/template.html + 67 + + + src/common/components/resourcelist/node/template.html + 80 - - Last transition time + + Started - src/app/frontend/common/components/condition/template.html - 60 + src/common/components/container/template.html + 50 Reason - src/app/frontend/common/components/condition/template.html + src/common/components/condition/template.html 68 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 58 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 72 - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 68 - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 126 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html + src/resource/cluster/persistentvolume/detail/template.html 60 Message - src/app/frontend/common/components/condition/template.html + src/common/components/condition/template.html 76 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 64 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 78 - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 76 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html + src/resource/cluster/persistentvolume/detail/template.html 66 - - Image:  - - src/app/frontend/common/components/container/template.html - 19 - - - - Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - - - - Ready - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - - - - Started - - src/app/frontend/common/components/container/template.html - 50 - - Exit Code - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 84 Signal - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 90 Started At - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 98 Environment Variables - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 106,108 Environment variable - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 116 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 133 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 153 bytes - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 140 - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 160 Commands - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 170 Arguments - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 184 Mounts - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 199 Security Context - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 214 - src/app/frontend/resource/workloads/pod/detail/template.html + src/resource/workloads/pod/detail/template.html 102 Liveness Probe - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 226 Readiness Probe - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 236 Startup Probe - src/app/frontend/common/components/container/template.html + src/common/components/container/template.html 246 - - Controlled by + + Unsupported graph type . - src/app/frontend/common/components/creator/template.html - 42 + src/common/components/graph/component.ts + 95 - - Name + + Waiting for more data to display chart... - src/app/frontend/common/components/creator/template.html - 48 + src/common/components/graph/template.html + 22 + + + Endpoints - src/app/frontend/common/components/objectmeta/template.html - 44 + src/common/components/endpoint/cardlist/template.html + 20 - src/app/frontend/common/components/quotas/template.html - 37 + src/resource/cluster/persistentvolume/detail/source/template.html + 173 - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 + src/resource/discovery/ingress/detail/template.html + 36 + + + Items:  - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 + src/common/components/condition/template.html + 26 - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 + src/common/components/endpoint/cardlist/template.html + 26 - src/app/frontend/common/components/resourcelist/crd/template.html - 54 + src/common/components/ingressrulelist/template.html + 26 - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 + src/common/components/limits/template.html + 26 - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 + src/common/components/policyrule/template.html + 26 - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 + src/common/components/quotas/template.html + 26 - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 + src/common/components/resourcelist/clusterrole/template.html + 23 - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 + src/common/components/resourcelist/clusterrolebinding/template.html + 23 - src/app/frontend/common/components/resourcelist/event/template.html - 50 + src/common/components/resourcelist/configmap/template.html + 23 - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 + src/common/components/resourcelist/crd/template.html + 23 - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 + src/common/components/resourcelist/crdobject/template.html + 23 - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 + src/common/components/resourcelist/crdversion/template.html + 26 - src/app/frontend/common/components/resourcelist/job/template.html - 69 + src/common/components/resourcelist/cronjob/template.html + 26 - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 + src/common/components/resourcelist/daemonset/template.html + 26 - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 + src/common/components/resourcelist/deployment/template.html + 26 - src/app/frontend/common/components/resourcelist/node/template.html - 57 + src/common/components/resourcelist/event/template.html + 24 - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 + src/common/components/resourcelist/horizontalpodautoscaler/template.html + 24 - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 + src/common/components/resourcelist/ingress/template.html + 23 - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 + src/common/components/resourcelist/ingressclass/template.html + 23 - src/app/frontend/common/components/resourcelist/pod/template.html - 66 + src/common/components/resourcelist/job/template.html + 29 - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 + src/common/components/resourcelist/namespace/template.html + 23 - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 + src/common/components/resourcelist/networkpolicy/template.html + 23 - src/app/frontend/common/components/resourcelist/role/template.html - 43 + src/common/components/resourcelist/node/template.html + 26 - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 + src/common/components/resourcelist/persistentvolume/template.html + 23 - src/app/frontend/common/components/resourcelist/secret/template.html - 43 + src/common/components/resourcelist/persistentvolumeclaim/template.html + 23 - src/app/frontend/common/components/resourcelist/service/template.html - 54 + src/common/components/resourcelist/plugin/template.html + 23 - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 + src/common/components/resourcelist/pod/template.html + 26 - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 + src/common/components/resourcelist/replicaset/template.html + 29 - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 + src/common/components/resourcelist/replicationcontroller/template.html + 23 - src/app/frontend/common/components/subject/template.html - 36 + src/common/components/resourcelist/role/template.html + 23 - src/app/frontend/common/components/volumemount/template.html - 35 + src/common/components/resourcelist/rolebinding/template.html + 23 - src/app/frontend/create/from/form/environmentvariables/template.html - 29 + src/common/components/resourcelist/secret/template.html + 22 - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 + src/common/components/resourcelist/service/template.html + 23 - - - Kind - src/app/frontend/common/components/creator/template.html - 56 + src/common/components/resourcelist/serviceaccount/template.html + 23 - src/app/frontend/common/components/subject/template.html - 57 + src/common/components/resourcelist/statefulset/template.html + 26 - src/app/frontend/crd/detail/template.html - 72 + src/common/components/resourcelist/storageclass/template.html + 23 + + + src/common/components/subject/template.html + 26 + + + src/common/components/volumemount/template.html + 25 - - Age + + Host - src/app/frontend/common/components/creator/template.html - 68 + src/common/components/endpoint/cardlist/template.html + 37 + + + Ports (Name, Port, Protocol) - src/app/frontend/common/components/objectmeta/template.html - 62 + src/common/components/endpoint/cardlist/template.html + 45 + + + unset - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 + src/common/components/endpoint/cardlist/template.html + 51 - - Name:  + + Node - src/app/frontend/common/components/creator/template.html - 22 + src/common/components/endpoint/cardlist/template.html + 59 - src/app/frontend/common/components/objectmeta/template.html - 23 + src/common/components/resourcelist/pod/template.html + 109 - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 + src/resource/workloads/pod/detail/template.html + 47 - - Kind:  + + Filter - src/app/frontend/common/components/creator/template.html + src/common/components/list/filter/template.html 29 - - Age:  + + Filter objects by name - src/app/frontend/common/components/creator/template.html - 36 + src/common/components/list/filter/template.html + 34 + + + There is nothing to display here - src/app/frontend/common/components/objectmeta/template.html - 35 + src/common/components/list/zerostate/template.html + 22 - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 + src/common/components/zerostate/template.html + 23 - - Labels - - src/app/frontend/common/components/creator/template.html - 78 - + + No resources found. - src/app/frontend/common/components/objectmeta/template.html - 78 + src/common/components/list/zerostate/template.html + 27 + + + Delete resource - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 + src/common/components/actionbar/detailactions/delete/template.html + 21 + + + Edit resource - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 + src/common/components/actionbar/detailactions/edit/template.html + 21 + + + Exec into pod - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 + src/common/components/actionbar/detailactions/exec/template.html + 20 + + + View logs - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 + src/common/components/actionbar/detailactions/logs/template.html + 21 + + + Restart - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 + src/common/components/actionbar/detailactions/restart/template.html + 21 - src/app/frontend/common/components/resourcelist/job/template.html - 102 + src/common/components/list/column/menu/template.html + 53 - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 + src/common/dialogs/restartresource/template.html + 42 + + + Scale resource - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 + src/common/components/actionbar/detailactions/scale/template.html + 21 + + + Trigger resource - src/app/frontend/common/components/resourcelist/node/template.html - 70 + src/common/components/actionbar/detailactions/trigger/template.html + 21 + + + Conditions - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 + src/common/components/condition/template.html + 20 + + + Type - src/app/frontend/common/components/resourcelist/pod/template.html - 99 + src/common/components/condition/template.html + 36 - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 + src/common/components/resourcelist/secret/template.html + 75 - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 + src/common/components/resourcelist/service/template.html + 86 - src/app/frontend/common/components/resourcelist/secret/template.html - 65 + src/resource/cluster/persistentvolume/detail/source/template.html + 27 - src/app/frontend/common/components/resourcelist/service/template.html - 76 + src/resource/cluster/persistentvolume/detail/source/template.html + 59 - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 + src/resource/cluster/persistentvolume/detail/source/template.html + 85 - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 + src/resource/cluster/persistentvolume/detail/source/template.html + 121 - src/app/frontend/create/from/form/template.html - 183 + src/resource/cluster/persistentvolume/detail/source/template.html + 135 - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 + src/resource/cluster/persistentvolume/detail/source/template.html + 167 - - - Images - src/app/frontend/common/components/creator/template.html - 87 + src/resource/cluster/persistentvolume/detail/source/template.html + 193 - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 + src/resource/cluster/persistentvolume/detail/source/template.html + 207 - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 + src/resource/cluster/persistentvolume/detail/source/template.html + 268 - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 + src/resource/cluster/persistentvolume/detail/source/template.html + 306 - src/app/frontend/common/components/resourcelist/job/template.html - 92 + src/resource/cluster/persistentvolume/detail/source/template.html + 332 - src/app/frontend/common/components/resourcelist/pod/template.html - 89 + src/resource/discovery/service/detail/template.html + 28 + + + Last probe time - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 + src/common/components/condition/template.html + 52 + + + Last transition time - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 + src/common/components/condition/template.html + 60 + + + Controlled by - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 + src/common/components/creator/template.html + 42 + + + Name - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 + src/common/components/creator/template.html + 48 - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 + src/common/components/objectmeta/template.html + 44 - src/app/frontend/resource/workloads/job/detail/template.html - 58 + src/common/components/quotas/template.html + 37 - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 + src/common/components/resourcelist/clusterrole/template.html + 43 - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 + src/common/components/resourcelist/clusterrolebinding/template.html + 43 - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 + src/common/components/resourcelist/configmap/template.html + 44 - - - Endpoints - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 + src/common/components/resourcelist/crd/template.html + 54 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 + src/common/components/resourcelist/crdobject/template.html + 41 - src/app/frontend/resource/discovery/ingress/detail/template.html + src/common/components/resourcelist/crdversion/template.html 36 - - - Host - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 + src/common/components/resourcelist/cronjob/template.html + 57 - - - Ports (Name, Port, Protocol) - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 + src/common/components/resourcelist/daemonset/template.html + 66 - - - unset - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 + src/common/components/resourcelist/deployment/template.html + 66 - - - Node - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 + src/common/components/resourcelist/event/template.html + 50 - src/app/frontend/common/components/resourcelist/pod/template.html - 109 + src/common/components/resourcelist/horizontalpodautoscaler/template.html + 44 - src/app/frontend/resource/workloads/pod/detail/template.html - 47 + src/common/components/resourcelist/ingress/template.html + 44 - - - Unsupported graph type . - src/app/frontend/common/components/graph/component.ts - 95 + src/common/components/resourcelist/ingressclass/template.html + 44 - - - Waiting for more data to display chart... - src/app/frontend/common/components/graph/template.html - 22 + src/common/components/resourcelist/job/template.html + 69 - - - Rules - src/app/frontend/common/components/ingressrulelist/template.html - 20 + src/common/components/resourcelist/namespace/template.html + 53 - src/app/frontend/common/components/policyrule/template.html - 20 - - - - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - - - - Path - - src/app/frontend/common/components/ingressrulelist/template.html - 47 + src/common/components/resourcelist/networkpolicy/template.html + 42 - - - Path Type - src/app/frontend/common/components/ingressrulelist/template.html - 54 + src/common/components/resourcelist/node/template.html + 57 - - - Service Name - src/app/frontend/common/components/ingressrulelist/template.html - 61 + src/common/components/resourcelist/persistentvolume/template.html + 52 - - - Service Port - src/app/frontend/common/components/ingressrulelist/template.html - 88 + src/common/components/resourcelist/persistentvolumeclaim/template.html + 52 - - - TLS Secret - src/app/frontend/common/components/ingressrulelist/template.html - 97 + src/common/components/resourcelist/plugin/template.html + 43 - - - Resource Limits - src/app/frontend/common/components/limits/template.html - 20 + src/common/components/resourcelist/pod/template.html + 66 - - - Resource name - src/app/frontend/common/components/limits/template.html - 37 + src/common/components/resourcelist/replicaset/template.html + 69 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 + src/common/components/resourcelist/replicationcontroller/template.html + 63 - - - Resource type - src/app/frontend/common/components/limits/template.html - 42 + src/common/components/resourcelist/role/template.html + 43 - - - Default - src/app/frontend/common/components/limits/template.html - 47 + src/common/components/resourcelist/rolebinding/template.html + 43 - - - Default request - src/app/frontend/common/components/limits/template.html - 52 + src/common/components/resourcelist/secret/template.html + 43 - - - Edit - src/app/frontend/common/components/list/column/menu/template.html - 49 + src/common/components/resourcelist/service/template.html + 54 - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 + src/common/components/resourcelist/serviceaccount/template.html + 42 - - - Delete - src/app/frontend/common/components/list/column/menu/template.html - 57 + src/common/components/resourcelist/statefulset/template.html + 66 - src/app/frontend/common/dialogs/deleteresource/template.html - 43 + src/common/components/resourcelist/storageclass/template.html + 44 - - - Actions - src/app/frontend/common/components/list/column/menu/template.html - 66 + src/common/components/subject/template.html + 36 - - - Exec - src/app/frontend/common/components/list/column/menu/template.html - 27 + src/common/components/volumemount/template.html + 35 - - - Trigger - src/app/frontend/common/components/list/column/menu/template.html - 31 + src/create/from/form/environmentvariables/template.html + 29 - src/app/frontend/common/dialogs/triggerresource/template.html - 25 + src/resource/workloads/deployment/detail/template.html + 224 - - Scale + + Kind - src/app/frontend/common/components/list/column/menu/template.html - 35 + src/common/components/creator/template.html + 56 - src/app/frontend/common/dialogs/scaleresource/template.html - 61 + src/common/components/subject/template.html + 57 - - - Unpin - src/app/frontend/common/components/list/column/menu/template.html - 41 + src/crd/detail/template.html + 72 - - Pin + + Age - src/app/frontend/common/components/list/column/menu/template.html - 43 + src/common/components/creator/template.html + 68 - - - Filter - src/app/frontend/common/components/list/filter/template.html - 29 + src/common/components/objectmeta/template.html + 62 - - - Filter objects by name - src/app/frontend/common/components/list/filter/template.html - 34 + src/resource/workloads/deployment/detail/template.html + 238 - - There is nothing to display here + + Name:  - src/app/frontend/common/components/list/zerostate/template.html + src/common/components/creator/template.html 22 - src/app/frontend/common/components/zerostate/template.html + src/common/components/objectmeta/template.html 23 - - - No resources found. - src/app/frontend/common/components/list/zerostate/template.html - 27 + src/resource/workloads/deployment/detail/template.html + 192 - - Namespace conflict + + Kind:  - src/app/frontend/common/components/namespace/changedialog/template.html - 19 + src/common/components/creator/template.html + 29 - - Selected namespace is different than namespace of currently selected resource. + + Age:  - src/app/frontend/common/components/namespace/changedialog/template.html - 22 + src/common/components/creator/template.html + 36 - - - Do you want to stay on current page and change namespace from to ? - src/app/frontend/common/components/namespace/changedialog/template.html - 24,26 + src/common/components/objectmeta/template.html + 35 - - - Yes - src/app/frontend/common/components/namespace/changedialog/template.html - 32 + src/resource/workloads/deployment/detail/template.html + 206 - - No + + Labels - src/app/frontend/common/components/namespace/changedialog/template.html - 35 + src/common/components/creator/template.html + 78 - - - Select namespace... - src/app/frontend/common/components/namespace/template.html - 24 + src/common/components/objectmeta/template.html + 78 - - - NAMESPACES - src/app/frontend/common/components/namespace/template.html - 34 + src/common/components/resourcelist/configmap/template.html + 66 - - - All namespaces - src/app/frontend/common/components/namespace/template.html - 33 + src/common/components/resourcelist/cronjob/template.html + 89 - - - Metadata - src/app/frontend/common/components/objectmeta/template.html - 19 + src/common/components/resourcelist/daemonset/template.html + 99 - - - Created - src/app/frontend/common/components/objectmeta/template.html - 55 + src/common/components/resourcelist/deployment/template.html + 99 - src/app/frontend/common/components/quotas/template.html - 42 + src/common/components/resourcelist/ingress/template.html + 66 - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 + src/common/components/resourcelist/job/template.html + 102 - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 + src/common/components/resourcelist/namespace/template.html + 64 - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 + src/common/components/resourcelist/networkpolicy/template.html + 60 - src/app/frontend/common/components/resourcelist/crd/template.html - 91 + src/common/components/resourcelist/node/template.html + 70 - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 + src/common/components/resourcelist/persistentvolumeclaim/template.html + 74 - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 + src/common/components/resourcelist/pod/template.html + 99 - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 + src/common/components/resourcelist/replicaset/template.html + 102 - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 + src/common/components/resourcelist/replicationcontroller/template.html + 96 - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 + src/common/components/resourcelist/secret/template.html + 65 - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 + src/common/components/resourcelist/service/template.html + 76 - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 + src/common/components/resourcelist/serviceaccount/template.html + 60 - src/app/frontend/common/components/resourcelist/job/template.html - 124 + src/common/components/resourcelist/statefulset/template.html + 99 - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 + src/create/from/form/template.html + 183 - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 + src/resource/workloads/deployment/detail/template.html + 254 + + + Images - src/app/frontend/common/components/resourcelist/node/template.html - 144 + src/common/components/creator/template.html + 87 - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 + src/common/components/resourcelist/cronjob/template.html + 79 - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 + src/common/components/resourcelist/daemonset/template.html + 89 - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 + src/common/components/resourcelist/deployment/template.html + 89 - src/app/frontend/common/components/resourcelist/pod/template.html - 160 + src/common/components/resourcelist/job/template.html + 92 - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 + src/common/components/resourcelist/pod/template.html + 89 - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 + src/common/components/resourcelist/replicaset/template.html + 92 - src/app/frontend/common/components/resourcelist/role/template.html - 61 + src/common/components/resourcelist/replicationcontroller/template.html + 86 - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 + src/common/components/resourcelist/statefulset/template.html + 89 - src/app/frontend/common/components/resourcelist/secret/template.html - 85 + src/resource/workloads/daemonset/detail/template.html + 39 - src/app/frontend/common/components/resourcelist/service/template.html - 124 + src/resource/workloads/deployment/detail/template.html + 263 - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 + src/resource/workloads/job/detail/template.html + 58 - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 + src/resource/workloads/replicaset/detail/template.html + 47 - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 + src/resource/workloads/replicationcontroller/detail/template.html + 39 + + + src/resource/workloads/statefulset/detail/template.html + 39 - - Namespace:  + + Rules - src/app/frontend/common/components/objectmeta/template.html - 29 + src/common/components/ingressrulelist/template.html + 20 - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 + src/common/components/policyrule/template.html + 20 - + + Host + + src/common/components/ingressrulelist/template.html + 36 + + + + Path + + src/common/components/ingressrulelist/template.html + 47 + + + + Path Type + + src/common/components/ingressrulelist/template.html + 54 + + + + Service Name + + src/common/components/ingressrulelist/template.html + 61 + + + + Service Port + + src/common/components/ingressrulelist/template.html + 88 + + + + TLS Secret + + src/common/components/ingressrulelist/template.html + 97 + + + + Resource Limits + + src/common/components/limits/template.html + 20 + + + + Resource name + + src/common/components/limits/template.html + 37 + + + src/resource/cluster/persistentvolume/detail/template.html + 105 + + + + Resource type + + src/common/components/limits/template.html + 42 + + + + Default + + src/common/components/limits/template.html + 47 + + + + Default request + + src/common/components/limits/template.html + 52 + + + + Edit + + src/common/components/list/column/menu/template.html + 49 + + + src/settings/global/namespace/editdialog/template.html + 45 + + + + Delete + + src/common/components/list/column/menu/template.html + 57 + + + src/common/dialogs/deleteresource/template.html + 43 + + + + Actions + + src/common/components/list/column/menu/template.html + 66 + + + + Exec + + src/common/components/list/column/menu/template.html + 27 + + + + Trigger + + src/common/components/list/column/menu/template.html + 31 + + + src/common/dialogs/triggerresource/template.html + 25 + + + + Scale + + src/common/components/list/column/menu/template.html + 35 + + + src/common/dialogs/scaleresource/template.html + 61 + + + + Unpin + + src/common/components/list/column/menu/template.html + 41 + + + + Pin + + src/common/components/list/column/menu/template.html + 43 + + + + Namespace conflict + + src/common/components/namespace/changedialog/template.html + 19 + + + + Selected namespace is different than namespace of currently selected resource. + + src/common/components/namespace/changedialog/template.html + 22 + + + + Do you want to stay on current page and change namespace from to ? + + src/common/components/namespace/changedialog/template.html + 24,26 + + + + Yes + + src/common/components/namespace/changedialog/template.html + 32 + + + + No + + src/common/components/namespace/changedialog/template.html + 35 + + + + Metadata + + src/common/components/objectmeta/template.html + 19 + + + + Created + + src/common/components/objectmeta/template.html + 55 + + + src/common/components/quotas/template.html + 42 + + + src/common/components/resourcelist/clusterrole/template.html + 54 + + + src/common/components/resourcelist/clusterrolebinding/template.html + 54 + + + src/common/components/resourcelist/configmap/template.html + 78 + + + src/common/components/resourcelist/crd/template.html + 91 + + + src/common/components/resourcelist/crdobject/template.html + 58 + + + src/common/components/resourcelist/cronjob/template.html + 152 + + + src/common/components/resourcelist/daemonset/template.html + 121 + + + src/common/components/resourcelist/deployment/template.html + 121 + + + src/common/components/resourcelist/horizontalpodautoscaler/template.html + 78 + + + src/common/components/resourcelist/ingress/template.html + 116 + + + src/common/components/resourcelist/ingressclass/template.html + 65 + + + src/common/components/resourcelist/job/template.html + 124 + + + src/common/components/resourcelist/namespace/template.html + 80 + + + src/common/components/resourcelist/networkpolicy/template.html + 70 + + + src/common/components/resourcelist/node/template.html + 144 + + + src/common/components/resourcelist/persistentvolume/template.html + 139 + + + src/common/components/resourcelist/persistentvolumeclaim/template.html + 142 + + + src/common/components/resourcelist/plugin/template.html + 72 + + + src/common/components/resourcelist/pod/template.html + 160 + + + src/common/components/resourcelist/replicaset/template.html + 124 + + + src/common/components/resourcelist/replicationcontroller/template.html + 118 + + + src/common/components/resourcelist/role/template.html + 61 + + + src/common/components/resourcelist/rolebinding/template.html + 61 + + + src/common/components/resourcelist/secret/template.html + 85 + + + src/common/components/resourcelist/service/template.html + 124 + + + src/common/components/resourcelist/serviceaccount/template.html + 70 + + + src/common/components/resourcelist/statefulset/template.html + 121 + + + src/common/components/resourcelist/storageclass/template.html + 75 + + + + Namespace:  + + src/common/components/objectmeta/template.html + 29 + + + src/resource/workloads/deployment/detail/template.html + 199 + + + Namespace - src/app/frontend/common/components/objectmeta/template.html + src/common/components/objectmeta/template.html 50 - src/app/frontend/common/components/resourcelist/configmap/template.html + src/common/components/resourcelist/configmap/template.html 58 - src/app/frontend/common/components/resourcelist/crdobject/template.html + src/common/components/resourcelist/crdobject/template.html 52 - src/app/frontend/common/components/resourcelist/cronjob/template.html + src/common/components/resourcelist/cronjob/template.html 71 - src/app/frontend/common/components/resourcelist/daemonset/template.html + src/common/components/resourcelist/daemonset/template.html 81 - src/app/frontend/common/components/resourcelist/deployment/template.html + src/common/components/resourcelist/deployment/template.html 81 - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 59 - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + src/common/components/resourcelist/horizontalpodautoscaler/template.html 50 - src/app/frontend/common/components/resourcelist/ingress/template.html + src/common/components/resourcelist/ingress/template.html 58 - src/app/frontend/common/components/resourcelist/job/template.html + src/common/components/resourcelist/job/template.html 84 - src/app/frontend/common/components/resourcelist/networkpolicy/template.html + src/common/components/resourcelist/networkpolicy/template.html 54 - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/common/components/resourcelist/persistentvolumeclaim/template.html 66 - src/app/frontend/common/components/resourcelist/plugin/template.html + src/common/components/resourcelist/plugin/template.html 64 - src/app/frontend/common/components/resourcelist/pod/template.html + src/common/components/resourcelist/pod/template.html 81 - src/app/frontend/common/components/resourcelist/replicaset/template.html + src/common/components/resourcelist/replicaset/template.html 84 - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + src/common/components/resourcelist/replicationcontroller/template.html 78 - src/app/frontend/common/components/resourcelist/role/template.html + src/common/components/resourcelist/role/template.html 53 - src/app/frontend/common/components/resourcelist/rolebinding/template.html + src/common/components/resourcelist/rolebinding/template.html 53 - src/app/frontend/common/components/resourcelist/secret/template.html + src/common/components/resourcelist/secret/template.html 57 - src/app/frontend/common/components/resourcelist/service/template.html + src/common/components/resourcelist/service/template.html 68 - src/app/frontend/common/components/resourcelist/serviceaccount/template.html + src/common/components/resourcelist/serviceaccount/template.html 54 - src/app/frontend/common/components/resourcelist/statefulset/template.html + src/common/components/resourcelist/statefulset/template.html 81 - src/app/frontend/common/components/subject/template.html + src/common/components/subject/template.html 48 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 145 - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 232 - src/app/frontend/settings/global/namespace/adddialog/template.html + src/settings/global/namespace/adddialog/template.html 29 - src/app/frontend/settings/global/namespace/template.html + src/settings/global/namespace/template.html 27 UID - src/app/frontend/common/components/objectmeta/template.html + src/common/components/objectmeta/template.html 71 Annotations - src/app/frontend/common/components/objectmeta/template.html + src/common/components/objectmeta/template.html 88 Pods status - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 20 - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 119 Desired:  - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 53 Running:  - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 26 Succeeded:  - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 33 Pending:  - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 40 Failed:  - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 47 Desired - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 88 Running - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 63 Succeeded - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 69 Pending - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 75 Failed - src/app/frontend/common/components/podstatus/template.html + src/common/components/podstatus/template.html 82 Resources - src/app/frontend/common/components/policyrule/template.html + src/common/components/policyrule/template.html 36 Non-resource URL - src/app/frontend/common/components/policyrule/template.html + src/common/components/policyrule/template.html 46 Resource Names - src/app/frontend/common/components/policyrule/template.html + src/common/components/policyrule/template.html 56 Verbs - src/app/frontend/common/components/policyrule/template.html + src/common/components/policyrule/template.html 66 API Groups - src/app/frontend/common/components/policyrule/template.html + src/common/components/policyrule/template.html 76 Initial Delay (Seconds) - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 26 Timeout (Seconds) - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 31 Probe Period (Seconds) - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 36 Success Threshold - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 41 Failure Threshold - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 46 Termination Grace Period (Seconds) - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 51 HTTP Healthcheck URI - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 58 HTTP Headers - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 68 TCP Socket - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 81 Exec Commands - src/app/frontend/common/components/probe/template.html + src/common/components/probe/template.html 90 + + Endpoint links are external links that will be open in a new tab. + + src/common/components/resourcelist/ingress/template.html + 80 + + + + Endpoints open_in_new + + src/common/components/resourcelist/ingress/template.html + 76,80 + + + + Host links are external links that will be open in a new tab. + + src/common/components/resourcelist/ingress/template.html + 97 + + + + Hosts open_in_new + + src/common/components/resourcelist/ingress/template.html + 93,97 + + Resource Quotas - src/app/frontend/common/components/quotas/template.html + src/common/components/quotas/template.html 20 Group - src/app/frontend/common/components/resourcelist/crd/template.html + src/common/components/resourcelist/crd/template.html 65 - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 41 Full Name - src/app/frontend/common/components/resourcelist/crd/template.html + src/common/components/resourcelist/crd/template.html 73 Namespaced - src/app/frontend/common/components/resourcelist/crd/template.html + src/common/components/resourcelist/crd/template.html 81 Objects - src/app/frontend/common/components/resourcelist/crdobject/template.html + src/common/components/resourcelist/crdobject/template.html 21 No resources found in the selected namespace. - src/app/frontend/common/components/resourcelist/crdobject/template.html + src/common/components/resourcelist/crdobject/template.html 92 Versions - src/app/frontend/common/components/resourcelist/crdversion/template.html + src/common/components/resourcelist/crdversion/template.html 20 Served - src/app/frontend/common/components/resourcelist/crdversion/template.html + src/common/components/resourcelist/crdversion/template.html 42 Storage - src/app/frontend/common/components/resourcelist/crdversion/template.html + src/common/components/resourcelist/crdversion/template.html 48 Schedule - src/app/frontend/common/components/resourcelist/cronjob/template.html + src/common/components/resourcelist/cronjob/template.html 99 - src/app/frontend/resource/workloads/cronjob/detail/template.html + src/resource/workloads/cronjob/detail/template.html 52 Suspend - src/app/frontend/common/components/resourcelist/cronjob/template.html + src/common/components/resourcelist/cronjob/template.html 110 - src/app/frontend/resource/workloads/cronjob/detail/template.html + src/resource/workloads/cronjob/detail/template.html 64 Active - src/app/frontend/common/components/resourcelist/cronjob/template.html + src/common/components/resourcelist/cronjob/template.html 120 Last Schedule - src/app/frontend/common/components/resourcelist/cronjob/template.html + src/common/components/resourcelist/cronjob/template.html 128 Source - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 84 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + src/resource/cluster/persistentvolume/detail/source/template.html 19 Object - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 95 Sub-object - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 114 Count - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 125 First Seen - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 134 Last Seen - src/app/frontend/common/components/resourcelist/event/template.html + src/common/components/resourcelist/event/template.html 146 Horizontal Pod Autoscalers - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + src/common/components/resourcelist/horizontalpodautoscaler/template.html 22 Min Replicas - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + src/common/components/resourcelist/horizontalpodautoscaler/template.html 56 Max Replicas - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + src/common/components/resourcelist/horizontalpodautoscaler/template.html 62 Reference - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + src/common/components/resourcelist/horizontalpodautoscaler/template.html 68 Controller - src/app/frontend/common/components/resourcelist/ingressclass/template.html + src/common/components/resourcelist/ingressclass/template.html 55 - src/app/frontend/resource/discovery/ingressclass/detail/template.html + src/resource/discovery/ingressclass/detail/template.html 29 - - Endpoint links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - - - - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76,80 - - - - Host links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - - - - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93,97 - - Phase - src/app/frontend/common/components/resourcelist/namespace/template.html + src/common/components/resourcelist/namespace/template.html 72 - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 30 CPU requests (cores) - src/app/frontend/common/components/resourcelist/node/template.html + src/common/components/resourcelist/node/template.html 88 CPU limits (cores) - src/app/frontend/common/components/resourcelist/node/template.html + src/common/components/resourcelist/node/template.html 99 Memory requests (bytes) - src/app/frontend/common/components/resourcelist/node/template.html + src/common/components/resourcelist/node/template.html 110 Memory limits (bytes) - src/app/frontend/common/components/resourcelist/node/template.html + src/common/components/resourcelist/node/template.html 121 Capacity - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 63 - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/common/components/resourcelist/persistentvolumeclaim/template.html 108 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html + src/resource/cluster/persistentvolume/detail/template.html 98 - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + src/resource/config/persistentvolumeclaim/detail/template.html 49 Access Modes - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 73 - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/common/components/resourcelist/persistentvolumeclaim/template.html 119 - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + src/resource/config/persistentvolumeclaim/detail/template.html 58 Reclaim Policy - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 83 Claim - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 101 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html + src/resource/cluster/persistentvolume/detail/template.html 35 Storage Class - src/app/frontend/common/components/resourcelist/persistentvolume/template.html + src/common/components/resourcelist/persistentvolume/template.html 115 - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/common/components/resourcelist/persistentvolumeclaim/template.html 129 - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + src/resource/config/persistentvolumeclaim/detail/template.html 33 Volume - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + src/common/components/resourcelist/persistentvolumeclaim/template.html 94 Dependencies - src/app/frontend/common/components/resourcelist/plugin/template.html + src/common/components/resourcelist/plugin/template.html 55 - - Restarts + + Restarts + + src/common/components/resourcelist/pod/template.html + 126 + + + src/resource/workloads/pod/detail/template.html + 73 + + + + CPU Usage (cores) + + src/common/components/resourcelist/pod/template.html + 134 + + + + Memory Usage (bytes) + + src/common/components/resourcelist/pod/template.html + 146 + + + + Cluster IP + + src/common/components/resourcelist/service/template.html + 94 + + + src/resource/discovery/service/detail/template.html + 33 + + + + Internal Endpoints + + src/common/components/resourcelist/service/template.html + 102 + + + + External Endpoints + + src/common/components/resourcelist/service/template.html + 112 + + + + Workload Status + + src/common/components/workloadstatus/template.html + 20 + + + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + + src/common/components/zerostate/template.html + 26,35 + + + + Download logs file + + src/common/dialogs/download/template.html + 19 + + + + Size: B + + src/common/dialogs/download/template.html + 22 + + + + Preparing file to download... - src/app/frontend/common/components/resourcelist/pod/template.html - 126 + src/common/dialogs/download/template.html + 27 + + + File is ready to download! - src/app/frontend/resource/workloads/pod/detail/template.html - 73 + src/common/dialogs/download/template.html + 29 - - CPU Usage (cores) + + Forbidden (403) - src/app/frontend/common/components/resourcelist/pod/template.html - 134 + src/common/dialogs/download/template.html + 33 - - Memory Usage (bytes) + + You do not have required permissions to access this resource. - src/app/frontend/common/components/resourcelist/pod/template.html - 146 + src/common/dialogs/download/template.html + 34 - - Cluster IP + + Save - src/app/frontend/common/components/resourcelist/service/template.html - 94 + src/common/dialogs/download/template.html + 44 - src/app/frontend/resource/discovery/service/detail/template.html - 33 + src/settings/global/saveanywaysdialog/template.html + 24 - - - Internal Endpoints - src/app/frontend/common/components/resourcelist/service/template.html - 102 + src/settings/global/template.html + 127 - - External Endpoints + + Abort - src/app/frontend/common/components/resourcelist/service/template.html - 112 + src/common/dialogs/download/template.html + 48 Provisioner - src/app/frontend/common/components/resourcelist/storageclass/template.html + src/common/components/resourcelist/storageclass/template.html 55 - src/app/frontend/resource/config/storageclass/detail/template.html + src/resource/config/storageclass/detail/template.html 29 Parameters - src/app/frontend/common/components/resourcelist/storageclass/template.html + src/common/components/resourcelist/storageclass/template.html 63 SE Linux User - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 23 SE Linux Role - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 28 SE Linux Type - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 33 SE Linux Level - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 38 Windows GMSA Credential Spec Name - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 44 Windows GMSA Credential Spec - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 49 Windows Run as User - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 54 Run as User - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 60 Run as Group - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 65 Run as Non-Root - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 70 Seccomp Profile Type - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 76 Seccomp Localhost Profile - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 81 Added Capabilities - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 88 Dropped Capabilities - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 93 Privileged - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 98 Read Only Filesystem - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 103 Allow Privilege Escalation - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 108 Proc Mount - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 113 Filesystem Group - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 120 Filesystem Group Change Policy - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 125 Supplemental Groups - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 131 Sysctls - src/app/frontend/common/components/securitycontext/template.html + src/common/components/securitycontext/template.html 139 Subjects - src/app/frontend/common/components/subject/template.html - 20 - - - - API Group - - src/app/frontend/common/components/subject/template.html - 63 - - - - Read Only - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - - - - Mount Path - - src/app/frontend/common/components/volumemount/template.html - 45 - - - - Sub Path - - src/app/frontend/common/components/volumemount/template.html - 50 - - - - Source Type - - src/app/frontend/common/components/volumemount/template.html - 55 - - - - Source Name - - src/app/frontend/common/components/volumemount/template.html - 60 - - - - Workload Status - - src/app/frontend/common/components/workloadstatus/template.html - 20 - - - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - src/app/frontend/common/components/zerostate/template.html - 26,35 - - - - Workloads - - src/app/frontend/chrome/nav/template.html - 27,28 - - - - Cron Jobs - - src/app/frontend/chrome/nav/template.html - 32 - - - - Daemon Sets - - src/app/frontend/chrome/nav/template.html - 36 - - - - Deployments - - src/app/frontend/chrome/nav/template.html - 40 - - - - Jobs - - src/app/frontend/chrome/nav/template.html - 44 - - - - Pods - - src/app/frontend/chrome/nav/template.html - 48 - - - - Replica Sets - - src/app/frontend/chrome/nav/template.html - 52 - - - - Replication Controllers - - src/app/frontend/chrome/nav/template.html - 56,57 - - - - Stateful Sets - - src/app/frontend/chrome/nav/template.html - 61 - - - - Service - - src/app/frontend/chrome/nav/template.html - 67,68 - - - - Ingresses - - src/app/frontend/chrome/nav/template.html - 73 - - - - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - - - - Services - - src/app/frontend/chrome/nav/template.html - 82 - - - - Config and Storage - - src/app/frontend/chrome/nav/template.html - 88 - - - - Config Maps - - src/app/frontend/chrome/nav/template.html - 94,95 - - - - Persistent Volume Claims - - src/app/frontend/chrome/nav/template.html - 100,101 - - - - Secrets - - src/app/frontend/chrome/nav/template.html - 106 - - - - Storage Classes - - src/app/frontend/chrome/nav/template.html - 110 - - - - Cluster - - src/app/frontend/chrome/nav/template.html - 116 - - - - Cluster Role Bindings - - src/app/frontend/chrome/nav/template.html - 120,121 - - - - Cluster Roles - - src/app/frontend/chrome/nav/template.html - 125 - - - - Events - - src/app/frontend/chrome/nav/template.html - 130 - - - - Namespaces - - src/app/frontend/chrome/nav/template.html - 134 - - - - Network Policies - - src/app/frontend/chrome/nav/template.html - 139,140 - - - - Nodes - - src/app/frontend/chrome/nav/template.html - 144 - - - - Persistent Volumes - - src/app/frontend/chrome/nav/template.html - 148,149 - - - - Role Bindings - - src/app/frontend/chrome/nav/template.html - 154,155 + src/common/components/subject/template.html + 20 - - Roles + + API Group - src/app/frontend/chrome/nav/template.html - 160 + src/common/components/subject/template.html + 63 - - Service Accounts + + Read Only - src/app/frontend/chrome/nav/template.html - 165,166 + src/common/components/volumemount/template.html + 40 - - - Custom Resource Definitions - src/app/frontend/chrome/nav/template.html - 173,174 + src/resource/cluster/persistentvolume/detail/source/template.html + 227 - - Settings + + Mount Path - src/app/frontend/chrome/nav/template.html - 192 + src/common/components/volumemount/template.html + 45 - - About + + Sub Path - src/app/frontend/chrome/nav/template.html - 197 + src/common/components/volumemount/template.html + 50 - - Plugins + + Source Type - src/app/frontend/chrome/nav/template.html - 184 + src/common/components/volumemount/template.html + 55 - - + + Source Name - src/app/frontend/chrome/nav/pinner/template.html - 22,23 + src/common/components/volumemount/template.html + 60 Delete a resource - src/app/frontend/common/dialogs/deleteresource/template.html + src/common/dialogs/deleteresource/template.html 18 This action is equivalent to: - src/app/frontend/common/dialogs/deleteresource/template.html + src/common/dialogs/deleteresource/template.html 29 - src/app/frontend/common/dialogs/editresource/template.html + src/common/dialogs/editresource/template.html 33 - src/app/frontend/common/dialogs/scaleresource/template.html + src/common/dialogs/scaleresource/template.html 48 Cancel - src/app/frontend/common/dialogs/deleteresource/template.html + src/common/dialogs/deleteresource/template.html 47 - src/app/frontend/common/dialogs/editresource/template.html + src/common/dialogs/editresource/template.html 47 - src/app/frontend/common/dialogs/restartresource/template.html + src/common/dialogs/restartresource/template.html 46 - src/app/frontend/common/dialogs/scaleresource/template.html + src/common/dialogs/scaleresource/template.html 65 - src/app/frontend/common/dialogs/triggerresource/template.html + src/common/dialogs/triggerresource/template.html 29 - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 72 - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 95 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 360 - src/app/frontend/create/from/input/template.html + src/create/from/input/template.html 48 - src/app/frontend/resource/config/secret/detail/edit/template.html + src/resource/config/secret/detail/edit/template.html 35 Are you sure you want to delete  in namespace ? - src/app/frontend/common/dialogs/deleteresource/template.html + src/common/dialogs/deleteresource/template.html 21,23 - - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - - - - Size: B - - src/app/frontend/common/dialogs/download/template.html - 22 - - - - Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - - - - Forbidden (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - - - - You do not have required permissions to access this resource. - - src/app/frontend/common/dialogs/download/template.html - 34 - - - - Save - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - - - - Abort - - src/app/frontend/common/dialogs/download/template.html - 48 - - Edit a resource - src/app/frontend/common/dialogs/editresource/template.html + src/common/dialogs/editresource/template.html 18 Update - src/app/frontend/common/dialogs/editresource/template.html + src/common/dialogs/editresource/template.html 43 - src/app/frontend/resource/config/secret/detail/edit/template.html + src/resource/config/secret/detail/edit/template.html 31 Restart a resource - src/app/frontend/common/dialogs/restartresource/template.html + src/common/dialogs/restartresource/template.html 18 This action is equivalent to: - src/app/frontend/common/dialogs/restartresource/template.html + src/common/dialogs/restartresource/template.html 29 in namespace will be restarted. - src/app/frontend/common/dialogs/restartresource/template.html + src/common/dialogs/restartresource/template.html 21,23 + + Preview Deployment + + src/common/dialogs/previewdeployment/template.html + 18 + + Scale a resource - src/app/frontend/common/dialogs/scaleresource/template.html + src/common/dialogs/scaleresource/template.html 18 will be updated to reflect the desired replicas count. - src/app/frontend/common/dialogs/scaleresource/template.html + src/common/dialogs/scaleresource/template.html 20 Desired replicas - src/app/frontend/common/dialogs/scaleresource/template.html + src/common/dialogs/scaleresource/template.html 26 Actual replicas - src/app/frontend/common/dialogs/scaleresource/template.html + src/common/dialogs/scaleresource/template.html 38 Trigger a - src/app/frontend/common/dialogs/triggerresource/template.html + src/common/dialogs/triggerresource/template.html 18 will be triggered. - src/app/frontend/common/dialogs/triggerresource/template.html + src/common/dialogs/triggerresource/template.html 20 - - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - - - - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - - - - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - - - - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - - - - Config and Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - - - - Logs from - - src/app/frontend/logs/template.html - 24 - - - - Containers - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - - - - Init Containers - - src/app/frontend/logs/template.html - 34 - - - - in - - src/app/frontend/logs/template.html - 43 - - - - Download logs - - src/app/frontend/logs/template.html - 57 - - - - Invert colors - - src/app/frontend/logs/template.html - 131 - - - - Reduce font size - - src/app/frontend/logs/template.html - 136 - - - - Show timestamps - - src/app/frontend/logs/template.html - 141 - - - - Auto-refresh (every s.) - - src/app/frontend/logs/template.html - 146 - - - - Show previous logs - - src/app/frontend/logs/template.html - 151 - - - - Logs from to UTC - - src/app/frontend/logs/template.html - 94,102 - - Create from input - src/app/frontend/create/template.html + src/create/template.html 20 Create from file - src/app/frontend/create/template.html + src/create/template.html 24 Create from form - src/app/frontend/create/template.html + src/create/template.html 28 Learn more open_in_new - src/app/frontend/create/from/file/template.html + src/create/from/file/template.html 28,30 - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 50,52 - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 50,52 - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 76,78 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 52,54 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 81,83 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 113,115 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 134,136 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 159,161 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 193,195 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 218,220 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 268,270 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 296,298 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 314,316 - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 329,331 - src/app/frontend/create/from/input/template.html + src/create/from/input/template.html 28,29 Choose YAML or JSON file - src/app/frontend/create/from/file/template.html + src/create/from/file/template.html 35 @@ -3752,7 +3639,7 @@ Upload - src/app/frontend/create/from/file/template.html + src/create/from/file/template.html 43,44 @@ -3760,1550 +3647,1663 @@ Cancel - src/app/frontend/create/from/file/template.html + src/create/from/file/template.html 50,51 Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - src/app/frontend/create/from/file/template.html + src/create/from/file/template.html 19,21 Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - src/app/frontend/create/from/file/template.html + src/create/from/file/template.html + 23,25 + + + + Upload + + + src/create/from/input/template.html + 40,42 + + + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + + src/create/from/input/template.html + 19,21 + + + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + + src/create/from/input/template.html 23,25 - - Upload - + + Logs from + + src/logs/template.html + 24 + + + + Containers + + src/logs/template.html + 28 + + + src/resource/workloads/pod/detail/template.html + 124 + + + + Init Containers + + src/logs/template.html + 34 + + + + in + + src/logs/template.html + 43 + + + + Download logs + + src/logs/template.html + 57 + + + + Invert colors - src/app/frontend/create/from/input/template.html - 40,42 + src/logs/template.html + 131 - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + + Reduce font size - src/app/frontend/create/from/input/template.html - 19,21 + src/logs/template.html + 136 - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + + Show timestamps - src/app/frontend/create/from/input/template.html - 23,25 + src/logs/template.html + 141 - - Shell in in + + Auto-refresh (every s.) - src/app/frontend/shell/template.html - 22,33 + src/logs/template.html + 146 - - Read documentation + + Show previous logs - src/app/frontend/about/actionbar/template.html - 24 + src/logs/template.html + 151 - - Provide feedback + + Logs from to UTC - src/app/frontend/about/actionbar/template.html - 35 + src/logs/template.html + 94,102 General-purpose web UI for Kubernetes clusters - src/app/frontend/about/template.html + src/about/template.html 30 Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - src/app/frontend/about/template.html + src/about/template.html 37,41 Global settings - src/app/frontend/settings/global/template.html + src/settings/global/template.html 21 Global settings are stored in config map, so all of them are applied for every instance of the app. - src/app/frontend/settings/global/template.html + src/settings/global/template.html 23 Cluster name - src/app/frontend/settings/global/template.html + src/settings/global/template.html 26 - src/app/frontend/settings/global/template.html + src/settings/global/template.html 34 Cluster name appears in the browser window title if it is set. - src/app/frontend/settings/global/template.html + src/settings/global/template.html 28 Items per page - src/app/frontend/settings/global/template.html + src/settings/global/template.html 42 Max number of items that can be displayed on every list view. - src/app/frontend/settings/global/template.html + src/settings/global/template.html 44 Labels limit - src/app/frontend/settings/global/template.html + src/settings/global/template.html 58 Max number of labels that are displayed by default on most views. - src/app/frontend/settings/global/template.html + src/settings/global/template.html 60 Logs auto-refresh time interval - src/app/frontend/settings/global/template.html + src/settings/global/template.html 74 Number of seconds between every auto-refresh of logs. - src/app/frontend/settings/global/template.html + src/settings/global/template.html 76 Resource auto-refresh time interval - src/app/frontend/settings/global/template.html + src/settings/global/template.html 92 Number of seconds between every auto-refresh of every resource. Set 0 to disable. - src/app/frontend/settings/global/template.html + src/settings/global/template.html 94 Disable access denied notification - src/app/frontend/settings/global/template.html + src/settings/global/template.html 110 Hides all access denied warnings in the notification panel. - src/app/frontend/settings/global/template.html + src/settings/global/template.html 112 Reload - src/app/frontend/settings/global/template.html + src/settings/global/template.html 132 - - Add Namespace + + Local settings - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 + src/settings/local/template.html + 19 - - Provide a namespace name that should be added to the namespace fallback list + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 + src/settings/local/template.html + 21,24 - - Add + + Theme - src/app/frontend/settings/global/namespace/adddialog/template.html - 47,49 + src/settings/local/template.html + 26 + + + + Choose color theme of the dashboard + + src/settings/local/template.html + 28 + + + + Language + + src/settings/local/template.html + 41 + + + + Change the language of the dashboard + + src/settings/local/template.html + 43 Default namespace - src/app/frontend/settings/global/namespace/template.html + src/settings/global/namespace/template.html 18 Namespace that should be selected by default after logging in. - src/app/frontend/settings/global/namespace/template.html + src/settings/global/namespace/template.html 20 Namespace fallback list - src/app/frontend/settings/global/namespace/template.html + src/settings/global/namespace/template.html 40 List of namespaces that should be presented to user without namespace list privileges. - src/app/frontend/settings/global/namespace/template.html + src/settings/global/namespace/template.html 42 Add namespaces... - src/app/frontend/settings/global/namespace/template.html + src/settings/global/namespace/template.html 60 + + Can't find plugin "" + + src/common/services/pluginloader/clientloader.service.ts + 42 + + + + Can't find dependency "" for plugin "" + + src/common/services/pluginloader/clientloader.service.ts + 48 + + + + Config and Storage + + src/overview/template.html + 58 + + + src/search/template.html + 54 + + + + Resource information + + src/resource/cluster/clusterrolebinding/detail/template.html + 22 + + + src/resource/cluster/namespace/detail/template.html + 22 + + + src/resource/cluster/networkpolicy/detail/template.html + 22 + + + src/resource/cluster/node/detail/template.html + 24 + + + src/resource/cluster/persistentvolume/detail/template.html + 22 + + + src/resource/cluster/rolebinding/detail/template.html + 22 + + + src/resource/config/persistentvolumeclaim/detail/template.html + 22 + + + src/resource/config/storageclass/detail/template.html + 22 + + + src/resource/discovery/ingress/detail/template.html + 23 + + + src/resource/discovery/ingressclass/detail/template.html + 22 + + + src/resource/discovery/service/detail/template.html + 22 + + + src/resource/workloads/cronjob/detail/template.html + 22 + + + src/resource/workloads/daemonset/detail/template.html + 22 + + + src/resource/workloads/deployment/detail/template.html + 22 + + + src/resource/workloads/job/detail/template.html + 22 + + + src/resource/workloads/pod/detail/template.html + 24 + + + src/resource/workloads/replicaset/detail/template.html + 22 + + + src/resource/workloads/replicationcontroller/detail/template.html + 22 + + + src/resource/workloads/statefulset/detail/template.html + 22 + + + + Parameter + + src/resource/config/storageclass/detail/template.html + 37 + + + src/resource/discovery/ingressclass/detail/template.html + 37 + + + + Data + + src/crd/crdobject/template.html + 22 + + + src/resource/config/configmap/detail/template.html + 23 + + + src/resource/config/secret/detail/template.html + 22 + + + + There is no data to display. + + src/resource/config/configmap/detail/template.html + 32 + + + src/resource/config/secret/detail/template.html + 40 + + + + Read documentation + + src/about/actionbar/template.html + 24 + + + + Provide feedback + + src/about/actionbar/template.html + 35 + + + + Add Namespace + + src/settings/global/namespace/adddialog/template.html + 20 + + + + Provide a namespace name that should be added to the namespace fallback list + + src/settings/global/namespace/adddialog/template.html + 23 + + + + Add + + src/settings/global/namespace/adddialog/template.html + 47,49 + + Edit Namespace List - src/app/frontend/settings/global/namespace/editdialog/template.html + src/settings/global/namespace/editdialog/template.html 20 Remove namespaces from the list and confirm to save the changes. - src/app/frontend/settings/global/namespace/editdialog/template.html + src/settings/global/namespace/editdialog/template.html 23 No namespaces selected - src/app/frontend/settings/global/namespace/editdialog/template.html + src/settings/global/namespace/editdialog/template.html 36 Settings have changed since last reload - src/app/frontend/settings/global/saveanywaysdialog/template.html + src/settings/global/saveanywaysdialog/template.html 18 Do you want to save them anyways? - src/app/frontend/settings/global/saveanywaysdialog/template.html + src/settings/global/saveanywaysdialog/template.html 19 Refresh - src/app/frontend/settings/global/saveanywaysdialog/template.html + src/settings/global/saveanywaysdialog/template.html 28 - - Local settings + + Shell in in - src/app/frontend/settings/local/template.html - 19 + src/shell/template.html + 22,33 - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + + Status:  - src/app/frontend/settings/local/template.html - 21,24 + src/resource/workloads/pod/detail/template.html + 30 - - Theme + + IP:  - src/app/frontend/settings/local/template.html - 26 + src/resource/workloads/pod/detail/template.html + 37 - - Choose color theme of the dashboard + + IP - src/app/frontend/settings/local/template.html - 28 + src/resource/workloads/pod/detail/template.html + 61 + + + + QoS Class + + src/resource/workloads/pod/detail/template.html + 67 + + + + Service Account + + src/resource/workloads/pod/detail/template.html + 79 + + + + Image Pull Secrets + + src/resource/cluster/serviceaccount/detail/template.html + 25 - - - Language - src/app/frontend/settings/local/template.html - 41 + src/resource/workloads/pod/detail/template.html + 89 - - Change the language of the dashboard + + Init containers - src/app/frontend/settings/local/template.html - 43 + src/resource/workloads/pod/detail/template.html + 132 Resource Information - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 22 Accepted Names - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 55 Scope - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 35 Version - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 29 Subresources - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 47 Plural - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 62 List Kind - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 77 Singular - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 67 Short Names - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 82 Categories - src/app/frontend/crd/detail/template.html + src/crd/detail/template.html 87 - - Data + + Volume Name - src/app/frontend/crd/crdobject/template.html - 22 + src/resource/config/persistentvolumeclaim/detail/template.html + 38 + + + Reclaim policy - src/app/frontend/resource/config/configmap/detail/template.html - 23 + src/resource/cluster/persistentvolume/detail/template.html + 46 + + + Storage class - src/app/frontend/resource/config/secret/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/template.html + 52 - - Resource information + + Mount Option(s) - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/template.html + 73 + + + Access modes - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/template.html + 83 + + + Quantity - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/template.html + 114 + + + Filesystem type - src/app/frontend/resource/cluster/node/detail/template.html - 24 + src/resource/cluster/persistentvolume/detail/source/template.html + 33 - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 65 - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 91 - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 141 - src/app/frontend/resource/config/storageclass/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 274 - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 + src/resource/cluster/persistentvolume/detail/source/template.html + 338 + + + Partition - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 39 - src/app/frontend/resource/discovery/service/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 147 + + + Read only - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 45 - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 71 - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 97 - src/app/frontend/resource/workloads/job/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 153 - src/app/frontend/resource/workloads/pod/detail/template.html - 24 + src/resource/cluster/persistentvolume/detail/source/template.html + 185 - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 286 - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 324 - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 + src/resource/cluster/persistentvolume/detail/source/template.html + 371 - - Parameter + + Volume ID - src/app/frontend/resource/config/storageclass/detail/template.html - 37 + src/resource/cluster/persistentvolume/detail/source/template.html + 51 - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 + src/resource/cluster/persistentvolume/detail/source/template.html + 77 - - There is no data to display. + + Lun number - src/app/frontend/resource/config/configmap/detail/template.html - 32 + src/resource/cluster/persistentvolume/detail/source/template.html + 103 + + + Target World Wide Names - src/app/frontend/resource/config/secret/detail/template.html - 40 + src/resource/cluster/persistentvolume/detail/source/template.html + 110 - - Volume Name + + Dataset name - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 + src/resource/cluster/persistentvolume/detail/source/template.html + 127 + + + + Persistent disk name + + src/resource/cluster/persistentvolume/detail/source/template.html + 159 + + + + Path + + src/resource/cluster/persistentvolume/detail/source/template.html + 179 + + + src/resource/cluster/persistentvolume/detail/source/template.html + 199 + + + src/resource/cluster/persistentvolume/detail/source/template.html + 318 + + + + Driver + + src/resource/cluster/persistentvolume/detail/source/template.html + 212 + + + + Volume Handle + + src/resource/cluster/persistentvolume/detail/source/template.html + 217 + + + + File System Type + + src/resource/cluster/persistentvolume/detail/source/template.html + 222 + + + + Volume Attributes + + src/resource/cluster/persistentvolume/detail/source/template.html + 237 + + + + Key + + src/resource/cluster/persistentvolume/detail/source/template.html + 244 + + + + Value + + src/create/from/form/environmentvariables/template.html + 44 + + + src/resource/cluster/persistentvolume/detail/source/template.html + 252 + + + + iSCSI Qualified Name + + src/resource/cluster/persistentvolume/detail/source/template.html + 280 + + + + iSCSI target lun number + + src/resource/cluster/persistentvolume/detail/source/template.html + 292 + + + + Target portal + + src/resource/cluster/persistentvolume/detail/source/template.html + 298 + + + + Server + + src/resource/cluster/persistentvolume/detail/source/template.html + 312 + + + + Keyring + + src/resource/cluster/persistentvolume/detail/source/template.html + 350 + + + + Monitors + + src/resource/cluster/persistentvolume/detail/source/template.html + 356 + + + + Pool + + src/resource/cluster/persistentvolume/detail/source/template.html + 365 + + + + Secret reference name + + src/resource/cluster/persistentvolume/detail/source/template.html + 377 + + + + User + + src/resource/cluster/persistentvolume/detail/source/template.html + 383 Session Affinity - src/app/frontend/resource/discovery/service/detail/template.html + src/resource/discovery/service/detail/template.html 38 Selector - src/app/frontend/resource/discovery/service/detail/template.html + src/resource/discovery/service/detail/template.html 44 - src/app/frontend/resource/workloads/daemonset/detail/template.html + src/resource/workloads/daemonset/detail/template.html 30 - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 71 - src/app/frontend/resource/workloads/replicaset/detail/template.html + src/resource/workloads/replicaset/detail/template.html 38 Ingress Class Name - src/app/frontend/resource/discovery/ingress/detail/template.html + src/resource/discovery/ingress/detail/template.html 29 Default Backend - src/app/frontend/resource/discovery/ingress/detail/template.html + src/resource/discovery/ingress/detail/template.html 49 Service Name - src/app/frontend/resource/discovery/ingress/detail/template.html + src/resource/discovery/ingress/detail/template.html 55 Service Port Name - src/app/frontend/resource/discovery/ingress/detail/template.html + src/resource/discovery/ingress/detail/template.html 61 Service Port Number - src/app/frontend/resource/discovery/ingress/detail/template.html + src/resource/discovery/ingress/detail/template.html 67 - src/app/frontend/resource/discovery/ingress/detail/template.html + src/resource/discovery/ingress/detail/template.html 73 Label Selector - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + src/resource/workloads/replicationcontroller/detail/template.html 30 - src/app/frontend/resource/workloads/statefulset/detail/template.html + src/resource/workloads/statefulset/detail/template.html 30 Init images - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - - - - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - - - - Status:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - - - - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 + src/resource/workloads/daemonset/detail/template.html + 48 - - - IP - src/app/frontend/resource/workloads/pod/detail/template.html - 61 + src/resource/workloads/deployment/detail/template.html + 272 - - - QoS Class - src/app/frontend/resource/workloads/pod/detail/template.html + src/resource/workloads/job/detail/template.html 67 - - - Service Account - src/app/frontend/resource/workloads/pod/detail/template.html - 79 + src/resource/workloads/replicaset/detail/template.html + 56 - - - Image Pull Secrets - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 + src/resource/workloads/replicationcontroller/detail/template.html + 48 - src/app/frontend/resource/workloads/pod/detail/template.html - 89 + src/resource/workloads/statefulset/detail/template.html + 48 - - Init containers + + Pods:  - src/app/frontend/resource/workloads/pod/detail/template.html - 132 + src/resource/workloads/deployment/detail/template.html + 214 + + + src/resource/workloads/replicaset/detail/template.html + 28 Completions:  - src/app/frontend/resource/workloads/job/detail/template.html + src/resource/workloads/job/detail/template.html 28 Parallelism:  - src/app/frontend/resource/workloads/job/detail/template.html + src/resource/workloads/job/detail/template.html 35 Completions - src/app/frontend/resource/workloads/job/detail/template.html + src/resource/workloads/job/detail/template.html 45 Parallelism - src/app/frontend/resource/workloads/job/detail/template.html + src/resource/workloads/job/detail/template.html 51 Rolling update strategy - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 82 Old Replica Sets - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 283 Horizontal Pod Autoscaler - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 287 Strategy:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 28 Min ready seconds:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 35 Revision history limit:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 42 Strategy - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 52 Min ready seconds - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 58 Revision history limit - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 64 Max surge:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 88 Max unavailable:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 95 Max surge - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 105 Max unavailable - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 111 Updated:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 125 Total:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 132 Available:  - src/app/frontend/resource/workloads/deployment/detail/template.html + src/resource/workloads/deployment/detail/template.html 139 - - - Unavailable:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - - - - Updated - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - - - - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - - - - Available - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - - - - Unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - - - - New Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - - - - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - - - - Active Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - - - - Inactive Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - - - - Schedule:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - - - - Active Jobs:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - - - - Suspend:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - - - - Last schedule - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - - - - Concurrency policy - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - - - - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - - - - Reclaim policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - - - - Storage class - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - - - - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - - - - Access modes - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - - - - Quantity - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - - - - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - - - - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - - - - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - - - - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - - - - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - - - - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - - - - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - - - - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - - - - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - + + + Unavailable:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 + src/resource/workloads/deployment/detail/template.html + 146 - - Driver + + Updated - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 + src/resource/workloads/deployment/detail/template.html + 156 - - Volume Handle + + Total - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 + src/resource/workloads/deployment/detail/template.html + 162 - - File System Type + + Available - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 + src/resource/workloads/deployment/detail/template.html + 168 - - Volume Attributes + + Unavailable - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 + src/resource/workloads/deployment/detail/template.html + 174 - - Key + + New Replica Set - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 + src/resource/workloads/deployment/detail/template.html + 186 - - Value + + Active Jobs - src/app/frontend/create/from/form/environmentvariables/template.html - 44 + src/resource/workloads/cronjob/detail/template.html + 58 - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 + src/resource/workloads/cronjob/detail/template.html + 90 - - iSCSI Qualified Name + + Inactive Jobs - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 + src/resource/workloads/cronjob/detail/template.html + 94 - - iSCSI target lun number + + Schedule:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 + src/resource/workloads/cronjob/detail/template.html + 28 - - Target portal + + Active Jobs:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 + src/resource/workloads/cronjob/detail/template.html + 35 - - Server + + Suspend:  - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 + src/resource/workloads/cronjob/detail/template.html + 42 - - Keyring + + Last schedule - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 + src/resource/workloads/cronjob/detail/template.html + 70 - - Monitors + + Concurrency policy - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 + src/resource/workloads/cronjob/detail/template.html + 76 - - Pool + + Starting deadline seconds - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 + src/resource/workloads/cronjob/detail/template.html + 82 - - Secret reference name + + Role Reference - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 + src/resource/cluster/clusterrolebinding/detail/template.html + 28 + + + src/resource/cluster/rolebinding/detail/template.html + 28 - - User + + Suffix '' not recognized. - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 + src/common/components/graph/helper.ts + 58 System information - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 71 Allocation - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 130 Pod CIDR - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 35 Provider ID - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 40 Unschedulable - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 45 Addresses - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 51 Taints - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 60 Machine ID - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 77 System UUID - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 82 Boot ID - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 87 Kernel version - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 92 OS Image - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 97 Container runtime version - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 102 kubelet version - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 107 kube-proxy version - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 112 Operating system - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 117 Architecture - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 122 CPU - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 138 Memory - src/app/frontend/resource/cluster/node/detail/template.html + src/resource/cluster/node/detail/template.html 151 Pod Selector - src/app/frontend/resource/cluster/networkpolicy/detail/template.html + src/resource/cluster/networkpolicy/detail/template.html 28 Policy Types - src/app/frontend/resource/cluster/networkpolicy/detail/template.html + src/resource/cluster/networkpolicy/detail/template.html 37 Ingress Rules - src/app/frontend/resource/cluster/networkpolicy/detail/template.html + src/resource/cluster/networkpolicy/detail/template.html 49 Egress Rules - src/app/frontend/resource/cluster/networkpolicy/detail/template.html + src/resource/cluster/networkpolicy/detail/template.html 61 Go to namespace - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html + src/resource/cluster/namespace/detail/actionbar/template.html 23 App name - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 23 An 'app' label with this value will be added to the Deployment and Service that get deployed. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 48 Container image - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 63 Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 76,77 Number of pods - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 93 A Deployment will be created to maintain the desired number of pods across your cluster. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 109 Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 129,130 Create a new namespace... - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 151 Namespaces let you partition resources into logically named groups. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 155 Description - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 172 The description will be added as an annotation to the Deployment and displayed in the application's details. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 175,177 The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 188,189 Image Pull Secret - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 204 Create a new secret... - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 209 The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 213,214 CPU requirement (cores) - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 230 Memory requirement (MiB) - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 248 You can specify minimum CPU and memory requirements for the container. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 264 Run command - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 279 Run command arguments - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 285 By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 291,292 Run as privileged - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 307 Processes in privileged containers are equivalent to processes running as root on the host. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 310 Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 324,325 @@ -5311,7 +5311,7 @@ Deploy - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 343,345 @@ -5319,14 +5319,14 @@ Preview - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 352,354 {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 367 @@ -5334,422 +5334,422 @@ - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 366,368 Deployment or service with this name already exists within namespace. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 35,37 Application name is required. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 39 Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 41,44 Container image is required - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 68 Container image is invalid: - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 70,72 Number of pods is required - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 99 Number of pods must be a positive integer - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 101 Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 104,106 CPU requirement must be given as a positive number. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 236,238 CPU requirement must be given as a valid number. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 240,242 Memory requirement must be given as a positive number. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 254,256 Memory requirement must be given as a valid number. - src/app/frontend/create/from/form/template.html + src/create/from/form/template.html 258,260 + + Port + + src/create/from/form/portmappings/template.html + 48 + + + + Target port + + src/create/from/form/portmappings/template.html + 71 + + + + Protocol + + src/create/from/form/portmappings/template.html + 102 + + + + Port must be an integer. + + src/create/from/form/portmappings/template.html + 52 + + + + Port cannot be empty. + + src/create/from/form/portmappings/template.html + 54 + + + + Port must be greater than 0. + + src/create/from/form/portmappings/template.html + 56 + + + + Port must be less than 65536. + + src/create/from/form/portmappings/template.html + 58 + + + + Target port must be an integer. + + src/create/from/form/portmappings/template.html + 77,79 + + + + Target port cannot be empty. + + src/create/from/form/portmappings/template.html + 81,83 + + + + Target port must be greater than 0. + + src/create/from/form/portmappings/template.html + 85,87 + + + + Target port must be less than 65536. + + src/create/from/form/portmappings/template.html + 89,91 + + + + Protocol is required. + + src/create/from/form/portmappings/template.html + 114 + + + + Invalid protocol. + + src/create/from/form/portmappings/template.html + 116 + + Create a new namespace - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 18 The new namespace will be added to the cluster. - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 21 Namespace name - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 29 A namespace with the specified name will be added to the cluster. - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 46 Create - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 67,69 Name is required. - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 35 - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 35 Name must be up to characters long. - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 37,39 - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 37,39 Name must be alphanumeric and may contain dashes. - src/app/frontend/create/from/form/createnamespace/template.html + src/create/from/form/createnamespace/template.html 41,43 Create a new image pull secret - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 18 The new secret will be added to the cluster - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 21 Secret name - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 29 A secret with the specified name will be added to the cluster in the namespace. - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 46 Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 71,72 Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 41,43 Data is required. - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 66 Data must be Base64 encoded. - src/app/frontend/create/from/form/createsecret/template.html + src/create/from/form/createsecret/template.html 68 key - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 30 value - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 61 is not unique - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 32 Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 34,36 Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 38,41 Prefix should not exceed 253 characters. - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 43,45 Label Key name should not exceed 63 characters. - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 47,49 Label value must be alphanumeric separated by '.' , '-' or '_'. - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 64,66 Label Value must not exceed 253 characters. - src/app/frontend/create/from/form/deploylabel/template.html + src/create/from/form/deploylabel/template.html 68,70 Environment variables - src/app/frontend/create/from/form/environmentvariables/template.html + src/create/from/form/environmentvariables/template.html 19 Variable name must be a valid C identifier. - src/app/frontend/create/from/form/environmentvariables/template.html + src/create/from/form/environmentvariables/template.html 32,34 - - Port - - src/app/frontend/create/from/form/portmappings/template.html - 48 - - - - Target port - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - - Protocol - - src/app/frontend/create/from/form/portmappings/template.html - 102 - - - - Port must be an integer. - - src/app/frontend/create/from/form/portmappings/template.html - 52 - - - - Port cannot be empty. - - src/app/frontend/create/from/form/portmappings/template.html - 54 - - - - Port must be greater than 0. - - src/app/frontend/create/from/form/portmappings/template.html - 56 - - - - Port must be less than 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 58 - - - - Target port must be an integer. - - src/app/frontend/create/from/form/portmappings/template.html - 77,79 - - - - Target port cannot be empty. - - src/app/frontend/create/from/form/portmappings/template.html - 81,83 - - - - Target port must be greater than 0. - - src/app/frontend/create/from/form/portmappings/template.html - 85,87 - - - - Target port must be less than 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 89,91 - - - - Protocol is required. - - src/app/frontend/create/from/form/portmappings/template.html - 114 - - - - Invalid protocol. - - src/app/frontend/create/from/form/portmappings/template.html - 116 - - Running: - src/app/frontend/overview/helper.ts + src/overview/helper.ts 32 Suspended: - src/app/frontend/overview/helper.ts + src/overview/helper.ts 40 Failed: - src/app/frontend/overview/helper.ts + src/overview/helper.ts 47 - src/app/frontend/overview/helper.ts + src/overview/helper.ts 63 Pending: - src/app/frontend/overview/helper.ts + src/overview/helper.ts 51 - src/app/frontend/overview/helper.ts + src/overview/helper.ts 67 Succeeded: - src/app/frontend/overview/helper.ts + src/overview/helper.ts 55 diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index 6b8454b96577..79eddd700b44 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -89,7 +89,7 @@ "lodash": "4.17.21", "minimatch": "5.0.1", "minimist": "1.2.6", - "ngx-i18nsupport": "0.17.1", + "ng-extract-i18n-merge": "^1.4.0", "node-gyp": "9.0.0", "q": "1.5.1", "raw-loader": "4.0.2", @@ -796,9 +796,9 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -991,7 +991,6 @@ "version": "13.3.4", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", - "dev": true, "dependencies": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -1018,10 +1017,9 @@ } }, "node_modules/@angular/compiler-cli/node_modules/magic-string": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", - "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", - "dev": true, + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", + "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", "dependencies": { "sourcemap-codec": "^1.4.8" }, @@ -1149,13 +1147,13 @@ } }, "node_modules/@angular/localize/node_modules/@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" @@ -1169,14 +1167,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@angular/localize/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@angular/material": { "version": "13.3.4", "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.4.tgz", @@ -1278,7 +1268,6 @@ "version": "7.17.10", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", - "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", @@ -1308,7 +1297,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1321,7 +1309,6 @@ "version": "7.17.10", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", - "dev": true, "dependencies": { "@babel/types": "^7.17.10", "@jridgewell/gen-mapping": "^0.1.0", @@ -1335,7 +1322,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -2200,9 +2186,9 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz", + "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" @@ -3003,6 +2989,23 @@ "postcss": "^8.3" } }, + "node_modules/@csstools/selector-specificity": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz", + "integrity": "sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3", + "postcss-selector-parser": "^6.0.10" + } + }, "node_modules/@cypress/request": { "version": "2.88.10", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", @@ -3078,19 +3081,19 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", + "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", + "espree": "^9.3.2", "globals": "^13.9.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { @@ -3124,9 +3127,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", + "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3175,9 +3178,9 @@ "dev": true }, "node_modules/@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", "dev": true }, "node_modules/@hapi/topo": { @@ -3902,11 +3905,11 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.0.tgz", - "integrity": "sha512-YH+BnkvuCiPR+MUOY6JIArdTIGrRtsxnLaIxPRy4CpGJ/V6OO6Gq/1J+FJEc4j5e5h6Bcy3/K7prlMrm93BJoA==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dependencies": { - "@jridgewell/set-array": "1.0.0", + "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { @@ -3914,40 +3917,39 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", - "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.0.0.tgz", - "integrity": "sha512-LcqVnHCjOAj8BTCtjpwYZCMTn4yArusbdObCVRUYvBHhrR5fVLVyENG+UVWM4T4H/ufv7NiBLdprllxWs/5PaQ==", - "deprecated": "incorrect UMD name", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.12.tgz", + "integrity": "sha512-6GMdw8fZlZjs9CJONrWeWyjl8zYqbyOMSxS9FABnEw3i+wz99SESjWMWRRIsbIp8HVsMeXggi5b7+a9qO6W1fQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, "node_modules/@ngtools/webpack": { @@ -4627,9 +4629,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", + "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", "dev": true, "dependencies": { "@types/estree": "*", @@ -4707,9 +4709,9 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, "dependencies": { "@types/node": "*" @@ -4903,12 +4905,6 @@ "@types/node": "*" } }, - "node_modules/@types/xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/@types/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-bVy7s0nvaR5D1mT1a8ZkByHWNOGb6Vn4yi5TWhEdmyKlAG+08SA7Md6+jH+tYmMLueAwNeWvHHpeKrr6S4c4BA==", - "dev": true - }, "node_modules/@types/yargs": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", @@ -4967,14 +4963,13 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.23.0.tgz", + "integrity": "sha512-I+3YGQztH1DM9kgWzjslpZzJCBMRz0KhYG2WP62IwpooeZ1L6Qt0mNK8zs+uP+R2HOsr+TeDW35Pitc3PfVv8Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" + "@typescript-eslint/utils": "5.23.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4982,13 +4977,20 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", + "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4997,14 +4999,27 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", + "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", + "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -5024,16 +5039,16 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", + "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/typescript-estree": "5.23.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -5048,13 +5063,13 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", + "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/types": "5.23.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -5065,25 +5080,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.21.0.tgz", - "integrity": "sha512-mzF6ert/6iQoESV0z9v5/mEaJRKL4fv68rHoZ6exM38xjxkw4MNx54B7ferrnMTM/GIRKLDaJ3JPRi+Dxa5Hlg==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, "node_modules/@typescript-eslint/parser": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", @@ -5111,7 +5107,7 @@ } } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "node_modules/@typescript-eslint/scope-manager": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", @@ -5128,80 +5124,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/type-utils": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz", @@ -5228,24 +5150,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "node_modules/@typescript-eslint/types": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", @@ -5258,7 +5163,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "node_modules/@typescript-eslint/typescript-estree": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", @@ -5285,7 +5190,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "node_modules/@typescript-eslint/utils": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", @@ -5309,7 +5214,7 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "node_modules/@typescript-eslint/visitor-keys": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", @@ -5326,87 +5231,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -5840,7 +5664,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -6018,9 +5841,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", - "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", "dev": true, "funding": [ { @@ -6033,8 +5856,8 @@ } ], "dependencies": { - "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001332", + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -6175,6 +5998,98 @@ "node": ">=8" } }, + "node_modules/babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "peer": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "peer": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "peer": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/babel-loader/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "peer": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "peer": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -6366,7 +6281,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -6650,7 +6564,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -6770,6 +6683,16 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -6905,9 +6828,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", + "version": "1.0.30001339", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz", + "integrity": "sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ==", "funding": [ { "type": "opencollective", @@ -6966,7 +6889,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -7810,12 +7732,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", - "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.5.tgz", + "integrity": "sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==", "dev": true, "dependencies": { - "browserslist": "^4.20.2", + "browserslist": "^4.20.3", "semver": "7.0.0" }, "funding": { @@ -8382,9 +8304,9 @@ } }, "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", - "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", + "version": "14.18.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.17.tgz", + "integrity": "sha512-oajWz4kOajqpKJMPgnCvBajPq8QAvl2xIWoFjlAJPKGu6n7pjov5SxGE45a+0RxHDoo4ycOMoZw1SCOWtDERbw==", "dev": true }, "node_modules/cypress/node_modules/ansi-styles": { @@ -8810,9 +8732,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz", - "integrity": "sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", + "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==", "dev": true }, "node_modules/debug": { @@ -9099,7 +9021,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true, "engines": { "node": ">= 0.6.0" } @@ -9441,9 +9362,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.123", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.123.tgz", - "integrity": "sha512-0pHGE53WkYoFbsgwYcVKEpWa6jbzlvkohIEA2CUoZ9b5KC+w/zlMiQHvW/4IBcOh7YoEFqRNavgTk02TBoUTUw==" + "version": "1.4.137", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", + "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==" }, "node_modules/emittery": { "version": "0.8.1", @@ -10473,9 +10394,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", + "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -10539,13 +10460,13 @@ } }, "node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", "dev": true, "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -10744,9 +10665,9 @@ } }, "node_modules/express": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", - "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", @@ -11046,7 +10967,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -11134,9 +11054,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", + "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", "dev": true, "funding": [ { @@ -11249,7 +11169,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -11441,7 +11360,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -12137,9 +12055,9 @@ } }, "node_modules/gts/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", + "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -12275,51 +12193,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/har-validator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/har-validator/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -12420,15 +12293,6 @@ "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -13012,9 +12876,9 @@ "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, "node_modules/ipaddr.js": { @@ -13052,7 +12916,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -13118,7 +12981,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -13148,7 +13010,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -13203,7 +13064,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -15734,6 +15594,15 @@ "node": ">=10" } }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -16975,7 +16844,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -17030,9 +16898,9 @@ "dev": true }, "node_modules/make-fetch-happen": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz", - "integrity": "sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.3.tgz", + "integrity": "sha512-s/UjmGjUHn9m52cctFhN2ITObbT+axoUhgeir8xGrOlPbKDyJsdhQzb8PGncPQQ28uduHybFJ6Iumy2OZnreXw==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", @@ -17092,9 +16960,9 @@ } }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.6.tgz", - "integrity": "sha512-9a/MLxGaw3LEGes0HaPez2RgZWDV6X0jrgChsuxfEh8xoDoYGxaGrkMe7Dlyjrb655tA/b8fX0qlUg6Ii5MBvw==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz", + "integrity": "sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==", "dev": true, "dependencies": { "@npmcli/fs": "^2.1.0", @@ -17155,9 +17023,9 @@ } }, "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", - "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz", + "integrity": "sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==", "dev": true, "engines": { "node": ">=12" @@ -17651,9 +17519,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -17720,6 +17588,79 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/ng-extract-i18n-merge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-1.4.0.tgz", + "integrity": "sha512-Nj2Q4rycroY9E7BB99rAMbn3fSAZVwiUO5ssUVHfQPps5ysfwQ7zv/4aqNbH2Sy45tZqGjbBkiaaAh2TiD1Mcw==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "^0.1301.0", + "@angular-devkit/core": "^13.0.0", + "@angular-devkit/schematics": "^13.0.0", + "@schematics/angular": "^13.0.0", + "xliff-simple-merge": "~0.12.0", + "xml_normalize": "~0.8.3", + "xmldoc": "~1.1.2" + } + }, + "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/architect": { + "version": "0.1301.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz", + "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "13.1.4", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/core": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz", + "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==", + "dev": true, + "dependencies": { + "ajv": "8.8.2", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/ng-extract-i18n-merge/node_modules/ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ng-in-viewport": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", @@ -17745,40 +17686,6 @@ "@angular/core": "^13.0.0" } }, - "node_modules/ngx-i18nsupport": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport/-/ngx-i18nsupport-0.17.1.tgz", - "integrity": "sha512-d8OCQs/XYBEI9qvztQyEkd8gEPFEBmyRg8UcriGQV8Ew1ujvrIieHxmX8YpDpFZKQ4ePextQGUSvjpGd2NauEQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "commander": "^2.15.1", - "he": "^1.1.1", - "ngx-i18nsupport-lib": "^1.10.2", - "request": "^2.85.0", - "rxjs": "^6.0.0" - }, - "bin": { - "xliffmerge": "dist/xliffmerge/xliffmerge" - }, - "engines": { - "node": ">=6.9" - } - }, - "node_modules/ngx-i18nsupport-lib": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport-lib/-/ngx-i18nsupport-lib-1.10.2.tgz", - "integrity": "sha512-Z81I2/HUtZ/7X7C3sioJj/Zr/M0iQs0aR5EhYsrWTzdEy7fZWFVYabzzZs+8h6lhQ/4yIl+3sVOCBkI9BiUUEQ==", - "dev": true, - "dependencies": { - "@types/xmldom": "^0.1.29", - "tokenizr": "^1.3.4", - "xmldom": "^0.1.27" - }, - "engines": { - "node": ">=6.9" - } - }, "node_modules/ngx-pipes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ngx-pipes/-/ngx-pipes-3.0.0.tgz", @@ -17864,9 +17771,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", - "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==" }, "node_modules/nopt": { "version": "5.0.0", @@ -17901,7 +17808,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -18085,15 +17991,6 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", @@ -18659,7 +18556,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -19204,11 +19100,12 @@ } }, "node_modules/postcss-nesting": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.4.tgz", - "integrity": "sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA==", + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.5.tgz", + "integrity": "sha512-+NyBBE/wUcJ+NJgVd2FyKIZ414lul6ExqkOt1qXXw7oRzpQ0iT68cVpx+QfHh42QUMHXNoVLlN9InFY9XXK8ng==", "dev": true, "dependencies": { + "@csstools/selector-specificity": "1.0.0", "postcss-selector-parser": "^6.0.10" }, "engines": { @@ -19306,9 +19203,9 @@ } }, "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz", - "integrity": "sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.3.tgz", + "integrity": "sha512-I9Yp1VV2r8xFwg/JrnAlPCcKmutv6f6Ig6/CHFPqGJiDgYXM9C+0kgLfK4KOXbKNw+63QYl4agRUB0Wi9ftUIg==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.10" @@ -19964,7 +19861,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -19988,8 +19884,7 @@ "node_modules/reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "node_modules/regenerate": { "version": "1.4.2", @@ -20127,38 +20022,6 @@ "jsesc": "bin/jsesc" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -20168,46 +20031,6 @@ "throttleit": "^1.0.0" } }, - "node_modules/request/node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/request/node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -20713,7 +20536,6 @@ "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -21313,8 +21135,7 @@ "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "node_modules/spawn-command": { "version": "0.0.2-1", @@ -21820,9 +21641,9 @@ } }, "node_modules/stylelint/node_modules/postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "version": "8.4.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", + "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", "dev": true, "funding": [ { @@ -21835,7 +21656,7 @@ } ], "dependencies": { - "nanoid": "^3.3.1", + "nanoid": "^3.3.3", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -22359,7 +22180,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -22376,12 +22196,6 @@ "node": ">=0.6" } }, - "node_modules/tokenizr": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.5.tgz", - "integrity": "sha512-DKlmhWK8Kz7xf6Mvu+QhE0hU3BqpYTEK7CtL3Xz8GfzaANTd3qzdxG3KTygjXETMZGMmyXNZnKpl3ZLCtAsfQw==", - "dev": true - }, "node_modules/tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -22622,6 +22436,136 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/tslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/tslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/tslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tslint/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "peer": true + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true + }, + "node_modules/tslint/node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "peer": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -22753,7 +22697,6 @@ "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -23225,6 +23168,54 @@ "node": ">=10.4" } }, + "node_modules/webpack": { + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, "node_modules/webpack-dev-middleware": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", @@ -23361,9 +23352,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -23424,6 +23415,59 @@ } } }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -23624,6 +23668,51 @@ "node": ">=8" } }, + "node_modules/xliff-simple-merge": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/xliff-simple-merge/-/xliff-simple-merge-0.12.0.tgz", + "integrity": "sha512-sQsZVXx8fSGBWXEEoKNJRTaikmXnQpMflL6kYy5hWcz9JelmBOsHEHWE45mqlMpdyGY9BvroVzfOI4xDBpYNBg==", + "dev": true, + "dependencies": { + "commander": "~8.3.0", + "js-levenshtein": "~1.1.6", + "xmldoc": "~1.1.2" + }, + "bin": { + "xliff-simple-merge": "dist/src/index.js" + } + }, + "node_modules/xliff-simple-merge/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/xml_normalize": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/xml_normalize/-/xml_normalize-0.8.3.tgz", + "integrity": "sha512-+8iySCV39FYUd3DGqN0HkwfOTXSTTs3TxCJn7KS7if/6fDFpCMVg8RARBRmrZ5EDLBYSr3q6tMwKrdhrRUS7wg==", + "dev": true, + "dependencies": { + "commander": "~7.1.0", + "xmldoc": "~1.1.2" + }, + "bin": { + "xml_normalize": "dist/src/index.js" + } + }, + "node_modules/xml_normalize/node_modules/commander": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -23636,14 +23725,13 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "node_modules/xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", - "deprecated": "Deprecated due to CVE-2021-21366 resolved in 0.5.0", + "node_modules/xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", "dev": true, - "engines": { - "node": ">=0.1" + "dependencies": { + "sax": "^1.2.1" } }, "node_modules/xtend": { @@ -23679,8 +23767,7 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "1.10.2", @@ -24175,7 +24262,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "schema-utils": { "version": "3.1.1", @@ -24242,10 +24330,11 @@ } }, "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "dev": true, + "requires": {} } } }, @@ -24361,7 +24450,6 @@ "version": "13.3.4", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", - "dev": true, "requires": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -24376,10 +24464,9 @@ }, "dependencies": { "magic-string": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", - "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", - "dev": true, + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", + "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", "requires": { "sourcemap-codec": "^1.4.8" } @@ -24458,24 +24545,19 @@ } }, "@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", + "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.17.10", + "@jridgewell/gen-mapping": "^0.1.0", + "jsesc": "^2.5.1" } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -24534,7 +24616,6 @@ "version": "7.17.10", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", - "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", @@ -24557,7 +24638,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -24567,7 +24647,6 @@ "version": "7.17.10", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", - "dev": true, "requires": { "@babel/types": "^7.17.10", "@jridgewell/gen-mapping": "^0.1.0", @@ -24577,8 +24656,7 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -25187,9 +25265,9 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz", + "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" @@ -25741,6 +25819,13 @@ "postcss-value-parser": "^4.2.0" } }, + "@csstools/selector-specificity": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz", + "integrity": "sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw==", + "dev": true, + "requires": {} + }, "@cypress/request": { "version": "2.88.10", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", @@ -25806,19 +25891,19 @@ "dev": true }, "@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", + "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", + "espree": "^9.3.2", "globals": "^13.9.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { @@ -25845,9 +25930,9 @@ } }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", + "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -25883,9 +25968,9 @@ "dev": true }, "@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", "dev": true }, "@hapi/topo": { @@ -26448,49 +26533,50 @@ } }, "@jridgewell/gen-mapping": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.0.tgz", - "integrity": "sha512-YH+BnkvuCiPR+MUOY6JIArdTIGrRtsxnLaIxPRy4CpGJ/V6OO6Gq/1J+FJEc4j5e5h6Bcy3/K7prlMrm93BJoA==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "requires": { - "@jridgewell/set-array": "1.0.0", + "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@jridgewell/resolve-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", - "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==" }, "@jridgewell/set-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.0.0.tgz", - "integrity": "sha512-LcqVnHCjOAj8BTCtjpwYZCMTn4yArusbdObCVRUYvBHhrR5fVLVyENG+UVWM4T4H/ufv7NiBLdprllxWs/5PaQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==" }, "@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.12.tgz", + "integrity": "sha512-6GMdw8fZlZjs9CJONrWeWyjl8zYqbyOMSxS9FABnEw3i+wz99SESjWMWRRIsbIp8HVsMeXggi5b7+a9qO6W1fQ==", "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, "@ngtools/webpack": { "version": "13.3.3", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.3.tgz", "integrity": "sha512-O6EzafKfFuvI3Ju941u7ANs0mT7YDdChbVRhVECCPWOTm3Klr73js3bnCDzaJlxZNjzlG/KeUu5ghrhbMrHjSw==", - "dev": true + "dev": true, + "requires": {} }, "@nodelib/fs.scandir": { "version": "2.1.5", @@ -27101,9 +27187,9 @@ } }, "@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", + "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", "dev": true, "requires": { "@types/estree": "*", @@ -27181,9 +27267,9 @@ } }, "@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, "requires": { "@types/node": "*" @@ -27377,12 +27463,6 @@ "@types/node": "*" } }, - "@types/xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/@types/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-bVy7s0nvaR5D1mT1a8ZkByHWNOGb6Vn4yi5TWhEdmyKlAG+08SA7Md6+jH+tYmMLueAwNeWvHHpeKrr6S4c4BA==", - "dev": true - }, "@types/yargs": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", @@ -27423,32 +27503,41 @@ "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.23.0.tgz", + "integrity": "sha512-I+3YGQztH1DM9kgWzjslpZzJCBMRz0KhYG2WP62IwpooeZ1L6Qt0mNK8zs+uP+R2HOsr+TeDW35Pitc3PfVv8Q==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.23.0" }, "dependencies": { "@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", + "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0" } }, "@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", + "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", + "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -27457,40 +27546,31 @@ } }, "@typescript-eslint/utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", + "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/typescript-estree": "5.23.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", + "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/types": "5.23.0", "eslint-visitor-keys": "^3.0.0" } } } }, - "@typescript-eslint/experimental-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.21.0.tgz", - "integrity": "sha512-mzF6ert/6iQoESV0z9v5/mEaJRKL4fv68rHoZ6exM38xjxkw4MNx54B7ferrnMTM/GIRKLDaJ3JPRi+Dxa5Hlg==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.21.0" - } - }, "@typescript-eslint/parser": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", @@ -27501,59 +27581,16 @@ "@typescript-eslint/types": "5.22.0", "@typescript-eslint/typescript-estree": "5.22.0", "debug": "^4.3.2" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" - } - }, - "@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", + "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0" } }, "@typescript-eslint/type-utils": { @@ -27565,79 +27602,22 @@ "@typescript-eslint/utils": "5.22.0", "debug": "^4.3.2", "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" - } - }, - "@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" - } - } } }, "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", + "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", + "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/visitor-keys": "5.22.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -27646,26 +27626,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", + "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", + "@typescript-eslint/scope-manager": "5.22.0", + "@typescript-eslint/types": "5.22.0", + "@typescript-eslint/typescript-estree": "5.22.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", + "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.21.0", + "@typescript-eslint/types": "5.22.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -27887,13 +27867,15 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true + "dev": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "7.2.0", @@ -28031,7 +28013,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -28162,13 +28143,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", - "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", "dev": true, "requires": { - "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001332", + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -28272,6 +28253,72 @@ } } }, + "babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "peer": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "peer": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "peer": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "peer": true, + "requires": { + "semver": "^6.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "peer": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true + } + } + }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -28420,8 +28467,7 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "bl": { "version": "4.1.0", @@ -28650,7 +28696,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -28725,6 +28770,13 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "peer": true + }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -28832,9 +28884,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==" + "version": "1.0.30001339", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz", + "integrity": "sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ==" }, "caseless": { "version": "0.12.0", @@ -28874,7 +28926,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -28908,7 +28959,8 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "dev": true + "dev": true, + "requires": {} }, "cjs-module-lexer": { "version": "1.2.2", @@ -29080,13 +29132,15 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", - "dev": true + "dev": true, + "requires": {} }, "@angular/core": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", - "dev": true + "dev": true, + "requires": {} }, "source-map": { "version": "0.5.7", @@ -29496,12 +29550,12 @@ "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==" }, "core-js-compat": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", - "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.5.tgz", + "integrity": "sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==", "dev": true, "requires": { - "browserslist": "^4.20.2", + "browserslist": "^4.20.3", "semver": "7.0.0" }, "dependencies": { @@ -29689,7 +29743,8 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true + "dev": true, + "requires": {} }, "css-rule-stream": { "version": "1.1.0", @@ -29887,9 +29942,9 @@ }, "dependencies": { "@types/node": { - "version": "14.18.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", - "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", + "version": "14.18.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.17.tgz", + "integrity": "sha512-oajWz4kOajqpKJMPgnCvBajPq8QAvl2xIWoFjlAJPKGu6n7pjov5SxGE45a+0RxHDoo4ycOMoZw1SCOWtDERbw==", "dev": true }, "ansi-styles": { @@ -30322,9 +30377,9 @@ "dev": true }, "dayjs": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz", - "integrity": "sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", + "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==", "dev": true }, "debug": { @@ -30537,8 +30592,7 @@ "dependency-graph": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" }, "destroy": { "version": "1.2.0", @@ -30815,9 +30869,9 @@ } }, "electron-to-chromium": { - "version": "1.4.123", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.123.tgz", - "integrity": "sha512-0pHGE53WkYoFbsgwYcVKEpWa6jbzlvkohIEA2CUoZ9b5KC+w/zlMiQHvW/4IBcOh7YoEFqRNavgTk02TBoUTUw==" + "version": "1.4.137", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", + "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==" }, "emittery": { "version": "0.8.1", @@ -31322,9 +31376,9 @@ } }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", + "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -31372,7 +31426,8 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", - "dev": true + "dev": true, + "requires": {} }, "eslint-etc": { "version": "5.1.0", @@ -31528,13 +31583,13 @@ "dev": true }, "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", "dev": true, "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } }, @@ -31682,9 +31737,9 @@ } }, "express": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", - "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "requires": { "accepts": "~1.3.8", @@ -31930,7 +31985,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -32005,9 +32059,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", + "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", "dev": true }, "forever-agent": { @@ -32081,7 +32135,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { @@ -32240,7 +32293,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -32718,9 +32770,9 @@ "dev": true }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", + "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -32822,42 +32874,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -32931,12 +32947,6 @@ "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, "hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -33152,7 +33162,8 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true + "dev": true, + "requires": {} }, "ieee754": { "version": "1.2.1", @@ -33380,9 +33391,9 @@ "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, "ipaddr.js": { @@ -33411,7 +33422,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -33452,8 +33462,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "4.0.0", @@ -33471,7 +33480,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -33507,8 +33515,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-obj": { "version": "2.0.0", @@ -34547,7 +34554,8 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true + "dev": true, + "requires": {} }, "jest-preset-angular": { "version": "11.1.2", @@ -35345,6 +35353,12 @@ "nopt": "^5.0.0" } }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -36302,7 +36316,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -36347,9 +36360,9 @@ "dev": true }, "make-fetch-happen": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz", - "integrity": "sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.3.tgz", + "integrity": "sha512-s/UjmGjUHn9m52cctFhN2ITObbT+axoUhgeir8xGrOlPbKDyJsdhQzb8PGncPQQ28uduHybFJ6Iumy2OZnreXw==", "dev": true, "requires": { "agentkeepalive": "^4.2.1", @@ -36397,9 +36410,9 @@ "dev": true }, "cacache": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.6.tgz", - "integrity": "sha512-9a/MLxGaw3LEGes0HaPez2RgZWDV6X0jrgChsuxfEh8xoDoYGxaGrkMe7Dlyjrb655tA/b8fX0qlUg6Ii5MBvw==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz", + "integrity": "sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==", "dev": true, "requires": { "@npmcli/fs": "^2.1.0", @@ -36448,9 +36461,9 @@ } }, "lru-cache": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", - "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz", + "integrity": "sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==", "dev": true }, "ssri": { @@ -36818,9 +36831,9 @@ "dev": true }, "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true }, "natural-compare": { @@ -36871,6 +36884,59 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "ng-extract-i18n-merge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-1.4.0.tgz", + "integrity": "sha512-Nj2Q4rycroY9E7BB99rAMbn3fSAZVwiUO5ssUVHfQPps5ysfwQ7zv/4aqNbH2Sy45tZqGjbBkiaaAh2TiD1Mcw==", + "dev": true, + "requires": { + "@angular-devkit/architect": "^0.1301.0", + "@angular-devkit/core": "^13.0.0", + "@angular-devkit/schematics": "^13.0.0", + "@schematics/angular": "^13.0.0", + "xliff-simple-merge": "~0.12.0", + "xml_normalize": "~0.8.3", + "xmldoc": "~1.1.2" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.1301.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz", + "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.1.4", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz", + "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==", + "dev": true, + "requires": { + "ajv": "8.8.2", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + } + } + }, "ng-in-viewport": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", @@ -36887,31 +36953,6 @@ "tslib": "^2.0.0" } }, - "ngx-i18nsupport": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport/-/ngx-i18nsupport-0.17.1.tgz", - "integrity": "sha512-d8OCQs/XYBEI9qvztQyEkd8gEPFEBmyRg8UcriGQV8Ew1ujvrIieHxmX8YpDpFZKQ4ePextQGUSvjpGd2NauEQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "commander": "^2.15.1", - "he": "^1.1.1", - "ngx-i18nsupport-lib": "^1.10.2", - "request": "^2.85.0", - "rxjs": "^6.0.0" - } - }, - "ngx-i18nsupport-lib": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport-lib/-/ngx-i18nsupport-lib-1.10.2.tgz", - "integrity": "sha512-Z81I2/HUtZ/7X7C3sioJj/Zr/M0iQs0aR5EhYsrWTzdEy7fZWFVYabzzZs+8h6lhQ/4yIl+3sVOCBkI9BiUUEQ==", - "dev": true, - "requires": { - "@types/xmldom": "^0.1.29", - "tokenizr": "^1.3.4", - "xmldom": "^0.1.27" - } - }, "ngx-pipes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ngx-pipes/-/ngx-pipes-3.0.0.tgz", @@ -36976,9 +37017,9 @@ "dev": true }, "node-releases": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", - "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==" }, "nopt": { "version": "5.0.0", @@ -37003,8 +37044,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-range": { "version": "0.1.2", @@ -37152,12 +37192,6 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, "object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", @@ -37599,8 +37633,7 @@ "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pidtree": { "version": "0.5.0", @@ -37768,7 +37801,8 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz", "integrity": "sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==", - "dev": true + "dev": true, + "requires": {} }, "postcss-custom-properties": { "version": "12.1.7", @@ -37838,13 +37872,15 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true + "dev": true, + "requires": {} }, "postcss-gap-properties": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-image-set-function": { "version": "4.0.6", @@ -37870,7 +37906,8 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-lab-function": { "version": "4.2.0", @@ -37897,13 +37934,15 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true + "dev": true, + "requires": {} }, "postcss-media-minmax": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-media-query-parser": { "version": "0.2.3", @@ -37915,7 +37954,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -37947,11 +37987,12 @@ } }, "postcss-nesting": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.4.tgz", - "integrity": "sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA==", + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.5.tgz", + "integrity": "sha512-+NyBBE/wUcJ+NJgVd2FyKIZ414lul6ExqkOt1qXXw7oRzpQ0iT68cVpx+QfHh42QUMHXNoVLlN9InFY9XXK8ng==", "dev": true, "requires": { + "@csstools/selector-specificity": "1.0.0", "postcss-selector-parser": "^6.0.10" } }, @@ -37959,13 +38000,15 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", - "dev": true + "dev": true, + "requires": {} }, "postcss-page-break": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-place": { "version": "7.0.4", @@ -38018,9 +38061,9 @@ } }, "postcss-pseudo-class-any-link": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz", - "integrity": "sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.3.tgz", + "integrity": "sha512-I9Yp1VV2r8xFwg/JrnAlPCcKmutv6f6Ig6/CHFPqGJiDgYXM9C+0kgLfK4KOXbKNw+63QYl4agRUB0Wi9ftUIg==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.10" @@ -38030,7 +38073,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-resolve-nested-selector": { "version": "0.1.1", @@ -38042,13 +38086,15 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-scss": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", - "dev": true + "dev": true, + "requires": {} }, "postcss-selector-not": { "version": "5.0.0", @@ -38073,7 +38119,8 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz", "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", - "dev": true + "dev": true, + "requires": {} }, "postcss-value-parser": { "version": "4.2.0", @@ -38339,7 +38386,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "json-schema-traverse": { "version": "0.4.1", @@ -38500,7 +38548,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -38518,8 +38565,7 @@ "reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "regenerate": { "version": "1.4.2", @@ -38629,65 +38675,6 @@ } } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, "request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -39025,7 +39012,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "json-schema-traverse": { "version": "0.4.1", @@ -39054,7 +39042,6 @@ "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -39537,8 +39524,7 @@ "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "spawn-command": { "version": "0.0.2-1", @@ -39867,12 +39853,12 @@ "dev": true }, "postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "version": "8.4.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", + "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", "dev": true, "requires": { - "nanoid": "^3.3.1", + "nanoid": "^3.3.3", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -39893,7 +39879,8 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", - "dev": true + "dev": true, + "requires": {} }, "stylelint-config-recommended-scss": { "version": "5.0.2", @@ -40205,7 +40192,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "json-schema-traverse": { "version": "0.4.1", @@ -40333,7 +40321,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -40344,12 +40331,6 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, - "tokenizr": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.5.tgz", - "integrity": "sha512-DKlmhWK8Kz7xf6Mvu+QhE0hU3BqpYTEK7CtL3Xz8GfzaANTd3qzdxG3KTygjXETMZGMmyXNZnKpl3ZLCtAsfQw==", - "dev": true - }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -40499,6 +40480,113 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "dev": true, + "peer": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "peer": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "peer": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, "tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", @@ -40601,8 +40689,7 @@ "typescript": { "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", - "dev": true + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -40983,6 +41070,81 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true }, + "webpack": { + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "requires": {} + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "webpack-dev-middleware": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", @@ -41073,10 +41235,11 @@ } }, "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "dev": true, + "requires": {} } } }, @@ -41245,7 +41408,8 @@ "version": "7.5.7", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "dev": true + "dev": true, + "requires": {} }, "xdg-basedir": { "version": "4.0.0", @@ -41253,6 +41417,43 @@ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "dev": true }, + "xliff-simple-merge": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/xliff-simple-merge/-/xliff-simple-merge-0.12.0.tgz", + "integrity": "sha512-sQsZVXx8fSGBWXEEoKNJRTaikmXnQpMflL6kYy5hWcz9JelmBOsHEHWE45mqlMpdyGY9BvroVzfOI4xDBpYNBg==", + "dev": true, + "requires": { + "commander": "~8.3.0", + "js-levenshtein": "~1.1.6", + "xmldoc": "~1.1.2" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + } + } + }, + "xml_normalize": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/xml_normalize/-/xml_normalize-0.8.3.tgz", + "integrity": "sha512-+8iySCV39FYUd3DGqN0HkwfOTXSTTs3TxCJn7KS7if/6fDFpCMVg8RARBRmrZ5EDLBYSr3q6tMwKrdhrRUS7wg==", + "dev": true, + "requires": { + "commander": "~7.1.0", + "xmldoc": "~1.1.2" + }, + "dependencies": { + "commander": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", + "dev": true + } + } + }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -41265,11 +41466,14 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", - "dev": true + "xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dev": true, + "requires": { + "sax": "^1.2.1" + } }, "xtend": { "version": "4.0.2", @@ -41285,7 +41489,8 @@ "xterm-addon-fit": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", - "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==" + "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", + "requires": {} }, "y18n": { "version": "5.0.8", @@ -41295,8 +41500,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", diff --git a/modules/web/package.json b/modules/web/package.json index 5b5f847f9c95..264e4e6572c5 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -14,12 +14,9 @@ "scripts": { "start": "make serve", "start:https": "make serve-https", - "start:prod": "npm run ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", "start:prod:https": "npm run ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", - "build:prod": "scripts/build.sh", - "start:e2e": "concurrently \"make serve-backend\" \"npm run start:frontend\"", "check": "make check", "fix": "make fix", @@ -35,8 +32,9 @@ "test": "make test", "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", - "postinstall": "npm run ensure:version && ngcc", - "prepare": "husky install" + "postinstall": "ngcc", + "prepare": "cd ../../ && husky install modules/web/.husky", + "extract-i18n-merge": "ng run kubernetes-dashboard:extract-i18n-merge" }, "lint-staged": { "src/**/*.ts": [ @@ -148,7 +146,7 @@ "lodash": "4.17.21", "minimatch": "5.0.1", "minimist": "1.2.6", - "ngx-i18nsupport": "0.17.1", + "ng-extract-i18n-merge": "1.4.0", "node-gyp": "9.0.0", "q": "1.5.1", "raw-loader": "4.0.2", diff --git a/hack/scripts/pre-commit-i18n.sh b/modules/web/scripts/pre-commit-i18n.sh similarity index 100% rename from hack/scripts/pre-commit-i18n.sh rename to modules/web/scripts/pre-commit-i18n.sh From c2b4cd33ce9cefeaf3e597246e842c6995b943e5 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 17:22:04 +0200 Subject: [PATCH 064/162] Remove deprecated ngx-i18nsupport package and use ng-extract-i18n-merge instead --- modules/web/angular.json | 16 +- modules/web/i18n/de/messages.de.xlf | 7752 ++++------------ modules/web/i18n/es/messages.es.xlf | 7735 ++++------------ modules/web/i18n/fr/messages.fr.xlf | 7731 ++++------------ modules/web/i18n/ja/messages.ja.xlf | 7743 ++++------------ modules/web/i18n/ko/messages.ko.xlf | 7799 ++++------------ modules/web/i18n/messages.xlf | 6349 +++---------- modules/web/i18n/zh-Hans/messages.zh-Hans.xlf | 7681 ++++------------ .../i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf | 7837 ++++------------- modules/web/i18n/zh-Hant/messages.zh-Hant.xlf | 7821 ++++------------ modules/web/package.json | 19 +- modules/web/scripts/pre-commit-i18n.sh | 49 - modules/web/scripts/xliffmerge.sh | 38 - 13 files changed, 15686 insertions(+), 52884 deletions(-) delete mode 100755 modules/web/scripts/pre-commit-i18n.sh delete mode 100755 modules/web/scripts/xliffmerge.sh diff --git a/modules/web/angular.json b/modules/web/angular.json index 4def2fa8c565..aff44020978d 100644 --- a/modules/web/angular.json +++ b/modules/web/angular.json @@ -174,14 +174,14 @@ "format": "xlf", "outputPath": "i18n", "targetFiles": [ - "../de/messages.de.xlf", - "../es/messages.es.xlf", - "../fr/messages.fr.xlf", - "../ja/messages.ja.xlf", - "../ko/messages.ko.xlf", - "../zh-Hans/messages.zh-Hans.xlf", - "../zh-Hant/messages.zh-Hant.xlf", - "../zh-Hant-HK/messages.zh-Hant-HK.xlf" + "de/messages.de.xlf", + "es/messages.es.xlf", + "fr/messages.fr.xlf", + "ja/messages.ja.xlf", + "ko/messages.ko.xlf", + "zh-Hans/messages.zh-Hans.xlf", + "zh-Hant/messages.zh-Hant.xlf", + "zh-Hant-HK/messages.zh-Hant-HK.xlf" ] } } diff --git a/modules/web/i18n/de/messages.de.xlf b/modules/web/i18n/de/messages.de.xlf index 2ca1af9805bb..8ce96001ef08 100644 --- a/modules/web/i18n/de/messages.de.xlf +++ b/modules/web/i18n/de/messages.de.xlf @@ -2,6564 +2,2436 @@ - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Edit a resource - Ressource bearbeiten - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Create from file + Aus Datei erzeugen - - This action is equivalent to: - Diese Aktion ist äquivalent zu: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Default namespace + Default namespace - - Update - Aktualisieren - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Logs from + Logs von - - Restart a resource - Restart a resource - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + Namespace fallback list + Namespace fallback list - - This action is equivalent to: - This action is equivalent to: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Auto-refresh (every s.) + Automatisch aktualisieren (alle s.) - - Cancel - Abbrechen - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Resource Information + Ressource-Informationen - - Delete a resource - Ressource löschen - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + Ingress Class Name + Ingress Class Name - - Are you sure you want to delete  in namespace ? - - Sind Sie sicher, dass Sie - - im Namespace - - löschen möchten? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Number of pods + Anzahl Pods - - Delete - Löschen - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Refresh + Aktualisieren - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + is not unique + ist nicht eindeutig - - Size: B - Größe : B - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + Go to namespace Preparing file to download... Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - - - - Forbidden (403) - Verboten (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - - - - You do not have required permissions to access this resource. - Sie verfügen nicht über die notwendigen Berechtigungen, um auf dieses Ressource zuzugreifen. - - src/app/frontend/common/dialogs/download/template.html - 34 - - - - Save - Speichern - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - - - - Abort - Abbrechen - - src/app/frontend/common/dialogs/download/template.html - 48 - - - - Close - Schließen - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - - - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Age + Alter - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Service Name + Service Name - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Memory requirement (MiB) + Speicheranforderung (MiB) - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - + + Role Reference + Role-Referenzen - - Scale a resource - Ressource skalieren - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Endpoints + Endpoints - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + Parameter - - Desired replicas - Gewünschte Anzahl an Replikas - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Read Only Filesystem + Read Only Filesystem - - Actual replicas - Tatsächliche Anzahl an Replikas - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Partition + Partition - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Restart + Restart - - Trigger a - auslösen - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Cluster Role Bindings + Cluster Role Bindings - - will be triggered. - wird ausgelöst. - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Edit Namespace List + Edit Namespace List - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + New Replica Set + Neues Replica Set - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + Jeder Service Account verfügt über ein Secret mit einem gültigen Bearer Token, welches verwendet werden kann, um sich am Dashboard anzumelden. Um mehr über die Konfiguration und Nutzung von Bearer Tokens zu erfahren, konsultieren Sie den Abschnitt Authentifizierung. - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Non-resource URL + Nicht-Ressource URL - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Image: + Image: - - Workload Status - Status des Workloads - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + Mount Option(s) + Mount Option(s) Cron Jobs Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - + + Init images + Init Images - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - + + Ingresses + Ingresses - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Scale + Skalieren - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + Daemon Sets + Daemon Sets - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - + + Revision history limit + Revisionsverlaufslimit - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - + + Password + Kennwort - - Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - + + Labels limit + Labels-Limit - - Resource information - Ressourcen-Informationen - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + Data + Daten - - Workloads - Workloads - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Services + Services - - Config and Storage - Konfiguration und Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + UID + UID - - Create new resource - Neue Ressource erstellen - - src/app/frontend/chrome/template.html - 42 - + + Choose kubeconfig file + Kubeconfig-Datei auswählen - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + Volume Name + Volume Name - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63,65 - + + Hides all access denied warnings in the notification panel. + Verbirgt alle Zugriff verweigert Benachrichtigungen im Benachrichtigungsbereich. - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + Error + Error - - Metadata - Metadata - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Expand card + Expand card - - Name:  - Name:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + Memory + Speicher - - Namespace:  - Namespace:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Mount Path + Mount Path - - Age:  - Alter:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + CPU requirement (cores) + CPU-Anforderung (Kerne) - - Name - Name - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + TLS Secret + TLS Secret - - Namespace - Namespace - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + Image Pull Secret + Image Pull Secret - - Age - Alter - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + Strategy + Strategie - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - Labels - Labels - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + Volume Attributes + Volume Attributes - - Annotations - Annotations - - src/app/frontend/common/components/objectmeta/template.html - 88 - + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + Geben Sie den YAML- oder JSON-Datei an, welche die Ressource beschreibt, die im Namespace, welcher in der Datei referenziert wird, erzeugt werden soll. - - Show less - Weniger anzeigen - - src/app/frontend/common/components/chips/template.html - 55 - + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + Unsicherer Zugriff erkannt. Anmeldung nicht verfügbar. Greifen Sie auf das Dashboard gesichert per HTTPS zu oder nutzen Sie localhost. Mehr dazu können Sie hier lesen. - - Show all - Alles anzeigen - - src/app/frontend/common/components/chips/template.html - 57 - + + You do not have required permissions to access this resource. + Sie verfügen nicht über die notwendigen Berechtigungen, um auf dieses Ressource zuzugreifen. - - Filter - Filter - - src/app/frontend/common/components/list/filter/template.html - 29 - + + Reclaim policy + Reclaim Policy - - Filter objects by name - Objekte nach Namen filtern - - src/app/frontend/common/components/list/filter/template.html - 34 - + + Cluster name appears in the browser window title if it is set. + Der Name des Clusters taucht im Titel des Browser-Fensters auf, wenn er festgelegt wurde. - - Logs from - Logs von - - src/app/frontend/logs/template.html - 24 - + + Stateful Sets + Stateful Sets - - Containers - Container - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + About + Über - - Init Containers - Init-Container - - src/app/frontend/logs/template.html - 34 - + + Custom Resource Definitions + Custom Resource Definitions - - in - in - - src/app/frontend/logs/template.html - 43 - + + External Endpoints + Externe Endpoints - - Download logs - Logs herunterladen - - src/app/frontend/logs/template.html - 57 - + + Storage Class + Storage Class - - Invert colors - Farben umkehren - - src/app/frontend/logs/template.html - 131 - + + Available: + Verfügbar : - - Reduce font size - Textgröße reduzieren - - src/app/frontend/logs/template.html - 136 - + + Desired replicas + Gewünschte Anzahl an Replikas - - Show timestamps - Zeitstempel anzeigen - - src/app/frontend/logs/template.html - 141 - + + Edit resource + Ressource bearbeiten - - Auto-refresh (every s.) - Automatisch aktualisieren (alle s.) - - src/app/frontend/logs/template.html - 146 - + + Rolling update strategy + Strategie für Rolling Updates - - Show previous logs - Zeige vorherige Logs - - src/app/frontend/logs/template.html - 151 - + + Deploy + Deploy - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - + + Ingress Classes + Ingress Classes - - Pod Selector - Pod-Selektor - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + Failed: + Fehlgeschlagen: - - Policy Types - Policy-Typen - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + A secret with the specified name will be added to the cluster in the namespace. + Ein Secret mit dem angegebenen Namen wird dem Cluster im Namespace hinzugefügt. - - Ingress Rules - Ingress-Regeln - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + Revision history limit: + Revisionsverlaufslimit: - - Egress Rules - Egress-Regeln - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + The new namespace will be added to the cluster. + Der Namespace wird dem Cluster hinzugefügt. + + + Events + Events - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + + + + + - - Path - Path - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Min ready seconds + Minimale Sekunden in Bereitschaft - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Categories + Kategorien - - Path Type - Path Type - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Create from input + Aus Texteingabe erzeugen - - Service Name - Service Name - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + API Groups + API-Gruppen - - Service Port - Service Port - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + Die Beschreibung wird als Annotation an das Deployment angefügt und in den Applikationsdetails angezeigt. - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Volume ID + Volume ID - - Logs - Logs - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + Machine ID + Maschinen-ID - - Error - Error - - src/app/frontend/index.messages.ts - 32 - + + Memory requirement must be given as a valid number. + Speicheranforderung muss als gültige Zahl angegeben werden. - - Exec - Ausführen - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Exec Commands + Exec Commands - - Trigger - Auslösen - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Add namespaces... + Add namespaces... - - Scale - Skalieren - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + Das agegebene Image könnte Pull Secret Anmeldeinformationen benötigen, falls es privat ist. Sie können ein bestehendes Secret wählen oder ein Neues erzeugen. - - Unpin - Lösen - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + Umgebungsvariablen zur Verwendung im Container. Werte können mithilfe der Syntax $(VAR_NAME) auf andere Variablen verweisen. - - Pin - Befestigen - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Conditions + Bedingungen - - Restart - Restart - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + iSCSI target lun number + iSCSI target lun number - - Edit - Bearbeiten - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + Ein Applikationsname muss mit einem Kleinbuchstaben beginnen und darf ausschließlich Kleinbuchstaben, Ziffern und '-' zwischen Wörtern enthalten. - - There is nothing to display here - Es gibt hier nichts anzuzeigen - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Secrets + Secrets - - Network Policies - Network Policies - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Unsupported graph type . + Unsupported graph type . - - Roles - Rollen - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + Max Replicas + Max Replikas - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Commands + Commands - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - - - - API Group - API Group - - src/app/frontend/common/components/subject/template.html - 63 - - - - Workloads - Workloads - - - src/app/frontend/chrome/nav/template.html - 27 - - - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - - - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - - - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - - - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - - - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + Ein Deployment, welches die gewünschte Anzahl Pods über das Cluster verteilt sicherstellt, wird erzeugt. - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - + + Resource type + Ressourcentyp - - Replication Controllers - Replication Controllers - - - src/app/frontend/chrome/nav/template.html - 56 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + Bitte wählen Sie eine Kubeconfig-Datei, die verwendet werden kann, um auf das Cluster zuzugreifen. Um mehr über die Konfigurationsoption und die allgemeine Benutzung der Kubeconfig-Datei zu erfahren, konsultieren Sie den Abschnitt Zugang zu mehreren Clustern konfigurieren. - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - + + Seccomp Profile Type + Seccomp Profile Type - - Service - Service - - - src/app/frontend/chrome/nav/template.html - 67 - + + Cancel + Abbrechen - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - + + Target port must be an integer. + Ziel-Port muss ein ganzzahliger Wert sein. - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - + + Key + Key - - Config and Storage - Konfiguration und Datenspeicherung - - - src/app/frontend/chrome/nav/template.html - 88 - + + Metadata + Metadata - - Config Maps - Config Maps - - - src/app/frontend/chrome/nav/template.html - 94 - + + Updated: + Aktualisiert: - - Persistent Volume Claims - Persistent Volume Claims - - - src/app/frontend/chrome/nav/template.html - 100 - + + Server + Server - - Secrets - Secrets - - - src/app/frontend/chrome/nav/template.html - 106 - + + Service + Service - - Storage Classes - Storage Classes - - - src/app/frontend/chrome/nav/template.html - 110 - + + Resource Names + Ressourcenname - - Cluster - Cluster - - - src/app/frontend/chrome/nav/template.html - 116 - + + Logged in with auth header + Logged in with auth header - - Cluster Role Bindings - Cluster Role Bindings - - - src/app/frontend/chrome/nav/template.html - 120 - + + Parameters + Parameter - - Cluster Roles - Cluster Roles - - - src/app/frontend/chrome/nav/template.html - 125 - + + key + Key - - Events - Events - - src/app/frontend/chrome/nav/template.html - 130 - + + Inactive Jobs + Inaktive Jobs - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + bytes + bytes - - Namespaces - Namespaces - - - src/app/frontend/chrome/nav/template.html - 134 - + + QoS Class + QoS Class - - Network Policies - Network Policies - - - src/app/frontend/chrome/nav/template.html - 139 - + + Persistent Volume Claims + Persistent Volume Claims - - Nodes - Nodes - - - src/app/frontend/chrome/nav/template.html - 144 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Persistent Volumes - Persistent Volumes - - - src/app/frontend/chrome/nav/template.html - 148 - + + Old Replica Sets + Alte Replica Sets - - Role Bindings - Role Bindings - - - src/app/frontend/chrome/nav/template.html - 154 - + + Are you sure you want to delete in namespace ? + Sind Sie sicher, dass Sie im Namespace löschen möchten? - - Roles - Roles - - - src/app/frontend/chrome/nav/template.html - 160 - + + Memory limits (bytes) + Speicherlimit (Bytes) - - Service Accounts - Service Accounts - - - src/app/frontend/chrome/nav/template.html - 165 - + + Delete a resource + Ressource löschen - - Custom Resource Definitions - Custom Resource Definitions - - - src/app/frontend/chrome/nav/template.html - 173 - + + Versions + Versionen - - Plugins - Plugins + + + + + + - - src/app/frontend/chrome/nav/template.html - 184 - - - Settings - Einstellungen - - - src/app/frontend/chrome/nav/template.html - 192 - + + User + User - - About - Über - - - src/app/frontend/chrome/nav/template.html - 197 - + + Image Pull Secrets + Image Pull Secrets - - Resource Quotas - Ressourcen-Quotas - - src/app/frontend/common/components/quotas/template.html - 20 - + + Image Pull Secrets + Image Pull Secrets - - Status - Status - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Path Type + Path Type - - Restarts - Neustarts - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + Settings have changed since last reload + Einstellungen wurden seit dem letzten Neuladen verändert - - Resource Limits - Ressourcenlimits - - src/app/frontend/common/components/limits/template.html - 20 - + + Resources + Ressourcen - - Resource name - Ressourcenname - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Operating system + Betriebssystem - - Resource type - Ressourcentyp - - src/app/frontend/common/components/limits/template.html - 42 - + + Overview + Overview - - Default - Standard - - src/app/frontend/common/components/limits/template.html - 47 - + + Memory Usage (bytes) + Speichernutzung (Bytes) - - Default request - Standard-Request - - src/app/frontend/common/components/limits/template.html - 52 - + + Add Namespace + Add Namespace - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Persistent disk name + Persistent disk name - - Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Driver + Driver - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + All namespaces + Alle Namespaces Host links are external links that will be open in a new tab. Host links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + Version + Version - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Storage Classes + Storage Classes - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - + + Namespaces let you partition resources into logically named groups. + Namespaces ermöglichen es, Ressourcen in logisch benannte Gruppen zu unterteilen. - - Cluster IP - Cluster-IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + Pending: + Pending: - - Internal Endpoints - Interne Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Concurrency policy + Parallelitätsrichtlinie - - External Endpoints - Externe Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Termination Grace Period (Seconds) + Termination Grace Period (Seconds) - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Label Selector + Label Selektor - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + Ingress Classes + Ingress Classes - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - Sie können eine containerisierte App deployen, einen anderen Namespace auswählen oder - die Dashboard-Tour starten - open_in_new - um mehr zu erfahren. - - - src/app/frontend/common/components/zerostate/template.html - 26 - + + Succeeded + Erfolgreich - - Items:  - Elemente:  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Yes + Ja - - Host - Host - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + Parallelism + Parallelität - - Ports (Name, Port, Protocol) - Ports (Name, Port, Protokoll) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Language + Sprache - - unset - nicht festgelegt - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - - - - Events - Ereignisse - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - - - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - - - - Node - Node - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - - - - Ready - Bereit - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - - - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - + + Do you want to stay on current page and change namespace from to ? + Möchten Sie auf der aktuellen Seite verbleiben und den Namespace von zu ändern? - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - + + Source Type + Source Type - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - + + Unavailable: + Nicht verfügbar : - - Source - Quelle - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + CPU + CPU - - Object - Object - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + File System Type + File System Type Sub-object Sub-object - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - - - Count - Anzahl - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Cluster + Cluster - - First Seen - Zuerst gesehen - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Show all + Alles anzeigen - - Last Seen - Zuletzt gesehen - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Sign out + Sign out - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Running + Läuft - - Min Replicas - Min Replikas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Last transition time + Letzte Transitions-Zeit - - Max Replicas - Max Replikas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {Erweiterte Optionen ausblenden} other {Erweiterte Optionen anzeigen}} - - Reference - Referenz - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Total: + Gesamt : - - Horizontal Pod Autoscaler - Horizontal Pod Autoscaler - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + Suffix '' not recognized. + Suffix '' not recognized. - - Image:  - Image:  - - src/app/frontend/common/components/container/template.html - 19 - + + Port must be greater than 0. + Port muss größer als 0 sein. Image Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - - - Environment variable - Umgebungsvariable - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Reclaim Policy + Reclaim Policy - - bytes - bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - + + Name must be alphanumeric and may contain dashes. + Der Name muss aus alphanumerischen Zeichen bestehen und darf Bindestriche enthalten. - - Commands - Commands - - src/app/frontend/common/components/container/template.html - 170 - + + Token + Token - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - + + Max unavailable: + Maximal nicht verfügbar: - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - + + Strategy: + Strategie: - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - + + Close notifications panel + Close notifications panel - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - + + will be triggered. + wird ausgelöst. - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + Anzahl Sekunden zwischen der automatischen Aktualisierung jeder Ressource. Ein Wert von 0 deaktiviert die automatische Aktualisierung. - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - + + You can specify minimum CPU and memory requirements for the container. + Sie können die Minimalanforderungen an CPU und Speicher für den Container angeben. - - Conditions - Bedingungen - - src/app/frontend/common/components/condition/template.html - 20 - + + Reference + Referenz - - Type - Typ - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + Plural + Plural - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Exec into pod + In Pod ausführen - - Volume - Volume - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Label Value must not exceed 253 characters. + Der Label Wert sollte nicht länger als 254 Zeichen sein. - - Read Only - Read Only - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Actions + Actions - - Mount Path - Mount Path - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Proc Mount + Proc Mount - - Sub Path - Sub Path - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Read documentation + Dokumentation lesen - - Source Type - Source Type - - src/app/frontend/common/components/volumemount/template.html - 55 - + + List of namespaces that should be presented to user without namespace list privileges. + List of namespaces that should be presented to user without namespace list privileges. - - Source Name - Source Name - - src/app/frontend/common/components/volumemount/template.html - 60 - + + Resource Quotas + Ressourcen-Quotas - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Jobs + Jobs - - Last probe time - Letzte Überprüfungszeit - - src/app/frontend/common/components/condition/template.html - 52 - + + Max unavailable + Maximal nicht verfügbar - - Last transition time - Letzte Transitions-Zeit - - src/app/frontend/common/components/condition/template.html - 60 - + + Hosts open_in_new + Hosts open_in_new - - Reason - Grund - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Namespace + Namespace - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Resource auto-refresh time interval + Intervall der automatischen Aktualisierung von Ressourcen - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + Accepted Names + Akzeptierte Namen - - Storage Classes - Storage Classes - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Das Kubernetes-Dashboard wird ermöglicht durch die Dashboard Comnunity als Open-Source-Projekt. - - Provisioner - Provisioner - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + Run as User + Run as User - - Parameters - Parameter - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Name is required. + Ein Name wird benötigt. - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Started + Started - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Source Name + Source Name - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + Der Label Wert muss alphanumerisch und durch '.', '-' oder '_' getrennt sein. - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + Learn more open_in_new + Mehr erfahren open_in_new - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Learn more open_in_new + Mehr erfahren open_in_new - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Learn more open_in_new + Mehr erfahren open_in_new - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Learn more open_in_new + Mehr erfahren open_in_new - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Learn more open_in_new + Mehr erfahren open_in_new - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Abort + Abbrechen - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Name must be up to characters long. + Der Name darf bis zu Zeichen lang sein. - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + Name must be up to characters long. + Der Name darf bis zu Zeichen lang sein. - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + value + Wert - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + Object + Object - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Config Maps + Config Maps - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Min Replicas + Min Replikas - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Remove all notifications + Alle Benachrichtigungen löschen - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Container runtime version + Version der Container-Laufzeitumgebung - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Service Port + Service Port - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + Total + Gesamt - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Cluster Role Bindings + Cluster Role Bindings - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Active Jobs + Aktive Jobs - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + CPU requests (cores) + CPU-Reservierung (Kerne) - - Schedule - Planung - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - + + Failure Threshold + Failure Threshold - - Suspend - Anhalten - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - + + Volume Handle + Volume Handle - - Active - Aktiv - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Last Schedule - Letzte Ausführung - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - + + Show less + Weniger anzeigen - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - + + Run as privileged + Als priviligiert ausführen - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - + + Variable name must be a valid C identifier. + Der Variablenname muss ein gültiger C Bezeichner sein. - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - + + Selector + Selektor - - Events - Events - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - + + No + Nein - - Created - Erstellungszeitpunkt - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Local settings + Local settings - - Host - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Protocol is required. + Das Protokoll muss angegeben werden. - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + Desired: + Gewünscht: - - Plugins - Erweiterungen - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Session Affinity + Sitzungsaffinität - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + Container image is required + Ein Container-Image muss angegeben werden - - Dependencies - Abhängigkeiten - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + CPU requirement must be given as a valid number. + CPU-Anforderung muss als gültive Zahl angegeben werden. - - Message - Nachricht - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Service Port Number + Service Port Number - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - + + unset + nicht festgelegt - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - + + Resource Limits + Ressourcenlimits - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - + + This action is equivalent to: + This action is equivalent to: - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106,108 - + + Change the language of the dashboard + Ändern Sie die Sprache des Dashboards - - Kind:  - Art:  - - src/app/frontend/common/components/creator/template.html - 29 - + + Save + Speichern - - Controlled by - Kontrolliert von - - src/app/frontend/common/components/creator/template.html - 42 - + + Protocol + Protokoll - - Kind - Art - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + Init containers + Init containers - - CPU requests (cores) - CPU-Reservierung (Kerne) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + Exec + Ausführen - - CPU limits (cores) - CPU-Limits (Kerne) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Open notifications panel + Open notifications panel - - Memory requests (bytes) - Speicherreservierung (Bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + Replica Sets + Replica Sets - - Memory limits (bytes) - Speicherlimit (Bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + Waiting for more data to display chart... + Waiting for more data to display chart... - - Images - Images - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + Ein 'app'-Label mit dem angegeben Wert wird dem Deployment oder Service, der bereitgestellt wird angefügt. - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + Number of pods must be a positive integer + Anzahl Pods muss ein positiver ganzzahliger Wert sein - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Run command arguments + Parameters des auszuführenden Kommandos - - Group - Gruppe - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Can't find plugin "" + Can't find plugin "" - - Full Name - Vollständiger Name - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + Last Seen + Zuletzt gesehen - - Namespaced - Namespace-gebunden - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Port must be an integer. + Post muss ein ganzzahliger Wert sein. - - Objects - Objekte - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Choose YAML or JSON file + YAML- oder JSON-Datei auswählen - - No resources found in the selected namespace. - Im ausgewählten Namespace wurden keine Ressourcen gefunden. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Available + Verfügbar - - Versions - Versionen - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Node + Node - - Served - Ausgeliefert - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Schedule: + Planung: + + + Update + Aktualisieren + + + Arguments + Arguments + + + Dependencies + Abhängigkeiten + + + Role Bindings + Role Bindings + + + Config and Storage + Konfiguration und Storage + + + Probe Period (Seconds) + Probe Period (Seconds) + + + Scale resource + Ressource skalieren - - Storage - Speicher - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Port must be less than 65536. + Port muss kleiner als 65536 sein. - - Namespaces - Namespace - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Readiness Probe + Readiness Probe - - Phase - Phase - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + CPU limits (cores) + CPU-Limits (Kerne) - - Persistent Volumes - Persistent Volumes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Images + Images - - Capacity - Kapazität - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Skip + Überspringen - - Access Modes - Access Modes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Created + Erstellungszeitpunkt - - Reclaim Policy - Reclaim Policy - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Namespace that should be selected by default after logging in. + Namespace that should be selected by default after logging in. - - Claim - Claim - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Deployment or service with this name already exists within namespace. + Ein Deployment oder Service mit dem angegebenen Namen existiert bereits in diesem Namespace. - - Storage Class + + Storage class Storage Class - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - - - Pods status - Status des Pods - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - + + Role Bindings + Role Bindings - - Running:  - Läuft:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Pin resource + Pin resource - - Succeeded:  - Erfolgreich:  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Config Maps + Config Maps - - Pending:  - Ausstehend:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Create a new namespace... + Neuen Namespace erzeugen... - - Failed:  - Fehlgeschlagen:  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. - - Desired:  - Gewünscht:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Completions: + Abschlüsse: - - Running - Läuft - - src/app/frontend/common/components/podstatus/template.html - 63 - + + in namespace will be restarted. + in namespace will be restarted. - - Succeeded - Erfolgreich - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Starting deadline seconds + Starting deadline in Sekunden + + + Volume + Volume Pending Ausstehend - - src/app/frontend/common/components/podstatus/template.html - 75 - - - - Failed - Fehlgeschlagen - - src/app/frontend/common/components/podstatus/template.html - 82 - - - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - + + Memory requests (bytes) + Speicherreservierung (Bytes) - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - + + Create new resource + Neue Ressource erstellen - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - + + Unknown + Unknown - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - + + Pin + Befestigen - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - + + This action is equivalent to: + Diese Aktion ist äquivalent zu: - - Desired - Gewünscht - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Age: + Alter: - - CPU Usage (cores) - CPU-Nutzung (Kerne) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + Edit a resource + Ressource bearbeiten - - Memory Usage (bytes) - Speichernutzung (Bytes) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Roles + Roles - - Namespace conflict - Namespace-Konflikt - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Do you want to save them anyways? + Wollen Sie sie trotzdem speichern? - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + Access modes + Zugriffsarten - - Do you want to stay on current page and change namespace from to ? - - Möchten Sie auf der aktuellen Seite verbleiben und den Namespace von zu ändern? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Default request + Standard-Request - - Yes - Ja - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Search + Suchen - - No - Nein - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Actual replicas + Tatsächliche Anzahl an Replikas - - Select namespace... - Namespace auswählen... - - src/app/frontend/common/components/namespace/template.html - 24 - + + Secrets + Secrets - - All namespaces - Alle Namespaces - - src/app/frontend/common/components/namespace/template.html - 33 - + + Kind: + Art: - - NAMESPACES - NAMESPACES - - src/app/frontend/common/components/namespace/template.html - 34 - + + Namespaces + Namespaces Rules Regeln - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - - - - Resources - Ressourcen - - src/app/frontend/common/components/policyrule/template.html - 36 - - - - Non-resource URL - Nicht-Ressource URL - - src/app/frontend/common/components/policyrule/template.html - 46 - - - - Resource Names - Ressourcenname - - src/app/frontend/common/components/policyrule/template.html - 56 - - - Verbs - Verben - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Claim + Claim - - API Groups - API-Gruppen - - src/app/frontend/common/components/policyrule/template.html - 76 - + + iSCSI Qualified Name + iSCSI Qualified Name - - HTTP Healthcheck URI - HTTP Healthcheck URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Parallelism: + Parallelität: - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Environment variables + Umgebungsvariablen - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - + + Desired + Gewünscht - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Cluster Roles + Cluster Roles Delete resource Ressource löschen - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - - - - Edit resource - Ressource bearbeiten - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - - - - Scale resource - Ressource skalieren - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - - - - View logs - Logs ansehen - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - - - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - - - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - - - - Exec into pod - In Pod ausführen - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - - - - Trigger resource - Ressource triggern - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + Architecture + Architektur - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im Namespace, der in der Datei referenziert wird, erstellt werden soll. - - No resources found. - Es wurden keine Ressourcen gefunden. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + Reason + Grund - - Read documentation - Dokumentation lesen - - src/app/frontend/about/actionbar/template.html - 24 - + + Logs + Logs - - Provide feedback - Feedback geben - - src/app/frontend/about/actionbar/template.html - 35 - + + General-purpose web UI for Kubernetes clusters + Allgemeine Web-Benutzeroberfläche für Kubernetes-Cluster - - Resource Information - Ressource-Informationen - - src/app/frontend/crd/detail/template.html - 22 - + + About + Über - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - + + Description + Beschreibung - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - + + Settings + Settings - - Subresources - Sub-Ressourcen - - src/app/frontend/crd/detail/template.html - 47 - + + Controlled by + Kontrolliert von - - Accepted Names - Akzeptierte Namen - - src/app/frontend/crd/detail/template.html - 55 - + + SE Linux Role + SE Linux Role - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - + + Trigger resource + Ressource triggern + + + Workload Status + Status des Workloads Singular Singular - - src/app/frontend/crd/detail/template.html - 67 - - - - List Kind - Listen-Typ - - src/app/frontend/crd/detail/template.html - 77 - - - - Short Names - Abkürzungen - - src/app/frontend/crd/detail/template.html - 82 - - - Categories - Kategorien - - src/app/frontend/crd/detail/template.html - 87 - + + Access Modes + Access Modes - - About - Über - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + SE Linux Level + SE Linux Level - - General-purpose web UI for Kubernetes clusters - Allgemeine Web-Benutzeroberfläche für Kubernetes-Cluster - - src/app/frontend/about/template.html - 30 - + + Running: + Läuft: - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Das Kubernetes-Dashboard wird ermöglicht durch die Dashboard - Comnunity als - Open-Source-Projekt. - - - src/app/frontend/about/template.html - 37 - + + Keyring + Keyring - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + IP + IP - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + HTTP Healthcheck URI + HTTP Healthcheck URI - - Nodes - Nodes - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + Environment Variables + Environment Variables - - Search - Suchen - - src/app/frontend/chrome/search/template.html - 29 - + + Addresses + Adressen - - Remove all notifications - Alle Benachrichtigungen löschen - - src/app/frontend/chrome/notifications/template.html - 71 - + + Pods + Pods - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + Sign in + Sign in - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - + + Username + Benutzername - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - + + Upload + Hochladen - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - + + IP: + IP: - - Role Reference - Role-Referenzen - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Taints + Taints - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Memory requirement must be given as a positive number. + Speicheranforderung muss als postive Zahl angegeben werden. - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Search for + Search for - - Basic - Basic - - src/app/frontend/login/template.html - 36 - + + Cron Jobs + Cron Jobs - - Token - Token - - src/app/frontend/login/template.html - 38 - + + Size: B + Größe : B - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - Bitte wählen Sie eine Kubeconfig-Datei, die verwendet werden kann, um auf das Cluster zuzugreifen. Um mehr über die Konfigurationsoption und die allgemeine Benutzung der Kubeconfig-Datei zu erfahren, konsultieren Sie den Abschnitt Zugang zu mehreren Clustern konfigurieren. - - - src/app/frontend/login/template.html - 44 - + + Choose color theme of the dashboard + Choose color theme of the dashboard - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - Sellen Sie sicher, dass die Unterstützung für Basic Authentication für das Cluster aktiviert ist. Um mehr über die Konfiguration von Basic Authentication zu erfahren, konsultieren Sie die Abschnitte Authentifizierung und ABAC-Modus. - - - src/app/frontend/login/template.html - 51 - + + Filter objects by name + Objekte nach Namen filtern - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - Jeder Service Account verfügt über ein Secret mit einem gültigen Bearer Token, welches verwendet werden kann, um sich am Dashboard anzumelden. Um mehr über die Konfiguration und Nutzung von Bearer Tokens zu erfahren, konsultieren Sie den Abschnitt Authentifizierung. - - - src/app/frontend/login/template.html - 58 - + + Schedule + Planung Enter token Token eingeben - - src/app/frontend/login/template.html - 74 - - - Username - Benutzername - - src/app/frontend/login/template.html - 87 - + + Allow Privilege Escalation + Allow Privilege Escalation - - Password - Kennwort - - src/app/frontend/login/template.html - 98 - + + Labels + Labels - - Choose kubeconfig file - Kubeconfig-Datei auswählen - - src/app/frontend/login/template.html - 107 - + + Resource information + Ressourcen-Informationen - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - Unsicherer Zugriff erkannt. Anmeldung nicht verfügbar. Greifen Sie auf das Dashboard gesichert per HTTPS zu oder nutzen Sie localhost. Mehr dazu können Sie - - hier - lesen. - - - src/app/frontend/login/template.html - 117 - + + Target port must be less than 65536. + Ziel-Port muss kleiner als 65536 sein. - - Sign in - - Anmelden - - - src/app/frontend/login/template.html - 133 - + + Invert colors + Farben umkehren - - Skip - - Überspringen - - - src/app/frontend/login/template.html - 142 - + + Horizontal Pod Autoscaler + Horizontal Pod Autoscaler - - Create from input - Aus Texteingabe erzeugen - - src/app/frontend/create/template.html - 20 - + + Scope + Scope - - Create from file - Aus Datei erzeugen - - src/app/frontend/create/template.html - 24 - + + Data is required. + Daten werden benötigt. - - Create from form - Aus Formular erzeugen - - src/app/frontend/create/template.html - 28 - + + Processes in privileged containers are equivalent to processes running as root on the host. + Prozesse in privilegierten Containern entsprechen Prozessen, die als root auf dem Host ausgeführt werden. - - Shell in in - - Shell in - - - - - - in - - - src/app/frontend/shell/template.html - 22 - + + Default + Standard + + + Deployments + Deployments + + + Status + Status + + + Egress Rules + Egress-Regeln + + + Unavailable + Nicht verfügbar - - Create a new namespace - Neuen Namespace erzeugen - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Kubeconfig + Kubeconfig - - The new namespace will be added to the cluster. - Der Namespace wird dem Cluster hinzugefügt. - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Create + Erzeugen - - Namespace name - Namespace-Name - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + Sie können eine containerisierte App deployen, einen anderen Namespace auswählen oder die Dashboard-Tour starten open_in_new um mehr zu erfahren. - - Name is required. - Ein Name wird benötigt. - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Create a new secret... + Neues Secret erzeugen... - - Create a new image pull secret - Neues Image Pull Secert erzeugen - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Provide feedback + Feedback geben - - The new secret will be added to the cluster - Das neue Secret wird dem Cluster hinzugefügt - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Events + Ereignisse - - Secret name - Secret-Name - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + Events + Events - - Name must be up to characters long. - Der Name darf bis zu Zeichen lang sein. - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Storage + Speicher - - Name must be alphanumeric and may contain dashes. - Der Name muss aus alphanumerischen Zeichen bestehen und darf Bindestriche enthalten. - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Suspend + Anhalten - - Go to namespace - Go to namespace - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Add + Add - - A namespace with the specified name will be added to the cluster. - Ein Namespace mit dem angegeben Namen wird dem Cluster hinzugefügt. - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + No namespaces selected + No namespaces selected - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67,69 - + + Select namespace... + Namespace auswählen... - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Monitors + Monitors - - Create - Erzeugen - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - + + Ingresses + Ingresses - - Name must be up to characters long. - Der Name darf bis zu Zeichen lang sein. - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Secret name + Secret-Name - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - Der Name muss im Format der DNS Domain Name Syntax sein (z.B. new.image-pull.secret). - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Shell + Shell - - A secret with the specified name will be added to the cluster in the namespace. - Ein Secret mit dem angegebenen Namen wird dem Cluster im Namespace hinzugefügt. - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. + Wahlweise kann ein interner oder externer Service definiert werden, der einen eingehenden Port auf einen Ziel-Port des Containers abbildet. - - Data is required. - Daten werden benötigt. - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + Target World Wide Names + Target World Wide Names - - Data must be Base64 encoded. - Daten müssen Base64-codiert sein. - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Target portal + Target portal - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - Legen Sie die Daten fest, die das Secret beinhalten soll. Der Wert entspricht dem Base64-kodierten Inhalt einer .dockercfg-Datei. - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - App name - Applikationsname - - src/app/frontend/create/from/form/template.html - 23 - + + Jobs + Jobs - - Deployment or service with this name already exists within namespace. - Ein Deployment oder Service mit dem angegebenen Namen existiert bereits in diesem Namespace. - - src/app/frontend/create/from/form/template.html - 35 - + + Service + Service - - Application name is required. - Ein Applikationsname wird benötigt. - - src/app/frontend/create/from/form/template.html - 39 - + + + + + + + + + - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - Ein Applikationsname muss mit einem Kleinbuchstaben beginnen und darf ausschließlich Kleinbuchstaben, Ziffern und '-' zwischen Wörtern enthalten. - - src/app/frontend/create/from/form/template.html - 41 - + + Liveness Probe + Liveness Probe - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - Ein 'app'-Label mit dem angegeben Wert wird dem Deployment oder Service, der bereitgestellt wird angefügt. - - src/app/frontend/create/from/form/template.html - 48 - + + Exit Code + Exit Code - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Supplemental Groups + Supplemental Groups - - Container image - Container-Image - - src/app/frontend/create/from/form/template.html - 63 - + + Subjects + Subjects - - Container image is required - Ein Container-Image muss angegeben werden - - src/app/frontend/create/from/form/template.html - 68 - + + Minimize card + Minimize card - - Container image is invalid: - Das angegebene Container-Image ist ungültig: - - - src/app/frontend/create/from/form/template.html - 70 - + + Create a new image pull secret + Neues Image Pull Secert erzeugen - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - Geben Sie die URL eines öffentlichen Images in einer beliebigen Registry oder ein privates Image, welches auf Docker Hub oder der Google Container Registry zu finden ist. - - src/app/frontend/create/from/form/template.html - 76 - + + Policy Types + Policy-Typen - - Number of pods - Anzahl Pods - - src/app/frontend/create/from/form/template.html - 93 - + + Windows Run as User + Windows Run as User - - Number of pods is required - Anzahl Pods wird benötigt - - src/app/frontend/create/from/form/template.html - 99 - + + Show timestamps + Zeitstempel anzeigen - - Number of pods must be a positive integer - Anzahl Pods muss ein positiver ganzzahliger Wert sein - - src/app/frontend/create/from/form/template.html - 101 - + + Namespace name + Namespace-Name - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - Die Einstellung einer hohen Anzahl Pods kann zu Performance-Problemen des Clusters und der grafischen Oberfläche des Dashboards führen. - - - src/app/frontend/create/from/form/template.html - 104 - + + Path + Path - - A Deployment will be created to maintain the desired number of pods across your cluster. - Ein Deployment, welches die gewünschte Anzahl Pods über das Cluster verteilt sicherstellt, wird erzeugt. - - src/app/frontend/create/from/form/template.html - 109 - + + Create a new namespace + Neuen Namespace erzeugen - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - Wahlweise kann ein interner oder externer Service definiert werden, der einen eingehenden Port auf einen Ziel-Port des Containers abbildet. - - src/app/frontend/create/from/form/template.html - 129 - + + Unpin resource + Unpin resource - - Description - Beschreibung - - src/app/frontend/create/from/form/template.html - 172 - + + Port + Port - - The description will be added as an annotation to the Deployment and displayed in the application's details. - - Die Beschreibung wird als Annotation an das Deployment angefügt und in den Applikationsdetails angezeigt. - - - src/app/frontend/create/from/form/template.html - 175 - + + Dropped Capabilities + Dropped Capabilities - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - Die angegebenen Labels werden auf die erstellten Deployments, den Service (falls vorhanden) und die Pods angewendet. Zu den gängigen Labels gehören Release, Environment, Ebene, Partition und Track. - - src/app/frontend/create/from/form/template.html - 188 - + + Subresources + Sub-Ressourcen - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Succeeded: + Succeeded: - - Create a new namespace... - - Neuen Namespace erzeugen... - - - src/app/frontend/create/from/form/template.html - 151 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - Namespaces let you partition resources into logically named groups. - Namespaces ermöglichen es, Ressourcen in logisch benannte Gruppen zu unterteilen. - - src/app/frontend/create/from/form/template.html - 155 - + + Invalid protocol. + Ungültiges Protokoll. - - Create a new secret... - - Neues Secret erzeugen... - - - src/app/frontend/create/from/form/template.html - 209 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - Image Pull Secret - Image Pull Secret - - src/app/frontend/create/from/form/template.html - 204 - + + The new secret will be added to the cluster + Das neue Secret wird dem Cluster hinzugefügt - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - Das agegebene Image könnte Pull Secret Anmeldeinformationen benötigen, falls es privat ist. Sie können ein bestehendes Secret wählen oder ein Neues erzeugen. - - src/app/frontend/create/from/form/template.html - 213 - + + Pending: + Ausstehend: - - CPU requirement (cores) - CPU-Anforderung (Kerne) - - src/app/frontend/create/from/form/template.html - 230 - + + Cluster + Cluster - - CPU requirement must be given as a positive number. - CPU-Anforderung muss als postive Ganzzahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 236 - + + Suspend: + Anhalten: - - CPU requirement must be given as a valid number. - CPU-Anforderung muss als gültive Zahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 240 - + + Security Context + Security Context - - Memory requirement (MiB) - Speicheranforderung (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + TCP Socket + TCP Socket - - Memory requirement must be given as a positive number. - Speicheranforderung muss als postive Zahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 254 - + + Persistent Volumes + Persistent Volumes - - Memory requirement must be given as a valid number. - Speicheranforderung muss als gültige Zahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 258 - + + System information + Systeminformation - - You can specify minimum CPU and memory requirements for the container. - Sie können die Minimalanforderungen an CPU und Speicher für den Container angeben. - - src/app/frontend/create/from/form/template.html - 264 - + + Min ready seconds: + Minimale Sekunden in Bereitschaft: - - Run command - Kommando ausführen - - src/app/frontend/create/from/form/template.html - 279 - + + Ready + Bereit - - Run command arguments - Parameters des auszuführenden Kommandos - - src/app/frontend/create/from/form/template.html - 285 - + + HTTP Headers + HTTP Headers - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - Standardmäßig führen Ihre Container das Standard Einstiegspunktkommand des ausgewählten Images aus. Sie können die Befehlsoptionen verwenden, um die Standardeinstellung zu überschreiben. - - src/app/frontend/create/from/form/template.html - 291 - + + Sub Path + Sub Path - - Run as privileged - Als priviligiert ausführen - - src/app/frontend/create/from/form/template.html - 307 - + + Service Accounts + Service Accounts - - Processes in privileged containers are equivalent to processes running as root on the host. - Prozesse in privilegierten Containern entsprechen Prozessen, die als root auf dem Host ausgeführt werden. - - src/app/frontend/create/from/form/template.html - 310 - + + kubelet version + Kubelet-Version - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - Umgebungsvariablen zur Verwendung im Container. Werte können mithilfe der Syntax $(VAR_NAME) auf andere Variablen verweisen. - - src/app/frontend/create/from/form/template.html - 324 - + + Items: + Elemente: - - Deploy - - Deploy - - src/app/frontend/create/from/form/template.html - 343 - + + Network Policies + Network Policies - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + Value + Wert - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {Erweiterte Optionen ausblenden} other {Erweiterte Optionen anzeigen}} - - src/app/frontend/create/from/form/template.html - 367 - + + API Group + API Group - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + Standardmäßig führen Ihre Container das Standard Einstiegspunktkommand des ausgewählten Images aus. Sie können die Befehlsoptionen verwenden, um die Standardeinstellung zu überschreiben. - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im Namespace, der in der Datei referenziert wird, erstellt werden soll. - - src/app/frontend/create/from/input/template.html - 19 - + + Ports (Name, Port, Protocol) + Ports (Name, Port, Protokoll) - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. - - src/app/frontend/create/from/input/template.html - 23 - + + Target port cannot be empty. + Ziel-Port kann nicht weggelassen werden. - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - + + Kind + Art - - Upload - - Hochladen - - src/app/frontend/create/from/input/template.html - 40 - + + Host + Host - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - Geben Sie den YAML- oder JSON-Datei an, welche die Ressource beschreibt, die im Namespace, welcher in der Datei referenziert wird, erzeugt werden soll. - - src/app/frontend/create/from/file/template.html - 19 - + + Lun number + Lun number - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - YAML- oder JSON-Datei auswählen, welche die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. - - src/app/frontend/create/from/file/template.html - 23 - + + Pod Selector + Pod-Selektor - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - + + Sign in + Anmelden - - Choose YAML or JSON file - YAML- oder JSON-Datei auswählen - - src/app/frontend/create/from/file/template.html - 35 - + + List Kind + Listen-Typ - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Run command + Kommando ausführen - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Port cannot be empty. + Port kann nicht weggelassen werden. - - Environment variables - Umgebungsvariablen - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Quantity + Anzahl - - Variable name must be a valid C identifier. - Der Variablenname muss ein gültiger C Bezeichner sein. - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + Logged in with token + Logged in with token - - Value - Wert - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + Completions + Abschlüsse - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + View logs + Logs ansehen - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + Provider ID + Provider ID - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + Pod CIDR + CIDR des Pods - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Kernel version + Kernel-Version - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Persistent Volumes + Persistent Volumes - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Containers + Container - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Workloads + Workloads - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Container image + Container-Image - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + SE Linux User + SE Linux User - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Served + Ausgeliefert - - Port - Port - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Plugins + Erweiterungen - - Port must be an integer. - Post muss ein ganzzahliger Wert sein. - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Name: + Name: - - Port cannot be empty. - Port kann nicht weggelassen werden. - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Scale a resource + Ressource skalieren - - Port must be greater than 0. - Port muss größer als 0 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Resource name + Ressourcenname - - Port must be less than 65536. - Port muss kleiner als 65536 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Application name is required. + Ein Applikationsname wird benötigt. + + + Full Name + Vollständiger Name Target port Ziel-Port - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - Target port must be an integer. - Ziel-Port muss ein ganzzahliger Wert sein. - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Cluster IP + Cluster-IP - - Target port cannot be empty. - Ziel-Port kann nicht weggelassen werden. - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + There is nothing to display here + Es gibt hier nichts anzuzeigen - - Target port must be greater than 0. - Ziel-Port muss größer als 0 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Initial Delay (Seconds) + Initial Delay (Seconds) - - Target port must be less than 65536. - Ziel-Port muss kleiner als 65536 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Short Names + Abkürzungen - - Protocol - Protokoll - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Delete + Löschen - - Protocol is required. - Das Protokoll muss angegeben werden. - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Namespaces + Namespace - - Invalid protocol. - Ungültiges Protokoll. - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Internal Endpoints + Interne Endpoints - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + Label Key Namen dürfen ausschließlich aus alphanumerischen Zeichen, getrennt durch '-', '_' oder '.' enthalten, wahlweise mit einem DNS Subdomain Namen und '/' als Präfix. + + + Pool + Pool + + + Theme + Theme + + + Logs from to UTC + Logs from to UTC - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + in + in - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + Services + Services - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Max number of items that can be displayed on every list view. + Maximale Anzahl an Einträgen, die in jeder Listenansicht zeitgleich sichtbar sind. - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Unschedulable + Nicht planbar - - key - Key - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Max surge: + Maximaler Anstieg: - - is not unique - - ist nicht eindeutig - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + Success Threshold + Success Threshold - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - Das Prefix ist kein gültiger DNS Subdomain-Prefix (z.B. meine-domain.com). - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Host + Host - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - Label Key Namen dürfen ausschließlich aus alphanumerischen Zeichen, getrennt durch '-', '_' oder '.' enthalten, wahlweise mit einem DNS Subdomain Namen und '/' als Präfix. - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Restarts + Neustarts - - Prefix should not exceed 253 characters. - Das Präfix sollte nicht länger als 253 Zeichen sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Custom Resource Definitions + Custom Resource Definitions - - Label Key name should not exceed 63 characters. - Der Label Key Name sollte nicht länger als 63 Zeichen sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Settings + Einstellungen - - value - Wert - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Updated + Aktualisiert - - Label value must be alphanumeric separated by '.' , '-' or '_'. - Der Label Wert muss alphanumerisch und durch '.', '-' oder '_' getrennt sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Failed + Fehlgeschlagen - - Label Value must not exceed 253 characters. - Der Label Wert sollte nicht länger als 254 Zeichen sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Shell in in + Shell in in - - Pod CIDR - CIDR des Pods - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Init Containers + Init-Container - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Plugins + Plugins - - Unschedulable - Nicht planbar - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + There is no data to display. + Keine Daten zum anzeigen vorhanden. - - Addresses - Adressen - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Default service account + Default service account - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Config and Storage + Konfiguration und Datenspeicherung - - System information - Systeminformation - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Privileged + Privileged - - Machine ID - Maschinen-ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Trigger + Auslösen - - System UUID - UUID des Systems - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Active Jobs: + Aktive Jobs : - - Boot ID - Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - + + Signal + Signal - - Kernel version - Kernel-Version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - + + Unpin + Lösen - - OS Image - Betriebssystem - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Network Policies + Network Policies - - Container runtime version - Version der Container-Laufzeitumgebung - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Filesystem type + Filesystem type - - kubelet version - Kubelet-Version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Logs auto-refresh time interval + Intervall der automatischen Aktualisierung der Logs kube-proxy version kube-proxy-Version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - - - Operating system - Betriebssystem - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Run as Non-Root + Run as Non-Root - - Architecture - Architektur - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + SE Linux Type + SE Linux Type - - Allocation - Zuordnung - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Objects + Objekte - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + Die Einstellung einer hohen Anzahl Pods kann zu Performance-Problemen des Clusters und der grafischen Oberfläche des Dashboards führen. - - Memory - Speicher - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Reclaim policy - Reclaim Policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - + + Namespace: + Namespace: - - Storage class - Storage Class - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + NAMESPACES + NAMESPACES - - Mount Option(s) - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Edit + Bearbeiten - - Access modes - Zugriffsarten - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + Pods: + Pods: - - Quantity - Anzahl - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + Default Backend + Default Backend - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + Legen Sie die Daten fest, die das Secret beinhalten soll. Der Wert entspricht dem Base64-kodierten Inhalt einer .dockercfg-Datei. - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Preview + Preview - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + Cancel + Cancel - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Disable access denied notification + Zugriff verweigert Benachrichtigungen deaktivieren - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Nodes + Nodes - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec + + + Endpoint links are external links that will be open in a new tab. + Endpoint links are external links that will be open in a new tab. + + + Last probe time + Letzte Überprüfungszeit + + + Secret reference name + Secret reference name Dataset name Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Label Key name should not exceed 63 characters. + Der Label Key Name sollte nicht länger als 63 Zeichen sein. + + + Run as Group + Run as Group + + + Pods status + Status des Pods + + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. + + + Close + Schließen + + + No resources found in the selected namespace. + Im ausgewählten Namespace wurden keine Ressourcen gefunden. - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Capacity + Kapazität - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Data must be Base64 encoded. + Daten müssen Base64-codiert sein. - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Running: + Running: - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Service Accounts + Service Accounts - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Workloads + Workloads - - Parameter - Parameter - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + Sellen Sie sicher, dass die Unterstützung für Basic Authentication für das Cluster aktiviert ist. Um mehr über die Konfiguration von Basic Authentication zu erfahren, konsultieren Sie die Abschnitte Authentifizierung und ABAC-Modus. - - Data - Daten - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Create + Create - - There is no data to display. - Keine Daten zum anzeigen vorhanden. - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Roles + Rollen - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Reload + Reload - - Session Affinity - Sitzungsaffinität - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + Provide a namespace name that should be added to the namespace fallback list + Provide a namespace name that should be added to the namespace fallback list - - Selector - Selektor - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Filesystem Group + Filesystem Group - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Boot ID + Boot ID - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + Replication Controllers + Replication Controllers - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Remove namespaces from the list and confirm to save the changes. + Remove namespaces from the list and confirm to save the changes. - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Persistent Volume Claims + Persistent Volume Claims - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Message + Nachricht - - Old Replica Sets - Alte Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + Max number of labels that are displayed by default on most views. + Maximale Anzahl an Labels, die standardmäßig in den meisten Ansichten zu sehen sind. - - Schedule:  - Planung:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Cluster name + Name des Clusters - - Active Jobs:  - Aktive Jobs :  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Deployments + Deployments - - Suspend:  - Anhalten:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Deployments + Deployments - - Active Jobs - Aktive Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + App name + Applikationsname Last schedule Letzte Planung - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - - - Concurrency policy - Parallelitätsrichtlinie - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + System UUID + UUID des Systems - - Starting deadline seconds - Starting deadline in Sekunden - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + Config And Storage + Config And Storage - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Container image is invalid: + Das angegebene Container-Image ist ungültig: - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + Count + Anzahl - - Inactive Jobs - Inaktive Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + Replication Controllers + Replication Controllers - - Init images - Init Images - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + Active + Aktiv - - Strategy:  - Strategie:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + CPU Usage (cores) + CPU-Nutzung (Kerne) - - Min ready seconds:  - Minimale Sekunden in Bereitschaft:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Environment variable + Umgebungsvariable - - Revision history limit:  - Revisionsverlaufslimit:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Restart a resource + Restart a resource - - Strategy - Strategie - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Max surge + Maximaler Anstieg - - Min ready seconds - Minimale Sekunden in Bereitschaft - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + Annotations + Annotations - - Revision history limit - Revisionsverlaufslimit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + First Seen + Zuerst gesehen - - Rolling update strategy - Strategie für Rolling Updates - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Forbidden (403) + Verboten (403) - - Max surge:  - Maximaler Anstieg:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - Maximal nicht verfügbar:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + Suspended: - - Max surge - Maximaler Anstieg - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + Upload - - Max unavailable - Maximal nicht verfügbar - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + Phase - - Updated:  - Aktualisiert:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + Namespace-Konflikt - - Total:  - Gesamt :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + Controller - - Available:  - Verfügbar :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + will be updated to reflect the desired replicas count. - - Unavailable:  - Nicht verfügbar :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + Betriebssystem - - Updated - Aktualisiert - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + Download logs file - - Total - Gesamt - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Endpoints open_in_new + Endpoints open_in_new - - Available - Verfügbar - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Create from form + Aus Formular erzeugen + + + Ingress Rules + Ingress-Regeln + + + Pods + Pods + + + Stateful Sets + Stateful Sets + + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + Das Prefix ist kein gültiger DNS Subdomain-Prefix (z.B. meine-domain.com). + + + File is ready to download! + File is ready to download! - - Unavailable - Nicht verfügbar - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Succeeded: + Erfolgreich: - - New Replica Set - Neues Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Download logs + Logs herunterladen - - Pods:  - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Startup Probe + Startup Probe - - Completions:  - Abschlüsse:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Service Name + Service Name - - Parallelism:  - Parallelität:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Namespaced + Namespace-gebunden - - Completions - Abschlüsse - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Preview Deployment + Preview Deployment - - Parallelism - Parallelität - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Group + Gruppe - - Status:  - Status:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + Basic + Basic - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + There are no notifications + There are no notifications - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + Type + Typ - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Mounts + Mounts - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Global settings + Global settings - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/workloads/pod/detail/component.ts - 84 - + + Last Schedule + Letzte Ausführung - - Label Selector - Label Selektor - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + A namespace with the specified name will be added to the cluster. + Ein Namespace mit dem angegeben Namen wird dem Cluster hinzugefügt. - - Settings have changed since last reload - Einstellungen wurden seit dem letzten Neuladen verändert - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + Die angegebenen Labels werden auf die erstellten Deployments, den Service (falls vorhanden) und die Pods angewendet. Zu den gängigen Labels gehören Release, Environment, Ebene, Partition und Track. - - Do you want to save them anyways? - Wollen Sie sie trotzdem speichern? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + YAML- oder JSON-Datei auswählen, welche die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. - - Refresh - Aktualisieren - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Status: + Status: - - Default namespace - Default namespace - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Target port must be greater than 0. + Ziel-Port muss größer als 0 sein. - - Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Nodes + Nodes - - Namespace fallback list - Namespace fallback list - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Read Only + Read Only - - List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Started At + Started At - - Add namespaces... - Add namespaces... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Cluster Roles + Cluster Roles - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Filter + Filter - - Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + Es wurden keine Ressourcen gefunden. - - No namespaces selected - No namespaces selected - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + Replica Sets - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Verbs + Verben - - Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Path + Path - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47,49 - + + Show previous logs + Zeige vorherige Logs - - Cluster name - Name des Clusters - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + Textgröße reduzieren - - Cluster name appears in the browser window title if it is set. - Der Name des Clusters taucht im Titel des Browser-Fensters auf, wenn er festgelegt wurde. - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + Zuordnung Items per page Elemente pro Seite - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - Maximale Anzahl an Einträgen, die in jeder Listenansicht zeitgleich sichtbar sind. - - src/app/frontend/settings/global/template.html - 44 - + + Name + Name - - Labels limit - Labels-Limit - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + Anzahl Pods wird benötigt - - Max number of labels that are displayed by default on most views. - Maximale Anzahl an Labels, die standardmäßig in den meisten Ansichten zu sehen sind. - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - Intervall der automatischen Aktualisierung der Logs - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + auslösen + + + CPU requirement must be given as a positive number. + CPU-Anforderung muss als postive Ganzzahl angegeben werden. + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + Geben Sie die URL eines öffentlichen Images in einer beliebigen Registry oder ein privates Image, welches auf Docker Hub oder der Google Container Registry zu finden ist. + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. Anzahl Sekunden zwischen den automatischen Aktualisierungen der Logs. - - src/app/frontend/settings/global/template.html - 76 - - - Resource auto-refresh time interval - Intervall der automatischen Aktualisierung von Ressourcen - - src/app/frontend/settings/global/template.html - 92 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + Der Name muss im Format der DNS Domain Name Syntax sein (z.B. new.image-pull.secret). - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - Anzahl Sekunden zwischen der automatischen Aktualisierung jeder Ressource. Ein Wert von 0 deaktiviert die automatische Aktualisierung. - - src/app/frontend/settings/global/template.html - 94 - + + Service Account + Service Account - - Disable access denied notification - Zugriff verweigert Benachrichtigungen deaktivieren - - src/app/frontend/settings/global/template.html - 110 - + + Timeout (Seconds) + Timeout (Seconds) - - Hides all access denied warnings in the notification panel. - Verbirgt alle Zugriff verweigert Benachrichtigungen im Benachrichtigungsbereich. - - src/app/frontend/settings/global/template.html - 112 - + + Sysctls + Sysctls - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Source + Quelle - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - src/app/frontend/settings/local/template.html - 21 - + + Prefix should not exceed 253 characters. + Das Präfix sollte nicht länger als 253 Zeichen sein. - - Theme - Theme - - src/app/frontend/settings/local/template.html - 26 - + + Failed: + Failed: - - Choose color theme of the dashboard - Choose color theme of the dashboard - - src/app/frontend/settings/local/template.html - 28 - + + Read only + Read only - - Language - Sprache - - src/app/frontend/settings/local/template.html - 41 - + + Daemon Sets + Daemon Sets - - Change the language of the dashboard - Ändern Sie die Sprache des Dashboards - - src/app/frontend/settings/local/template.html - 43 - + + Storage Classes + Storage Classes + + + Provisioner + Provisioner - + \ No newline at end of file diff --git a/modules/web/i18n/es/messages.es.xlf b/modules/web/i18n/es/messages.es.xlf index b577909c2ced..002b82827b6f 100644 --- a/modules/web/i18n/es/messages.es.xlf +++ b/modules/web/i18n/es/messages.es.xlf @@ -2,6545 +2,2432 @@ - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Edit a resource - Editar un recurso - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Create from file + Crear desde un fichero - - This action is equivalent to: - Esta acción es equivalente a: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Default namespace + Espacio de nombre por defecto - - Update - Actualizar - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Logs from + Logs de - - Restart a resource - Reiniciar un recurso - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + Namespace fallback list + Listado de espacio de nombre de respaldo - - This action is equivalent to: - Esta acción es equivalente a: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Auto-refresh (every s.) + Refrescar auto (cada s.) - - Cancel - Cancelar - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Resource Information + Información sobre el recurso - - Delete a resource - Suprimir un recurso - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + Ingress Class Name + Ingress Class Name - - Are you sure you want to delete  in namespace ? - - ¿Estás seguro de querer suprimir de tipo - - en el espacio de nombre - - &nbsp;? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Number of pods + Número de pods - - Delete - Suprimir - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Refresh + Actualizar - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + is not unique + no es única - - Size: B - Taille : o - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + Ir al espacio de nombre Preparing file to download... Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - - - - Forbidden (403) - Prohibido (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - - - - You do not have required permissions to access this resource. - No tienes los permisos requeridos para acceder a este recurso. - - src/app/frontend/common/dialogs/download/template.html - 34 - - - - Save - Guardar - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - - - - Abort - Abortar - - src/app/frontend/common/dialogs/download/template.html - 48 - - - - Close - Cerrar - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - - - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Age + Edad - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Service Name + Nombre del Servicio - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Memory requirement (MiB) + Requisito de memoria (MiB) - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - + + Role Reference + Referencia de rol - - Scale a resource - Escalar un recurso - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Endpoints + Endpoints - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + Parámetro - - Desired replicas - Réplicas deseadas - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Read Only Filesystem + Read Only Filesystem - - Actual replicas - Réplicas actuales - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Partition + Partition - - in namespace will be restarted. - en el espacio de nombre será reiniciado. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Restart + Reiniciar - - Trigger a - Lanzar un - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Cluster Role Bindings + Cluster Role Bindings - - will be triggered. - será lanzado. - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Edit Namespace List + Editar listado de espacio de nombre - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + New Replica Set + Nuevo Replica Set - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + Cada cuenta de servicio tiene un Secret asociado a un Bearer Token que puede usarse para iniciar sesión en el tablero. Para saber más sobre cómo configurar y utilizar Bearer Tokens, referirse a la sección Authentificación. - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Non-resource URL + URL no-recurso - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Image: + Imagen : - - Workload Status - Estado de Carga de trabajo - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + Mount Option(s) + Opcion(es) de Montaje Cron Jobs Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - - + + Init images + Images de inicio + + + Ingresses + Ingresses + + + Scale + Escalar + + Daemon Sets Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - - - Deployments - Despliegues - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - + + Revision history limit + Limite de históricos de revisión - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Password + Contraseña - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + Labels limit + Límite de etiquetas - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - + + Data + Datos - - Replication Controllers - Controlador de replicación - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - + + Services + Services - - Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - + + UID + UID - - Resource information - Información del recurso - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + Choose kubeconfig file + Selecciona un fichero kubeconfig - - Workloads - Cargas de trabajo - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Volume Name + Nombre del volumen - - Config and Storage - Configuración y almacenamiento - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Hides all access denied warnings in the notification panel. + Oculta todas las advertencias de acceso denegado en el panel de notificaciones - - Create new resource - Crear un nuevo recurso - - src/app/frontend/chrome/template.html - 42 - + + Error + Error - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + Expand card + Expand card - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63,65 - + + Memory + Memoria - - Cluster - Clúster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - - - - Metadata - Metadatos - - src/app/frontend/common/components/objectmeta/template.html - 19 - - - - Name:  - Nombre:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + Mount Path + Ruta de Montaje - - Namespace:  - Espacio de nombre:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + CPU requirement (cores) + Requisitos de CPU (núcleos) - - Age:  - Edad :  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + TLS Secret + Secreto TLS - - Name - Nombre - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + Image Pull Secret + Pull Secret para la imagen - - Namespace - Espacio de nombre - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + Strategy + Estrategia - - Age - Edad - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + Los ajustos locales se guardan en las cookies del navegador, así que no se sincronizan entre multiples dispositivos. Los cambios se aplican en cada cambio. - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Volume Attributes + Volume Attributes - - Labels - Etiquetas - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + Seleccciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre especificado en el fichero - - Annotations - Anotaciones - - src/app/frontend/common/components/objectmeta/template.html - 88 - + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + Acceso inseguro detectado. Iniciar sesión no estará disponible. Accede al Tablero de forma segura sobre HTTPS o usando localhost. Lee más aquí . - - Show less - Ver menos - - src/app/frontend/common/components/chips/template.html - 55 - + + You do not have required permissions to access this resource. + No tienes los permisos requeridos para acceder a este recurso. - - Show all - Ver más - - src/app/frontend/common/components/chips/template.html - 57 - + + Reclaim policy + Politique de reclamo - - Filter - Filtrar - - src/app/frontend/common/components/list/filter/template.html - 29 - + + Cluster name appears in the browser window title if it is set. + Le nom du cluster apparaît dans la barre de titre du navigateur s'il est défini. - - Filter objects by name - Filtrar objetos por nombre - - src/app/frontend/common/components/list/filter/template.html - 34 - + + Stateful Sets + Stateful Sets - - Logs from - Logs de - - src/app/frontend/logs/template.html - 24 - + + About + Acerca de - - Containers - Contenedores - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + Custom Resource Definitions + Definiciones de recursos personalizadas - - Init Containers - Contenedores de inicialización - - src/app/frontend/logs/template.html - 34 - + + External Endpoints + Endpoints Externos - - in - en - - src/app/frontend/logs/template.html - 43 - + + Storage Class + Clase de almacenamiento - - Download logs - Descargar logs - - src/app/frontend/logs/template.html - 57 - + + Available: + Disponibles : - - Invert colors - Invertir colores - - src/app/frontend/logs/template.html - 131 - + + Desired replicas + Réplicas deseadas - - Reduce font size - Reducir tamaño de fuente - - src/app/frontend/logs/template.html - 136 - + + Edit resource + Editar el recurso - - Show timestamps - Mostrar marcas de tiempo - - src/app/frontend/logs/template.html - 141 - + + Rolling update strategy + Estrategia de Rolling update - - Auto-refresh (every s.) - Refrescar auto (cada s.) - - src/app/frontend/logs/template.html - 146 - + + Deploy + Desplegar - - Show previous logs - Mostrar Logs anteriores - - src/app/frontend/logs/template.html - 151 - + + Ingress Classes + Ingress Classes - - Logs from to UTC - Logs desde a UTC - - src/app/frontend/logs/template.html - 94 - + + Failed: + Fallido : - - Pod Selector - Selector de Pod - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + A secret with the specified name will be added to the cluster in the namespace. + Un secret con el nombre especificado será añadido al clúster en el espacio de nombre. - - Policy Types - Tipos de política - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + Revision history limit: + Limite de históricos de revisión : - - Ingress Rules - Reglas de Ingreso - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + The new namespace will be added to the cluster. + El nuevo espacio de nombre será añadido al clúster. - - Egress Rules - Reglas de Egreso - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + Events + Eventos - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - - - - Path - Ruta - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + + + + + - - Key - Clave - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Min ready seconds + Segundos mínimos para estar listo - - Path Type - Tipo de ruta - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Categories + Categorías - - Service Name - Nombre del Servicio - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Create from input + Crear desde entrada - - Service Port - Puerto del Servicio - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + API Groups + Grupos de API - - TLS Secret - Secreto TLS - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + La descripción será agregada como una anotación al Deployment y mostrada en los detalles de la aplicación. - - Logs - Logs - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + Volume ID + Volume ID - - Error - Error - - src/app/frontend/index.messages.ts - 32 - + + Machine ID + ID de la máquina - - Exec - Ejecutar - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Memory requirement must be given as a valid number. + El requisito de memoria debe ser un número válido. - - Trigger - Lanzar - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Exec Commands + Exec Commands - - Scale - Escalar - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - + + Add namespaces... + Añadir espacio de nombre... - - Unpin - Despegar - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + La imagen especificada puede requerir una credencial pull secret si es privada. Puedes elegir un secret existente o crear una nueva. - - Pin - fijar - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + Las variables de entorno disponibles para usar en el contenedor. Los valores pueden hacer referencia a otras variables usando la sintaxis $(VAR_NAME). - - Restart - Reiniciar - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + Conditions + Condiciones - - Edit - Editar - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + iSCSI target lun number + iSCSI target lun number - - There is nothing to display here - No hay nada que mostrar aquí - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + El nombre de la aplicación debe iniciar con minúsculas y contener solo letras minúsculas, números y '-' entre palabras. - - Network Policies - Políticas de red - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Secrets + Secrets - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + Unsupported graph type . + Unsupported graph type . - - Role Bindings - Vinculaciones de roles - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Max Replicas + Max réplicas - - Subjects - Sujetos - - src/app/frontend/common/components/subject/template.html - 20 - + + Commands + Commands - - API Group - Grupo API - - src/app/frontend/common/components/subject/template.html - 63 - - - - Workloads - Cargas de trabajo - - src/app/frontend/chrome/nav/template.html - 27 - - - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - - - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - - - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - - - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - - - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + Un Deployment será creado para mantener el número de pods deseao a lo largo de tu clúster. - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - + + Resource type + Tipo de Recurso - - Replication Controllers - Controladores de Replicación - - - src/app/frontend/chrome/nav/template.html - 56 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + Por favor, selecciona el fichero kubeconfig que has creado para configurar el acceso al cluster. Para encontrar más información sobre cómo configurar y usar el fichero kubeconfig, referirse a la sección Configurar el acceso a varios clústeres. - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - + + Seccomp Profile Type + Seccomp Profile Type - - Service - Service - - - src/app/frontend/chrome/nav/template.html - 67 - + + Cancel + Cancelar - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - + + Target port must be an integer. + El puerto objetivo debe ser un entero. - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - + + Key + Clave - - Config and Storage - Configuración y Almacenamiento - - - src/app/frontend/chrome/nav/template.html - 88 - + + Metadata + Metadatos - - Config Maps - Config Maps - - - src/app/frontend/chrome/nav/template.html - 94 - + + Updated: + Actualizado : - - Persistent Volume Claims - Persistent Volume Claims - - - src/app/frontend/chrome/nav/template.html - 100 - + + Server + Server - - Secrets - Secrets - - - src/app/frontend/chrome/nav/template.html - 106 - + + Service + Service - - Storage Classes - Storage Classes - - - src/app/frontend/chrome/nav/template.html - 110 - + + Resource Names + Nombre del Recurso - - Cluster - Cluster - - - src/app/frontend/chrome/nav/template.html - 116 - + + Logged in with auth header + Logged in with auth header - - Cluster Role Bindings - Cluster Role Bindings - - - src/app/frontend/chrome/nav/template.html - 120 - + + Parameters + Parámetros - - Cluster Roles - Cluster Roles - - - src/app/frontend/chrome/nav/template.html - 125 - + + key + clave - - Events - Eventos - - src/app/frontend/chrome/nav/template.html - 130 - + + Inactive Jobs + Jobs inactivos - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + bytes + bytes - - Namespaces - Espacios de Nombre - - src/app/frontend/chrome/nav/template.html - 134 - + + QoS Class + QoS Class - - Network Policies - Políticas de Red - - src/app/frontend/chrome/nav/template.html - 139 - + + Persistent Volume Claims + Persistent Volume Claims - - Nodes - Nodos - - src/app/frontend/chrome/nav/template.html - 144 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Persistent Volumes - Volúmenes Persistentes - - src/app/frontend/chrome/nav/template.html - 148 - + + Old Replica Sets + Antiguo Replica Sets - - Role Bindings - Vinculaciones de roles - - src/app/frontend/chrome/nav/template.html - 154 - + + Are you sure you want to delete in namespace ? + ¿Estás seguro de querer suprimir de tipo en el espacio de nombre &nbsp;? - - Roles - Roles - - src/app/frontend/chrome/nav/template.html - 160 - + + Memory limits (bytes) + Límites de Memoria (octetos) - - Service Accounts - Cuentas de Servicio - - src/app/frontend/chrome/nav/template.html - 165 - + + Delete a resource + Suprimir un recurso - - Custom Resource Definitions - Definiciones de recursos personalizadas - - src/app/frontend/chrome/nav/template.html - 173 - + + Versions + Versiones - - Plugins - Complementos - - src/app/frontend/chrome/nav/template.html - 184 - + + + + + + + - - Settings - Ajustes - - src/app/frontend/chrome/nav/template.html - 192 - + + User + User - - About - Acerca de - - - src/app/frontend/chrome/nav/template.html - 197 - + + Image Pull Secrets + Pull Secrets de imagen - - Resource Quotas - Cuotas de Recurso - - src/app/frontend/common/components/quotas/template.html - 20 - + + Image Pull Secrets + Pull Secrets de la imagen - - Status - Estado - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Path Type + Tipo de ruta - - Restarts - Reinicios - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + Settings have changed since last reload + Los parámetros han cambiado desde la última recarga - - Resource Limits - Límites de Recursos - - src/app/frontend/common/components/limits/template.html - 20 - + + Resources + Recursos - - Resource name - Nombre del recurso - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Operating system + Sistema operativo - - Resource type - Tipo de Recurso - - src/app/frontend/common/components/limits/template.html - 42 - + + Overview + Overview - - Default - Por Defecto - - src/app/frontend/common/components/limits/template.html - 47 - + + Memory Usage (bytes) + Utilización de memoria (octetos) - - Default request - Petición por defecto - - src/app/frontend/common/components/limits/template.html - 52 - + + Add Namespace + Añadir Espacio de nombre - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Persistent disk name + Persistent disk name - - Endpoint links are external links that will be open in a new tab. - Los enlaces Endpoint son enlaces externos que serán abiertos en una nueva pestaña. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Driver + Driver - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + All namespaces + Todos los espacios de nombres Host links are external links that will be open in a new tab. Los enlaces Host son enlaces externos que serán abiertos en una nueva pestaña. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + Version + Versión - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Storage Classes + Storage Classes - - Services - Servicios - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - + + Namespaces let you partition resources into logically named groups. + Los espacios de nombre te permiten particionar recursos en grupos lógicos con nombres. - - Cluster IP - IP cluster - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + Pending: + Pending: - - Internal Endpoints - Endpoints Internos - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Concurrency policy + Politique de concurrencia - - External Endpoints - Endpoints Externos - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Termination Grace Period (Seconds) + Termination Grace Period (Seconds) - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Label Selector + Selector de etiquetas - - Service Accounts - Cuentas de Servicio - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + Ingress Classes + Ingress Classes - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - Puedes desplegar una aplicación contenerizada, selecciona otra espacio de nombre select o - haz el tour guiado del Dashboard - open_in_new - para aprender más. - - - src/app/frontend/common/components/zerostate/template.html - 26 - + + Succeeded + Exitosos - - Items:  - Elementos:  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Yes + Si - - Host - Anfitrión - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + Parallelism + Paralelismo - - Ports (Name, Port, Protocol) - Puertos (Nombre, Puerto, Protocolo) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Language + Idioma - - unset - no definido - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - + + Do you want to stay on current page and change namespace from to ? + ¿Deseas permanecer en la página en curso y modificar el nombre de a ? - - Events - Eventos - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - - - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - - - - Node - Nodo - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - - - - Ready - Listo - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - - - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - - - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - + + Source Type + Tipo de Origen - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - + + Unavailable: + No disponibles : - - Source - Origen - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + CPU + CPU - - Object - Objeto - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + File System Type + File System Type Sub-object Sub-objeto - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - - - - Count - Conteo - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - - - - First Seen - Primer visto - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - - - Last Seen - último visto - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Cluster + Clúster - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Show all + Ver más - - Min Replicas - Min réplicas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Sign out + Sign out - - Max Replicas - Max réplicas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + Running + En ejecución - - Reference - Referencia - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Last transition time + Última transición - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - + + Total: + Total : - - Horizontal Pod Autoscaler - Horizontal Pod Autoscaler - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + Suffix '' not recognized. + Suffix '' not recognized. - - Image:  - Imagen :  - - src/app/frontend/common/components/container/template.html - 19 - + + Port must be greater than 0. + El puerto debe ser superior a 0. Image Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - - - - Environment variable - Variable de Entorno - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - - - bytes - bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - + + Reclaim Policy + Política de reclamación - - Commands - Commands - - src/app/frontend/common/components/container/template.html - 170 - + + Name must be alphanumeric and may contain dashes. + El nombre debe ser alfanumérico y puede contener guiones. - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - + + Token + Token - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - + + Max unavailable: + Máx no disponible : - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - + + Strategy: + Estrategia : - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - + + Close notifications panel + Close notifications panel - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - + + will be triggered. + será lanzado. - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + Número de segundos entre cada refrescamiento de cada recurso. Establecer a 0 para deshabilitar - - Conditions - Condiciones - - src/app/frontend/common/components/condition/template.html - 20 - + + You can specify minimum CPU and memory requirements for the container. + Puedes especificar un requisito mínimo de CPU y memoria para el contenedor. - - Type - Tipo - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + Reference + Referencia - - Persistent Volume Claims - Peticiones de volúmenes persistentes - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Plural + Plural - - Volume - Volumen - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Exec into pod + ejecutar en el pod - - Read Only - Solo lectura - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Label Value must not exceed 253 characters. + El valor de la etiqueta no dee exceder 253 carácteres. - - Mount Path - Ruta de Montaje - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Actions + Actions - - Sub Path - Sub Ruta - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Proc Mount + Proc Mount - - Source Type - Tipo de Origen - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Read documentation + Leer la documentación - - Source Name - Nombre de origen - - src/app/frontend/common/components/volumemount/template.html - 60 - + + List of namespaces that should be presented to user without namespace list privileges. + Listado de espacios de nombres que deberían ser presentados al usuario sin privilegios de mostrar espacios de nombre. - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Resource Quotas + Cuotas de Recurso - - Last probe time - último sondeo - - src/app/frontend/common/components/condition/template.html - 52 - + + Jobs + Jobs - - Last transition time - Última transición - - src/app/frontend/common/components/condition/template.html - 60 - + + Max unavailable + Máx no disponible - - Reason - Motivo - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Hosts open_in_new + Hosts open_in_new - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Namespace + Espacio de nombre - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + Resource auto-refresh time interval + Intérvalo de actualización automática de recursos - - Storage Classes - Clases de almacenamiento - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Accepted Names + Nombres aceptados - - Provisioner - Aprovisionar - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + El tablero de Kubernetes es posible gracias a la comunidad Dashboard como un proyecto open source. - - Parameters - Parámetros - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Run as User + Run as User - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Name is required. + El nombre es requerido. - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Started + Started - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Source Name + Nombre de origen - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + El valor de la etiqueta debe ser alfanumérico separado por '.' , '-' o '_'. - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Learn more open_in_new + Para saber más open_in_new - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Learn more open_in_new + Saber más open_in_new - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Learn more open_in_new + Saber más open_in_new - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Learn more open_in_new + Saber más open_in_new - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Learn more open_in_new + Saber más open_in_new - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Abort + Abortar - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + Name must be up to characters long. + El nombre debe tener hasta carácteres. - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Name must be up to characters long. + El nombre debe tener hasta carácteres. - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + value + valor - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Object + Objeto - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Config Maps + Config Maps - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Min Replicas + Min réplicas - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Remove all notifications + Borrar todas las notificaciones - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Container runtime version + Version de runtime del contenedor - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + Service Port + Puerto del Servicio - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Total + Total - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Cluster Role Bindings + Cluster Role Bindings - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Active Jobs + Jobs activos - - Schedule - Planificar - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - + + CPU requests (cores) + Peticiones CPU (núcleos) - - Suspend - Suspender - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - + + Failure Threshold + Failure Threshold - - Active - Activo - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - + + Volume Handle + Volume Handle - - Last Schedule - Última ejecución - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - + + Show less + Ver menos - - Created - Fecha de creación - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Run as privileged + Ejecutar en modo privilegiado - - Host - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Variable name must be a valid C identifier. + El nombre de variable debe ser un identificador C válido. - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + Selector + Selector - - Plugins - Complementos - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + No + No - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + Local settings + Local settings - - Dependencies - Dependencias - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + Protocol is required. + El protocolo es requerido. - - Message - Mensaje - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Desired: + Deseado: - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - + + Session Affinity + Afinidad de Sesión - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - + + Container image is required + La imagen del contenedor es requerida - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - + + CPU requirement must be given as a valid number. + el requisito de CPU debe ser un número válido. - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106,108 - + + Service Port Number + Service Port Number - - Kind:  - Género :  - - src/app/frontend/common/components/creator/template.html - 29 - + + unset + no definido - - Controlled by - Controlado por - - src/app/frontend/common/components/creator/template.html - 42 - + + Resource Limits + Límites de Recursos - - Kind - Género - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + This action is equivalent to: + Esta acción es equivalente a: - - CPU requests (cores) - Peticiones CPU (núcleos) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + Change the language of the dashboard + Elige el idioma del tablero - - CPU limits (cores) - Límites de CPU (núcleos) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Save + Guardar - - Memory requests (bytes) - Peticiones de memoria (octetos) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + Protocol + Protocolo - - Memory limits (bytes) - Límites de Memoria (octetos) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + Init containers + Init containers - - Images - Imágenes - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Exec + Ejecutar - - Custom Resource Definitions - Definiciones de recursos personalizadas - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + Open notifications panel + Open notifications panel - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Replica Sets + Replica Sets - - Group - Grupo - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Waiting for more data to display chart... + Waiting for more data to display chart... - - Full Name - Nombre completo - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + Una etiquetaa 'app' con este valor será añadido al Deployment y al Service que sea desplegado. - - Namespaced - Relativo a un espacio de nombre - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Number of pods must be a positive integer + El número de pods debe ser un entero positivo - - Objects - Objetos - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Run command arguments + Argumentos de ejecución del comando - - No resources found in the selected namespace. - No se encontraron recursos en el espacio de nombres seleccionado. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Can't find plugin "" + Can't find plugin "" - - Versions - Versiones - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Last Seen + último visto - - Served - Servido - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Port must be an integer. + El puerto debe ser un entero. - - Storage - Almacenamiento - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Choose YAML or JSON file + Selecciona un fichero YAML o JSON - - Namespaces - Espacios de nombres - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Available + Disponibles - - Phase - Fase - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + Node + Nodo - - Persistent Volumes - Volúmenes persistentes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Schedule: + Planificación: - - Capacity - Capacidad - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Update + Actualizar - - Access Modes - Modos de acceso - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Arguments + Arguments - - Reclaim Policy - Política de reclamación - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Dependencies + Dependencias - - Claim - Petición - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Role Bindings + Vinculaciones de roles - - Storage Class - Clase de almacenamiento - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + Config and Storage + Configuración y almacenamiento - - Pods status - Estado de los pods - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - + + Probe Period (Seconds) + Probe Period (Seconds) - - Running:  - En ejecución:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Scale resource + Escalar el recurso - - Succeeded:  - Exitosos :  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Port must be less than 65536. + El puerto debe ser inferior a 65536. - - Pending:  - Pendiente:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Readiness Probe + Readiness Probe - - Failed:  - Fallido :  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + CPU limits (cores) + Límites de CPU (núcleos) - - Desired:  - Deseado:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Images + Imágenes - - Running - En ejecución - - src/app/frontend/common/components/podstatus/template.html - 63 - + + Skip + Saltar - - Succeeded - Exitosos - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Created + Fecha de creación - - Pending - Pendiente - - src/app/frontend/common/components/podstatus/template.html - 75 - + + Namespace that should be selected by default after logging in. + Espacio de nombre que debería ser seleccionado por defecto después de iniciar sesión. - - Failed - Fallidos - - src/app/frontend/common/components/podstatus/template.html - 82 - + + Deployment or service with this name already exists within namespace. + Un Deployment o un service ya exiten con este nombre dentro del espacio de nombre. - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - + + Storage class + Classe de almacenamiento - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - + + Role Bindings + Vinculaciones de roles - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - + + Pin resource + Pin resource - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - + + Config Maps + Config Maps - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - + + Create a new namespace... + Crear un nuevo espacio de nombre... - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + Ingresa un contenido YAML O JSON especificando los recursos para crear en el espacio de nombres seleccionado. - - Desired - Deseados - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Completions: + Terminaciones: - - CPU Usage (cores) - Utilización de CPU (núcleos) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + in namespace will be restarted. + en el espacio de nombre será reiniciado. - - Memory Usage (bytes) - Utilización de memoria (octetos) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Starting deadline seconds + Segundos de fecha límite inicial - - Namespace conflict - Conflicto de espacio de nombre - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Volume + Volumen - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + Pending + Pendiente - - Do you want to stay on current page and change namespace from to ? - ¿Deseas permanecer en la página en curso y modificar el nombre de - a ? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Memory requests (bytes) + Peticiones de memoria (octetos) - - Yes - Si - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Create new resource + Crear un nuevo recurso - - No - No - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Unknown + Unknown - - Select namespace... - Seleccionar un espacio... - - src/app/frontend/common/components/namespace/template.html - 24 - + + Pin + fijar - - All namespaces - Todos los espacios de nombres - - src/app/frontend/common/components/namespace/template.html - 33 - + + This action is equivalent to: + Esta acción es equivalente a: - - NAMESPACES - ESPACIOS DE NOMBRES - - src/app/frontend/common/components/namespace/template.html - 34 - + + Age: + Edad : - - Rules - Reglas - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - + + Edit a resource + Editar un recurso - - Resources - Recursos - - src/app/frontend/common/components/policyrule/template.html - 36 - + + Roles + Roles - - Non-resource URL - URL no-recurso - - src/app/frontend/common/components/policyrule/template.html - 46 - + + Do you want to save them anyways? + ¿Quieres guardar de todas maneras? - - Resource Names - Nombre del Recurso - - src/app/frontend/common/components/policyrule/template.html - 56 - + + Access modes + Modos de acceso - - Verbs - Verbos - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Default request + Petición por defecto - - API Groups - Grupos de API - - src/app/frontend/common/components/policyrule/template.html - 76 - + + Search + Buscar - - HTTP Healthcheck URI - URI comprobación de estado HTTP - - src/app/frontend/common/components/probe/template.html - 58 - + + Actual replicas + Réplicas actuales - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Secrets + Secrets - - TCP Socket - Socket TCP - - src/app/frontend/common/components/probe/template.html - 81 - + + Kind: + Género : - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Namespaces + Espacios de Nombre - - Delete resource - Suprimir el recurso - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - + + Rules + Reglas - - Edit resource - Editar el recurso - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - + + Claim + Petición - - Scale resource - Escalar el recurso - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - + + iSCSI Qualified Name + iSCSI Qualified Name - - View logs - Ver los logs - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - + + Parallelism: + Paralelismo: - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - + + Environment variables + Variable de entorno - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - + + Desired + Deseados - - Exec into pod - ejecutar en el pod - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - + + Cluster Roles + Cluster Roles - - Trigger resource - Lanzar recurso - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Delete resource + Suprimir el recurso - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + Architecture + Arquitectura - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + Ingresa un contenido YAML O JSON especificando los recursos para crear el espacio de nombre especificado en el fichero. - - No resources found. - No se encontraron recursos. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + Reason + Motivo - - Read documentation - Leer la documentación - - src/app/frontend/about/actionbar/template.html - 24 - + + Logs + Logs - - Provide feedback - Dejar un comentario - - src/app/frontend/about/actionbar/template.html - 35 - + + General-purpose web UI for Kubernetes clusters + Interfaz Web genérica para clústeres de Kubernetes - - Resource Information - Información sobre el recurso - - src/app/frontend/crd/detail/template.html - 22 - + + About + Acerca de - - Version - Versión - - src/app/frontend/crd/detail/template.html - 29 - + + Description + Descripción - - Scope - Ámbito - - src/app/frontend/crd/detail/template.html - 35 - + + Settings + Settings - - Subresources - Sub-recursos - - src/app/frontend/crd/detail/template.html - 47 - + + Controlled by + Controlado por - - Accepted Names - Nombres aceptados - - src/app/frontend/crd/detail/template.html - 55 - + + SE Linux Role + SE Linux Role - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - + + Trigger resource + Lanzar recurso + + + Workload Status + Estado de Carga de trabajo Singular Singular - - src/app/frontend/crd/detail/template.html - 67 - - - - List Kind - Tipo de lista - - src/app/frontend/crd/detail/template.html - 77 - - - - Short Names - Nombre Corto - - src/app/frontend/crd/detail/template.html - 82 - - - Categories - Categorías - - src/app/frontend/crd/detail/template.html - 87 - + + Access Modes + Modos de acceso - - About - Acerca de - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + SE Linux Level + SE Linux Level - - General-purpose web UI for Kubernetes clusters - Interfaz Web genérica para clústeres de Kubernetes - - src/app/frontend/about/template.html - 30 - + + Running: + En ejecución: - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - El tablero de Kubernetes es posible gracias a la - comunidad Dashboard como un - proyecto open source. - - - src/app/frontend/about/template.html - 37 - + + Keyring + Keyring - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + IP + IP - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + HTTP Healthcheck URI + URI comprobación de estado HTTP - - Nodes - Nodos - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + Environment Variables + Environment Variables - - Search - Buscar - - src/app/frontend/chrome/search/template.html - 29 - + + Addresses + Direcciones - - Remove all notifications - Borrar todas las notificaciones - - src/app/frontend/chrome/notifications/template.html - 71 - + + Pods + Pods - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + Sign in + Sign in - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - + + Username + Nombre de usuario - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - + + Upload + Cargar - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - + + IP: + IP: - - Role Reference - Referencia de rol - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Taints + Taints - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Memory requirement must be given as a positive number. + El requisito de memoria debe ser un número positivo. - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Search for + Search for - - Basic - Basic - - src/app/frontend/login/template.html - 36 - + + Cron Jobs + Cron Jobs - - Token - Token - - src/app/frontend/login/template.html - 38 - + + Size: B + Taille : o - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - Por favor, selecciona el fichero kubeconfig que has creado para configurar el acceso al cluster. Para encontrar más información sobre cómo configurar y usar el fichero kubeconfig, - referirse a la sección Configurar el acceso a varios clústeres. - - - src/app/frontend/login/template.html - 44 - + + Choose color theme of the dashboard + Elige un tema de color para el tablero - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - Asegúrate que el soporte para la autenticación básica está habilitada en el clúster. Para encontrar información sobre cómo configurar la autenticación básica, referirse a las secciones - Autenticarse y Modo ABAC. - - - src/app/frontend/login/template.html - 51 - + + Filter objects by name + Filtrar objetos por nombre - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - Cada cuenta de servicio tiene un Secret asociado a un Bearer Token que puede usarse para iniciar sesión en el tablero. - Para saber más sobre cómo configurar y utilizar Bearer Tokens, referirse a la sección - Authentificación. - - - src/app/frontend/login/template.html - 58 - + + Schedule + Planificar Enter token Ingresar token - - src/app/frontend/login/template.html - 74 - - - Username - Nombre de usuario - - src/app/frontend/login/template.html - 87 - + + Allow Privilege Escalation + Allow Privilege Escalation - - Password - Contraseña - - src/app/frontend/login/template.html - 98 - + + Labels + Etiquetas - - Choose kubeconfig file - Selecciona un fichero kubeconfig - - src/app/frontend/login/template.html - 107 - + + Resource information + Información del recurso - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - Acceso inseguro detectado. Iniciar sesión no estará disponible. Accede al Tablero de forma segura sobre HTTPS o usando localhost. Lee más - - aquí - . - - - src/app/frontend/login/template.html - 117 - + + Target port must be less than 65536. + el puerto objetivo debe ser inferior a 65536. - - Sign in - Iniciar sesión - - src/app/frontend/login/template.html - 133 - + + Invert colors + Invertir colores - - Skip - Saltar - - src/app/frontend/login/template.html - 142 - + + Horizontal Pod Autoscaler + Horizontal Pod Autoscaler + + + Scope + Ámbito + + + Data is required. + Los datos son requeridos. + + + Processes in privileged containers are equivalent to processes running as root on the host. + Los procesos en contenedores privilegiados son equivalentes a procesos ejecutándose como root en el host. + + + Default + Por Defecto - - Create from input - Crear desde entrada - - src/app/frontend/create/template.html - 20 - + + Deployments + Deployments - - Create from file - Crear desde un fichero - - src/app/frontend/create/template.html - 24 - + + Status + Estado - - Create from form - Crear desde un formulario - - src/app/frontend/create/template.html - 28 - + + Egress Rules + Reglas de Egreso - - Shell in in - - Shell en - - - - - - en - - - src/app/frontend/shell/template.html - 22 - + + Unavailable + No disponibles - - Create a new namespace - Crear un nuevo espacio de nombre - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Kubeconfig + Kubeconfig - - The new namespace will be added to the cluster. - El nuevo espacio de nombre será añadido al clúster. - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Create + Crear - - Namespace name - Nombre del espacio de nombre - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + Puedes desplegar una aplicación contenerizada, selecciona otra espacio de nombre select o haz el tour guiado del Dashboard open_in_new para aprender más. - - Name is required. - El nombre es requerido. - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Create a new secret... + Crear un nuevo secret... - - Create a new image pull secret - Crea un nuevo pull secret para la imagen - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Provide feedback + Dejar un comentario - - The new secret will be added to the cluster - El nuevo secret será añadido al clúster - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Events + Eventos - - Secret name - Nombre del secret - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + Storage + Almacenamiento - - Name must be up to characters long. - El nombre debe tener hasta - - carácteres. - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Suspend + Suspender - - Name must be alphanumeric and may contain dashes. - El nombre debe ser alfanumérico y puede contener guiones. - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Add + Add - - Go to namespace - Ir al espacio de nombre - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + No namespaces selected + No se ha seleccionado espacios de nombres - - A namespace with the specified name will be added to the cluster. - Un espacio de nombre con el nombre especificado será añadido en el clúster. - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + Select namespace... + Seleccionar un espacio... - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67,69 - + + Monitors + Monitors - - Learn more open_in_new - Para saber más - - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Ingresses + Ingresses - - Create - Crear - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - + + Secret name + Nombre del secret - - Name must be up to characters long. - El nombre debe tener hasta - - carácteres. - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Shell + Shell - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - El nombre debe seguir la sintaxis de nombre de dominio DNS (ej. new.image-pull.secret) - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. + Opcionalmente, un Service interno o externo se puede definir para mapear un Puerto de ingreso o un puerto objetivo visto por el contenedor. - - A secret with the specified name will be added to the cluster in the namespace. - Un secret con el nombre especificado será añadido al clúster en el espacio de nombre. - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Target World Wide Names + Target World Wide Names - - Data is required. - Los datos son requeridos. - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + Target portal + Target portal - - Data must be Base64 encoded. - Los datos deben estar codificados en Base64. - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - Especifica la data para contener en tu secret. El valor es el contenido codificado en Base64 de un fichero .dockercfg. - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Jobs + Jobs - - App name - Nombre de la aplicación - - src/app/frontend/create/from/form/template.html - 23 - + + Service + Service - - Deployment or service with this name already exists within namespace. - Un Deployment o un service ya exiten con este nombre dentro del espacio de nombre. - - src/app/frontend/create/from/form/template.html - 35 - + + + + + + + + + - - Application name is required. - El nombre de la aplicación es requerido. - - src/app/frontend/create/from/form/template.html - 39 - + + Liveness Probe + Liveness Probe - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - El nombre de la aplicación debe iniciar con minúsculas y contener solo letras minúsculas, números y '-' entre palabras. - - src/app/frontend/create/from/form/template.html - 41 - + + Exit Code + Exit Code - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - Una etiquetaa 'app' con este valor será añadido al Deployment y al Service que sea desplegado. - - src/app/frontend/create/from/form/template.html - 48 - + + Supplemental Groups + Supplemental Groups - - Learn more open_in_new - Saber más - - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Subjects + Sujetos - - Container image - Imagen del contenedor - - src/app/frontend/create/from/form/template.html - 63 - + + Minimize card + Minimize card - - Container image is required - La imagen del contenedor es requerida - - src/app/frontend/create/from/form/template.html - 68 - + + Create a new image pull secret + Crea un nuevo pull secret para la imagen - - Container image is invalid: - La imagen del contenedor es inválida : - - - src/app/frontend/create/from/form/template.html - 70 - + + Policy Types + Tipos de política - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - Ingresa la URL de una imagen pública en cualquier registro, o una imagen privada alojada en Docker Hub o Google Container Registry. - - src/app/frontend/create/from/form/template.html - 76 - + + Windows Run as User + Windows Run as User - - Number of pods - Número de pods - - src/app/frontend/create/from/form/template.html - 93 - + + Show timestamps + Mostrar marcas de tiempo - - Number of pods is required - El número de pods es requerido - - src/app/frontend/create/from/form/template.html - 99 - + + Namespace name + Nombre del espacio de nombre - - Number of pods must be a positive integer - El número de pods debe ser un entero positivo - - src/app/frontend/create/from/form/template.html - 101 - + + Path + Ruta - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - Establecer un número alto de pods puede causar problemas de desempeño del clúster y la UI del Dashboard. - - src/app/frontend/create/from/form/template.html - 104 - + + Create a new namespace + Crear un nuevo espacio de nombre - - A Deployment will be created to maintain the desired number of pods across your cluster. - Un Deployment será creado para mantener el número de pods deseao a lo largo de tu clúster. - - src/app/frontend/create/from/form/template.html - 109 - + + Unpin resource + Unpin resource - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - Opcionalmente, un Service interno o externo se puede definir para mapear un Puerto de ingreso o un puerto objetivo visto por el contenedor. - - src/app/frontend/create/from/form/template.html - 129 - + + Port + Puerto - - Description - Descripción - - src/app/frontend/create/from/form/template.html - 172 - + + Dropped Capabilities + Dropped Capabilities - - The description will be added as an annotation to the Deployment and displayed in the application's details. - La descripción será agregada como una anotación al Deployment y mostrada en los detalles de la aplicación. - - - src/app/frontend/create/from/form/template.html - 175 - + + Subresources + Sub-recursos - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - Las etiquetas esprcificadas serán aplicadas al Deployment creado, Service (si hay alguno) y pods. Las etiquetas comunes incluyen release, environment, tier, partition y track. - - src/app/frontend/create/from/form/template.html - 188 - + + Succeeded: + Succeeded: - - Learn more open_in_new - Saber más - - open_in_new - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - Create a new namespace... - Crear un nuevo espacio de nombre... - - src/app/frontend/create/from/form/template.html - 151 - + + Invalid protocol. + Protocolo inválido. - - Namespaces let you partition resources into logically named groups. - Los espacios de nombre te permiten particionar recursos en grupos lógicos con nombres. - - src/app/frontend/create/from/form/template.html - 155 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - Create a new secret... - - Crear un nuevo secret... - - - src/app/frontend/create/from/form/template.html - 209 - + + The new secret will be added to the cluster + El nuevo secret será añadido al clúster - - Image Pull Secret - Pull Secret para la imagen - - src/app/frontend/create/from/form/template.html - 204 - + + Pending: + Pendiente: - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - La imagen especificada puede requerir una credencial pull secret si es privada. Puedes elegir un secret existente o crear una nueva. - - src/app/frontend/create/from/form/template.html - 213 - + + Cluster + Cluster - - CPU requirement (cores) - Requisitos de CPU (núcleos) - - src/app/frontend/create/from/form/template.html - 230 - + + Suspend: + Suspendido : - - CPU requirement must be given as a positive number. - El requisito de CPU debe ser un número positivo. - - src/app/frontend/create/from/form/template.html - 236 - + + Security Context + Security Context - - CPU requirement must be given as a valid number. - el requisito de CPU debe ser un número válido. - - src/app/frontend/create/from/form/template.html - 240 - + + TCP Socket + Socket TCP - - Memory requirement (MiB) - Requisito de memoria (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + Persistent Volumes + Volúmenes persistentes - - Memory requirement must be given as a positive number. - El requisito de memoria debe ser un número positivo. - - src/app/frontend/create/from/form/template.html - 254 - + + System information + Información del sistema - - Memory requirement must be given as a valid number. - El requisito de memoria debe ser un número válido. - - src/app/frontend/create/from/form/template.html - 258 - + + Min ready seconds: + Segundos mínimos para estar listo : - - You can specify minimum CPU and memory requirements for the container. - Puedes especificar un requisito mínimo de CPU y memoria para el contenedor. - - src/app/frontend/create/from/form/template.html - 264 - + + Ready + Listo - - Run command - Ejecutar comando - - src/app/frontend/create/from/form/template.html - 279 - + + HTTP Headers + HTTP Headers - - Run command arguments - Argumentos de ejecución del comando - - src/app/frontend/create/from/form/template.html - 285 - + + Sub Path + Sub Ruta - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - Por defecto, tus contenedores ejecutan el comando entrypoint por defecto de la imagen seleccionada. Puedes usar las opciones command para sobreescribirlas . - - src/app/frontend/create/from/form/template.html - 291 - + + Service Accounts + Cuentas de Servicio - - Run as privileged - Ejecutar en modo privilegiado - - src/app/frontend/create/from/form/template.html - 307 - + + kubelet version + Versión de kubelet - - Processes in privileged containers are equivalent to processes running as root on the host. - Los procesos en contenedores privilegiados son equivalentes a procesos ejecutándose como root en el host. - - src/app/frontend/create/from/form/template.html - 310 - + + Items: + Elementos: - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - Las variables de entorno disponibles para usar en el contenedor. Los valores pueden hacer referencia a otras variables usando la sintaxis $(VAR_NAME). - - src/app/frontend/create/from/form/template.html - 324 - + + Network Policies + Políticas de red - - Deploy - - Desplegar - - src/app/frontend/create/from/form/template.html - 343 - + + Value + Valor - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + API Group + Grupo API - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - - src/app/frontend/create/from/form/template.html - 367 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + Por defecto, tus contenedores ejecutan el comando entrypoint por defecto de la imagen seleccionada. Puedes usar las opciones command para sobreescribirlas . - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + Ports (Name, Port, Protocol) + Puertos (Nombre, Puerto, Protocolo) - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - Ingresa un contenido YAML O JSON especificando los recursos para crear el espacio de nombre especificado en el fichero. - - src/app/frontend/create/from/input/template.html - 19 - + + Target port cannot be empty. + El puerto objetivo no puede estar vacío. - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - - Ingresa un contenido YAML O JSON especificando los recursos para crear en el espacio de nombres seleccionado. - - - src/app/frontend/create/from/input/template.html - 23 - + + Kind + Género - - Learn more open_in_new - Saber más - - open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - + + Host + Anfitrión - - Upload - - Cargar - - src/app/frontend/create/from/input/template.html - 40 - + + Lun number + Lun number - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - - Seleccciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre especificado en el fichero - - - src/app/frontend/create/from/file/template.html - 19 - + + Pod Selector + Selector de Pod - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - Selecciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre seleccionado. - - src/app/frontend/create/from/file/template.html - 23 - + + Sign in + Iniciar sesión - - Learn more open_in_new - Saber más - - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - + + List Kind + Tipo de lista - - Choose YAML or JSON file - Selecciona un fichero YAML o JSON - - src/app/frontend/create/from/file/template.html - 35 - + + Run command + Ejecutar comando - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Port cannot be empty. + El puerto no puede estar vacío. - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Quantity + Cantidad - - Environment variables - Variable de entorno - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Logged in with token + Logged in with token - - Variable name must be a valid C identifier. - El nombre de variable debe ser un identificador C válido. - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + Completions + Terminaciones - - Value - Valor - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + View logs + Ver los logs - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + Provider ID + ID del proveedor - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + Pod CIDR + CIDR del pod - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + Kernel version + Version del kernel - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Persistent Volumes + Volúmenes Persistentes - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Containers + Contenedores - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Workloads + Cargas de trabajo - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Container image + Imagen del contenedor - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + SE Linux User + SE Linux User - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + Served + Servido - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Plugins + Complementos - - Port - Puerto - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Name: + Nombre: - - Port must be an integer. - El puerto debe ser un entero. - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Scale a resource + Escalar un recurso - - Port cannot be empty. - El puerto no puede estar vacío. - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Resource name + Nombre del recurso - - Port must be greater than 0. - El puerto debe ser superior a 0. - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Application name is required. + El nombre de la aplicación es requerido. - - Port must be less than 65536. - El puerto debe ser inferior a 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Full Name + Nombre completo Target port Puerto objetivo - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - Target port must be an integer. - El puerto objetivo debe ser un entero. - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Cluster IP + IP cluster - - Target port cannot be empty. - El puerto objetivo no puede estar vacío. - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + There is nothing to display here + No hay nada que mostrar aquí - - Target port must be greater than 0. - El puerto objetivo debe ser mayor que 0. - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Initial Delay (Seconds) + Initial Delay (Seconds) - - Target port must be less than 65536. - el puerto objetivo debe ser inferior a 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Short Names + Nombre Corto - - Protocol - Protocolo - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Delete + Suprimir - - Protocol is required. - El protocolo es requerido. - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Namespaces + Espacios de nombres - - Invalid protocol. - Protocolo inválido. - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Internal Endpoints + Endpoints Internos + + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + El nombre de la clave de la etiqueta debe ser alfanumérico separado por '-', '_' o '.', opcionalmente prefijado por un subdominio DNS y '/'. + + + Pool + Pool + + + Theme + Tema - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + Logs from to UTC + Logs desde a UTC - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + in + en - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + Services + Servicios - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Max number of items that can be displayed on every list view. + Número máximo de elementos que se pueden mostrar en cada vista de listado. - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Unschedulable + No programable - - key - clave - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Max surge: + Oleada máxima : - - is not unique - no es única - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + Success Threshold + Success Threshold - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - El prefijo no es un prefijo de subdominio DNS válido (ej. my-domain.com). - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Host + Host - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - El nombre de la clave de la etiqueta debe ser alfanumérico separado por '-', '_' o '.', opcionalmente prefijado por un subdominio DNS y '/'. - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Restarts + Reinicios - - Prefix should not exceed 253 characters. - El prefijo no debe exceder 253 carácteres. - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Custom Resource Definitions + Definiciones de recursos personalizadas - - Label Key name should not exceed 63 characters. - El nombre de la clave no debe exceder 63 carácteres. - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Settings + Ajustes - - value - valor - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Updated + Actualizado - - Label value must be alphanumeric separated by '.' , '-' or '_'. - El valor de la etiqueta debe ser alfanumérico separado por '.' , '-' o '_'. - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Failed + Fallidos - - Label Value must not exceed 253 characters. - El valor de la etiqueta no dee exceder 253 carácteres. - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Shell in in + Shell en en - - Pod CIDR - CIDR del pod - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Init Containers + Contenedores de inicialización - - Provider ID - ID del proveedor - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Plugins + Complementos - - Unschedulable - No programable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + There is no data to display. + No hay datos que mostrar. - - Addresses - Direcciones - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Default service account + Default service account - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Config and Storage + Configuración y Almacenamiento - - System information - Información del sistema - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Privileged + Privileged - - Machine ID - ID de la máquina - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Trigger + Lanzar - - System UUID - UUID del sistema - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Active Jobs: + Jobs activos : - - Boot ID - ID de boot - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - + + Signal + Signal - - Kernel version - Version del kernel - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - + + Unpin + Despegar - - OS Image - Image del SO - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Network Policies + Políticas de Red - - Container runtime version - Version de runtime del contenedor - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Filesystem type + Filesystem type - - kubelet version - Versión de kubelet - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Logs auto-refresh time interval + Intérvalo de actualización automática de logs kube-proxy version Versión de kube-proxy - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - - - Operating system - Sistema operativo - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Run as Non-Root + Run as Non-Root - - Architecture - Arquitectura - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + SE Linux Type + SE Linux Type - - Allocation - Asignación - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Objects + Objetos - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + Establecer un número alto de pods puede causar problemas de desempeño del clúster y la UI del Dashboard. - - Memory - Memoria - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Reclaim policy - Politique de reclamo - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - + + Namespace: + Espacio de nombre: - - Storage class - Classe de almacenamiento - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + NAMESPACES + ESPACIOS DE NOMBRES - - Mount Option(s) - Opcion(es) de Montaje - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Edit + Editar - - Access modes - Modos de acceso - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + Pods: + Pods: - - Quantity - Cantidad - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + Default Backend + Default Backend - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + Especifica la data para contener en tu secret. El valor es el contenido codificado en Base64 de un fichero .dockercfg. - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Preview + Preview - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + Cancel + Cancel - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Disable access denied notification + Deshabilitar las notificaciones de acceso denegado - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Nodes + Nodos - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec + + + Endpoint links are external links that will be open in a new tab. + Los enlaces Endpoint son enlaces externos que serán abiertos en una nueva pestaña. + + + Last probe time + último sondeo + + + Secret reference name + Secret reference name Dataset name Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Label Key name should not exceed 63 characters. + El nombre de la clave no debe exceder 63 carácteres. + + + Run as Group + Run as Group + + + Pods status + Estado de los pods + + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. + + + Close + Cerrar + + + No resources found in the selected namespace. + No se encontraron recursos en el espacio de nombres seleccionado. - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Capacity + Capacidad - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Data must be Base64 encoded. + Los datos deben estar codificados en Base64. - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Running: + Running: - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Service Accounts + Cuentas de Servicio - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Workloads + Cargas de trabajo - - Parameter - Parámetro - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + Asegúrate que el soporte para la autenticación básica está habilitada en el clúster. Para encontrar información sobre cómo configurar la autenticación básica, referirse a las secciones Autenticarse y Modo ABAC. - - Data - Datos - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Create + Create - - There is no data to display. - No hay datos que mostrar. - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Roles + Roles - - Volume Name - Nombre del volumen - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Reload + Reload - - Session Affinity - Afinidad de Sesión - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + Provide a namespace name that should be added to the namespace fallback list + Provee un espacio de nombre que debería ser añadido al listado de espacios de nombre de respaldo - - Selector - Selector - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Filesystem Group + Filesystem Group - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Boot ID + ID de boot - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + Replication Controllers + Controlador de replicación - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Remove namespaces from the list and confirm to save the changes. + Remueve espacios de nombre del listado y confirma para salvar los cambios. - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Persistent Volume Claims + Peticiones de volúmenes persistentes - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Message + Mensaje - - Old Replica Sets - Antiguo Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + Max number of labels that are displayed by default on most views. + Número máximo de etiquetas que son mostradas por defecto en la mayoría de las vistas☺. - - Schedule:  - Planificación:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Cluster name + Nom du cluster - - Active Jobs:  - Jobs activos :  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Deployments + Despliegues - - Suspend:  - Suspendido :  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Deployments + Deployments - - Active Jobs - Jobs activos - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + App name + Nombre de la aplicación Last schedule Última ejecución - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - - - Concurrency policy - Politique de concurrencia - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + System UUID + UUID del sistema - - Starting deadline seconds - Segundos de fecha límite inicial - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + Config And Storage + Config And Storage - - Image Pull Secrets - Pull Secrets de imagen - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Container image is invalid: + La imagen del contenedor es inválida : - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + Count + Conteo - - Inactive Jobs - Jobs inactivos - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + Replication Controllers + Controladores de Replicación - - Init images - Images de inicio - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + Active + Activo - - Strategy:  - Estrategia :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + CPU Usage (cores) + Utilización de CPU (núcleos) - - Min ready seconds:  - Segundos mínimos para estar listo :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Environment variable + Variable de Entorno - - Revision history limit:  - Limite de históricos de revisión :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Restart a resource + Reiniciar un recurso - - Strategy - Estrategia - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Max surge + Oleada máxima - - Min ready seconds - Segundos mínimos para estar listo - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + Annotations + Anotaciones - - Revision history limit - Limite de históricos de revisión - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + First Seen + Primer visto - - Rolling update strategy - Estrategia de Rolling update - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Forbidden (403) + Prohibido (403) - - Max surge:  - Oleada máxima :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - Máx no disponible :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + Suspended: - - Max surge - Oleada máxima - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + Upload - - Max unavailable - Máx no disponible - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + Fase - - Updated:  - Actualizado :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + Conflicto de espacio de nombre - - Total:  - Total :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + Controller - - Available:  - Disponibles :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + will be updated to reflect the desired replicas count. - - Unavailable:  - No disponibles :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + Image del SO - - Updated - Actualizado - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + Download logs file - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Endpoints open_in_new + Endpoints open_in_new - - Available - Disponibles - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Create from form + Crear desde un formulario + + + Ingress Rules + Reglas de Ingreso + + + Pods + Pods + + + Stateful Sets + Stateful Sets + + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + El prefijo no es un prefijo de subdominio DNS válido (ej. my-domain.com). - - Unavailable - No disponibles - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + File is ready to download! + File is ready to download! - - New Replica Set - Nuevo Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Succeeded: + Exitosos : - - Pods:  - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Download logs + Descargar logs - - Completions:  - Terminaciones:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Startup Probe + Startup Probe - - Parallelism:  - Paralelismo:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Service Name + Service Name - - Completions - Terminaciones - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Namespaced + Relativo a un espacio de nombre - - Parallelism - Paralelismo - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Preview Deployment + Preview Deployment - - Status:  - Estado:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + Group + Grupo - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + Basic + Basic - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + There are no notifications + There are no notifications - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Type + Tipo - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Mounts + Mounts - - Image Pull Secrets - Pull Secrets de la imagen - - src/app/frontend/resource/workloads/pod/detail/component.ts - 84 - + + Global settings + Global settings - - Label Selector - Selector de etiquetas - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + Last Schedule + Última ejecución - - Settings have changed since last reload - Los parámetros han cambiado desde la última recarga - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + A namespace with the specified name will be added to the cluster. + Un espacio de nombre con el nombre especificado será añadido en el clúster. - - Do you want to save them anyways? - ¿Quieres guardar de todas maneras? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + Las etiquetas esprcificadas serán aplicadas al Deployment creado, Service (si hay alguno) y pods. Las etiquetas comunes incluyen release, environment, tier, partition y track. - - Refresh - Actualizar - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + Selecciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre seleccionado. - - Default namespace - Espacio de nombre por defecto - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Status: + Estado: - - Namespace that should be selected by default after logging in. - Espacio de nombre que debería ser seleccionado por defecto después de iniciar sesión. - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Target port must be greater than 0. + El puerto objetivo debe ser mayor que 0. - - Namespace fallback list - Listado de espacio de nombre de respaldo - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Nodes + Nodos - - List of namespaces that should be presented to user without namespace list privileges. - Listado de espacios de nombres que deberían ser presentados al usuario sin privilegios de mostrar espacios de nombre. - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Read Only + Solo lectura - - Add namespaces... - Añadir espacio de nombre... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Started At + Started At - - Edit Namespace List - Editar listado de espacio de nombre - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Cluster Roles + Cluster Roles - - Remove namespaces from the list and confirm to save the changes. - Remueve espacios de nombre del listado y confirma para salvar los cambios. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + Filter + Filtrar - - No namespaces selected - No se ha seleccionado espacios de nombres - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + No resources found. + No se encontraron recursos. - - Add Namespace - Añadir Espacio de nombre - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Replica Sets + Replica Sets - - Provide a namespace name that should be added to the namespace fallback list - Provee un espacio de nombre que debería ser añadido al listado de espacios de nombre de respaldo - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Verbs + Verbos - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47,49 - + + Path + Path - - Cluster name - Nom du cluster - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Show previous logs + Mostrar Logs anteriores - - Cluster name appears in the browser window title if it is set. - Le nom du cluster apparaît dans la barre de titre du navigateur s'il est défini. - - src/app/frontend/settings/global/template.html - 28 - + + Reduce font size + Reducir tamaño de fuente + + + Allocation + Asignación Items per page Elementos por página - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - Número máximo de elementos que se pueden mostrar en cada vista de listado. - - src/app/frontend/settings/global/template.html - 44 - + + Name + Nombre - - Labels limit - Límite de etiquetas - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + El número de pods es requerido - - Max number of labels that are displayed by default on most views. - Número máximo de etiquetas que son mostradas por defecto en la mayoría de las vistas☺. - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - Intérvalo de actualización automática de logs - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + Lanzar un + + + CPU requirement must be given as a positive number. + El requisito de CPU debe ser un número positivo. + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + Ingresa la URL de una imagen pública en cualquier registro, o una imagen privada alojada en Docker Hub o Google Container Registry. + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. Número de segundos entre cada actualización automática de logs. - - src/app/frontend/settings/global/template.html - 76 - - - Resource auto-refresh time interval - Intérvalo de actualización automática de recursos - - src/app/frontend/settings/global/template.html - 92 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + El nombre debe seguir la sintaxis de nombre de dominio DNS (ej. new.image-pull.secret) - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - Número de segundos entre cada refrescamiento de cada recurso. Establecer a 0 para deshabilitar - - src/app/frontend/settings/global/template.html - 94 - + + Service Account + Service Account - - Disable access denied notification - Deshabilitar las notificaciones de acceso denegado - - src/app/frontend/settings/global/template.html - 110 - + + Timeout (Seconds) + Timeout (Seconds) - - Hides all access denied warnings in the notification panel. - Oculta todas las advertencias de acceso denegado en el panel de notificaciones - - src/app/frontend/settings/global/template.html - 112 - + + Sysctls + Sysctls - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Source + Origen - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Los ajustos locales se guardan en las cookies del navegador, así que no se sincronizan entre multiples dispositivos. Los cambios se aplican en cada cambio. - - src/app/frontend/settings/local/template.html - 21 - + + Prefix should not exceed 253 characters. + El prefijo no debe exceder 253 carácteres. - - Theme - Tema - - src/app/frontend/settings/local/template.html - 26 - + + Failed: + Failed: - - Choose color theme of the dashboard - Elige un tema de color para el tablero - - src/app/frontend/settings/local/template.html - 28 - + + Read only + Read only - - Language - Idioma - - src/app/frontend/settings/local/template.html - 41 - + + Daemon Sets + Daemon Sets - - Change the language of the dashboard - Elige el idioma del tablero - - src/app/frontend/settings/local/template.html - 43 - + + Storage Classes + Clases de almacenamiento + + + Provisioner + Aprovisionar - +
\ No newline at end of file diff --git a/modules/web/i18n/fr/messages.fr.xlf b/modules/web/i18n/fr/messages.fr.xlf index 215370ae815d..4d4781cd3858 100644 --- a/modules/web/i18n/fr/messages.fr.xlf +++ b/modules/web/i18n/fr/messages.fr.xlf @@ -2,6555 +2,2428 @@ - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Edit a resource - Éditer une ressource - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Create from file + Créer depuis un fichier - - This action is equivalent to: - Cette action est équivalente à : - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Default namespace + Default namespace - - Update - Mettre à jour - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Logs from + Journaux de - - Restart a resource - Restart a resource - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + Namespace fallback list + Namespace fallback list - - This action is equivalent to: - This action is equivalent to: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Auto-refresh (every s.) + Auto-refresh (every s.) - - Cancel - Annuler - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Resource Information + Informations sur la ressource - - Delete a resource - Supprimer une ressource - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + Ingress Class Name + Ingress Class Name - - Are you sure you want to delete  in namespace ? - - Êtes-vous sûr de vouloir supprimer de genre - - de l'espace de nom - - &nbsp;? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Number of pods + Nombre de pods - - Delete - Supprimer - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Refresh + Actualiser - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + is not unique + n'est pas unique - - Size: B - Taille : o - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + Go to namespace Preparing file to download... Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - + + Age + Âge - - Forbidden (403) - Interdit (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - + + Service Name + Service Name - - You do not have required permissions to access this resource. - Vous n'avez pas les permissions nécessaires pour accéder à cette ressource. - - src/app/frontend/common/dialogs/download/template.html - 34 - + + Memory requirement (MiB) + Exigence mémoire (MiB) - - Save - Enregistrer - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - + + Role Reference + Role Reference - - Abort - Annuler - - src/app/frontend/common/dialogs/download/template.html - 48 - + + Endpoints + Terminaisons - - Close - Fermer - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - + + Parameter + Paramètre - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - + + Read Only Filesystem + Read Only Filesystem - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Partition + Partition - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Restart + Restart - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Cluster Role Bindings + Cluster Role Bindings - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - + + Edit Namespace List + Edit Namespace List - - Scale a resource - Mettre à l'échelle une ressource - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + New Replica Set + Nouveau Replica Set - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + Chaque compte de service a un Secret associé avec un jeton porteur (Bearer Token) valide qui peut être utilisé pour se connecter au Dashboard. Pour en savoir plus sur la façon de configurer et utiliser des jetons porteurs, veuillez vous référer à la section Authentification. - - Desired replicas - Répliques désirées - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Non-resource URL + URL non-ressource - - Actual replicas - Répliques actuelles - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Image: + Image : - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Mount Option(s) + Mount Option(s) - - Trigger a - Déclencher un - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Cron Jobs + Cron Jobs - - will be triggered. - sera déclenché. - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Init images + Images d'Init - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + Ingresses + Ingresses - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Scale + Mettre à l'échelle - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Daemon Sets + Daemon Sets - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Revision history limit + Limite d'historiques de révision - - Workload Status - Statut des charges de travail - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + Password + Mot de passe - - Cron Jobs - Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - + + Labels limit + Labels limit - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - + + Data + Données - - Deployments - Déploiements - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - + + Services + Services - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + UID + UID - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + Choose kubeconfig file + Sélectionnez un fichier kubeconfig - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - + + Volume Name + Volume Name - - Replication Controllers - Contrôleurs de réplication - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - + + Hides all access denied warnings in the notification panel. + Cache tous les avertissements d'accès interdit dans le panneau de notifications. - - Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - + + Error + Error - - Resource information - Informations sur la ressource - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + Expand card + Expand card - - Workloads - Charges de travail - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Memory + Mémoire - - Config and Storage - Configuration et Stockage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Mount Path + Mount Path - - Create new resource - Créer une nouvelle ressource - - src/app/frontend/chrome/template.html - 42 - + + CPU requirement (cores) + Exigence CPU (coeurs) - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + TLS Secret + TLS Secret - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63,65 - + + Image Pull Secret + Pull Secret pour l'image - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + Strategy + Stratégie - - Metadata - Métadonnées - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - Name:  - Nom :  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + Volume Attributes + Volume Attributes - - Namespace:  - Espace de nom :  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + Sélectionnez un fichier YAML ou JSON spécifiant les ressources à déployer dans l'espace de nom spécifié dans le fichier. - - Age:  - Âge :  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - Name - Nom - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + You do not have required permissions to access this resource. + Vous n'avez pas les permissions nécessaires pour accéder à cette ressource. - - Namespace - Espace de nom - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + Reclaim policy + Politique de recyclage - - Age - Âge - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + Cluster name appears in the browser window title if it is set. + Le nom du cluster apparaît dans la barre de titre du navigateur s'il est défini. - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Stateful Sets + Stateful Sets - - Labels - Étiquettes - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + About + À propos - - Annotations - Annotations - - src/app/frontend/common/components/objectmeta/template.html - 88 - + + Custom Resource Definitions + Définitions de ressources personnalisées - - Show less - Voir moins - - src/app/frontend/common/components/chips/template.html - 55 - + + External Endpoints + Terminaisons externes - - Show all - Voir plus - - src/app/frontend/common/components/chips/template.html - 57 - + + Storage Class + Classe de stockage - - Filter - Filtrer - - src/app/frontend/common/components/list/filter/template.html - 29 - + + Available: + Disponibles : - - Filter objects by name - Filtrer les objets par nom - - src/app/frontend/common/components/list/filter/template.html - 34 - + + Desired replicas + Répliques désirées - - Logs from - Journaux de - - src/app/frontend/logs/template.html - 24 - + + Edit resource + Éditer la ressource - - Containers - Conteneurs - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + Rolling update strategy + Stratégie de Rolling update - - Init Containers - Conteneurs d'initilisation - - src/app/frontend/logs/template.html - 34 - + + Deploy + Déployer - - in - dans - - src/app/frontend/logs/template.html - 43 - + + Ingress Classes + Ingress Classes - - Download logs - Télécharger les journaux - - src/app/frontend/logs/template.html - 57 - + + Failed: + Échoués : - - Invert colors - Inverser les couleurs - - src/app/frontend/logs/template.html - 131 - + + A secret with the specified name will be added to the cluster in the namespace. + Un secret ayant le nom spécifié sera ajouté au cluster dans l'espace de nom. - - Reduce font size - Réduire les caractères - - src/app/frontend/logs/template.html - 136 - + + Revision history limit: + Limite d'historiques de révision : - - Show timestamps - Voir les horodatages - - src/app/frontend/logs/template.html - 141 - + + The new namespace will be added to the cluster. + Le nouvel espace de nom sera rajouté au cluster. - - Auto-refresh (every s.) - Auto-refresh (every s.) - - src/app/frontend/logs/template.html - 146 - + + Events + Events - - Show previous logs - Voir les journaux précédents - - src/app/frontend/logs/template.html - 151 - + + + + + + + - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - + + Min ready seconds + Secondes minimales prêt - - Pod Selector - Pod Selector - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + Categories + Catégories - - Policy Types - Policy Types - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + Create from input + Créer en ligne - - Ingress Rules - Ingress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + API Groups + Groupes d'API - - Egress Rules - Egress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + La description sera rajoutée comme annotation au déploiement et ajoutée dans les détails de l'application. - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + Volume ID + Volume ID - - Path - Path - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Machine ID + ID de la machine - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Memory requirement must be given as a valid number. + L'exigence mémoire doit être un nombre valide. - - Path Type - Path Type - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Exec Commands + Exec Commands - - Service Name - Service Name - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Add namespaces... + Add namespaces... - - Service Port - Service Port - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + L'image spécifiée peut nécessiter un pull secret si elle est privée. Vous pouvez choisir un secret existant ou en créer un nouveau. - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + Variables d'environnement disponibles dans le conteneur. Les valeurs peuvent référencer d'autres variables en utilisant la syntaxe $(NOM_VARIABLE). - - Logs - Journaux - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + Conditions + Conditions - - Error - Error - - src/app/frontend/index.messages.ts - 32 - + + iSCSI target lun number + iSCSI target lun number - - Exec - Exécuter - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + Le nom de l'application doit commencer avec une lettre minuscule et contenir uniquement des lettres minuscules, des nombres, et des '-' entre les mots. - - Trigger - Déclencher - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Secrets + Secrets - - Scale - Mettre à l'échelle - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - + + Unsupported graph type . + Unsupported graph type . - - Unpin - Détacher - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Max Replicas + Max réplicas - - Pin - Épingler - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Commands + Commands - - Restart - Restart - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + Un déploiement sera créé pour maintenir le nombre désiré de pods dans votre cluster. - - Edit - Éditer - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + Resource type + Type de la ressource - - There is nothing to display here - Il n'y a rien à afficher ici - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + Veuillez sélectionner le fichier kubeconfig que vous avez créé pour accéder au cluster. Pour en savoir plus sur la façon de configurer et utiliser un fichier kubeconfig, veuillez vous référer à la section Configurer l'accès à plusieurs clusters. - - Network Policies - Network Policies - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Seccomp Profile Type + Seccomp Profile Type - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + Cancel + Annuler - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Target port must be an integer. + Le port cible doit être un entier. - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - + + Key + Key - - API Group - API Group - - src/app/frontend/common/components/subject/template.html - 63 - - - - Workloads - Workloads - - - src/app/frontend/chrome/nav/template.html - 27 - - - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - - - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - - - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - + + Metadata + Métadonnées - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - + + Updated: + Mis à jour : - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - + + Server + Server - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - + + Service + Service - - Replication Controllers - Replication Controllers - - - src/app/frontend/chrome/nav/template.html - 56 - + + Resource Names + Noms de ressource - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - + + Logged in with auth header + Logged in with auth header - - Service - Service - - - src/app/frontend/chrome/nav/template.html - 67 - + + Parameters + Paramètres - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - + + key + clé - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - + + Inactive Jobs + Jobs inactifs - - Config and Storage - Config and Storage - - - src/app/frontend/chrome/nav/template.html - 88 - + + bytes + bytes - - Config Maps - Config Maps - - - src/app/frontend/chrome/nav/template.html - 94 - + + QoS Class + QoS Class - Persistent Volume Claims - Persistent Volume Claims - - - src/app/frontend/chrome/nav/template.html - 100 - - - - Secrets - Secrets - - - src/app/frontend/chrome/nav/template.html - 106 - + Persistent Volume Claims + Persistent Volume Claims - - Storage Classes - Storage Classes - - - src/app/frontend/chrome/nav/template.html - 110 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Cluster - Cluster - - - src/app/frontend/chrome/nav/template.html - 116 - + + Old Replica Sets + Anciens Replica Sets - - Cluster Role Bindings - Cluster Role Bindings - - - src/app/frontend/chrome/nav/template.html - 120 - + + Are you sure you want to delete in namespace ? + Êtes-vous sûr de vouloir supprimer de genre de l'espace de nom &nbsp;? - - Cluster Roles - Cluster Roles - - - src/app/frontend/chrome/nav/template.html - 125 - + + Memory limits (bytes) + Limites mémoire (octets) - - Events - Events - - src/app/frontend/chrome/nav/template.html - 130 - + + Delete a resource + Supprimer une ressource - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + Versions + Versions - - Namespaces - Namespaces - - - src/app/frontend/chrome/nav/template.html - 134 - + + + + + + + - - Network Policies - Network Policies - - - src/app/frontend/chrome/nav/template.html - 139 - + + User + User - - Nodes - Nodes - - - src/app/frontend/chrome/nav/template.html - 144 - + + Image Pull Secrets + Image Pull Secrets - - Persistent Volumes - Persistent Volumes - - - src/app/frontend/chrome/nav/template.html - 148 - + + Image Pull Secrets + Image Pull Secrets - - Role Bindings - Role Bindings - - - src/app/frontend/chrome/nav/template.html - 154 - + + Path Type + Path Type - - Roles - Roles - - - src/app/frontend/chrome/nav/template.html - 160 - + + Settings have changed since last reload + Les paramètres ont été modifiés depuis le dernier chargement - - Service Accounts - Service Accounts - - - src/app/frontend/chrome/nav/template.html - 165 - + + Resources + Ressources - - Custom Resource Definitions - Custom Resource Definitions - - - src/app/frontend/chrome/nav/template.html - 173 - + + Operating system + Système d'exploitation - - Plugins - Plugins - - - src/app/frontend/chrome/nav/template.html - 184 - + + Overview + Overview - - Settings - Settings - - - src/app/frontend/chrome/nav/template.html - 192 - + + Memory Usage (bytes) + Utilisation mémoire (octets) - - About - About - - - src/app/frontend/chrome/nav/template.html - 197 - + + Add Namespace + Add Namespace - - Resource Quotas - Quotas de ressources - - src/app/frontend/common/components/quotas/template.html - 20 - + + Persistent disk name + Persistent disk name - - Status - Statut - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Driver + Driver - - Restarts - Redémarrages - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + All namespaces + Tous les espaces de noms - - Resource Limits - Limites de ressources - - src/app/frontend/common/components/limits/template.html - 20 - + + Host links are external links that will be open in a new tab. + Host links are external links that will be open in a new tab. - - Resource name - Nom de la ressource - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Version + Version - - Resource type - Type de la ressource - - src/app/frontend/common/components/limits/template.html - 42 - + + Storage Classes + Storage Classes - - Default - Défaut - - src/app/frontend/common/components/limits/template.html - 47 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Default request - Requête par défaut - - src/app/frontend/common/components/limits/template.html - 52 - + + Namespaces let you partition resources into logically named groups. + Les espaces de noms vous permettent de distribuer vos ressources dans des groupes logiques nommés. - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Pending: + Pending: - - Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Concurrency policy + Politique de concurrence - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + Termination Grace Period (Seconds) + Termination Grace Period (Seconds) - - Host links are external links that will be open in a new tab. - Host links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - + + Label Selector + Sélecteur d'étiquettes - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + Ingress Classes + Ingress Classes - - Endpoints - Terminaisons - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Succeeded + Réussis - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + Yes + Oui - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - + + Parallelism + Parallélisme - - Cluster IP - IP cluster - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + Language + Langue - - Internal Endpoints - Terminaisons internes - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Do you want to stay on current page and change namespace from to ? + Désirez-vous rester sur la page en cours et modifier l'espace de nom de à ? - - External Endpoints - Terminaisons externes - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Source Type + Source Type - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Unavailable: + Non disponibles : - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + CPU + CPU - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - You can deploy a containerized app, select other namespace or - take the Dashboard Tour - open_in_new - to learn more. - - - src/app/frontend/common/components/zerostate/template.html - 26 - + + File System Type + File System Type - - Items:  - Éléments :  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Sub-object + Sub-object - - Host - Hôte - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + Cluster + Cluster - - Ports (Name, Port, Protocol) - Ports (Nom, Port, Protocole) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Show all + Voir plus - - unset - non défini - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - + + Sign out + Sign out - - Events - Événements - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - + + Running + En fonctionnement - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - + + Last transition time + Dernière transition - - Node - Noeud - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {Cacher les options avancées} other {Afficher les options avancées}} - - Ready - Prêt - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - + + Total: + Total : - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - + + Suffix '' not recognized. + Suffix '' not recognized. - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - + + Port must be greater than 0. + Le port doit être supérieur à 0. - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - + + Image + Image - - Source - Source - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + Reclaim Policy + Politique de recyclage - - Object - Object - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + Name must be alphanumeric and may contain dashes. + Le nom doit être alphanumérique et peut contenir des tirets. - - Sub-object - Sub-object - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - + + Token + Jeton - - Count - Compte - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Max unavailable: + Non disponibles max : - - First Seen - Première vue - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Strategy: + Stratégie : - - Last Seen - Dernière vue - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Close notifications panel + Close notifications panel - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + will be triggered. + sera déclenché. - - Min Replicas - Min réplicas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + Nombre de secondes entre chaque actualisation automatique de chaque ressource. Mettre à 0 pour désactiver. - - Max Replicas - Max réplicas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + You can specify minimum CPU and memory requirements for the container. + Vous pouvez indiquer des exigences minimales pour le CPU et la mémoire pour le conteneur. Reference Référence - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - - - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - - - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - - - Horizontal Pod Autoscaler - Horizontal Pod Autoscaler - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - - - - Image:  - Image :  - - src/app/frontend/common/components/container/template.html - 19 - - - - Image - Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Plural + Pluriel - - Environment variable - Variable d'environnement - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Exec into pod + Exécuter dans le pod - - bytes - bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - + + Label Value must not exceed 253 characters. + La valeur de l'étiquette ne doit pas excéder 253 caractères. - - Commands - Commands - - src/app/frontend/common/components/container/template.html - 170 - + + Actions + Actions - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - + + Proc Mount + Proc Mount - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - + + Read documentation + Lire la documentation - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - + + List of namespaces that should be presented to user without namespace list privileges. + List of namespaces that should be presented to user without namespace list privileges. - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - + + Resource Quotas + Quotas de ressources - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - + + Jobs + Jobs - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - + + Max unavailable + Non disponibles max - - Conditions - Conditions - - src/app/frontend/common/components/condition/template.html - 20 - + + Hosts open_in_new + Hosts open_in_new - - Type - Type - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + Namespace + Espace de nom - - Persistent Volume Claims - Demandes de volume persistant - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Resource auto-refresh time interval + Intervalle d'actualisation automatique des ressources - - Volume - Volume - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Accepted Names + Noms acceptés - - Read Only - Read Only - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Kubernetes Dashboard est rendu possible par la communauté Dashboard comme un projet open source. - - Mount Path - Mount Path - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Run as User + Run as User - - Sub Path - Sub Path - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Name is required. + Le nom est requis. - - Source Type - Source Type - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Started + Started Source Name Source Name - - src/app/frontend/common/components/volumemount/template.html - 60 - - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + La valeur de l'étiquette doit être alphanumérique séparé par '.' , '-' ou '_'. - - Last probe time - Dernière sonde - - src/app/frontend/common/components/condition/template.html - 52 - + + Learn more open_in_new + En savoir plus open_in_new - - Last transition time - Dernière transition - - src/app/frontend/common/components/condition/template.html - 60 - + + Learn more open_in_new + En savoir plus open_in_new - - Reason - Motif - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Learn more open_in_new + En savoir plus open_in_new - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Learn more open_in_new + En savoir plus open_in_new - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + Learn more open_in_new + En savoir plus open_in_new - - Storage Classes - Classes de stockage - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Abort + Annuler - - Provisioner - Approvisionneur - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + Name must be up to characters long. + Le nom ne doit pas dépasser caractères. - - Parameters - Paramètres - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Name must be up to characters long. + Le nom ne doit pas dépasser caractères. - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + value + valeur - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Object + Object - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Config Maps + Config Maps - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + Min Replicas + Min réplicas - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Remove all notifications + Supprimer toutes les notifications - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Container runtime version + Version du runtime de conteneurs - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Service Port + Service Port - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Total + Total - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Cluster Role Bindings + Cluster Role Bindings - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Active Jobs + Jobs actifs - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + CPU requests (cores) + Requêtes CPU (coeurs) - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Failure Threshold + Failure Threshold - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + Volume Handle + Volume Handle - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Show less + Voir moins - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Run as privileged + Exécuter en mode privilégié - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Variable name must be a valid C identifier. + Le nom de variable doit être un identifiant C valide. - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Selector + Sélecteur - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + No + Non - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Local settings + Local settings - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Protocol is required. + Le protocole est requis. - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Desired: + Désirés : - - Schedule - Planning - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - + + Session Affinity + Affinité de session - - Suspend - Suspendu - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - + + Container image is required + L'image du conteneur est requise - - Active - Actif - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - + + CPU requirement must be given as a valid number. + L'exigence CPU doit être un nombre valide. - - Last Schedule - Dernière exécution - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - + + Service Port Number + Service Port Number - - Created - Date de création - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + unset + non défini - - Host - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Resource Limits + Limites de ressources - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + This action is equivalent to: + This action is equivalent to: - - Plugins - Extensions - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Change the language of the dashboard + Changer la langue du tableau de bord - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + Save + Enregistrer - - Dependencies - Dépendances - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + Protocol + Protocole - - Message - Message - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Init containers + Init containers - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - + + Exec + Exécuter - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - + + Open notifications panel + Open notifications panel - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - + + Replica Sets + Replica Sets - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106,108 - + + Waiting for more data to display chart... + Waiting for more data to display chart... - - Kind:  - Genre :  - - src/app/frontend/common/components/creator/template.html - 29 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + Une étiquette 'app' avec cette valeur sera ajoutée au déploiement et au service qui seront déployés. - - Controlled by - Contrôlé par - - src/app/frontend/common/components/creator/template.html - 42 - + + Number of pods must be a positive integer + Le nombre de pods doit être un entier positif - - Kind - Genre - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + Run command arguments + Arguments de la commande à exécuter - - CPU requests (cores) - Requêtes CPU (coeurs) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + Can't find plugin "" + Can't find plugin "" - - CPU limits (cores) - Limites CPU (coeurs) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Last Seen + Dernière vue - - Memory requests (bytes) - Requêtes mémoire (octets) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + Port must be an integer. + Le port doit être un entier. - - Memory limits (bytes) - Limites mémoire (octets) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + Choose YAML or JSON file + Sélectionnez un fichier YAML ou JSON - - Images - Images - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Available + Disponibles - - Custom Resource Definitions - Définitions de ressources personnalisées - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + Node + Noeud - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Schedule: + Planning: - - Group - Groupe - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Update + Mettre à jour - - Full Name - Nom complet - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + Arguments + Arguments - - Namespaced - Relatif à un espace de nom - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Dependencies + Dépendances - - Objects - Objets - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Role Bindings + Role Bindings - - No resources found in the selected namespace. - No resources found in the selected namespace. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Config and Storage + Configuration et Stockage - - Versions - Versions - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Probe Period (Seconds) + Probe Period (Seconds) - - Served - Servie - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Scale resource + Mettre à l'échelle la ressource - - Storage - Stockage - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Port must be less than 65536. + Le port doit être inférieur à 65536. - - Namespaces - Espaces de noms - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Readiness Probe + Readiness Probe - - Phase - Phase - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + CPU limits (cores) + Limites CPU (coeurs) - - Persistent Volumes - Volumes persistants - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Images + Images - - Capacity - Capacité - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Skip + Passer - - Access Modes - Modes d'accès - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Created + Date de création - - Reclaim Policy - Politique de recyclage - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Namespace that should be selected by default after logging in. + Namespace that should be selected by default after logging in. - - Claim - Demande - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Deployment or service with this name already exists within namespace. + Un déploiement ou un service ayant ce nom existe déjà dans l'espace de nom. - - Storage Class + + Storage class Classe de stockage - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - - - Pods status - Statut des pods - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - + + Role Bindings + Role Bindings - - Running:  - En fonctionnement :  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Pin resource + Pin resource - - Succeeded:  - Réussis :  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Config Maps + Config Maps - - Pending:  - En attente :  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Create a new namespace... + Créer un nouvel espace de nom... - - Failed:  - Échoués :  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom sélectionné. - - Desired:  - Désirés :  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Completions: + Achevés : - - Running - En fonctionnement - - src/app/frontend/common/components/podstatus/template.html - 63 - + + in namespace will be restarted. + in namespace will be restarted. - - Succeeded - Réussis - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Starting deadline seconds + Starting deadline seconds + + + Volume + Volume Pending En attente - - src/app/frontend/common/components/podstatus/template.html - 75 - - - - Failed - Échoués - - src/app/frontend/common/components/podstatus/template.html - 82 - - - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - + + Memory requests (bytes) + Requêtes mémoire (octets) - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - + + Create new resource + Créer une nouvelle ressource - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - + + Unknown + Unknown - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - + + Pin + Épingler - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - + + This action is equivalent to: + Cette action est équivalente à : - - Desired - Désirés - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Age: + Âge : - - CPU Usage (cores) - Utilisation CPU (coeurs) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + Edit a resource + Éditer une ressource - - Memory Usage (bytes) - Utilisation mémoire (octets) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Roles + Roles - - Namespace conflict - Conflit d'espace de nom - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Do you want to save them anyways? + Voulez-vous tout de même les sauvegarder ? - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + Access modes + Modes d'accès - - Do you want to stay on current page and change namespace from to ? - - Désirez-vous rester sur la page en cours et modifier l'espace de nom de à ? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Default request + Requête par défaut - - Yes - Oui - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Search + Recherche - - No - Non - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Actual replicas + Répliques actuelles - - Select namespace... - Sélectionnez un espace... - - src/app/frontend/common/components/namespace/template.html - 24 - + + Secrets + Secrets - - All namespaces - Tous les espaces de noms - - src/app/frontend/common/components/namespace/template.html - 33 - + + Kind: + Genre : - - NAMESPACES - ESPACES DE NOMS - - src/app/frontend/common/components/namespace/template.html - 34 - + + Namespaces + Namespaces Rules Règles - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - - - - Resources - Ressources - - src/app/frontend/common/components/policyrule/template.html - 36 - - - - Non-resource URL - URL non-ressource - - src/app/frontend/common/components/policyrule/template.html - 46 - - - - Resource Names - Noms de ressource - - src/app/frontend/common/components/policyrule/template.html - 56 - - - Verbs - Verbes - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Claim + Demande - - API Groups - Groupes d'API - - src/app/frontend/common/components/policyrule/template.html - 76 - + + iSCSI Qualified Name + iSCSI Qualified Name - - HTTP Healthcheck URI - HTTP Healthcheck URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Parallelism: + Parallélisme : - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Environment variables + Variables d'environnement - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - + + Desired + Désirés - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Cluster Roles + Cluster Roles Delete resource Supprimer la ressource - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - - - - Edit resource - Éditer la ressource - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - - - - Scale resource - Mettre à l'échelle la ressource - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - - - - View logs - Voir les journaux - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - - - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - - - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - - - Exec into pod - Exécuter dans le pod - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - - - - Trigger resource - Déclencher la ressource - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Architecture + Architecture - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom spécifié dans le contenu. - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Reason + Motif - - No resources found. - Aucune ressource trouvée. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + Logs + Journaux - - Read documentation - Lire la documentation - - src/app/frontend/about/actionbar/template.html - 24 - + + General-purpose web UI for Kubernetes clusters + Inferface utilisateur web générique pour clusters Kubernetes - - Provide feedback - Faire un commentaire - - src/app/frontend/about/actionbar/template.html - 35 - + + About + About - - Resource Information - Informations sur la ressource - - src/app/frontend/crd/detail/template.html - 22 - + + Description + Description - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - + + Settings + Settings - - Scope - Portée - - src/app/frontend/crd/detail/template.html - 35 - + + Controlled by + Contrôlé par - - Subresources - Sous-ressources - - src/app/frontend/crd/detail/template.html - 47 - + + SE Linux Role + SE Linux Role - - Accepted Names - Noms acceptés - - src/app/frontend/crd/detail/template.html - 55 - + + Trigger resource + Déclencher la ressource - - Plural - Pluriel - - src/app/frontend/crd/detail/template.html - 62 - + + Workload Status + Statut des charges de travail Singular Singulier - - src/app/frontend/crd/detail/template.html - 67 - - - - List Kind - Type de liste - - src/app/frontend/crd/detail/template.html - 77 - - - - Short Names - Noms abrégés - - src/app/frontend/crd/detail/template.html - 82 - - - Categories - Catégories - - src/app/frontend/crd/detail/template.html - 87 - + + Access Modes + Modes d'accès - - About - À propos - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + SE Linux Level + SE Linux Level - - General-purpose web UI for Kubernetes clusters - Inferface utilisateur web générique pour clusters Kubernetes - - src/app/frontend/about/template.html - 30 - + + Running: + En fonctionnement : - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Kubernetes Dashboard est rendu possible par la - communauté Dashboard comme un - projet open source. - - - src/app/frontend/about/template.html - 37 - + + Keyring + Keyring - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + IP + IP - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + HTTP Healthcheck URI + HTTP Healthcheck URI - - Nodes - Noeuds - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + Environment Variables + Environment Variables - - Search - Recherche - - src/app/frontend/chrome/search/template.html - 29 - + + Addresses + Adresses - - Remove all notifications - Supprimer toutes les notifications - - src/app/frontend/chrome/notifications/template.html - 71 - + + Pods + Pods - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + Sign in + Sign in - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - + + Username + Nom d'utilisateur - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - + + Upload + Télécharger - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - + + IP: + IP: - - Role Reference - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Taints + Marquages - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Memory requirement must be given as a positive number. + L'exigence mémoire doit être un nombre positif. - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Search for + Search for - - Basic - Basic - - src/app/frontend/login/template.html - 36 - + + Cron Jobs + Cron Jobs - - Token - Jeton - - src/app/frontend/login/template.html - 38 - + + Size: B + Taille : o - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - Veuillez sélectionner le fichier kubeconfig que vous avez créé pour accéder au cluster. - Pour en savoir plus sur la façon de configurer et utiliser un fichier kubeconfig, - veuillez vous référer à la section Configurer l'accès à plusieurs clusters. - - - src/app/frontend/login/template.html - 44 - + + Choose color theme of the dashboard + Choose color theme of the dashboard - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - Assurez-vous que le support pour l'authentification Basic est activéde pour le cluster. - Pour en savoir plus sur la façon de configurer l'authentification Basic, - veuillez vous référer aux sections S'authentifier et Mode ABAC. - - - src/app/frontend/login/template.html - 51 - + + Filter objects by name + Filtrer les objets par nom - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - Chaque compte de service a un Secret associé avec un jeton porteur (Bearer Token) valide - qui peut être utilisé pour se connecter au Dashboard. - Pour en savoir plus sur la façon de configurer et utiliser des jetons porteurs, - veuillez vous référer à la section Authentification. - - - src/app/frontend/login/template.html - 58 - + + Schedule + Planning Enter token Saisissez un jeton - - src/app/frontend/login/template.html - 74 - - - Username - Nom d'utilisateur - - src/app/frontend/login/template.html - 87 - + + Allow Privilege Escalation + Allow Privilege Escalation - - Password - Mot de passe - - src/app/frontend/login/template.html - 98 - + + Labels + Étiquettes - - Choose kubeconfig file - Sélectionnez un fichier kubeconfig - - src/app/frontend/login/template.html - 107 - + + Resource information + Informations sur la ressource - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more - - here - . - - - src/app/frontend/login/template.html - 117 - + + Target port must be less than 65536. + Le port cible doit être inférieur à 65536. - - Sign in - - Connexion - - - src/app/frontend/login/template.html - 133 - + + Invert colors + Inverser les couleurs - - Skip - - Passer - - - src/app/frontend/login/template.html - 142 - + + Horizontal Pod Autoscaler + Horizontal Pod Autoscaler - - Create from input - Créer en ligne - - src/app/frontend/create/template.html - 20 - + + Scope + Portée - - Create from file - Créer depuis un fichier - - src/app/frontend/create/template.html - 24 - + + Data is required. + Les données sont requises. - - Create from form - Créer depuis un formulaire - - src/app/frontend/create/template.html - 28 - + + Processes in privileged containers are equivalent to processes running as root on the host. + Les processus dans des conteneurs privilégiés sont équivalents à des processus s'exécutant en root sur l'hôte. - - Shell in in - - Shell dans - - - - - - dans - - - src/app/frontend/shell/template.html - 22 - + + Default + Défaut - - Create a new namespace - Créer un nouvel espace de nom - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Deployments + Deployments - - The new namespace will be added to the cluster. - Le nouvel espace de nom sera rajouté au cluster. - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Status + Statut - - Namespace name - Nom de l'espace de nom - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + Egress Rules + Egress Rules - - Name is required. - Le nom est requis. - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Unavailable + Non disponibles - - Create a new image pull secret - Créer un nouveau pull secret pour l'image - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Kubeconfig + Kubeconfig - - The new secret will be added to the cluster - Le nouveau secret sera rajouté au cluster - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Create + Créer - - Secret name - Nom du secret - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - Name must be up to characters long. - Le nom ne doit pas dépasser - - caractères. - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Create a new secret... + Créer un nouveau secret... - - Name must be alphanumeric and may contain dashes. - Le nom doit être alphanumérique et peut contenir des tirets. - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Provide feedback + Faire un commentaire - - Go to namespace - Go to namespace - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Events + Événements - - A namespace with the specified name will be added to the cluster. - Un espace de nom ayant le nom spécifié sera ajouté au cluster. - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + Storage + Stockage - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67,69 - + + Suspend + Suspendu - - Learn more open_in_new - En savoir plus - - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Add + Add - - Create - Créer - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - + + No namespaces selected + No namespaces selected - - Name must be up to characters long. - Le nom ne doit pas dépasser - - caractères. - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Select namespace... + Sélectionnez un espace... - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - Le nom doit suivre la syntaxe d'un nom de domaine DNS (par ex. new.image-pull.secret). - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Monitors + Monitors - - A secret with the specified name will be added to the cluster in the namespace. - Un secret ayant le nom spécifié sera ajouté au cluster dans l'espace de nom. - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Ingresses + Ingresses - - Data is required. - Les données sont requises. - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + Secret name + Nom du secret - - Data must be Base64 encoded. - Les données doivent être encodées en Base64. - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Shell + Shell - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - Spécifie les données que le secret va contenir. La valeur est le contenu encodé en Base64 du fichier .dockercfg. - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. + Éventuellement, un Service interne ou externe peut être défini pour mapper un port entrant à un port cible vu par le conteneur. - - App name - Nom de l'application - - src/app/frontend/create/from/form/template.html - 23 - + + Target World Wide Names + Target World Wide Names - - Deployment or service with this name already exists within namespace. - Un déploiement ou un service ayant ce nom existe déjà dans l'espace de nom. - - src/app/frontend/create/from/form/template.html - 35 - + + Target portal + Target portal - - Application name is required. - Le nom de l'application est requis. - - src/app/frontend/create/from/form/template.html - 39 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - Le nom de l'application doit commencer avec une lettre minuscule et contenir uniquement des lettres minuscules, des nombres, et des '-' entre les mots. - - src/app/frontend/create/from/form/template.html - 41 - + + Jobs + Jobs - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - Une étiquette 'app' avec cette valeur sera ajoutée au déploiement et au service qui seront déployés. - - src/app/frontend/create/from/form/template.html - 48 - + + Service + Service - - Learn more open_in_new - En savoir plus - - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + + + + + + + + - - Container image - Image du conteneur - - src/app/frontend/create/from/form/template.html - 63 - + + Liveness Probe + Liveness Probe - - Container image is required - L'image du conteneur est requise - - src/app/frontend/create/from/form/template.html - 68 - + + Exit Code + Exit Code - - Container image is invalid: - L'image du conteneur n'est pas valide : - - - src/app/frontend/create/from/form/template.html - 70 - + + Supplemental Groups + Supplemental Groups - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - Saisissez l'URL d'une image publique d'un quelconque registre ou une image privée hébergée dans Docker Hub ou Google Container Registry. - - src/app/frontend/create/from/form/template.html - 76 - + + Subjects + Subjects - - Number of pods - Nombre de pods - - src/app/frontend/create/from/form/template.html - 93 - + + Minimize card + Minimize card - - Number of pods is required - Le nombre de pods est requis - - src/app/frontend/create/from/form/template.html - 99 - + + Create a new image pull secret + Créer un nouveau pull secret pour l'image - - Number of pods must be a positive integer - Le nombre de pods doit être un entier positif - - src/app/frontend/create/from/form/template.html - 101 - + + Policy Types + Policy Types - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - Définir un grand nombre de pods peut entaîner des problèmes de performance du cluster et de l'UI Dashboard. - - - src/app/frontend/create/from/form/template.html - 104 - + + Windows Run as User + Windows Run as User - - A Deployment will be created to maintain the desired number of pods across your cluster. - Un déploiement sera créé pour maintenir le nombre désiré de pods dans votre cluster. - - src/app/frontend/create/from/form/template.html - 109 - + + Show timestamps + Voir les horodatages - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - Éventuellement, un Service interne ou externe peut être défini pour mapper un port entrant à un port cible vu par le conteneur. - - src/app/frontend/create/from/form/template.html - 129 - + + Namespace name + Nom de l'espace de nom - - Description - Description - - src/app/frontend/create/from/form/template.html - 172 - + + Path + Path - - The description will be added as an annotation to the Deployment and displayed in the application's details. - - La description sera rajoutée comme annotation au déploiement et ajoutée dans les détails de l'application. - - - src/app/frontend/create/from/form/template.html - 175 - + + Create a new namespace + Créer un nouvel espace de nom + + + Unpin resource + Unpin resource + + + Port + Port + + + Dropped Capabilities + Dropped Capabilities + + + Subresources + Sous-ressources - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - Les étiquettes spécifiées seront appliqués au Déploiement, au Service (le cas échéant) et aux Pods créés. Des étiquettes courantes sont release, environment, tier, partition et track. - - src/app/frontend/create/from/form/template.html - 188 - + + Succeeded: + Succeeded: - - Learn more open_in_new - En savoir plus - - open_in_new - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - Create a new namespace... - - Créer un nouvel espace de nom... - - - src/app/frontend/create/from/form/template.html - 151 - + + Invalid protocol. + Protocole invalide. - - Namespaces let you partition resources into logically named groups. - Les espaces de noms vous permettent de distribuer vos ressources dans des groupes logiques nommés. - - src/app/frontend/create/from/form/template.html - 155 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - Create a new secret... - - Créer un nouveau secret... - - - src/app/frontend/create/from/form/template.html - 209 - + + The new secret will be added to the cluster + Le nouveau secret sera rajouté au cluster - - Image Pull Secret - Pull Secret pour l'image - - src/app/frontend/create/from/form/template.html - 204 - + + Pending: + En attente : - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - L'image spécifiée peut nécessiter un pull secret si elle est privée. Vous pouvez choisir un secret existant ou en créer un nouveau. - - src/app/frontend/create/from/form/template.html - 213 - + + Cluster + Cluster - - CPU requirement (cores) - Exigence CPU (coeurs) - - src/app/frontend/create/from/form/template.html - 230 - + + Suspend: + Suspendu : - - CPU requirement must be given as a positive number. - L'exigence CPU doit être un nombre positif. - - src/app/frontend/create/from/form/template.html - 236 - + + Security Context + Security Context - - CPU requirement must be given as a valid number. - L'exigence CPU doit être un nombre valide. - - src/app/frontend/create/from/form/template.html - 240 - + + TCP Socket + TCP Socket - - Memory requirement (MiB) - Exigence mémoire (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + Persistent Volumes + Volumes persistants - - Memory requirement must be given as a positive number. - L'exigence mémoire doit être un nombre positif. - - src/app/frontend/create/from/form/template.html - 254 - + + System information + Informations sur le système - - Memory requirement must be given as a valid number. - L'exigence mémoire doit être un nombre valide. - - src/app/frontend/create/from/form/template.html - 258 - + + Min ready seconds: + Secondes minimales prêt : - - You can specify minimum CPU and memory requirements for the container. - Vous pouvez indiquer des exigences minimales pour le CPU et la mémoire pour le conteneur. - - src/app/frontend/create/from/form/template.html - 264 - + + Ready + Prêt - - Run command - Commande à exécuter - - src/app/frontend/create/from/form/template.html - 279 - + + HTTP Headers + HTTP Headers - - Run command arguments - Arguments de la commande à exécuter - - src/app/frontend/create/from/form/template.html - 285 - + + Sub Path + Sub Path - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - Par défaut, vos conteneurs exécutent la commande entrypoint par défaut de l'image. Vous pouvez utiliser les options pour outrepasser le comportement par défaut. - - src/app/frontend/create/from/form/template.html - 291 - + + Service Accounts + Service Accounts - - Run as privileged - Exécuter en mode privilégié - - src/app/frontend/create/from/form/template.html - 307 - + + kubelet version + Version de kubelet - - Processes in privileged containers are equivalent to processes running as root on the host. - Les processus dans des conteneurs privilégiés sont équivalents à des processus s'exécutant en root sur l'hôte. - - src/app/frontend/create/from/form/template.html - 310 - + + Items: + Éléments : - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - Variables d'environnement disponibles dans le conteneur. Les valeurs peuvent référencer d'autres variables en utilisant la syntaxe $(NOM_VARIABLE). - - src/app/frontend/create/from/form/template.html - 324 - + + Network Policies + Network Policies - - Deploy - - Déployer - - src/app/frontend/create/from/form/template.html - 343 - + + Value + Valeur - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + API Group + API Group - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {Cacher les options avancées} other {Afficher les options avancées}} - - src/app/frontend/create/from/form/template.html - 367 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + Par défaut, vos conteneurs exécutent la commande entrypoint par défaut de l'image. Vous pouvez utiliser les options pour outrepasser le comportement par défaut. - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + Ports (Name, Port, Protocol) + Ports (Nom, Port, Protocole) - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom spécifié dans le contenu. - - src/app/frontend/create/from/input/template.html - 19 - + + Target port cannot be empty. + Le port cible ne peut pas être vide. - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom sélectionné. - - src/app/frontend/create/from/input/template.html - 23 - + + Kind + Genre - - Learn more open_in_new - En savoir plus - - open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - + + Host + Hôte - - Upload - - Télécharger - - src/app/frontend/create/from/input/template.html - 40 - + + Lun number + Lun number - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - Sélectionnez un fichier YAML ou JSON spécifiant les ressources à déployer dans l'espace de nom spécifié dans le fichier. - - src/app/frontend/create/from/file/template.html - 19 - + + Pod Selector + Pod Selector - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - Sélectionnez un fichier YAML ou JSON file spécifiant les ressources à déployer dans l'espace de nom sélectionné. - - src/app/frontend/create/from/file/template.html - 23 - + + Sign in + Connexion - - Learn more open_in_new - En savoir plus - - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - + + List Kind + Type de liste - - Choose YAML or JSON file - Sélectionnez un fichier YAML ou JSON - - src/app/frontend/create/from/file/template.html - 35 - + + Run command + Commande à exécuter - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Port cannot be empty. + Le port ne peut pas être vide. - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Quantity + Quantité - - Environment variables - Variables d'environnement - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Logged in with token + Logged in with token - - Variable name must be a valid C identifier. - Le nom de variable doit être un identifiant C valide. - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + Completions + Achevés - - Value - Valeur - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + View logs + Voir les journaux - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + Provider ID + ID du fournisseur - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + Pod CIDR + CIDR du pod - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + Kernel version + Version du noyau - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Persistent Volumes + Persistent Volumes - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Containers + Conteneurs - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Workloads + Workloads - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Container image + Image du conteneur - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + SE Linux User + SE Linux User - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + Served + Servie - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Plugins + Extensions - - Port - Port - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Name: + Nom : - - Port must be an integer. - Le port doit être un entier. - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Scale a resource + Mettre à l'échelle une ressource - - Port cannot be empty. - Le port ne peut pas être vide. - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Resource name + Nom de la ressource - - Port must be greater than 0. - Le port doit être supérieur à 0. - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Application name is required. + Le nom de l'application est requis. - - Port must be less than 65536. - Le port doit être inférieur à 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Full Name + Nom complet Target port Port cible - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - Target port must be an integer. - Le port cible doit être un entier. - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Cluster IP + IP cluster + + + There is nothing to display here + Il n'y a rien à afficher ici + + + Initial Delay (Seconds) + Initial Delay (Seconds) - - Target port cannot be empty. - Le port cible ne peut pas être vide. - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + Short Names + Noms abrégés - - Target port must be greater than 0. - Le port cible doit être supérieur à 0. - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Delete + Supprimer - - Target port must be less than 65536. - Le port cible doit être inférieur à 65536. - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Namespaces + Espaces de noms - - Protocol - Protocole - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Internal Endpoints + Terminaisons internes - - Protocol is required. - Le protocole est requis. - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + Le nom de la clé de l'étiquette doit être alphanumérique séparé par '-', '_' ou '.', optionnellement préfixé par un sous-domaine DNS et '/'. - - Invalid protocol. - Protocole invalide. - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Pool + Pool - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + Theme + Theme - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + Logs from to UTC + Logs from to UTC - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + in + dans - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Services + Services - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Max number of items that can be displayed on every list view. + Max number of items that can be displayed on every list view. - - key - clé - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Unschedulable + Non programmable - - is not unique - - n'est pas unique - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + Max surge: + Augmentation max : - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - Le préfixe n'est pas un préfixe de sous-domaine DNS valide (par ex. mon-domaine.com). - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Success Threshold + Success Threshold - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - Le nom de la clé de l'étiquette doit être alphanumérique séparé par '-', '_' ou '.', optionnellement préfixé par un sous-domaine DNS et '/'. - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Host + Host - - Prefix should not exceed 253 characters. - Le préfixe ne doit pas excéder 253 caractères. - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Restarts + Redémarrages - - Label Key name should not exceed 63 characters. - Le nom de la clé de l'étiquette ne doit pas excéder 63 caractères. - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Custom Resource Definitions + Custom Resource Definitions - - value - valeur - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Settings + Settings - - Label value must be alphanumeric separated by '.' , '-' or '_'. - La valeur de l'étiquette doit être alphanumérique séparé par '.' , '-' ou '_'. - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Updated + Mis à jour - - Label Value must not exceed 253 characters. - La valeur de l'étiquette ne doit pas excéder 253 caractères. - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Failed + Échoués - - Pod CIDR - CIDR du pod - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Shell in in + Shell dans dans - - Provider ID - ID du fournisseur - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Init Containers + Conteneurs d'initilisation - - Unschedulable - Non programmable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + Plugins + Plugins - - Addresses - Adresses - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + There is no data to display. + Il n'y a pas de données à afficher. - - Taints - Marquages - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Default service account + Default service account - - System information - Informations sur le système - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Config and Storage + Config and Storage - - Machine ID - ID de la machine - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Privileged + Privileged - - System UUID - UUID du système - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Trigger + Déclencher - - Boot ID - ID de boot - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - + + Active Jobs: + Jobs actifs : - - Kernel version - Version du noyau - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - + + Signal + Signal - - OS Image - Image de l'OS - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Unpin + Détacher - - Container runtime version - Version du runtime de conteneurs - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Network Policies + Network Policies - - kubelet version - Version de kubelet - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Filesystem type + Filesystem type + + + Logs auto-refresh time interval + Intervalle d'actualisation automatique des journaux kube-proxy version Version de kube-proxy - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - - - Operating system - Système d'exploitation - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Run as Non-Root + Run as Non-Root - - Architecture - Architecture - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + SE Linux Type + SE Linux Type - - Allocation - Allocation - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Objects + Objets - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + Définir un grand nombre de pods peut entaîner des problèmes de performance du cluster et de l'UI Dashboard. - - Memory - Mémoire - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Reclaim policy - Politique de recyclage - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - + + Namespace: + Espace de nom : - - Storage class - Classe de stockage - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + NAMESPACES + ESPACES DE NOMS - - Mount Option(s) - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Edit + Éditer - - Access modes - Modes d'accès - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + Pods: + Pods : - - Quantity - Quantité - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + Default Backend + Default Backend - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + Spécifie les données que le secret va contenir. La valeur est le contenu encodé en Base64 du fichier .dockercfg. - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Preview + Preview - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + Cancel + Cancel - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Disable access denied notification + Désactiver les notifications d'accès interdit - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Nodes + Nodes - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec + + + Endpoint links are external links that will be open in a new tab. + Endpoint links are external links that will be open in a new tab. + + + Last probe time + Dernière sonde + + + Secret reference name + Secret reference name Dataset name Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Label Key name should not exceed 63 characters. + Le nom de la clé de l'étiquette ne doit pas excéder 63 caractères. - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Run as Group + Run as Group - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Pods status + Statut des pods - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Close + Fermer - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + No resources found in the selected namespace. + No resources found in the selected namespace. - - Parameter - Paramètre - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Capacity + Capacité - - Data - Données - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Data must be Base64 encoded. + Les données doivent être encodées en Base64. - - There is no data to display. - Il n'y a pas de données à afficher. - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Running: + Running: - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Service Accounts + Service Accounts - - Session Affinity - Affinité de session - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + Workloads + Charges de travail - - Selector - Sélecteur - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + Assurez-vous que le support pour l'authentification Basic est activéde pour le cluster. Pour en savoir plus sur la façon de configurer l'authentification Basic, veuillez vous référer aux sections S'authentifier et Mode ABAC. - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Create + Create - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + Roles + Roles - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Reload + Reload - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Provide a namespace name that should be added to the namespace fallback list + Provide a namespace name that should be added to the namespace fallback list - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Filesystem Group + Filesystem Group - - Old Replica Sets - Anciens Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + Boot ID + ID de boot - - Schedule:  - Planning:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Replication Controllers + Contrôleurs de réplication - - Active Jobs:  - Jobs actifs :  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Remove namespaces from the list and confirm to save the changes. + Remove namespaces from the list and confirm to save the changes. - - Suspend:  - Suspendu :  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Persistent Volume Claims + Demandes de volume persistant - - Active Jobs - Jobs actifs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + Message + Message + + + Max number of labels that are displayed by default on most views. + Max number of labels that are displayed by default on most views. + + + Cluster name + Nom du cluster + + + Deployments + Déploiements + + + App name + Nom de l'application Last schedule Dernière exécution - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - - - Concurrency policy - Politique de concurrence - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + System UUID + UUID du système - - Starting deadline seconds - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + Config And Storage + Config And Storage - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Container image is invalid: + L'image du conteneur n'est pas valide : - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + Count + Compte - - Inactive Jobs - Jobs inactifs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + Replication Controllers + Replication Controllers - - Init images - Images d'Init - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + Active + Actif - - Strategy:  - Stratégie :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + CPU Usage (cores) + Utilisation CPU (coeurs) - - Min ready seconds:  - Secondes minimales prêt :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Environment variable + Variable d'environnement - - Revision history limit:  - Limite d'historiques de révision :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Restart a resource + Restart a resource - - Strategy - Stratégie - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Max surge + Augmentation max - - Min ready seconds - Secondes minimales prêt - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + Annotations + Annotations - - Revision history limit - Limite d'historiques de révision - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + First Seen + Première vue - - Rolling update strategy - Stratégie de Rolling update - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Forbidden (403) + Interdit (403) - - Max surge:  - Augmentation max :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - Non disponibles max :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + Suspended: - - Max surge - Augmentation max - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + Upload - - Max unavailable - Non disponibles max - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + Phase - - Updated:  - Mis à jour :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + Conflit d'espace de nom - - Total:  - Total :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + Controller - - Available:  - Disponibles :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + will be updated to reflect the desired replicas count. - - Unavailable:  - Non disponibles :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + Image de l'OS - - Updated - Mis à jour - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + Download logs file + + + Endpoints open_in_new + Endpoints open_in_new + + + Create from form + Créer depuis un formulaire + + + Ingress Rules + Ingress Rules + + + Pods + Pods + + + Stateful Sets + Stateful Sets - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + Le préfixe n'est pas un préfixe de sous-domaine DNS valide (par ex. mon-domaine.com). - - Available - Disponibles - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + File is ready to download! + File is ready to download! - - Unavailable - Non disponibles - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Succeeded: + Réussis : - - New Replica Set - Nouveau Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Download logs + Télécharger les journaux - - Pods:  - Pods :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Startup Probe + Startup Probe - - Completions:  - Achevés :  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Service Name + Service Name - - Parallelism:  - Parallélisme :  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Namespaced + Relatif à un espace de nom - - Completions - Achevés - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Preview Deployment + Preview Deployment - - Parallelism - Parallélisme - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Group + Groupe - - Status:  - Statut :  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + Basic + Basic - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + There are no notifications + There are no notifications - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + Type + Type - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Mounts + Mounts - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Global settings + Global settings - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/workloads/pod/detail/component.ts - 84 - + + Last Schedule + Dernière exécution - - Label Selector - Sélecteur d'étiquettes - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + A namespace with the specified name will be added to the cluster. + Un espace de nom ayant le nom spécifié sera ajouté au cluster. - - Settings have changed since last reload - Les paramètres ont été modifiés depuis le dernier chargement - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + Les étiquettes spécifiées seront appliqués au Déploiement, au Service (le cas échéant) et aux Pods créés. Des étiquettes courantes sont release, environment, tier, partition et track. - - Do you want to save them anyways? - Voulez-vous tout de même les sauvegarder ? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + Sélectionnez un fichier YAML ou JSON file spécifiant les ressources à déployer dans l'espace de nom sélectionné. - - Refresh - Actualiser - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Status: + Statut : - - Default namespace - Default namespace - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Target port must be greater than 0. + Le port cible doit être supérieur à 0. - - Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Nodes + Noeuds - - Namespace fallback list - Namespace fallback list - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Read Only + Read Only - - List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Started At + Started At - - Add namespaces... - Add namespaces... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Cluster Roles + Cluster Roles - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Filter + Filtrer - - Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + Aucune ressource trouvée. - - No namespaces selected - No namespaces selected - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + Replica Sets - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Verbs + Verbes - - Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Path + Path - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47,49 - + + Show previous logs + Voir les journaux précédents - - Cluster name - Nom du cluster - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + Réduire les caractères - - Cluster name appears in the browser window title if it is set. - Le nom du cluster apparaît dans la barre de titre du navigateur s'il est défini. - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + Allocation Items per page Éléments par page - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - Max number of items that can be displayed on every list view. - - src/app/frontend/settings/global/template.html - 44 - + + Name + Nom - - Labels limit - Labels limit - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + Le nombre de pods est requis - - Max number of labels that are displayed by default on most views. - Max number of labels that are displayed by default on most views. - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - Intervalle d'actualisation automatique des journaux - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + Déclencher un + + + CPU requirement must be given as a positive number. + L'exigence CPU doit être un nombre positif. + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + Saisissez l'URL d'une image publique d'un quelconque registre ou une image privée hébergée dans Docker Hub ou Google Container Registry. + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. Nombre de secondes entre chaque actualisation automatique des journaux. - - src/app/frontend/settings/global/template.html - 76 - - - Resource auto-refresh time interval - Intervalle d'actualisation automatique des ressources - - src/app/frontend/settings/global/template.html - 92 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + Le nom doit suivre la syntaxe d'un nom de domaine DNS (par ex. new.image-pull.secret). - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - Nombre de secondes entre chaque actualisation automatique de chaque ressource. Mettre à 0 pour désactiver. - - src/app/frontend/settings/global/template.html - 94 - + + Service Account + Service Account - - Disable access denied notification - Désactiver les notifications d'accès interdit - - src/app/frontend/settings/global/template.html - 110 - + + Timeout (Seconds) + Timeout (Seconds) - - Hides all access denied warnings in the notification panel. - Cache tous les avertissements d'accès interdit dans le panneau de notifications. - - src/app/frontend/settings/global/template.html - 112 - + + Sysctls + Sysctls - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Source + Source - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - src/app/frontend/settings/local/template.html - 21 - + + Prefix should not exceed 253 characters. + Le préfixe ne doit pas excéder 253 caractères. - - Theme - Theme - - src/app/frontend/settings/local/template.html - 26 - + + Failed: + Failed: - - Choose color theme of the dashboard - Choose color theme of the dashboard - - src/app/frontend/settings/local/template.html - 28 - + + Read only + Read only - - Language - Langue - - src/app/frontend/settings/local/template.html - 41 - + + Daemon Sets + Daemon Sets - - Change the language of the dashboard - Changer la langue du tableau de bord - - src/app/frontend/settings/local/template.html - 43 - + + Storage Classes + Classes de stockage + + + Provisioner + Approvisionneur - + \ No newline at end of file diff --git a/modules/web/i18n/ja/messages.ja.xlf b/modules/web/i18n/ja/messages.ja.xlf index dabfbd58b0c0..2dc360dd822a 100644 --- a/modules/web/i18n/ja/messages.ja.xlf +++ b/modules/web/i18n/ja/messages.ja.xlf @@ -2,6555 +2,2428 @@ - - Open notifications panel - 通知パネルを開く - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - 通知パネルを閉じる - - src/app/frontend/index.messages.ts - 22 - - - - Pin resource - リソースにピンを設定 - - src/app/frontend/index.messages.ts - 23 - - - - Unpin resource - リソースのピンを解除 - - src/app/frontend/index.messages.ts - 24 - + + Create from file + ファイルから作成 - - Expand card - カードを最大化 - - src/app/frontend/index.messages.ts - 25 - + + Default namespace + デフォルトのネームスペース - - Minimize card - カードを最小化 - - src/app/frontend/index.messages.ts - 26 - + + Logs from + ログ - - Unknown - 不明 - - src/app/frontend/index.messages.ts - 27 - + + Namespace fallback list + 無条件表示ネームスペース一覧 - - This action is equivalent to: - この操作は次と同等です: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Auto-refresh (every s.) + 自動更新 ( 秒毎) - - Update - 更新 - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Resource Information + Resource Information - - Cancel - キャンセル - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Ingress Class Name + Ingress Class Name - - This action is equivalent to: - この操作は次と同等です: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Number of pods + ポッド数 - - Are you sure you want to delete  in namespace ? - - -  ネームスペース の - - を本当に削除しますか - - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Refresh + Refresh - - Restart a resource - リソースの再起動 - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + is not unique + は一意ではありません - - Size: B - サイズ: B - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + ネームスペースへ移動 Preparing file to download... ダウンロードファイル準備中... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - File is ready to download! - ファイルをダウンロードできます! - - src/app/frontend/common/dialogs/download/template.html - 29 - + + Age + 経過時間 - - Forbidden (403) - Forbidden (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - + + Service Name + サービス名 - - You do not have required permissions to access this resource. - このリソースへのアクセスに必要な権限がありません。 - - src/app/frontend/common/dialogs/download/template.html - 34 - + + Memory requirement (MiB) + メモリー要件 (MiB) - - Save - 保存 - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - + + Role Reference + Role Reference - - Abort - 中止 - - src/app/frontend/common/dialogs/download/template.html - 48 - + + Endpoints + エンドポイント - - will be updated to reflect the desired replicas count. - は、目標のレプリカ数になるように更新されます。 - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + パラメーター - - Close - 閉じる - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - + + Read Only Filesystem + Read Only Filesystem - - Logged in with auth header - 認証ヘッダーでログインしました - - src/app/frontend/chrome/userpanel/template.html - 45,46 - + + Partition + Partition - - Logged in with token - トークンでログインしました - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Restart + 再起動 - - Default service account - デフォルトサービスアカウント - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Cluster Role Bindings + クラスターロールバインディング - - Sign in - サインイン - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Edit Namespace List + Edit Namespace List - - Sign out - サインアウト - - src/app/frontend/chrome/userpanel/template.html - 71 - + + New Replica Set + New Replica Set - - Desired replicas - 目標のレプリカ数 - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + すべてのサービスアカウントには、ダッシュボードのログインに使用できる有効なベアラートークンを持つシークレットがあります。ベアラートークンの設定方法や使用方法についてもっと知るためには、 Authentication セクションを参照してください。 - - Actual replicas - 現在のレプリカ数 - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Non-resource URL + 非リソース URL + + + Image: + イメージ: + + + Mount Option(s) + マウントオプション + + + Cron Jobs + Cron ジョブ + + + Init images + Init images + + + Ingresses + イングレス Scale スケール - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - Trigger a - のトリガー - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Daemon Sets + デーモンセット - - in namespace will be restarted. - - - ネームスペース - - - - の - - - - - - - - - が再起動されます。 - - - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Revision history limit + Revision history limit - - Scale a resource - リソースをスケールする - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Password + パスワード - - will be triggered. - がトリガーされます。 - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Labels limit + ラベル数上限 - - Trigger - トリガー - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Data + Data - - Delete resource - リソースを削除する - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - + + Services + サービス - - Edit resource - リソースを編集する - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - + + UID + UID - - Scale resource - リソースをスケールする - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - + + Choose kubeconfig file + kubeconfig ファイルの選択 - - View logs - ログを表示する - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - + + Volume Name + Volume Name - - Exec into pod - ポッドで実行する - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - + + Hides all access denied warnings in the notification panel. + 通知パネルのすべてのアクセス拒否警告を隠す。 - - Endpoints - エンドポイント - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Error + エラー - - Trigger resource - リソースをトリガーする - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Expand card + カードを最大化 - - Status:  - 状態: - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + Memory + Memory - - IP:  - IP: - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + Mount Path + マウントパス - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + CPU requirement (cores) + CPU 要件 (コア数) - - QoS Class - QoS クラス - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + TLS Secret + TLS 鍵 - - Service Account - サービスアカウント - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Image Pull Secret + イメージ取得用シークレット - - Node - ノード - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - + + Strategy + Strategy - - Status - 状態 - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + ローカル設定はブラウザのクッキーに保存されるので、複数のデバイス間で同期されません。変更は自動的に適用されます。 - - Started - 起動 - - src/app/frontend/common/components/container/template.html - 50 - + + Volume Attributes + Volume Attributes - - Image Pull Secrets - イメージ取得用シークレット - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + ファイルに指定されたネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 - - Init containers - 初期化コンテナー - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + 安全でないアクセスを検知しました。サインインは無効になります。HTTPS 経由、あるいは localhost を使用してダッシュボードに安全にアクセスしてください。詳細は、 ここ を参照してください。 + + + You do not have required permissions to access this resource. + このリソースへのアクセスに必要な権限がありません。 Reclaim policy 再要求ポリシー - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - - - Storage class - ストレージクラス - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + Cluster name appears in the browser window title if it is set. + クラスター名が設定されていると、ブラウザーのウィンドウタイトルに表示されます。 - - Mount Option(s) - マウントオプション - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Stateful Sets + ステートフルセット - - Access modes - アクセスモード - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + About + About - - Restarts - 再起動 - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + Custom Resource Definitions + Custom Resource Definitions - - Containers - コンテナー - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + External Endpoints + 外部エンドポイント - - Filter - フィルター - - src/app/frontend/common/components/list/filter/template.html - 29 - + + Storage Class + ストレージクラス - - Filter objects by name - 名前による絞り込み - - src/app/frontend/common/components/list/filter/template.html - 34 - + + Available: + 利用可能: - - Download logs file - ログファイルのダウンロード - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Desired replicas + 目標のレプリカ数 - - Show less - 少なく表示 - - src/app/frontend/common/components/chips/template.html - 55 - + + Edit resource + リソースを編集する - - Show all - すべて表示 - - src/app/frontend/common/components/chips/template.html - 57 - + + Rolling update strategy + Rolling update strategy - - There is nothing to display here - ここに表示するものはありません - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Deploy + デプロイ - - No resources found. - リソースはありません。 - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + Ingress Classes + Ingress Classes - - Conditions - 条件 - - src/app/frontend/common/components/condition/template.html - 20 - + + Failed: + 失敗: - - Logs - ログ - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + A secret with the specified name will be added to the cluster in the namespace. + 指定された名前のシークレットがネームスペースのクラスターに追加されます。 - - Error - エラー - - src/app/frontend/index.messages.ts - 32 - + + Revision history limit: + 改版履歴上限: - - Exec - 実行 - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + The new namespace will be added to the cluster. + 新しいネームスペースがクラスターに追加されます。 - - Unpin - ピンの解除 - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Events + イベント - - Pin - ピンの設定 - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + + + + + + - - Metadata - メタデータ - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Min ready seconds + Min ready seconds - - Restart - 再起動 - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + Categories + Categories - - Items:  - 項目: - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Create from input + 入力して作成 - - Name - 名前 - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + API Groups + API グループ - - Namespace - ネームスペース - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + 説明はデプロイメントのアノテーションとして追加され、アプリケーションの詳細に表示されます。 - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Volume ID + Volume ID - - Labels - ラベル - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + Machine ID + Machine ID - - Annotations - アノテーション - - src/app/frontend/common/components/objectmeta/template.html - 88 - + + Memory requirement must be given as a valid number. + メモリー要件は有効な数で指定してください。 - - Pods status - ポッド状態 - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - + + Exec Commands + 実行コマンド - - Schedule - スケジュール - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - + + Add namespaces... + ネームスペースの追加... - - Suspend - 休止 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + 指定されたイメージがプライベートの場合、取得用シークレットクレデンシャルを要求できます。既存のシークレットを選択するか、新しく作成できます。 - - Active - 稼働中 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + コンテナーで使用できる環境変数です。値は、$(VAR_NAME) 構文を使用して、他の変数を参照できます。 - - Last Schedule - 最後のスケジュール - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - + + Conditions + 条件 - - Deployments - デプロイメント - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - + + iSCSI target lun number + iSCSI target lun number - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + アプリケーション名は小文字で始まり、小文字、数字、および '-' からなる必要があります。 - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - + + Secrets + シークレット - - Events - イベント - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - + + Unsupported graph type . + は無効なグラフタイプです。 - - Overview - 概要 - - src/app/frontend/index.messages.ts - 37 - + + Max Replicas + 最大レプリカ数 - - Created - 作成日時 - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Commands + コマンド - - Age - 経過時間 - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + デプロイメントを作成して、クラスター内に必要な数のポッドを維持できます。 - - Host - ホスト - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Resource type + リソース種別 - - Dependencies - 依存関係 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - - - - Image:  - イメージ:  - - src/app/frontend/common/components/container/template.html - 19 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + クラスターにアクセスするために作成した kubeconfig ファイルを選択してください。kubeconfig ファイルの設定方法や使用方法についてもっと知るためには、 Configure Access to Multiple Clusters セクションを参照してください。 - - Image - イメージ - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Seccomp Profile Type + Seccomp Profile Type - - Environment Variables - 環境変数 - - src/app/frontend/common/components/container/template.html - 106 - + + Cancel + キャンセル - - Environment variable - 環境変数 - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Target port must be an integer. + ターゲットポートは整数で指定してください。 - - bytes - バイト - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - + + Key + キー - - Commands - コマンド - - src/app/frontend/common/components/container/template.html - 170 - + + Metadata + メタデータ - - Arguments - 引数 - - src/app/frontend/common/components/container/template.html - 184 - + + Updated: + 更新済み: - - Mounts - マウント - - src/app/frontend/common/components/container/template.html - 199 - + + Server + Server - - Security Context - セキュリティコンテキスト - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - + + Service + サービス - - Liveness Probe - 生存プローブ - - src/app/frontend/common/components/container/template.html - 226 - + + Resource Names + リソース名 - - Readiness Probe - 準備プローブ - - src/app/frontend/common/components/container/template.html - 236 - + + Logged in with auth header + 認証ヘッダーでログインしました - - Startup Probe - 起動プローブ - - src/app/frontend/common/components/container/template.html - 246 - + + Parameters + パラメーター - - Unsupported graph type . - は無効なグラフタイプです。 - - src/app/frontend/common/components/graph/component.ts - 95 - + + key + キー - - Waiting for more data to display chart... - チャートのデータが完全に表示されるまでもうしばらくお待ちください... - - src/app/frontend/common/components/graph/template.html - 22 - + + Inactive Jobs + 非稼働のジョブ - - Type - 種別 - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + bytes + バイト - - Last probe time - 最終探査時刻 - - src/app/frontend/common/components/condition/template.html - 52 - + + QoS Class + QoS クラス - - Last transition time - 最終遷移時刻 - - src/app/frontend/common/components/condition/template.html - 60 - + + Persistent Volume Claims + 永続ボリューム要求 - - Resource Limits - リソース上限 - - src/app/frontend/common/components/limits/template.html - 20 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Reason - 理由 - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Old Replica Sets + 古いレプリカセット - - Message - メッセージ - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Are you sure you want to delete in namespace ? + ネームスペース を本当に削除しますか - - Exit Code - 終了コード - - src/app/frontend/common/components/container/template.html - 84 - + + Memory limits (bytes) + メモリー上限 (バイト) - - Signal - シグナル - - src/app/frontend/common/components/container/template.html - 90 - + + Delete a resource + Delete a resource - - Started At - 起動中 - - src/app/frontend/common/components/container/template.html - 98 - + + Versions + バージョン - - Name:  - 名前:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + + + + + + - - Kind:  - 種類:  - - src/app/frontend/common/components/creator/template.html - 29 - + + User + User - - Age:  - 経過時間:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + Image Pull Secrets + イメージ取得用シークレット - - Kind - 種類 - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + Image Pull Secrets + イメージ取得用シークレット - - Pods - ポッド - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + Path Type + パス種別 - - Cron Jobs - Cron ジョブ - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - + + Settings have changed since last reload + Settings have changed since last reload - - Images - イメージ - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Resources + リソース - - Group - グループ - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Operating system + Operating system - - Full Name - フルネーム - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + Overview + 概要 - - Namespaced - ネームスペース - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Memory Usage (bytes) + メモリー使用量 (バイト) - - Versions - バージョン - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Add Namespace + Add Namespace - - Served - 提供済み - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Persistent disk name + Persistent disk name - - Storage - ストレージ - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Driver + Driver - - Daemon Sets - デーモンセット - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - + + All namespaces + すべてのネームスペース - - Host - ホスト - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + Host links are external links that will be open in a new tab. + ホストのリンクが外部リンクの場合は、新しいタブで開きます。 - - Ports (Name, Port, Protocol) - ポート (名前, ポート, プロトコル) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Version + Version - - unset - なし - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - + + Storage Classes + ストレージクラス - - Ready - 準備完了 - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Source - ソース - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + Namespaces let you partition resources into logically named groups. + ネームスペースは、リソースを論理的に命名されたグループに分けます。 - - Object - オブジェクト - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + Pending: + Pending: - - Sub-object - サブオブジェクト - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - + + Concurrency policy + Concurrency policy - - Count - 回数 - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Termination Grace Period (Seconds) + 終了猶予期間(秒) - - First Seen - 初回 - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Label Selector + Label Selector - - Last Seen - 直近 - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Ingress Classes + Ingress Classes - - Horizontal Pod Autoscalers - 水平ポッドオートスケーラー - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Succeeded + 成功 - - Min Replicas - 最小レプリカ数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Yes + はい - - Max Replicas - 最大レプリカ数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + Parallelism + Parallelism - - Reference - リファレンス - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Language + 言語 - - Horizontal Pod Autoscaler - 水平ポッドオートスケーラー - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + Do you want to stay on current page and change namespace from to ? + 現在のページで、ネームスペースを から に変更しますか? - - Endpoint links are external links that will be open in a new tab. - エンドポイントのリンクが外部リンクの場合は、新しいタブで開きます。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Source Type + ソース種別 - - Endpoints open_in_new - エンドポイント open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + Unavailable: + 利用不可: - - Host links are external links that will be open in a new tab. - ホストのリンクが外部リンクの場合は、新しいタブで開きます。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - + + CPU + CPU - - Hosts open_in_new - ホスト open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + File System Type + File System Type - - Controlled by - 制御 - - src/app/frontend/common/components/creator/template.html - 42 - + + Sub-object + サブオブジェクト - - Jobs - ジョブ - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Cluster + Cluster - - Namespaces - ネームスペース - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Show all + すべて表示 - - Phase - フェーズ - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + Sign out + サインアウト - - Network Policies - ネットワークポリシー - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Running + 稼働中 - - Ingresses - イングレス - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Last transition time + 最終遷移時刻 - - CPU requests (cores) - CPU 要件 (コア数) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {高度な設定を隠す} other {高度な設定を表示}} - - CPU limits (cores) - CPU 上限 (コア数) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Total: + 合計: - - Memory requests (bytes) - メモリー要件 (バイト) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + Suffix '' not recognized. + Suffix '' not recognized. - - Memory limits (bytes) - メモリー上限 (バイト) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + Port must be greater than 0. + ポートは 0 より大きい数を指定してください。 - - Persistent Volumes - 永続ボリューム - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Image + イメージ - - Select namespace... - ネームスペースの選択... - - src/app/frontend/common/components/namespace/template.html - 24 - + + Reclaim Policy + 再要求ポリシー - - All namespaces - すべてのネームスペース - - src/app/frontend/common/components/namespace/template.html - 33 - + + Name must be alphanumeric and may contain dashes. + 名前にはアルファベットと数字、およびダッシュが使用できます。 - - Search for - を検索 - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + Token + トークン - - NAMESPACES - ネームスペース - - src/app/frontend/common/components/namespace/template.html - 34 - + + Max unavailable: + 最大利用不可: - - Do you want to stay on current page and change namespace from to ? - - 現在のページで、ネームスペースを から に変更しますか? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Strategy: + ストラテジー: - - Yes - はい - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Close notifications panel + 通知パネルを閉じる - - No - いいえ - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + will be triggered. + がトリガーされます。 - - Initial Delay (Seconds) - 初期遅延(秒) - - src/app/frontend/common/components/probe/template.html - 26 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + リソースの自動更新間隔の秒数。無効にするには 0 を設定します。 - - Timeout (Seconds) - タイムアウト(秒) - - src/app/frontend/common/components/probe/template.html - 31 - + + You can specify minimum CPU and memory requirements for the container. + コンテナーの CPU およびメモリーの下限を指定できます。 - - Probe Period (Seconds) - 探査期間(秒) - - src/app/frontend/common/components/probe/template.html - 36 - + + Reference + リファレンス - - Success Threshold - 成功閾値 - - src/app/frontend/common/components/probe/template.html - 41 - + + Plural + Plural - - Failure Threshold - 失敗閾値 - - src/app/frontend/common/components/probe/template.html - 46 - + + Exec into pod + ポッドで実行する - - Termination Grace Period (Seconds) - 終了猶予期間(秒) - - src/app/frontend/common/components/probe/template.html - 51 - + + Label Value must not exceed 253 characters. + ラベルの値は 253 文字を超えてはいけません。 - - HTTP Healthcheck URI - HTTP ヘルスチェック URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Actions + Actions - - HTTP Headers - HTTP ヘッダー - - src/app/frontend/common/components/probe/template.html - 68 - + + Proc Mount + Proc Mount - - TCP Socket - TCP ソケット - - src/app/frontend/common/components/probe/template.html - 81 - + + Read documentation + ドキュメントを読む - - Exec Commands - 実行コマンド - - src/app/frontend/common/components/probe/template.html - 90 - + + List of namespaces that should be presented to user without namespace list privileges. + ネームスペース一覧表示権限がないユーザーに表示されるべきネームスペースの一覧です。 - - Objects - オブジェクト - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Resource Quotas + リソースクォータ - - No resources found in the selected namespace. - 指定されたネームスペースにリソースはありません。 - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Jobs + ジョブ - - Nodes - ノード - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + Max unavailable + Max unavailable - - Namespace:  - ネームスペース:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Hosts open_in_new + ホスト open_in_new - - Running:  - 稼働中:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Namespace + ネームスペース - - Succeeded:  - 成功:  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Resource auto-refresh time interval + リソースの自動更新間隔 - - Pending:  - 待機中:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Accepted Names + Accepted Names - - Failed:  - 失敗:  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Kubernetes Dashboard は、ダッシュボード コミュニティー によって、 オープンソースプロジェクトとして実現されています。 - - Desired - 要求中 - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Run as User + Run as User - - Running - 稼働中 - - src/app/frontend/common/components/podstatus/template.html - 63 - + + Name is required. + 名前は必須です。 - - Succeeded - 成功 - - src/app/frontend/common/components/podstatus/template.html - 69 - - - - Pending - 待機中 - - src/app/frontend/common/components/podstatus/template.html - 75 - - - - Failed - 失敗 - - src/app/frontend/common/components/podstatus/template.html - 82 - + + Started + 起動 - - Rules - ルール - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - + + Source Name + ソース名 - - Desired:  - 要求中:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + ラベルの値は '.'、'-'、あるいは '_' で区切られたアルファベットと数字からなる必要があります。 - - CPU Usage (cores) - CPU 使用量 (コア数) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + Learn more open_in_new + もっと詳しく open_in_new - - Memory Usage (bytes) - メモリー使用量 (バイト) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Learn more open_in_new + もっと詳しく open_in_new - - Capacity - 容量 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Learn more open_in_new + もっと詳しく open_in_new - - Access Modes - アクセスモード - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Learn more open_in_new + もっと詳しく open_in_new - - Reclaim Policy - 再要求ポリシー - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Learn more open_in_new + もっと詳しく open_in_new - - Claim - 要求 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Abort + 中止 - - Storage Class - ストレージクラス - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + Name must be up to characters long. + 名前は 文字までです。 - - Persistent Volume Claims - 永続ボリューム要求 - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Name must be up to characters long. + 名前は 文字までです。 - - Volume - ボリューム - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + value + - - Plugins - プラグイン - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Object + オブジェクト - - Shell - シェル - - src/app/frontend/index.messages.ts - 35 - + + Config Maps + Config Maps - - Read Only - 読み取り専用 - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Min Replicas + 最小レプリカ数 - - Mount Path - マウントパス - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Remove all notifications + すべての通知を削除 - - Sub Path - サブパス - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Container runtime version + Container runtime version - - Source Type - ソース種別 - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Service Port + サービスポート - - Source Name - ソース名 - - src/app/frontend/common/components/volumemount/template.html - 60 - + + Total + Total - - Preview Deployment - デプロイメントのプレビュー - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Cluster Role Bindings + Cluster Role Bindings - - Resources - リソース - - src/app/frontend/common/components/policyrule/template.html - 36 - + + Active Jobs + 稼働中のジョブ - - Non-resource URL - 非リソース URL - - src/app/frontend/common/components/policyrule/template.html - 46 - + + CPU requests (cores) + CPU 要件 (コア数) - - Resource Names - リソース名 - - src/app/frontend/common/components/policyrule/template.html - 56 - + + Failure Threshold + 失敗閾値 - - Verbs - 動詞 - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Volume Handle + Volume Handle - - API Groups - API グループ - - src/app/frontend/common/components/policyrule/template.html - 76 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Resource Quotas - リソースクォータ - - src/app/frontend/common/components/quotas/template.html - 20 - + + Show less + 少なく表示 - - Cluster Roles - クラスターロール - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Run as privileged + 特権コンテナーとして実行 - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + Variable name must be a valid C identifier. + 変数名は、有効な C 識別子で指定してください。 - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + Selector + Selector - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + No + いいえ - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Local settings + Local settings - - Resource name - リソース名 - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Protocol is required. + プロトコルは必須です。 - - Resource type - リソース種別 - - src/app/frontend/common/components/limits/template.html - 42 - + + Desired: + 要求中: - - Default - デフォルト - - src/app/frontend/common/components/limits/template.html - 47 - + + Session Affinity + Session Affinity - - Default request - デフォルト要件 - - src/app/frontend/common/components/limits/template.html - 52 - + + Container image is required + コンテナーイメージは必須です - - Edit - Edit - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + CPU requirement must be given as a valid number. + CPU 要件は有効な数で指定してください。 - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + Service Port Number + Service Port Number - - Replica Sets - レプリカセット - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - + + unset + なし - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - + + Resource Limits + リソース上限 - - Workload Status - Workload Status - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + This action is equivalent to: + この操作は次と同等です: - - Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - + + Change the language of the dashboard + ダッシュボードの言語を選択してください。 - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + Save + 保存 - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Protocol + プロトコル - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + Init containers + 初期化コンテナー - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - + + Exec + 実行 - - Provisioner - プロビジョナー - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + Open notifications panel + 通知パネルを開く - - Parameters - パラメーター - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Replica Sets + レプリカセット - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - + + Waiting for more data to display chart... + チャートのデータが完全に表示されるまでもうしばらくお待ちください... - - Cluster IP - クラスター IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + この値の 'app' ラベルがデプロイメントおよびサービスに追加されます。 - - Internal Endpoints - 内部エンドポイント - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Number of pods must be a positive integer + ポッド数は正の整数で指定してください - - External Endpoints - 外部エンドポイント - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Run command arguments + 実行コマンドの引数 - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + Can't find plugin "" + Can't find plugin "" - - Storage Classes - Storage Classes - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Last Seen + 直近 - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + Port must be an integer. + ポートは整数で指定してください。 - - Secrets - シークレット - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Choose YAML or JSON file + YAML または JSON ファイルを選択してください - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + Available + Available - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - コンテナー化されたアプリをデプロイ、他のネームスペースを選択、 - もっと詳しく知るためにダッシュボードツアーを見学 - open_in_new - できます。 - - - src/app/frontend/common/components/zerostate/template.html - 26 - + + Node + ノード - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Schedule: + スケジュール: - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Update + 更新 - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Arguments + 引数 - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + Dependencies + 依存関係 - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Role Bindings + ロールバインディング - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Config and Storage + Config and Storage - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Probe Period (Seconds) + 探査期間(秒) - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Scale resource + リソースをスケールする - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Port must be less than 65536. + ポートは 65536 より小さい数を指定してください。 - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Readiness Probe + 準備プローブ - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + CPU limits (cores) + CPU 上限 (コア数) - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Images + イメージ - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + Skip + スキップ - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Created + 作成日時 - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Namespace that should be selected by default after logging in. + ログイン後にデフォルトで指定されるネームスペース。 - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Deployment or service with this name already exists within namespace. + ネームスペース内にこの名前のデプロイメントあるいはサービスが既に存在します。 - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Storage class + ストレージクラス - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Role Bindings + Role Bindings - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + Pin resource + リソースにピンを設定 - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Config Maps + コンフィグマップ - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Create a new namespace... + 新しいネームスペースの作成... - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + 現在選択されているネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 - - API Group - API グループ - - src/app/frontend/common/components/subject/template.html - 63 - + + Completions: + 完了: - - Workloads - ワークロード - - - src/app/frontend/chrome/nav/template.html - 27 - + + in namespace will be restarted. + ネームスペース が再起動されます。 - - Cron Jobs - Cron ジョブ - - - src/app/frontend/chrome/nav/template.html - 32 - + + Starting deadline seconds + Starting deadline seconds - - Daemon Sets - デーモンセット - - - src/app/frontend/chrome/nav/template.html - 36 - + + Volume + ボリューム - - Deployments - デプロイメント - - - src/app/frontend/chrome/nav/template.html - 40 - + + Pending + 待機中 - - Jobs - ジョブ - - - src/app/frontend/chrome/nav/template.html - 44 - + + Memory requests (bytes) + メモリー要件 (バイト) - - Pods - ポッド - - - src/app/frontend/chrome/nav/template.html - 48 - + + Create new resource + 新しいリソースの作成 - - Replica Sets - レプリカセット - - - src/app/frontend/chrome/nav/template.html - 52 - + + Unknown + 不明 - - Replication Controllers - レプリケーションコントローラー - - - src/app/frontend/chrome/nav/template.html - 56 - + + Pin + ピンの設定 - - Stateful Sets - ステートフルセット - - - src/app/frontend/chrome/nav/template.html - 61 - + + This action is equivalent to: + この操作は次と同等です: - - Service - サービス - - - src/app/frontend/chrome/nav/template.html - 67 - + + Age: + 経過時間: - - Ingresses - イングレス - - - src/app/frontend/chrome/nav/template.html - 73 - + + Edit a resource + Edit a resource - - Services - サービス - - - src/app/frontend/chrome/nav/template.html - 82 - + + Roles + ロール - - Config and Storage - 設定とストレージ - - - src/app/frontend/chrome/nav/template.html - 88 - + + Do you want to save them anyways? + ともあれ保存しますか? - - Config Maps - コンフィグマップ - - - src/app/frontend/chrome/nav/template.html - 94 - + + Access modes + アクセスモード - - Persistent Volume Claims - 永続ボリューム要求 - - - src/app/frontend/chrome/nav/template.html - 100 - + + Default request + デフォルト要件 - - Secrets - シークレット - - - src/app/frontend/chrome/nav/template.html - 106 - + + Search + 検索 - - Storage Classes - ストレージクラス - - - src/app/frontend/chrome/nav/template.html - 110 - + + Actual replicas + 現在のレプリカ数 - - Cluster - クラスター - - - src/app/frontend/chrome/nav/template.html - 116 - + + Secrets + シークレット - - Cluster Role Bindings - クラスターロールバインディング - - - src/app/frontend/chrome/nav/template.html - 120 - + + Kind: + 種類: - - Cluster Roles - クラスターロール - - - src/app/frontend/chrome/nav/template.html - 125 - + + Namespaces + ネームスペース - - Events - イベント - - src/app/frontend/chrome/nav/template.html - 130 - + + Rules + ルール - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + Claim + 要求 - - Namespaces - ネームスペース - - - src/app/frontend/chrome/nav/template.html - 134 - + + iSCSI Qualified Name + iSCSI Qualified Name - - Network Policies - ネットワークポリシー - - - src/app/frontend/chrome/nav/template.html - 139 - + + Parallelism: + 並列: - - Nodes - ノード - - - src/app/frontend/chrome/nav/template.html - 144 - + + Environment variables + Environment variables - - Persistent Volumes - 永続ボリューム - - - src/app/frontend/chrome/nav/template.html - 148 - + + Desired + 要求中 - - Role Bindings - ロールバインディング - - - src/app/frontend/chrome/nav/template.html - 154 - + + Cluster Roles + クラスターロール - - Roles - ロール - - - src/app/frontend/chrome/nav/template.html - 160 - + + Delete resource + リソースを削除する - - Service Accounts - サービスアカウント - - - src/app/frontend/chrome/nav/template.html - 165 - + + Architecture + Architecture - - Custom Resource Definitions - カスタムリソース定義 - - - src/app/frontend/chrome/nav/template.html - 173 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + ファイルに指定されたネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 - - Plugins - プラグイン - - - src/app/frontend/chrome/nav/template.html - 184 - + + Reason + 理由 - - Edit a resource - Edit a resource - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Logs + ログ - - Settings - 設定 - - - src/app/frontend/chrome/nav/template.html - 192 - + + General-purpose web UI for Kubernetes clusters + General-purpose web UI for Kubernetes clusters - About - Kubernetes Dashboard について - - - src/app/frontend/chrome/nav/template.html - 197 - + About + Kubernetes Dashboard について - - Create new resource - 新しいリソースの作成 - - src/app/frontend/chrome/template.html - 42 - + + Description + 説明 - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + Settings + Settings - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63 - + + Controlled by + 制御 + + + SE Linux Role + SE Linux Role - - Search - 検索 - - src/app/frontend/chrome/search/template.html - 29 - + + Trigger resource + リソースをトリガーする - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Workload Status + Workload Status - - Remove all notifications - すべての通知を削除 - - src/app/frontend/chrome/notifications/template.html - 71 - + + Singular + Singular - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + Access Modes + アクセスモード - - Delete a resource - Delete a resource - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + SE Linux Level + SE Linux Level - - Delete - Delete - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Running: + 稼働中: - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Keyring + Keyring - - Basic - ベーシック - - src/app/frontend/login/template.html - 36 - + + IP + IP - - Token - トークン - - src/app/frontend/login/template.html - 38 - + + HTTP Healthcheck URI + HTTP ヘルスチェック URI - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - クラスターにアクセスするために作成した kubeconfig ファイルを選択してください。kubeconfig ファイルの設定方法や使用方法についてもっと知るためには、 Configure Access to Multiple Clusters セクションを参照してください。 - - - src/app/frontend/login/template.html - 44 - + + Environment Variables + 環境変数 - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - ベーシック認証がそのクラスターで有効になっていることを確認してください。ベーシック認証の設定方法についてもっと知るためには、 AuthenticatingABAC Mode セクションを参照してください。 - - - src/app/frontend/login/template.html - 51 - + + Addresses + Addresses - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - すべてのサービスアカウントには、ダッシュボードのログインに使用できる有効なベアラートークンを持つシークレットがあります。ベアラートークンの設定方法や使用方法についてもっと知るためには、 Authentication セクションを参照してください。 - - - src/app/frontend/login/template.html - 58 - + + Pods + ポッド - - Enter token - トークンを入力 - - src/app/frontend/login/template.html - 74 - + + Sign in + サインイン Username ユーザー名 - - src/app/frontend/login/template.html - 87 - - - Password - パスワード - - src/app/frontend/login/template.html - 98 - + + Upload + アップロード - - Choose kubeconfig file - kubeconfig ファイルの選択 - - src/app/frontend/login/template.html - 107 - + + IP: + IP: - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - 安全でないアクセスを検知しました。サインインは無効になります。HTTPS 経由、あるいは localhost を使用してダッシュボードに安全にアクセスしてください。詳細は、 - - ここ - を参照してください。 - - - src/app/frontend/login/template.html - 117 - + + Taints + Taints - - Sign in - サインイン - - src/app/frontend/login/template.html - 133 - + + Memory requirement must be given as a positive number. + メモリー要件は正の整数で指定してください。 - - Skip - スキップ - - src/app/frontend/login/template.html - 142 - + + Search for + を検索 - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Kubernetes Dashboard は、ダッシュボード - コミュニティー によって、 - オープンソースプロジェクトとして実現されています。 - - - src/app/frontend/about/template.html - 37 - + + Cron Jobs + Cron ジョブ - - Workloads - Workloads - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Size: B + サイズ: B - - Read documentation - ドキュメントを読む - - src/app/frontend/about/actionbar/template.html - 24 - + + Choose color theme of the dashboard + ダッシュボードのカラーテーマを選択してください。 - - Provide feedback - フィードバックを提供する - - src/app/frontend/about/actionbar/template.html - 35 - + + Filter objects by name + 名前による絞り込み - - Resource information - Resource information - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + Schedule + スケジュール - - Create from input - 入力して作成 - - src/app/frontend/create/template.html - 20 - + + Enter token + トークンを入力 - - Create from file - ファイルから作成 - - src/app/frontend/create/template.html - 24 - + + Allow Privilege Escalation + Allow Privilege Escalation - - Create from form - フォームから作成 - - src/app/frontend/create/template.html - 28 - + + Labels + ラベル - - About - About - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + Resource information + Resource information - - General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters - - src/app/frontend/about/template.html - 30 - + + Target port must be less than 65536. + ターゲットポートは 65536 より小さい数を指定してください。 - - The new namespace will be added to the cluster. - 新しいネームスペースがクラスターに追加されます。 - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Invert colors + 色の反転 - - Namespace name - ネームスペース名 - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + Horizontal Pod Autoscaler + 水平ポッドオートスケーラー - - Name is required. - 名前は必須です。 - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Scope + Scope - - Name must be up to characters long. - - 名前は 文字までです。 - - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Data is required. + データが必要です。 - - Name must be alphanumeric and may contain dashes. - 名前にはアルファベットと数字、およびダッシュが使用できます。 - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Processes in privileged containers are equivalent to processes running as root on the host. + 特権コンテナー内のプロセスは、ホスト上で root として実行されているプロセスと同等です。 - - Create a new image pull secret - Create a new image pull secret - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Default + デフォルト - - Go to namespace - ネームスペースへ移動 - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Deployments + デプロイメント - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Status + 状態 - - Rolling update strategy - Rolling update strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Egress Rules + Egress Rules - - A namespace with the specified name will be added to the cluster. - 指定された名前のネームスペースがクラスターに追加されます。 - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + Unavailable + Unavailable - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Kubeconfig + Kubeconfig - - The new secret will be added to the cluster - 新しいシークレットがクラスターに追加されます。 - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Create + Create - - Secret name - シークレット名 - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + コンテナー化されたアプリをデプロイ、他のネームスペースを選択、 もっと詳しく知るためにダッシュボードツアーを見学 open_in_new できます。 - - Name must be up to characters long. - - 名前は 文字までです。 - - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Create a new secret... + 新しいシークレットの作成... - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名前は DNS ドメイン名の構文に従う必要があります (例 new.image-pull.secret)。 - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Provide feedback + フィードバックを提供する - - A secret with the specified name will be added to the cluster in the namespace. - 指定された名前のシークレットがネームスペースのクラスターに追加されます。 - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Events + イベント - - Data is required. - データが必要です。 - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + Storage + ストレージ - - Data must be Base64 encoded. - データは Base64 エンコードされている必要があります。 - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Suspend + 休止 - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - シークレットを保持しているデータを指定します。その値は .dockercfg ファイルの内容を Base64 エンコードしたものです。 - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Add + Add - - Create - Create - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - + + No namespaces selected + ネームスペースが選択されていません - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67 - + + Select namespace... + ネームスペースの選択... - - App name - アプリ名 - - src/app/frontend/create/from/form/template.html - 23 - + + Monitors + Monitors - - Deployment or service with this name already exists within namespace. - ネームスペース内にこの名前のデプロイメントあるいはサービスが既に存在します。 - - src/app/frontend/create/from/form/template.html - 35 - + + Ingresses + イングレス - - Application name is required. - アプリケーション名は必須です。 - - src/app/frontend/create/from/form/template.html - 39 - + + Secret name + シークレット名 - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - アプリケーション名は小文字で始まり、小文字、数字、および '-' からなる必要があります。 - - src/app/frontend/create/from/form/template.html - 41 - + + Shell + シェル - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - この値の 'app' ラベルがデプロイメントおよびサービスに追加されます。 - - src/app/frontend/create/from/form/template.html - 48 - + + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. + オプションで、内部または外部のサービスを定義して、コンテナーから参照されるターゲットポートに受信ポートをマッピングできます。 - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Target World Wide Names + Target World Wide Names - - Container image - コンテナーイメージ - - src/app/frontend/create/from/form/template.html - 63 - + + Target portal + Target portal - - Container image is required - コンテナーイメージは必須です - - src/app/frontend/create/from/form/template.html - 68 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - Container image is invalid: - - コンテナーイメージが無効です: - - - src/app/frontend/create/from/form/template.html - 70 - + + Jobs + ジョブ - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - レジストリー上のパブリックイメージ、または Docker Hub や Google Container Registry でホストされているプライベートイメージの URL を入力します。 - - src/app/frontend/create/from/form/template.html - 76 - + + Service + サービス - - Number of pods - ポッド数 - - src/app/frontend/create/from/form/template.html - 93 - + + + + + + + + + - - Number of pods is required - ポッド数は必須です - - src/app/frontend/create/from/form/template.html - 99 - + + Liveness Probe + 生存プローブ - - Number of pods must be a positive integer - ポッド数は正の整数で指定してください - - src/app/frontend/create/from/form/template.html - 101 - + + Exit Code + 終了コード - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 大きなポッド数を設定すると、クラスターやダッシュボードの性能問題を引き起こす可能性があります。 - - src/app/frontend/create/from/form/template.html - 104 - + + Supplemental Groups + Supplemental Groups - - A Deployment will be created to maintain the desired number of pods across your cluster. - デプロイメントを作成して、クラスター内に必要な数のポッドを維持できます。 - - src/app/frontend/create/from/form/template.html - 109 - + + Subjects + Subjects - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - オプションで、内部または外部のサービスを定義して、コンテナーから参照されるターゲットポートに受信ポートをマッピングできます。 - - src/app/frontend/create/from/form/template.html - 129 - + + Minimize card + カードを最小化 - - Description - 説明 - - src/app/frontend/create/from/form/template.html - 172 - + + Create a new image pull secret + Create a new image pull secret - - The description will be added as an annotation to the Deployment and displayed in the application's details. - 説明はデプロイメントのアノテーションとして追加され、アプリケーションの詳細に表示されます。 - - src/app/frontend/create/from/form/template.html - 175 - + + Policy Types + Policy Types - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 指定されたラベルは作成されたデプロイメント、サービス(もしあれば)、およびポッドに適用されます。一般的なラベルには、リリース、環境、層、パーティション、トラックなどが含まれます。 - - src/app/frontend/create/from/form/template.html - 188 - + + Windows Run as User + Windows Run as User - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Show timestamps + タイムスタンプの表示 - - Create a new namespace... - 新しいネームスペースの作成... - - src/app/frontend/create/from/form/template.html - 151 - + + Namespace name + ネームスペース名 - - Namespaces let you partition resources into logically named groups. - ネームスペースは、リソースを論理的に命名されたグループに分けます。 - - src/app/frontend/create/from/form/template.html - 155 - + + Path + パス - - Create a new secret... - 新しいシークレットの作成... - - src/app/frontend/create/from/form/template.html - 209 - + + Create a new namespace + Create a new namespace - - Image Pull Secret - イメージ取得用シークレット - - src/app/frontend/create/from/form/template.html - 204 - + + Unpin resource + リソースのピンを解除 - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 指定されたイメージがプライベートの場合、取得用シークレットクレデンシャルを要求できます。既存のシークレットを選択するか、新しく作成できます。 - - src/app/frontend/create/from/form/template.html - 213 - + + Port + ポート - - CPU requirement (cores) - CPU 要件 (コア数) - - src/app/frontend/create/from/form/template.html - 230 - + + Dropped Capabilities + Dropped Capabilities - - CPU requirement must be given as a positive number. - CPU 要件は正の整数で指定してください。 - - src/app/frontend/create/from/form/template.html - 236 - + + Subresources + Subresources - - CPU requirement must be given as a valid number. - CPU 要件は有効な数で指定してください。 - - src/app/frontend/create/from/form/template.html - 240 - + + Succeeded: + Succeeded: - - Memory requirement (MiB) - メモリー要件 (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + Horizontal Pod Autoscalers + 水平ポッドオートスケーラー - - Memory requirement must be given as a positive number. - メモリー要件は正の整数で指定してください。 - - src/app/frontend/create/from/form/template.html - 254 - + + Invalid protocol. + 無効なプロトコルです。 - - Memory requirement must be given as a valid number. - メモリー要件は有効な数で指定してください。 - - src/app/frontend/create/from/form/template.html - 258 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - You can specify minimum CPU and memory requirements for the container. - コンテナーの CPU およびメモリーの下限を指定できます。 - - src/app/frontend/create/from/form/template.html - 264 - + + The new secret will be added to the cluster + 新しいシークレットがクラスターに追加されます。 - - Run command - 実行コマンド - - src/app/frontend/create/from/form/template.html - 279 - + + Pending: + 待機中: - - Run command arguments - 実行コマンドの引数 - - src/app/frontend/create/from/form/template.html - 285 - + + Cluster + クラスター - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - デフォルトでは、コンテナーは選択されたイメージの ENTRYPOINT のコマンドを実行します。コマンドオプションを使用して、このデフォルトの動作を上書きできます。 - - src/app/frontend/create/from/form/template.html - 291 - + + Suspend: + 休止中: - - Run as privileged - 特権コンテナーとして実行 - - src/app/frontend/create/from/form/template.html - 307 - + + Security Context + セキュリティコンテキスト - - Processes in privileged containers are equivalent to processes running as root on the host. - 特権コンテナー内のプロセスは、ホスト上で root として実行されているプロセスと同等です。 - - src/app/frontend/create/from/form/template.html - 310 - + + TCP Socket + TCP ソケット - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - コンテナーで使用できる環境変数です。値は、$(VAR_NAME) 構文を使用して、他の変数を参照できます。 - - src/app/frontend/create/from/form/template.html - 324 - + + Persistent Volumes + 永続ボリューム - - Deploy - - デプロイ - - src/app/frontend/create/from/form/template.html - 343 - + + System information + System information - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + Min ready seconds: + 最小準備秒数: - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {高度な設定を隠す} other {高度な設定を表示}} - - src/app/frontend/create/from/form/template.html - 367 - + + Ready + 準備完了 - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + HTTP Headers + HTTP ヘッダー - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - ファイルに指定されたネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 - - src/app/frontend/create/from/input/template.html - 19 - + + Sub Path + サブパス - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 現在選択されているネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 - - src/app/frontend/create/from/input/template.html - 23 - + + Service Accounts + サービスアカウント - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + kubelet version + kubelet version - - Learn more open_in_new - - もっと詳しく open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - + + Items: + 項目: - - Upload - - アップロード - - src/app/frontend/create/from/input/template.html - 40 - + + Network Policies + ネットワークポリシー - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - ファイルに指定されたネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 - - src/app/frontend/create/from/file/template.html - 19 - + + Value + - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 現在選択されているネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 - - src/app/frontend/create/from/file/template.html - 23 - + + API Group + API グループ + + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + デフォルトでは、コンテナーは選択されたイメージの ENTRYPOINT のコマンドを実行します。コマンドオプションを使用して、このデフォルトの動作を上書きできます。 - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - + + Ports (Name, Port, Protocol) + ポート (名前, ポート, プロトコル) - - Choose YAML or JSON file - YAML または JSON ファイルを選択してください - - src/app/frontend/create/from/file/template.html - 35 - + + Target port cannot be empty. + ターゲットポートは必須です。 - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Kind + 種類 - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Host + ホスト - - Variable name must be a valid C identifier. - 変数名は、有効な C 識別子で指定してください。 - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + Lun number + Lun number - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + Pod Selector + Pod Selector - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + Sign in + サインイン - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + List Kind + List Kind - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Run command + 実行コマンド - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Port cannot be empty. + ポートは必須です。 - - Value - - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + Quantity + 数量 - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + Logged in with token + トークンでログインしました - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + Completions + Completions - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + View logs + ログを表示する - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Provider ID + Provider ID - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Pod CIDR + Pod CIDR - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Kernel version + Kernel version - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Persistent Volumes + 永続ボリューム - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Containers + コンテナー - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + Workloads + ワークロード - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Container image + コンテナーイメージ - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + SE Linux User + SE Linux User - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Served + 提供済み - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Plugins + プラグイン - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Name: + 名前: - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + Scale a resource + リソースをスケールする - - Label Selector - Label Selector - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + Resource name + リソース名 - - Init images - Init images - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + Application name is required. + アプリケーション名は必須です。 - - Service - サービス - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Full Name + フルネーム - - Config and Storage - Config and Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Target port + ターゲットポート - - Port - ポート - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Cluster IP + クラスター IP - - Port must be an integer. - ポートは整数で指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + There is nothing to display here + ここに表示するものはありません - - Port cannot be empty. - ポートは必須です。 - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Initial Delay (Seconds) + 初期遅延(秒) - - Port must be greater than 0. - ポートは 0 より大きい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Short Names + Short Names - - Port must be less than 65536. - ポートは 65536 より小さい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Delete + Delete - - Target port - ターゲットポート - - src/app/frontend/create/from/form/portmappings/template.html - 71 - + + Namespaces + ネームスペース - - Target port must be an integer. - ターゲットポートは整数で指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Internal Endpoints + 内部エンドポイント - - Target port cannot be empty. - ターゲットポートは必須です。 - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + ラベルのキー名は、'-'、'_'、あるいは '.' で区切られたアルファベットと数字からなる必要があり、オプションで DNS サブドメイン、あるいは '/' でプレフィックスできます。 - - Target port must be greater than 0. - ターゲットポートは 0 より大きい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Pool + Pool - - Target port must be less than 65536. - ターゲットポートは 65536 より小さい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Theme + テーマ - - Protocol - プロトコル - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Logs from to UTC + ログ UTC から まで - - Protocol is required. - プロトコルは必須です。 - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + in + in - - Invalid protocol. - 無効なプロトコルです。 - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Services + Services - - Create a new namespace - Create a new namespace - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Max number of items that can be displayed on every list view. + 一覧表示のビューで表示する項目の最大数です。 - - key - キー - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Unschedulable + Unschedulable - - is not unique - - は一意ではありません - - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + Max surge: + 最大サージ: - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - プレフィックスが有効な DNS サブドメインのプレフィックス (例 my-domain.com) ではありません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Success Threshold + 成功閾値 - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - ラベルのキー名は、'-'、'_'、あるいは '.' で区切られたアルファベットと数字からなる必要があり、オプションで DNS サブドメイン、あるいは '/' でプレフィックスできます。 - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Host + ホスト - - Prefix should not exceed 253 characters. - プレフィックスは 253 文字を超えてはいけません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Restarts + 再起動 - - Label Key name should not exceed 63 characters. - ラベルのキー名は 63 文字を超えてはいけません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Custom Resource Definitions + カスタムリソース定義 - - value - - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Settings + 設定 - - Label value must be alphanumeric separated by '.' , '-' or '_'. - ラベルの値は '.'、'-'、あるいは '_' で区切られたアルファベットと数字からなる必要があります。 - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Updated + Updated - - Label Value must not exceed 253 characters. - ラベルの値は 253 文字を超えてはいけません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Failed + 失敗 - - Logs from - ログ - - src/app/frontend/logs/template.html - 24 - + + Shell in in + のシェル Init Containers 初期化コンテナー - - src/app/frontend/logs/template.html - 34 - - - - in - in - - src/app/frontend/logs/template.html - 43 - - - - Download logs - ログのダウンロード - - src/app/frontend/logs/template.html - 57 - - - - Invert colors - 色の反転 - - src/app/frontend/logs/template.html - 131 - - - Reduce font size - フォントサイズの縮小 - - src/app/frontend/logs/template.html - 136 - + + Plugins + プラグイン - - Show timestamps - タイムスタンプの表示 - - src/app/frontend/logs/template.html - 141 - + + There is no data to display. + 表示するデータがありません。 - - Auto-refresh (every s.) - 自動更新 ( 秒毎) - - src/app/frontend/logs/template.html - 146 - + + Default service account + デフォルトサービスアカウント - - Show previous logs - 以前のログを表示 - - src/app/frontend/logs/template.html - 151 - + + Config and Storage + 設定とストレージ - - Logs from to UTC - ログ UTC から まで - - - src/app/frontend/logs/template.html - 94 - + + Privileged + Privileged - - Path - パス - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Trigger + トリガー - - Key - キー - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Active Jobs: + 稼働中のジョブ: - - Path Type - パス種別 - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Signal + シグナル - - Service Name - サービス名 - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Unpin + ピンの解除 - - Service Port - サービスポート - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + Network Policies + ネットワークポリシー - - TLS Secret - TLS 鍵 - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Filesystem type + Filesystem type - - Namespace conflict - Namespace conflict - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Logs auto-refresh time interval + ログの自動更新間隔 - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + kube-proxy version + kube-proxy version - - Quantity - 数量 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + Run as Non-Root + Run as Non-Root - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + SE Linux Type + SE Linux Type - - Session Affinity - Session Affinity - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + Objects + オブジェクト - - Selector - Selector - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + 大きなポッド数を設定すると、クラスターやダッシュボードの性能問題を引き起こす可能性があります。 - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Namespace: + ネームスペース: - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + NAMESPACES + ネームスペース - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Edit + Edit - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Pods: + ポッド: - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Default Backend + Default Backend - - Dataset name - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + シークレットを保持しているデータを指定します。その値は .dockercfg ファイルの内容を Base64 エンコードしたものです。 - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Preview + Preview - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Cancel + Cancel - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Disable access denied notification + アクセス拒否通知の無効化 - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Nodes + ノード - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Endpoint links are external links that will be open in a new tab. + エンドポイントのリンクが外部リンクの場合は、新しいタブで開きます。 - - Parameter - パラメーター - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Last probe time + 最終探査時刻 - - Data - Data - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Secret reference name + Secret reference name - - There is no data to display. - 表示するデータがありません。 - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Dataset name + Dataset name - - Settings have changed since last reload - Settings have changed since last reload - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + Label Key name should not exceed 63 characters. + ラベルのキー名は 63 文字を超えてはいけません。 - - Schedule:  - スケジュール:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Run as Group + Run as Group - - Active Jobs:  - 稼働中のジョブ:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Pods status + ポッド状態 - - Suspend:  - 休止中:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. - - Last schedule - Last schedule - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - + + Close + 閉じる - - Concurrency policy - Concurrency policy - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + No resources found in the selected namespace. + 指定されたネームスペースにリソースはありません。 - - Starting deadline seconds - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + Capacity + 容量 - - Role Reference - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Data must be Base64 encoded. + データは Base64 エンコードされている必要があります。 - - System information - System information - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Running: + Running: - - Allocation - Allocation - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Service Accounts + Service Accounts - - Pod CIDR - Pod CIDR - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Workloads + Workloads - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + ベーシック認証がそのクラスターで有効になっていることを確認してください。ベーシック認証の設定方法についてもっと知るためには、 AuthenticatingABAC Mode セクションを参照してください。 - - Unschedulable - Unschedulable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + Create + Create - - Addresses - Addresses - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Roles + Roles - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Reload + Reload - - Machine ID - Machine ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Provide a namespace name that should be added to the namespace fallback list + 無条件表示ネームスペース一覧に追加するネームスペースを指定してください。 - - System UUID - System UUID - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Filesystem Group + Filesystem Group Boot ID Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - Kernel version - Kernel version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - + + Replication Controllers + Replication Controllers - - OS Image - OS Image - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Remove namespaces from the list and confirm to save the changes. + 一覧からネームスペースを削除し、保存ボタンを押して確定してください。 - - Container runtime version - Container runtime version - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Persistent Volume Claims + 永続ボリューム要求 - - kubelet version - kubelet version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Message + メッセージ - - kube-proxy version - kube-proxy version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - + + Max number of labels that are displayed by default on most views. + ほとんどのビューでデフォルトで表示するラベルの最大数です。 - - Operating system - Operating system - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Cluster name + クラスター名 - - Architecture - Architecture - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + Deployments + デプロイメント - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + App name + アプリ名 - - Memory - Memory - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + Last schedule + Last schedule - - Pod Selector - Pod Selector - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + System UUID + System UUID - - Policy Types - Policy Types - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + Config And Storage + Config And Storage - - Ingress Rules - Ingress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + Container image is invalid: + コンテナーイメージが無効です: - - Egress Rules - Egress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + Count + 回数 - - Active Jobs - 稼働中のジョブ - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + Replication Controllers + レプリケーションコントローラー - - Image Pull Secrets - イメージ取得用シークレット - - src/app/frontend/resource/cluster/serviceaccount/detail/component.ts - 57 - + + Active + 稼働中 - - Inactive Jobs - 非稼働のジョブ - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + CPU Usage (cores) + CPU 使用量 (コア数) - - Strategy:  - ストラテジー:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + Environment variable + 環境変数 - - Min ready seconds:  - 最小準備秒数:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Restart a resource + リソースの再起動 - - Revision history limit:  - 改版履歴上限:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Max surge + Max surge - - Strategy - Strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Annotations + アノテーション - - Min ready seconds - Min ready seconds - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + First Seen + 初回 - - Revision history limit - Revision history limit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + Forbidden (403) + Forbidden (403) - - Max surge:  - 最大サージ:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - 最大利用不可:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + Suspended: - - Max surge - Max surge - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + Upload - - Max unavailable - Max unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + フェーズ - - Updated:  - 更新済み:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + Namespace conflict - - Total:  - 合計:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + Controller - - Available:  - 利用可能:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + は、目標のレプリカ数になるように更新されます。 - - Unavailable:  - 利用不可:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + OS Image - - Updated - Updated - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + ログファイルのダウンロード - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Endpoints open_in_new + エンドポイント open_in_new - - Available - Available - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Create from form + フォームから作成 - - Unavailable - Unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Ingress Rules + Ingress Rules - - New Replica Set - New Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Pods + ポッド - - Environment variables - Environment variables - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Stateful Sets + Stateful Sets - - Pods:  - ポッド:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + プレフィックスが有効な DNS サブドメインのプレフィックス (例 my-domain.com) ではありません。 - - Old Replica Sets - 古いレプリカセット - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + File is ready to download! + ファイルをダウンロードできます! - - Completions:  - 完了:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Succeeded: + 成功: - - Parallelism:  - 並列:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Download logs + ログのダウンロード - - Completions - Completions - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Startup Probe + 起動プローブ - - Parallelism - Parallelism - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Service Name + Service Name - - Do you want to save them anyways? - ともあれ保存しますか? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Namespaced + ネームスペース - - Refresh - Refresh - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Preview Deployment + デプロイメントのプレビュー - - Resource Information - Resource Information - - src/app/frontend/crd/detail/template.html - 22 - + + Group + グループ - - Accepted Names - Accepted Names - - src/app/frontend/crd/detail/template.html - 55 - + + Basic + ベーシック - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - + + There are no notifications + There are no notifications - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - + + Type + 種別 - - Subresources - Subresources - - src/app/frontend/crd/detail/template.html - 47 - + + Mounts + マウント - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - + + Global settings + Global settings - - List Kind - List Kind - - src/app/frontend/crd/detail/template.html - 77 - + + Last Schedule + 最後のスケジュール - - Singular - Singular - - src/app/frontend/crd/detail/template.html - 67 - + + A namespace with the specified name will be added to the cluster. + 指定された名前のネームスペースがクラスターに追加されます。 - - Short Names - Short Names - - src/app/frontend/crd/detail/template.html - 82 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + 指定されたラベルは作成されたデプロイメント、サービス(もしあれば)、およびポッドに適用されます。一般的なラベルには、リリース、環境、層、パーティション、トラックなどが含まれます。 - - Categories - Categories - - src/app/frontend/crd/detail/template.html - 87 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + 現在選択されているネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 - - Default namespace - デフォルトのネームスペース - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Status: + 状態: - - Namespace that should be selected by default after logging in. - ログイン後にデフォルトで指定されるネームスペース。 - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Target port must be greater than 0. + ターゲットポートは 0 より大きい数を指定してください。 - - Namespace fallback list - 無条件表示ネームスペース一覧 - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Nodes + ノード - - List of namespaces that should be presented to user without namespace list privileges. - ネームスペース一覧表示権限がないユーザーに表示されるべきネームスペースの一覧です。 - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Read Only + 読み取り専用 - - Add namespaces... - ネームスペースの追加... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Started At + 起動中 - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + Cluster Roles + クラスターロール - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Filter + フィルター - - Remove namespaces from the list and confirm to save the changes. - 一覧からネームスペースを削除し、保存ボタンを押して確定してください。 - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + リソースはありません。 - - No namespaces selected - ネームスペースが選択されていません - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + レプリカセット - - Provide a namespace name that should be added to the namespace fallback list - 無条件表示ネームスペース一覧に追加するネームスペースを指定してください。 - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Verbs + 動詞 - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47 - + + Path + Path - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Show previous logs + 以前のログを表示 - - Cluster name - クラスター名 - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + フォントサイズの縮小 - - Cluster name appears in the browser window title if it is set. - クラスター名が設定されていると、ブラウザーのウィンドウタイトルに表示されます。 - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + Allocation Items per page ページ毎の項目数 - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - 一覧表示のビューで表示する項目の最大数です。 - - src/app/frontend/settings/global/template.html - 44 - + + Name + 名前 - - Labels limit - ラベル数上限 - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + ポッド数は必須です - - Max number of labels that are displayed by default on most views. - ほとんどのビューでデフォルトで表示するラベルの最大数です。 - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - ログの自動更新間隔 - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + のトリガー + + + CPU requirement must be given as a positive number. + CPU 要件は正の整数で指定してください。 + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + レジストリー上のパブリックイメージ、または Docker Hub や Google Container Registry でホストされているプライベートイメージの URL を入力します。 + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. ログの自動更新間隔の秒数。 - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - リソースの自動更新間隔 - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - リソースの自動更新間隔の秒数。無効にするには 0 を設定します。 - - src/app/frontend/settings/global/template.html - 94 - - - Disable access denied notification - アクセス拒否通知の無効化 - - src/app/frontend/settings/global/template.html - 110 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + 名前は DNS ドメイン名の構文に従う必要があります (例 new.image-pull.secret)。 - - Hides all access denied warnings in the notification panel. - 通知パネルのすべてのアクセス拒否警告を隠す。 - - src/app/frontend/settings/global/template.html - 112 - + + Service Account + サービスアカウント - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Timeout (Seconds) + タイムアウト(秒) - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Sysctls + Sysctls - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - ローカル設定はブラウザのクッキーに保存されるので、複数のデバイス間で同期されません。変更は自動的に適用されます。 - - src/app/frontend/settings/local/template.html - 21 - + + Source + ソース - - Theme - テーマ - - src/app/frontend/settings/local/template.html - 26 - + + Prefix should not exceed 253 characters. + プレフィックスは 253 文字を超えてはいけません。 - - Choose color theme of the dashboard - ダッシュボードのカラーテーマを選択してください。 - - src/app/frontend/settings/local/template.html - 28 - + + Failed: + Failed: - - Language - 言語 - - src/app/frontend/settings/local/template.html - 41 - + + Read only + Read only - - Change the language of the dashboard - ダッシュボードの言語を選択してください。 - - src/app/frontend/settings/local/template.html - 43 - + + Daemon Sets + デーモンセット - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Storage Classes + Storage Classes - - Shell in in - - の - - - - - - のシェル - - - src/app/frontend/shell/template.html - 22 - + + Provisioner + プロビジョナー - + \ No newline at end of file diff --git a/modules/web/i18n/ko/messages.ko.xlf b/modules/web/i18n/ko/messages.ko.xlf index d149b6efdbc1..7434cc87a3ee 100644 --- a/modules/web/i18n/ko/messages.ko.xlf +++ b/modules/web/i18n/ko/messages.ko.xlf @@ -2,6621 +2,2428 @@ - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - - - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - + + Create from file + 파일을 통해 생성 - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - + + Default namespace + Default namespace - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - + + Logs from + 로그 - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - + + Namespace fallback list + Namespace fallback list - - This action is equivalent to: - 이 액션은 다음 커맨드와 동일합니다. - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Auto-refresh (every s.) + ( 초마다) 자동 새로고침. - - Update - Update - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Resource Information + Resource Information - - Cancel - Cancel - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Ingress Class Name + Ingress Class Name - - This action is equivalent to: - This action is equivalent to: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Number of pods + 파드의 수 - - Are you sure you want to delete  in namespace ? - - 정말로 - -  네임스페이스 in namespace - - 네임스페이스를 삭제하시겠습니까? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Refresh + Refresh - - Restart a resource - Restart a resource - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + is not unique + 는 고유하지 않습니다. - - Size: B - 크기: B - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + Go to namespace Preparing file to download... Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - + + Age + Age - - Forbidden (403) - 권한 없음(403) - - src/app/frontend/common/dialogs/download/template.html - 33 - + + Service Name + Service Name - - You do not have required permissions to access this resource. - 이 자원에 접근하기 위해 필요한 권한이 없습니다. - - src/app/frontend/common/dialogs/download/template.html - 34 - + + Memory requirement (MiB) + 메모리 요구 사항(MiB) - - Save - Save - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - + + Role Reference + Role Reference - - Abort - Abort - - src/app/frontend/common/dialogs/download/template.html - 48 - + + Endpoints + Endpoints - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + 파라미터 - - Close - 닫기 - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - + + Read Only Filesystem + Read Only Filesystem - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - + + Partition + Partition - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Restart + Restart - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Cluster Role Bindings + 클러스터 롤 바인딩 - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Edit Namespace List + Edit Namespace List - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - + + New Replica Set + New Replica Set - - Desired replicas - 의도한 레플리카 - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + 모든 서비스 어카운트는 시크릿을 가지고 있고, 시크릿에는 대시보드에 로그인할 때 사용할 수 있는 유효한 베어러(Bearer) 토큰이 있습니다. 베어러(Bearer) 토큰을 설정 및 사용하는 방법은 인증 섹션에서 알 수 있습니다. - - Actual replicas - 실제 레플리카 - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Non-resource URL + 비-리소스 URL + + + Image: + 이미지: + + + Mount Option(s) + Mount Option(s) + + + Cron Jobs + Cron Jobs + + + Init images + Init images + + + Ingresses + Ingresses Scale Scale - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - Trigger a - Trigger a - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Daemon Sets + 데몬 셋 - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Revision history limit + Revision history limit - - Scale a resource - Scale a resource - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Password + 패스워드 - - will be triggered. - 가 작동될 것입니다. - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Labels limit + 레이블 제한 - - Trigger - Trigger - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Data + Data - - Delete resource - 리소스 삭제 - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - + + Services + 서비스 - - Edit resource - 리소스 편집 - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - + + UID + UID - - Scale resource - 스케일 리소스 - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - + + Choose kubeconfig file + kubeconfig 파일 선택 - - View logs - 로그 확인 - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - + + Volume Name + Volume Name - - Exec into pod - 파드에 Exec - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - + + Hides all access denied warnings in the notification panel. + 알림 패널에서 접근 거부 경고 모두 숨김. - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Error + Error - - Trigger resource - 리소스 작동 - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Expand card + Expand card - - Jobs - - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Memory + Memory - - Namespaces - Namespaces - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Mount Path + Mount Path - - Pods - 파드 - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + CPU requirement (cores) + CPU 요구 사항(cores) - - Cron Jobs - Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - - - - Replica Sets - 레플리카 셋 - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - - - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - - - - Workload Status - Workload Status - - src/app/frontend/common/components/workloadstatus/template.html - 20 - - - - Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - - - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - - - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - - - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - - - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - - - - Status:  - 상태:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - - - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - - - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + TLS Secret + TLS Secret - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Image Pull Secret + 이미지 풀(Pull) 시크릿 - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Strategy + Strategy - - Node - 노드 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - Status - 상태 - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Volume Attributes + Volume Attributes - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + 파일에 명시된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + 안전하지 않은 접근이 탐지되었습니다. 로그인하실 수 없습니다. HTTPS 프로토콜을 통해 또는 localhost를 사용하여 대시보드에 안전하게 접근하세요. 자세한 내용은 여기 에서 확인하세요. - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + You do not have required permissions to access this resource. + 이 자원에 접근하기 위해 필요한 권한이 없습니다. Reclaim policy Reclaim policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - - - - Storage class - Storage class - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - - - - Mount Option(s) - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - - - Access modes - Access modes - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - - - - Restarts - 재시작 - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - - - - Containers - 컨테이너 - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - - - - Filter - 필터 - - src/app/frontend/common/components/list/filter/template.html - 29 - - - - Filter objects by name - 이름으로 오브젝트 필터하기 - - src/app/frontend/common/components/list/filter/template.html - 34 - - - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - - - - Show less - 적게 표시 - - src/app/frontend/common/components/chips/template.html - 55 - - - - Show all - 모두 표시 - - src/app/frontend/common/components/chips/template.html - 57 - + + Cluster name appears in the browser window title if it is set. + 설정한 경우, 클러스터 이름이 브라우저 윈도우에 나타납니다. - - There is nothing to display here - There is nothing to display here - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Stateful Sets + 스테이트풀 셋 - - No resources found. - No resources found. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + About + About - - Conditions - Conditions - - src/app/frontend/common/components/condition/template.html - 20 - + + Custom Resource Definitions + Custom Resource Definitions - - Logs - 로그 - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + External Endpoints + 외부 엔드포인트 - - Error - Error - - src/app/frontend/index.messages.ts - 32 - + + Storage Class + 스토리지 클래스 - - Exec - Exec - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Available: + 가용한: - - Unpin - 고정 해제 - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Desired replicas + 의도한 레플리카 - - Pin - 고정 - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Edit resource + 리소스 편집 - - Metadata - Metadata - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Rolling update strategy + Rolling update strategy - - Restart - Restart - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + Deploy + 디플로이 - - Items:  - 아이템: - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Ingress Classes + Ingress Classes - - Name - 이름 - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + Failed: + Failed: - - Namespace - 네임스페이스 - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + A secret with the specified name will be added to the cluster in the namespace. + 명시된 이름의 시크릿은 클러스터의 해당 네임스페이스 안에 추가될 것입니다. - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Revision history limit: + 개정 내역 한도: - - Labels - 레이블 - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + The new namespace will be added to the cluster. + 해당 신규 네임스페이스는 클러스터에 추가될 것입니다. - - Annotations - Annotations - - src/app/frontend/common/components/objectmeta/template.html - 88 - + + Events + Events - - Pods status - Pods status - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - + + + + + + + - - Schedule - 스케줄 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - + + Min ready seconds + Min ready seconds - - Suspend - 일시 중지 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - + + Categories + Categories - - Active - 활성화 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - + + Create from input + 입력을 통해 생성 - - Last Schedule - 마지막 스케줄 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - + + API Groups + API 그룹 - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + 설명은 디플로이먼트에 어노테이션으로 추가될 것이며, 애플리케이션 상세 정보에 표시될 것입니다. - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - + + Volume ID + Volume ID - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - + + Machine ID + Machine ID - - Events - Events - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - + + Memory requirement must be given as a valid number. + 메모리 요구 사항은 유효한 숫자로 주어져야 합니다. - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - + + Exec Commands + Exec Commands - - Created - 생성 시간 - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Add namespaces... + Add namespaces... - - Age - Age - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + 명시된 이미지가 프라이빗 이미지라면 풀(Pull) 시크릿 자격증명이 필요할 것입니다. 사용하고 있는 시크릿을 선택하거나 신규 시크릿을 생성할 수 있습니다. - - Host - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + 환경 변수는 컨테이너 안에서 사용 가능합니다. 값은 $(변수_이름) 구문을 사용하여 다른 변수를 참조할 수 있습니다. - - Dependencies - 의존성 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + Conditions + Conditions - - Image:  - 이미지: - - src/app/frontend/common/components/container/template.html - 19 - + + iSCSI target lun number + iSCSI target lun number - - Image - Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + 애플리케이션 이름은 소문자로 시작해야 하고 소문자, 숫자, 단어 사이의 '-'만 포함할 수 있습니다. - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106 - + + Secrets + 시크릿 - - Environment variable - 환경 변수 - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Unsupported graph type . + Unsupported graph type . - - bytes - bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - + + Max Replicas + 최대 레플리카 Commands Commands - - src/app/frontend/common/components/container/template.html - 170 - - - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + 클러스터에 의도한 파드의 수를 유지하기 위해서 디플로이먼트가 생성될 것입니다. - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - + + Resource type + 리소스 타입 - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + 클러스터에 접근을 설정하기 위해 생성한 kubeconfig 파일을 선택하세요. kubeconfig 파일을 설정 및 사용하기 위한 방법은 멀티 클러스터에 접근 설정하기 섹션에서 확인할 수 있습니다. - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - + + Seccomp Profile Type + Seccomp Profile Type - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - + + Cancel + Cancel - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - + + Target port must be an integer. + 대상 포트는 정수이어야 합니다. - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - + + Key + Key - - Type - 타입 - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + Metadata + Metadata - - Last probe time - 마지막 진단 시간 - - src/app/frontend/common/components/condition/template.html - 52 - + + Updated: + 업데이트된: - - Last transition time - 마지막 트랜지션 시간 - - src/app/frontend/common/components/condition/template.html - 60 - + + Server + Server - - Resource Limits - Resource Limits - - src/app/frontend/common/components/limits/template.html - 20 - + + Service + 서비스 - - Reason - 이유 - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Resource Names + 리소스 이름 - - Message - 메시지 - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Logged in with auth header + Logged in with auth header - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - + + Parameters + 파라미터 - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - + + key + - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - + + Inactive Jobs + 인액티브 잡 - - Name:  - 이름: - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + bytes + bytes - - Kind:  - 종류: - - src/app/frontend/common/components/creator/template.html - 29 - + + QoS Class + QoS Class - - Age:  - 나이: - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + Persistent Volume Claims + 퍼시스턴트 볼륨 클레임 - - Kind - 종류 - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Images - 이미지 - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Old Replica Sets + 오래된 레플리카 셋 - - Group - 그룹 - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Are you sure you want to delete in namespace ? + 정말로 네임스페이스 in namespace 네임스페이스를 삭제하시겠습니까? - - Full Name - 전체 이름 - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + Memory limits (bytes) + 메모리 상한(bytes) - - Namespaced - 네임스페이스 - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Delete a resource + Delete a resource Versions Versions - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - - - - Served - 제공 중인 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - - - - Storage - 스토리지 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - - - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - - - - Host - 호스트 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - - - - Ports (Name, Port, Protocol) - 포트 (이름, 포트, 프로토콜) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - - - - unset - 설정 취소 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - - - Ready - 준비 - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - + + + + + + + - - Source - 소스 - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + User + User - - Object - Object - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + Image Pull Secrets + Image Pull Secrets - - Sub-object - Sub-object - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - + + Image Pull Secrets + Image Pull Secrets - - Count - 카운트 - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Path Type + Path Type - - First Seen - 처음 표시된 - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Settings have changed since last reload + Settings have changed since last reload - - Last Seen - 마지막에 표시된 - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Resources + 리소스 - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Operating system + Operating system - - Min Replicas - 최소 레플리카 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Overview + Overview - - Max Replicas - 최대 레플리카 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + Memory Usage (bytes) + 메모리 사용량(bytes) - - Reference - 참조 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Add Namespace + Add Namespace - - Horizontal Pod Autoscaler - Horizontal Pod Autoscaler - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + Persistent disk name + Persistent disk name - - Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Driver + Driver - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + All namespaces + 모든 네임스페이스 Host links are external links that will be open in a new tab. Host links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - - - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - - - Controlled by - Controlled by - - src/app/frontend/common/components/creator/template.html - 42 - + + Version + Version - - Phase - 단계 - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + Storage Classes + 스토리지 클래스 - - Network Policies - Network Policies - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Namespaces let you partition resources into logically named groups. + 네임스페이스는 리소스를 논리적으로 명칭된 그룹으로 분할할 수 있습니다. - - CPU requests (cores) - CPU 요청(cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + Pending: + Pending: - - CPU limits (cores) - CPU 상한(cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Concurrency policy + Concurrency policy - - Memory requests (bytes) - 메모리 요청(bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + Termination Grace Period (Seconds) + Termination Grace Period (Seconds) - - Memory limits (bytes) - 메모리 상한(bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + Label Selector + Label Selector - - Persistent Volumes - Persistent Volumes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Ingress Classes + Ingress Classes - - Do you want to stay on current page and change namespace from to ? - - 네임스페이스를 에서 로 변경하고 현재 페이지를 유지하시겠습니까? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Succeeded + Succeeded Yes Yes - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - - - No - No - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Parallelism + Parallelism - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - + + Language + 언어 - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - + + Do you want to stay on current page and change namespace from to ? + 네임스페이스를 에서 로 변경하고 현재 페이지를 유지하시겠습니까? - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - + + Source Type + Source Type - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - + + Unavailable: + 가용하지 않은: - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - + + CPU + CPU - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - + + File System Type + File System Type - - HTTP Healthcheck URI - HTTP Healthcheck URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Sub-object + Sub-object - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Cluster + Cluster - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - + + Show all + 모두 표시 - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Sign out + Sign out - - Objects - Objects - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Running + Running - - No resources found in the selected namespace. - No resources found in the selected namespace. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Last transition time + 마지막 트랜지션 시간 - - Nodes - Nodes - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {고급 옵션 숨기기} other {고급 옵션 보기}} - - Select namespace... - 네임스페이스 선택... - - src/app/frontend/common/components/namespace/template.html - 24 - + + Total: + 전체: - - All namespaces - 모든 네임스페이스 - - src/app/frontend/common/components/namespace/template.html - 33 - + + Suffix '' not recognized. + Suffix '' not recognized. - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + Port must be greater than 0. + 포트는 0 보다 높아야 합니다. - - NAMESPACES - 네임스페이스 - - src/app/frontend/common/components/namespace/template.html - 34 - + + Image + Image - - Namespace:  - 네임스페이스: - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Reclaim Policy + 반환 정책 - - Running:  - Running:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Name must be alphanumeric and may contain dashes. + 이름은 영숫자이며 대시(dashes) 기호를 포함할 수 있습니다. - - Succeeded:  - Succeeded:  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Token + 토큰 - - Pending:  - Pending:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Max unavailable: + 최대 비가용(Max unavailable): - - Failed:  - Failed:  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Strategy: + 전략: - - Desired - Desired - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Close notifications panel + Close notifications panel - - Running - Running - - src/app/frontend/common/components/podstatus/template.html - 63 - + + will be triggered. + 가 작동될 것입니다. - - Succeeded - Succeeded - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + 리소스 자동 갱신되는데 걸리는 초. 0으로 설정하면 해제됩니다. - - Pending - Pending - - src/app/frontend/common/components/podstatus/template.html - 75 - + + You can specify minimum CPU and memory requirements for the container. + 컨테이너를 위한 최소 CPU와 메모리 요구 사항을 명시할 수 있습니다. - - Failed - Failed - - src/app/frontend/common/components/podstatus/template.html - 82 - + + Reference + 참조 - - Rules - Rules - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - + + Plural + Plural - - Desired:  - Desired:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Exec into pod + 파드에 Exec - - CPU Usage (cores) - CPU 사용량(cores) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + Label Value must not exceed 253 characters. + 레이블 값은 253개의 문자를 초과할 수 없습니다. - - Memory Usage (bytes) - 메모리 사용량(bytes) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Actions + Actions - - Capacity - 용량 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Proc Mount + Proc Mount - - Access Modes - 접근 방식 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Read documentation + 문서 읽기 - - Reclaim Policy - 반환 정책 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + List of namespaces that should be presented to user without namespace list privileges. + List of namespaces that should be presented to user without namespace list privileges. + + + Resource Quotas + Resource Quotas - - Claim - 클레임 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Jobs + - - Storage Class - 스토리지 클래스 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + Max unavailable + Max unavailable - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Hosts open_in_new + Hosts open_in_new - - Volume - 볼륨 - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Namespace + 네임스페이스 - - Plugins - Plugins - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Resource auto-refresh time interval + 리소스 자동 갱신 시간 간격 - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + Accepted Names + Accepted Names - - Read Only - Read Only - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + 쿠버네티스 대시보드는 대시보드 커뮤니티에 의해서 오픈 소스 프로젝트로 구현되었습니다. - - Mount Path - Mount Path - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Run as User + Run as User - - Sub Path - Sub Path - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Name is required. + 이름은 필수 항목입니다. - - Source Type - Source Type - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Started + Started Source Name Source Name - - src/app/frontend/common/components/volumemount/template.html - 60 - - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + 레이블 값은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 합니다. - - Resources - 리소스 - - src/app/frontend/common/components/policyrule/template.html - 36 - + + Learn more open_in_new + open_in_new 더 배우기 - - Non-resource URL - 비-리소스 URL - - src/app/frontend/common/components/policyrule/template.html - 46 - + + Learn more open_in_new + 더 배우기 open_in_new - - Resource Names - 리소스 이름 - - src/app/frontend/common/components/policyrule/template.html - 56 - + + Learn more open_in_new + open_in_new 더 배우기 - - Verbs - 동사 - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Learn more open_in_new + open_in_new 더 배우기 - - API Groups - API 그룹 - - src/app/frontend/common/components/policyrule/template.html - 76 - + + Learn more open_in_new + open_in_new 더 배우기 - - Resource Quotas - Resource Quotas - - src/app/frontend/common/components/quotas/template.html - 20 - + + Abort + Abort - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Name must be up to characters long. + 이름의 문자 길이는 최대 입니다. - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + Name must be up to characters long. + 이름의 문자 길이는 최대 입니다. + + + value + + + + Object + Object Config Maps Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + Min Replicas + 최소 레플리카 - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Remove all notifications + 모든 알림 제거 - - Resource name - 리소스 이름 - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Container runtime version + Container runtime version - - Resource type - 리소스 타입 - - src/app/frontend/common/components/limits/template.html - 42 - + + Service Port + Service Port - - Default - 기본 - - src/app/frontend/common/components/limits/template.html - 47 - + + Total + Total - - Default request - 기본 요청 - - src/app/frontend/common/components/limits/template.html - 52 - + + Cluster Role Bindings + Cluster Role Bindings - - Edit - Edit - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + Active Jobs + 액티브 잡 - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + CPU requests (cores) + CPU 요청(cores) - - Provisioner - 제공자 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + Failure Threshold + Failure Threshold - - Parameters - 파라미터 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Volume Handle + Volume Handle - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Cluster IP - 클러스터 IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + Show less + 적게 표시 - - Internal Endpoints - 내부 엔드포인트 - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Run as privileged + 특권을 가진(privileged) 상태로 실행 - - External Endpoints - 외부 엔드포인트 - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Variable name must be a valid C identifier. + 변수 이름은 유효한 C 식별자이어야 합니다. - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + Selector + Selector - - Storage Classes - Storage Classes - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + No + No - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + Local settings + Local settings - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Protocol is required. + 프로토콜은 필수 사항입니다. - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + Desired: + Desired: - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - 컨테이너화된 앱을 배포하거나, 다른 네임스페이스를 선택하거나 - 대시보드 투어(Dashboard Tour)를 통해 - open_in_new - 자세한 내용을 확인할 수 있습니다. - - - src/app/frontend/common/components/zerostate/template.html - 26 - + + Session Affinity + Session Affinity - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Container image is required + 컨테이너 이미지는 필수 항목입니다. - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + CPU requirement must be given as a valid number. + CPU 요구 사항은 유효한 숫자로 주어져야 합니다. - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Service Port Number + Service Port Number - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + unset + 설정 취소 - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Resource Limits + Resource Limits - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + This action is equivalent to: + This action is equivalent to: - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Change the language of the dashboard + 대시 보드의 언어 변경 + + + Save + Save + + + Protocol + 프로토콜 - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Init containers + Init containers - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Exec + Exec - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Open notifications panel + Open notifications panel - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + Replica Sets + 레플리카 셋 - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Waiting for more data to display chart... + Waiting for more data to display chart... - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + 이 값을 가진 '앱' 레이블은 디플로이먼트와 디플로이되는 서비스에 추가될 것입니다. - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Number of pods must be a positive integer + 파드의 수는 양의 정수만 허용됩니다. - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Run command arguments + 커맨드 인수 실행 - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Can't find plugin "" + Can't find plugin "" - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Last Seen + 마지막에 표시된 - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Port must be an integer. + 포트는 정수이어야 합니다. - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + Choose YAML or JSON file + YAML 또는 JSON 파일 선택 - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Available + Available - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Node + 노드 - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Schedule: + 스케줄: - - API Group - API 그룹 - - src/app/frontend/common/components/subject/template.html - 63 - + + Update + Update - - Workloads - 워크로드 - - - src/app/frontend/chrome/nav/template.html - 27 - + + Arguments + Arguments - - Cron Jobs - 크론 잡 - - - src/app/frontend/chrome/nav/template.html - 32 - + + Dependencies + 의존성 - - Daemon Sets - 데몬 셋 - - - src/app/frontend/chrome/nav/template.html - 36 - + + Role Bindings + 롤 바인딩 - - Deployments - 디플로이먼트 - - - src/app/frontend/chrome/nav/template.html - 40 - + + Config and Storage + Config and Storage - - Jobs - 잡 - - - src/app/frontend/chrome/nav/template.html - 44 - + + Probe Period (Seconds) + Probe Period (Seconds) - - Pods - 파드 - - - src/app/frontend/chrome/nav/template.html - 48 - + + Scale resource + 스케일 리소스 - - Replica Sets - 레플리카 셋 - - - src/app/frontend/chrome/nav/template.html - 52 - + + Port must be less than 65536. + 포트는 65536 보다 낮아야 합니다. - - Replication Controllers - 레플리케이션 컨트롤러 - - - src/app/frontend/chrome/nav/template.html - 56 - + + Readiness Probe + Readiness Probe - - Stateful Sets - 스테이트풀 셋 - - - src/app/frontend/chrome/nav/template.html - 61 - + + CPU limits (cores) + CPU 상한(cores) - - Service - 서비스 - - - src/app/frontend/chrome/nav/template.html - 67 - + + Images + 이미지 - - Ingresses - 인그레스 - - - src/app/frontend/chrome/nav/template.html - 73 - + + Skip + 생략 - - Services - 서비스 - - - src/app/frontend/chrome/nav/template.html - 82 - + + Created + 생성 시간 - - Config and Storage - 컨피그 및 스토리지 - - - src/app/frontend/chrome/nav/template.html - 88 - + + Namespace that should be selected by default after logging in. + Namespace that should be selected by default after logging in. - - Config Maps - 컨피그 맵 - - - src/app/frontend/chrome/nav/template.html - 94 - + + Deployment or service with this name already exists within namespace. + 이 이름은 네임스페이스 내의 디플로이먼트 또는 서비스에서 이미 사용되고 있습니다. - - Persistent Volume Claims - 퍼시스턴트 볼륨 클레임 - - - src/app/frontend/chrome/nav/template.html - 100 - + + Storage class + Storage class - - Secrets - 시크릿 - - - src/app/frontend/chrome/nav/template.html - 106 - + + Role Bindings + Role Bindings - - Storage Classes - 스토리지 클래스 - - - src/app/frontend/chrome/nav/template.html - 110 - + + Pin resource + Pin resource - - Cluster - 클러스터 - - - src/app/frontend/chrome/nav/template.html - 116 - + + Config Maps + 컨피그 맵 - - Cluster Role Bindings - 클러스터 롤 바인딩 - - - src/app/frontend/chrome/nav/template.html - 120 - + + Create a new namespace... + 신규 네임스페이스 생성... - - Cluster Roles - 클러스터 롤 - - - src/app/frontend/chrome/nav/template.html - 125 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + 현재 선택된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. - - Events - Events - - src/app/frontend/chrome/nav/template.html - 130 - + + Completions: + 완료: - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + in namespace will be restarted. + in namespace will be restarted. - - Namespaces - 네임스페이스 - - - src/app/frontend/chrome/nav/template.html - 134 - + + Starting deadline seconds + Starting deadline seconds - - Network Policies - 네트워크 폴리시 - - - src/app/frontend/chrome/nav/template.html - 139 - + + Volume + 볼륨 - - Nodes - 노드 - - - src/app/frontend/chrome/nav/template.html - 144 - + + Pending + Pending - - Persistent Volumes - 퍼시스턴트 볼륨 - - - src/app/frontend/chrome/nav/template.html - 148 - + + Memory requests (bytes) + 메모리 요청(bytes) - - Role Bindings - 롤 바인딩 - - - src/app/frontend/chrome/nav/template.html - 154 - + + Create new resource + 신규 리소스 생성 - - Roles - 롤 - - - src/app/frontend/chrome/nav/template.html - 160 - + + Unknown + Unknown - - Service Accounts - 서비스 어카운트 - - - src/app/frontend/chrome/nav/template.html - 165 - + + Pin + 고정 - - Custom Resource Definitions - 커스텀 리소스 데피니션 - - - src/app/frontend/chrome/nav/template.html - 173 - + + This action is equivalent to: + 이 액션은 다음 커맨드와 동일합니다. - - Plugins - 플러그인 - - - src/app/frontend/chrome/nav/template.html - 184 - + + Age: + 나이: Edit a resource Edit a resource - - src/app/frontend/common/dialogs/editresource/template.html - 18 - - - - Settings - 설정 - - - src/app/frontend/chrome/nav/template.html - 192 - - - About - 소개 - - - src/app/frontend/chrome/nav/template.html - 197 - + + Roles + - - Create new resource - 신규 리소스 생성 - - src/app/frontend/chrome/template.html - 42 - + + Do you want to save them anyways? + 어쨌든 저장하고 싶습니까? - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + Access modes + Access modes - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63 - + + Default request + 기본 요청 Search 검색 - - src/app/frontend/chrome/search/template.html - 29 - - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Actual replicas + 실제 레플리카 - - Remove all notifications - 모든 알림 제거 - - src/app/frontend/chrome/notifications/template.html - 71 - + + Secrets + Secrets + + + Kind: + 종류: + + + Namespaces + 네임스페이스 + + + Rules + Rules + + + Claim + 클레임 + + + iSCSI Qualified Name + iSCSI Qualified Name + + + Parallelism: + 병렬성: + + + Environment variables + Environment variables + + + Desired + Desired + + + Cluster Roles + 클러스터 롤 - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + Delete resource + 리소스 삭제 - - Delete a resource - Delete a resource - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + Architecture + Architecture - - Delete - Delete - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + 파일에 명시된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Reason + 이유 - - Basic - 기본 - - src/app/frontend/login/template.html - 36 - + + Logs + 로그 - - Token - 토큰 - - src/app/frontend/login/template.html - 38 - + + General-purpose web UI for Kubernetes clusters + General-purpose web UI for Kubernetes clusters - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - 클러스터에 접근을 설정하기 위해 생성한 kubeconfig 파일을 선택하세요. kubeconfig 파일을 설정 및 사용하기 위한 방법은 멀티 클러스터에 접근 설정하기 섹션에서 확인할 수 있습니다. - - - src/app/frontend/login/template.html - 44 - + + About + 소개 - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - 클러스터에 기본 인증에 대한 지원을 활성화해야 합니다. 기본 인증을 설정하는 방법은 인증하기ABAC 모드 섹션에서 알 수 있습니다. - - - src/app/frontend/login/template.html - 51 - + + Description + 설명 - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - 모든 서비스 어카운트는 시크릿을 가지고 있고, 시크릿에는 대시보드에 로그인할 때 사용할 수 있는 유효한 베어러(Bearer) 토큰이 있습니다. 베어러(Bearer) 토큰을 설정 및 사용하는 방법은 인증 섹션에서 알 수 있습니다. - - - src/app/frontend/login/template.html - 58 - + + Settings + Settings - - Enter token - 토큰 입력 - - src/app/frontend/login/template.html - 74 - + + Controlled by + Controlled by - - Username - 사용자 이름 - - src/app/frontend/login/template.html - 87 - + + SE Linux Role + SE Linux Role - - Password - 패스워드 - - src/app/frontend/login/template.html - 98 - + + Trigger resource + 리소스 작동 - - Choose kubeconfig file - kubeconfig 파일 선택 - - src/app/frontend/login/template.html - 107 - + + Workload Status + Workload Status - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - 안전하지 않은 접근이 탐지되었습니다. 로그인하실 수 없습니다. HTTPS 프로토콜을 통해 또는 localhost를 사용하여 대시보드에 안전하게 접근하세요. 자세한 내용은 - - 여기 - 에서 확인하세요. - - - src/app/frontend/login/template.html - 117 - + + Singular + Singular - - Sign in - - 로그인 - - - src/app/frontend/login/template.html - 133 - + + Access Modes + 접근 방식 - - Skip - - 생략 - - - src/app/frontend/login/template.html - 142 - + + SE Linux Level + SE Linux Level - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - 쿠버네티스 대시보드는 대시보드 - 커뮤니티에 의해서 - 오픈 소스 프로젝트로 구현되었습니다. - - - src/app/frontend/about/template.html - 37 - + + Running: + Running: - - Workloads - Workloads - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Keyring + Keyring - - Read documentation - 문서 읽기 - - src/app/frontend/about/actionbar/template.html - 24 - + + IP + IP - - Provide feedback - 피드백하기 - - src/app/frontend/about/actionbar/template.html - 35 - + + HTTP Healthcheck URI + HTTP Healthcheck URI - - Resource information - Resource information - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + Environment Variables + Environment Variables - - Create from input - 입력을 통해 생성 - - src/app/frontend/create/template.html - 20 - + + Addresses + Addresses - - Create from file - 파일을 통해 생성 - - src/app/frontend/create/template.html - 24 - + + Pods + 파드 - - Create from form - 서식을 통해 생성 - - src/app/frontend/create/template.html - 28 - + + Sign in + Sign in - - About - About - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + Username + 사용자 이름 - - General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters - - src/app/frontend/about/template.html - 30 - + + Upload + 업로드 - - The new namespace will be added to the cluster. - 해당 신규 네임스페이스는 클러스터에 추가될 것입니다. - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + IP: + IP: - - Namespace name - 네임스페이스 명칭 - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + Taints + Taints - - Name is required. - - 이름은 필수 항목입니다. - - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Memory requirement must be given as a positive number. + 메모리 요구 사항은 양의 정수이어야 합니다. - - Name must be up to characters long. - - 이름의 문자 길이는 최대 입니다. - - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Search for + Search for - - Name must be alphanumeric and may contain dashes. - - 이름은 영숫자이며 대시(dashes) 기호를 포함할 수 있습니다. - - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Cron Jobs + 크론 잡 - - Create a new image pull secret - Create a new image pull secret - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Size: B + 크기: B - - Go to namespace - Go to namespace - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Choose color theme of the dashboard + Choose color theme of the dashboard - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Filter objects by name + 이름으로 오브젝트 필터하기 - - Rolling update strategy - Rolling update strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Schedule + 스케줄 - - A namespace with the specified name will be added to the cluster. - 명시된 이름을 가진 네임스페이스가 클러스터에 추가될 것입니다. - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + Enter token + 토큰 입력 - - Learn more open_in_new - - open_in_new 더 배우기 - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Allow Privilege Escalation + Allow Privilege Escalation - - The new secret will be added to the cluster - 해당 신규 시크릿은 클러스터에 추가될 것입니다. - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Labels + 레이블 - - Secret name - 시크릿 이름 - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + Resource information + Resource information - - Name must be up to characters long. - - 이름의 문자 길이는 최대 입니다. - - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Target port must be less than 65536. + 대상 포트는 65536 보다 낮아야 합니다. - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - - 이름은 DNS 도매인 이름의 문법을 따라야 합니다(예를 들면, new.image-pull.secret). - - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Invert colors + 색상 반전 - - A secret with the specified name will be added to the cluster in the namespace. - 명시된 이름의 시크릿은 클러스터의 해당 네임스페이스 안에 추가될 것입니다. - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Horizontal Pod Autoscaler + Horizontal Pod Autoscaler + + + Scope + Scope - Data is required. - - 데이터는 필수 항목입니다. - - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + Data is required. + 데이터는 필수 항목입니다. - - Data must be Base64 encoded. - - 데이터는 Base64로 인코딩되어야 합니다. - - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Processes in privileged containers are equivalent to processes running as root on the host. + 특권을 가진(privileged) 컨테이너의 프로세스는 호스트에서 root로 동작하는 프로세스와 동일합니다. - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - 시크릿에 보관할 데이터를 명시하세요. 값은 .dockercfg 파일 내용을 Base64로 인코딩한 형태입니다. - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Default + 기본 - - Create - Create - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - + + Deployments + 디플로이먼트 - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67 - + + Status + 상태 - - App name - 앱 이름 - - src/app/frontend/create/from/form/template.html - 23 - + + Egress Rules + Egress Rules + + + Unavailable + Unavailable + + + Kubeconfig + Kubeconfig - - Deployment or service with this name already exists within namespace. - - 이 이름은 네임스페이스 내의 디플로이먼트 또는 서비스에서 이미 사용되고 있습니다. - - - src/app/frontend/create/from/form/template.html - 35 - + + Create + Create - - Application name is required. - - 애플리케이션 이름은 필수 항목입니다. - - - src/app/frontend/create/from/form/template.html - 39 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + 컨테이너화된 앱을 배포하거나, 다른 네임스페이스를 선택하거나 대시보드 투어(Dashboard Tour)를 통해 open_in_new 자세한 내용을 확인할 수 있습니다. - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - - 애플리케이션 이름은 소문자로 시작해야 하고 소문자, 숫자, 단어 사이의 '-'만 포함할 수 있습니다. - - - src/app/frontend/create/from/form/template.html - 41 - + + Create a new secret... + 신규 시크릿 생성... - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - 이 값을 가진 '앱' 레이블은 디플로이먼트와 디플로이되는 서비스에 추가될 것입니다. - - src/app/frontend/create/from/form/template.html - 48 - + + Provide feedback + 피드백하기 - - Learn more open_in_new - - 더 배우기 - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Events + Events - - Container image - 컨테이너 이미지 - - src/app/frontend/create/from/form/template.html - 63 - + + Storage + 스토리지 - - Container image is required - - 컨테이너 이미지는 필수 항목입니다. - - - src/app/frontend/create/from/form/template.html - 68 - + + Suspend + 일시 중지 - - Container image is invalid: - - 유효한 컨테이너 이미지가 아님: - - - src/app/frontend/create/from/form/template.html - 70 - + + Add + Add - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - 레지스트리에 있는 퍼블릭 이미지나, 도커 허브 또는 구글 컨테이너 레지스트리의 프라이빗 이미지의 URL을 입력하세요. - - src/app/frontend/create/from/form/template.html - 76 - + + No namespaces selected + No namespaces selected - - Number of pods - 파드의 수 - - src/app/frontend/create/from/form/template.html - 93 - + + Select namespace... + 네임스페이스 선택... - - Number of pods is required - - 파드의 수는 필수 항목입니다. - - - src/app/frontend/create/from/form/template.html - 99 - + + Monitors + Monitors - - Number of pods must be a positive integer - - 파드의 수는 양의 정수만 허용됩니다. - - - src/app/frontend/create/from/form/template.html - 101 - + + Ingresses + 인그레스 - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - 파드의 수를 높게 설정하면 클러스터와 대시보드 UI에 성능 이슈를 일으킬 수 있습니다. - - - src/app/frontend/create/from/form/template.html - 104 - + + Secret name + 시크릿 이름 - - A Deployment will be created to maintain the desired number of pods across your cluster. - 클러스터에 의도한 파드의 수를 유지하기 위해서 디플로이먼트가 생성될 것입니다. - - src/app/frontend/create/from/form/template.html - 109 - + + Shell + Shell Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. 선택적으로, 내부 또는 외부 서비스를 정의하여 들어오는 포트를 컨테이너가 볼 수 있는 대상 포트에 매핑할 수 있습니다. - - src/app/frontend/create/from/form/template.html - 129 - - - - Description - 설명 - - src/app/frontend/create/from/form/template.html - 172 - - - The description will be added as an annotation to the Deployment and displayed in the application's details. - - 설명은 디플로이먼트에 어노테이션으로 추가될 것이며, 애플리케이션 상세 정보에 표시될 것입니다. - - - src/app/frontend/create/from/form/template.html - 175 - + + Target World Wide Names + Target World Wide Names - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 명시된 레이블은 생성된 디플로이먼트, 서비스(있다면), 파드에 적용될 것입니다. 공통 레이블은 릴리스, 환경, 티어(tier), 파티션, 트랙(track)을 포함합니다. - - src/app/frontend/create/from/form/template.html - 188 - + + Target portal + Target portal - - Learn more open_in_new - - open_in_new 더 배우기 - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - Create a new namespace... - - 신규 네임스페이스 생성... - - - src/app/frontend/create/from/form/template.html - 151 - + + Jobs + - - Namespaces let you partition resources into logically named groups. - 네임스페이스는 리소스를 논리적으로 명칭된 그룹으로 분할할 수 있습니다. - - src/app/frontend/create/from/form/template.html - 155 - + + Service + 서비스 - - Create a new secret... - - 신규 시크릿 생성... - - - src/app/frontend/create/from/form/template.html - 209 - + + + + + + + + + - - Image Pull Secret - 이미지 풀(Pull) 시크릿 - - src/app/frontend/create/from/form/template.html - 204 - + + Liveness Probe + Liveness Probe - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 명시된 이미지가 프라이빗 이미지라면 풀(Pull) 시크릿 자격증명이 필요할 것입니다. 사용하고 있는 시크릿을 선택하거나 신규 시크릿을 생성할 수 있습니다. - - src/app/frontend/create/from/form/template.html - 213 - + + Exit Code + Exit Code - - CPU requirement (cores) - CPU 요구 사항(cores) - - src/app/frontend/create/from/form/template.html - 230 - + + Supplemental Groups + Supplemental Groups - - CPU requirement must be given as a positive number. - - CPU 요구 사항은 양의 정수이어야 합니다. - - - src/app/frontend/create/from/form/template.html - 236 - + + Subjects + Subjects - - CPU requirement must be given as a valid number. - - CPU 요구 사항은 유효한 숫자로 주어져야 합니다. - - - src/app/frontend/create/from/form/template.html - 240 - + + Minimize card + Minimize card - - Memory requirement (MiB) - 메모리 요구 사항(MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + Create a new image pull secret + Create a new image pull secret - - Memory requirement must be given as a positive number. - - 메모리 요구 사항은 양의 정수이어야 합니다. - - - src/app/frontend/create/from/form/template.html - 254 - + + Policy Types + Policy Types - - Memory requirement must be given as a valid number. - - 메모리 요구 사항은 유효한 숫자로 주어져야 합니다. - - - src/app/frontend/create/from/form/template.html - 258 - + + Windows Run as User + Windows Run as User - - You can specify minimum CPU and memory requirements for the container. - 컨테이너를 위한 최소 CPU와 메모리 요구 사항을 명시할 수 있습니다. - - src/app/frontend/create/from/form/template.html - 264 - + + Show timestamps + 타임스탬프 보기 - - Run command - 커맨드 실행 - - src/app/frontend/create/from/form/template.html - 279 - + + Namespace name + 네임스페이스 명칭 - - Run command arguments - 커맨드 인수 실행 - - src/app/frontend/create/from/form/template.html - 285 - + + Path + Path - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - 기본적으로, 컨테이너는 선택된 이미지의 기본 엔트리포인트 커맨드를 실행합니다. 커맨드 옵션을 사용하여 기본을 변경할 수 있습니다. - - src/app/frontend/create/from/form/template.html - 291 - + + Create a new namespace + Create a new namespace - - Run as privileged - 특권을 가진(privileged) 상태로 실행 - - src/app/frontend/create/from/form/template.html - 307 - + + Unpin resource + Unpin resource - - Processes in privileged containers are equivalent to processes running as root on the host. - 특권을 가진(privileged) 컨테이너의 프로세스는 호스트에서 root로 동작하는 프로세스와 동일합니다. - - src/app/frontend/create/from/form/template.html - 310 - + + Port + 포트 - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - 환경 변수는 컨테이너 안에서 사용 가능합니다. 값은 $(변수_이름) 구문을 사용하여 다른 변수를 참조할 수 있습니다. - - src/app/frontend/create/from/form/template.html - 324 - + + Dropped Capabilities + Dropped Capabilities - - Deploy - - - 디플로이 - - - src/app/frontend/create/from/form/template.html - 343 - + + Subresources + Subresources - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + Succeeded: + Succeeded: - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {고급 옵션 숨기기} other {고급 옵션 보기}} - - src/app/frontend/create/from/form/template.html - 367 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + Invalid protocol. + 유효하지 않은 프로토콜. - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - - 파일에 명시된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. - - - src/app/frontend/create/from/input/template.html - 19 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - - 현재 선택된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. - - - src/app/frontend/create/from/input/template.html - 23 - + + The new secret will be added to the cluster + 해당 신규 시크릿은 클러스터에 추가될 것입니다. - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + Pending: + Pending: - - Learn more open_in_new - - open_in_new 더 배우기 - - - src/app/frontend/create/from/input/template.html - 29 - + + Cluster + 클러스터 - - Upload - - - 업로드 - - - src/app/frontend/create/from/input/template.html - 40 - + + Suspend: + 일시 중지(Suspend): - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - - 파일에 명시된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. - - - src/app/frontend/create/from/file/template.html - 19 - + + Security Context + Security Context - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - - 현재 선택된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. - - - src/app/frontend/create/from/file/template.html - 23 - + + TCP Socket + TCP Socket - - Learn more open_in_new - - open_in_new 더 배우기 - - - src/app/frontend/create/from/file/template.html - 29 - + + Persistent Volumes + Persistent Volumes - - Choose YAML or JSON file - YAML 또는 JSON 파일 선택 - - src/app/frontend/create/from/file/template.html - 35 - + + System information + System information - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Min ready seconds: + 최소 준비 초(Min ready seconds): - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Ready + 준비 - - Variable name must be a valid C identifier. - - 변수 이름은 유효한 C 식별자이어야 합니다. - - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + HTTP Headers + HTTP Headers - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + Sub Path + Sub Path - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + Service Accounts + 서비스 어카운트 - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + kubelet version + kubelet version - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Items: + 아이템: - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Network Policies + Network Policies Value - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - - - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + API Group + API 그룹 - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + 기본적으로, 컨테이너는 선택된 이미지의 기본 엔트리포인트 커맨드를 실행합니다. 커맨드 옵션을 사용하여 기본을 변경할 수 있습니다. - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Ports (Name, Port, Protocol) + 포트 (이름, 포트, 프로토콜) - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Target port cannot be empty. + 대상 포트는 비울 수 없습니다. - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Kind + 종류 - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Host + 호스트 - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Lun number + Lun number - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + Pod Selector + Pod Selector - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Sign in + 로그인 - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + List Kind + List Kind - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Run command + 커맨드 실행 - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Port cannot be empty. + 포트는 비울 수 없습니다. - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Quantity + 수량 - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + Logged in with token + Logged in with token - - Label Selector - Label Selector - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + Completions + Completions - - Init images - Init images - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + View logs + 로그 확인 - - Service - 서비스 - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Provider ID + Provider ID - - Config and Storage - Config and Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Pod CIDR + Pod CIDR - - Port - 포트 - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Kernel version + Kernel version - - Port must be an integer. - - 포트는 정수이어야 합니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Persistent Volumes + 퍼시스턴트 볼륨 - - Port cannot be empty. - - 포트는 비울 수 없습니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Containers + 컨테이너 - - Port must be greater than 0. - - 포트는 0 보다 높아야 합니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Workloads + 워크로드 - - Port must be less than 65536. - - 포트는 65536 보다 낮아야 합니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Container image + 컨테이너 이미지 - - Target port - 대상 포트 - - src/app/frontend/create/from/form/portmappings/template.html - 71 - + + SE Linux User + SE Linux User - - Target port must be an integer. - - 대상 포트는 정수이어야 합니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Served + 제공 중인 - - Target port cannot be empty. - - 대상 포트는 비울 수 없습니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + Plugins + Plugins - - Target port must be greater than 0. - - 대상 포트는 0 보다 높아야 합니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Name: + 이름: - - Target port must be less than 65536. - - 대상 포트는 65536 보다 낮아야 합니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Scale a resource + Scale a resource - - Protocol - 프로토콜 - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Resource name + 리소스 이름 - - Protocol is required. - - 프로토콜은 필수 사항입니다. - - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Application name is required. + 애플리케이션 이름은 필수 항목입니다. - - Invalid protocol. - - 유효하지 않은 프로토콜. - - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Full Name + 전체 이름 - - Create a new namespace - Create a new namespace - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Target port + 대상 포트 - - key - - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Cluster IP + 클러스터 IP - - is not unique - - 는 고유하지 않습니다. - - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + There is nothing to display here + There is nothing to display here - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - - 해당 접두사는 유효한 DNS 서브도메인 접두사가 아닙니다(예: my-domain.com). - - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Initial Delay (Seconds) + Initial Delay (Seconds) - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - - 레이블 키 이름은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 하며, 접두사로 DNS 서브토메인과 '/'가 선택적으로 사용될 수 있습니다. - - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Short Names + Short Names - - Prefix should not exceed 253 characters. - - 접두사는 253개의 문자를 초과할 수 없습니다. - - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Delete + Delete - - Label Key name should not exceed 63 characters. - - 레이블 키 이름은 63개의 문자를 초과할 수 없습니다. - - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Namespaces + Namespaces - - value - - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Internal Endpoints + 내부 엔드포인트 - - Label value must be alphanumeric separated by '.' , '-' or '_'. - - 레이블 값은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 합니다. - - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + 레이블 키 이름은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 하며, 접두사로 DNS 서브토메인과 '/'가 선택적으로 사용될 수 있습니다. - - Label Value must not exceed 253 characters. - - 레이블 값은 253개의 문자를 초과할 수 없습니다. - - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Pool + Pool - - Logs from - 로그 - - src/app/frontend/logs/template.html - 24 - + + Theme + Theme - - Init Containers - 초기화 컨테이너 - - src/app/frontend/logs/template.html - 34 - + + Logs from to UTC + Logs from to UTC in - - src/app/frontend/logs/template.html - 43 - - - Download logs - 로그 다운로드 - - src/app/frontend/logs/template.html - 57 - + + Services + Services - - Invert colors - 색상 반전 - - src/app/frontend/logs/template.html - 131 - + + Max number of items that can be displayed on every list view. + 모든 목록 화면에서 표시할 수 있는 최대 항목 개수. - - Reduce font size - 글꼴 크기 축소 - - src/app/frontend/logs/template.html - 136 - + + Unschedulable + Unschedulable - - Show timestamps - 타임스탬프 보기 - - src/app/frontend/logs/template.html - 141 - + + Max surge: + 최대 증가율(surge): - - Auto-refresh (every s.) - ( 초마다) 자동 새로고침. - - src/app/frontend/logs/template.html - 146 - + + Success Threshold + Success Threshold - - Show previous logs - 이전 로그 보기 - - src/app/frontend/logs/template.html - 151 - + + Host + Host - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - + + Restarts + 재시작 - - Path - Path - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Custom Resource Definitions + 커스텀 리소스 데피니션 - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Settings + 설정 - - Path Type - Path Type - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Updated + Updated - - Service Name - Service Name - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Failed + Failed - - Service Port - Service Port - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + Shell in in + 에 셸 인 - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Init Containers + 초기화 컨테이너 - - Namespace conflict - Namespace conflict - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Plugins + 플러그인 - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + There is no data to display. + 표시할 데이터가 없습니다. - - Quantity - 수량 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + Default service account + Default service account - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Config and Storage + 컨피그 및 스토리지 - - Session Affinity - Session Affinity - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + Privileged + Privileged - - Selector - Selector - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Trigger + Trigger + + + Active Jobs: + 액티브 잡: + + + Signal + Signal + + + Unpin + 고정 해제 + + + Network Policies + 네트워크 폴리시 Filesystem type Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Logs auto-refresh time interval + 로그 자동 갱신 시간 간격 - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + kube-proxy version + kube-proxy version - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Run as Non-Root + Run as Non-Root - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + SE Linux Type + SE Linux Type - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Objects + Objects - - Dataset name - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + 파드의 수를 높게 설정하면 클러스터와 대시보드 UI에 성능 이슈를 일으킬 수 있습니다. - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Namespace: + 네임스페이스: - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + NAMESPACES + 네임스페이스 - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Edit + Edit - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Pods: + 파드: - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Default Backend + Default Backend - - Parameter - 파라미터 - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + 시크릿에 보관할 데이터를 명시하세요. 값은 .dockercfg 파일 내용을 Base64로 인코딩한 형태입니다. - - Data - Data - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Preview + Preview - - There is no data to display. - 표시할 데이터가 없습니다. - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Cancel + Cancel - - Settings have changed since last reload - Settings have changed since last reload - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + Disable access denied notification + 접근 거부 알림 해제 - - Schedule:  - 스케줄:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Nodes + 노드 - - Active Jobs:  - 액티브 잡:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec - - Suspend:  - 일시 중지(Suspend):  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Endpoint links are external links that will be open in a new tab. + Endpoint links are external links that will be open in a new tab. - - Last schedule - Last schedule - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - + + Last probe time + 마지막 진단 시간 - - Concurrency policy - Concurrency policy - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + Secret reference name + Secret reference name - - Starting deadline seconds - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + Dataset name + Dataset name - - Role Reference - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Label Key name should not exceed 63 characters. + 레이블 키 이름은 63개의 문자를 초과할 수 없습니다. + + + Run as Group + Run as Group + + + Pods status + Pods status + + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. + + + Close + 닫기 + + + No resources found in the selected namespace. + No resources found in the selected namespace. + + + Capacity + 용량 - - System information - System information - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Data must be Base64 encoded. + 데이터는 Base64로 인코딩되어야 합니다. - - Allocation - Allocation - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Running: + Running: - - Pod CIDR - Pod CIDR - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Service Accounts + Service Accounts - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Workloads + Workloads - - Unschedulable - Unschedulable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + 클러스터에 기본 인증에 대한 지원을 활성화해야 합니다. 기본 인증을 설정하는 방법은 인증하기ABAC 모드 섹션에서 알 수 있습니다. - - Addresses - Addresses - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Create + Create - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Roles + Roles - - Machine ID - Machine ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Reload + Reload - - System UUID - System UUID - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Provide a namespace name that should be added to the namespace fallback list + Provide a namespace name that should be added to the namespace fallback list + + + Filesystem Group + Filesystem Group Boot ID Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - Kernel version - Kernel version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - + + Replication Controllers + Replication Controllers - - OS Image - OS Image - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Remove namespaces from the list and confirm to save the changes. + Remove namespaces from the list and confirm to save the changes. - - Container runtime version - Container runtime version - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Persistent Volume Claims + Persistent Volume Claims - - kubelet version - kubelet version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Message + 메시지 - - kube-proxy version - kube-proxy version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - + + Max number of labels that are displayed by default on most views. + 대부분의 화면에서 기본적으로 표시할 수 있는 최대 레이블 개수. - - Operating system - Operating system - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Cluster name + 클러스터 이름 - - Architecture - Architecture - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + Deployments + Deployments - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + App name + 앱 이름 - - Memory - Memory - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + Last schedule + Last schedule - - Pod Selector - Pod Selector - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + System UUID + System UUID - - Policy Types - Policy Types - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + Config And Storage + Config And Storage - - Ingress Rules - Ingress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + Container image is invalid: + 유효한 컨테이너 이미지가 아님: - - Egress Rules - Egress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + Count + 카운트 - - Active Jobs - 액티브 잡 - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + Replication Controllers + 레플리케이션 컨트롤러 - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/component.ts - 57 - + + Active + 활성화 - - Inactive Jobs - 인액티브 잡 - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + CPU Usage (cores) + CPU 사용량(cores) - - Strategy:  - 전략:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + Environment variable + 환경 변수 - - Min ready seconds:  - 최소 준비 초(Min ready seconds):  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Restart a resource + Restart a resource - - Revision history limit:  - 개정 내역 한도:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Max surge + Max surge - - Strategy - Strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Annotations + Annotations - - Min ready seconds - Min ready seconds - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + First Seen + 처음 표시된 - - Revision history limit - Revision history limit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + Forbidden (403) + 권한 없음(403) - - Max surge:  - 최대 증가율(surge):  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - 최대 비가용(Max unavailable):  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + Suspended: - - Max surge - Max surge - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + Upload - - Max unavailable - Max unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + 단계 - - Updated:  - 업데이트된:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + Namespace conflict - - Total:  - 전체:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + Controller - - Available:  - 가용한:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + will be updated to reflect the desired replicas count. - - Unavailable:  - 가용하지 않은:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + OS Image - - Updated - Updated - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + Download logs file - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Endpoints open_in_new + Endpoints open_in_new - - Available - Available - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Create from form + 서식을 통해 생성 - - Unavailable - Unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Ingress Rules + Ingress Rules - - New Replica Set - New Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Pods + 파드 - - Environment variables - Environment variables - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Stateful Sets + Stateful Sets - - Pods:  - 파드:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + 해당 접두사는 유효한 DNS 서브도메인 접두사가 아닙니다(예: my-domain.com). - - Old Replica Sets - 오래된 레플리카 셋 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + File is ready to download! + File is ready to download! - - Completions:  - 완료:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Succeeded: + Succeeded: - - Parallelism:  - 병렬성:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Download logs + 로그 다운로드 - - Completions - Completions - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Startup Probe + Startup Probe - - Parallelism - Parallelism - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Service Name + Service Name - - Do you want to save them anyways? - 어쨌든 저장하고 싶습니까? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Namespaced + 네임스페이스 - - Refresh - Refresh - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Preview Deployment + Preview Deployment - - Resource Information - Resource Information - - src/app/frontend/crd/detail/template.html - 22 - + + Group + 그룹 - - Accepted Names - Accepted Names - - src/app/frontend/crd/detail/template.html - 55 - + + Basic + 기본 - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - + + There are no notifications + There are no notifications - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - + + Type + 타입 - - Subresources - Subresources - - src/app/frontend/crd/detail/template.html - 47 - + + Mounts + Mounts - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - + + Global settings + Global settings - - List Kind - List Kind - - src/app/frontend/crd/detail/template.html - 77 - + + Last Schedule + 마지막 스케줄 - - Singular - Singular - - src/app/frontend/crd/detail/template.html - 67 - + + A namespace with the specified name will be added to the cluster. + 명시된 이름을 가진 네임스페이스가 클러스터에 추가될 것입니다. - - Short Names - Short Names - - src/app/frontend/crd/detail/template.html - 82 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + 명시된 레이블은 생성된 디플로이먼트, 서비스(있다면), 파드에 적용될 것입니다. 공통 레이블은 릴리스, 환경, 티어(tier), 파티션, 트랙(track)을 포함합니다. - - Categories - Categories - - src/app/frontend/crd/detail/template.html - 87 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + 현재 선택된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. - - Default namespace - Default namespace - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Status: + 상태: - - Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Target port must be greater than 0. + 대상 포트는 0 보다 높아야 합니다. - - Namespace fallback list - Namespace fallback list - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Nodes + Nodes - - List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Read Only + Read Only - - Add namespaces... - Add namespaces... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Started At + Started At - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + Cluster Roles + Cluster Roles - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Filter + 필터 - - Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + No resources found. - - No namespaces selected - No namespaces selected - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + 레플리카 셋 - - Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Verbs + 동사 - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47 - + + Path + Path - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Show previous logs + 이전 로그 보기 - - Cluster name - 클러스터 이름 - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + 글꼴 크기 축소 - - Cluster name appears in the browser window title if it is set. - 설정한 경우, 클러스터 이름이 브라우저 윈도우에 나타납니다. - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + Allocation Items per page 페이지 당 항목 - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - 모든 목록 화면에서 표시할 수 있는 최대 항목 개수. - - src/app/frontend/settings/global/template.html - 44 - + + Name + 이름 - - Labels limit - 레이블 제한 - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + 파드의 수는 필수 항목입니다. - - Max number of labels that are displayed by default on most views. - 대부분의 화면에서 기본적으로 표시할 수 있는 최대 레이블 개수. - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - 로그 자동 갱신 시간 간격 - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + Trigger a + + + CPU requirement must be given as a positive number. + CPU 요구 사항은 양의 정수이어야 합니다. + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + 레지스트리에 있는 퍼블릭 이미지나, 도커 허브 또는 구글 컨테이너 레지스트리의 프라이빗 이미지의 URL을 입력하세요. + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. 로그가 자동 갱신되는데 걸리는 초. - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - 리소스 자동 갱신 시간 간격 - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - 리소스 자동 갱신되는데 걸리는 초. 0으로 설정하면 해제됩니다. - - src/app/frontend/settings/global/template.html - 94 - - - Disable access denied notification - 접근 거부 알림 해제 - - src/app/frontend/settings/global/template.html - 110 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + 이름은 DNS 도매인 이름의 문법을 따라야 합니다(예를 들면, new.image-pull.secret). - - Hides all access denied warnings in the notification panel. - 알림 패널에서 접근 거부 경고 모두 숨김. - - src/app/frontend/settings/global/template.html - 112 - + + Service Account + Service Account - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Timeout (Seconds) + Timeout (Seconds) - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Sysctls + Sysctls - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - src/app/frontend/settings/local/template.html - 21 - + + Source + 소스 - - Theme - Theme - - src/app/frontend/settings/local/template.html - 26 - + + Prefix should not exceed 253 characters. + 접두사는 253개의 문자를 초과할 수 없습니다. - - Choose color theme of the dashboard - Choose color theme of the dashboard - - src/app/frontend/settings/local/template.html - 28 - + + Failed: + Failed: - - Language - 언어 - - src/app/frontend/settings/local/template.html - 41 - + + Read only + Read only - - Change the language of the dashboard - 대시 보드의 언어 변경 - - src/app/frontend/settings/local/template.html - 43 - + + Daemon Sets + Daemon Sets - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Storage Classes + Storage Classes - - Shell in in - - 의 - - - - - 에 셸 인 - - - src/app/frontend/shell/template.html - 22 - + + Provisioner + 제공자 - + \ No newline at end of file diff --git a/modules/web/i18n/messages.xlf b/modules/web/i18n/messages.xlf index 3965e2a36137..f16d14f47c45 100644 --- a/modules/web/i18n/messages.xlf +++ b/modules/web/i18n/messages.xlf @@ -2,5757 +2,1800 @@ - - Open notifications panel - - src/index.messages.ts - 21 - + + Create from file - - Close notifications panel - - src/index.messages.ts - 22 - + + Default namespace - - Pin resource - - src/index.messages.ts - 23 - + + Logs from - - Unpin resource - - src/index.messages.ts - 24 - + + Namespace fallback list - - Expand card - - src/index.messages.ts - 25 - + + Auto-refresh (every s.) - - Minimize card - - src/index.messages.ts - 26 - + + Resource Information - - Unknown - - src/index.messages.ts - 27 - + + Ingress Class Name - - Logs - - src/common/components/list/column/menu/template.html - 22 - - - src/index.messages.ts - 31 - + + Number of pods - - Error - - src/index.messages.ts - 32 - + + Refresh - - Create - - src/create/from/form/createsecret/template.html - 92 - - - src/index.messages.ts - 33 - + + is not unique - - Plugins - - src/common/components/resourcelist/plugin/template.html - 21 - - - src/index.messages.ts - 34 - + + Go to namespace - - Shell - - src/index.messages.ts - 35 - + + Preparing file to download... - - Events - - src/common/components/resourcelist/event/template.html - 22 - - - src/index.messages.ts - 36 - + + Age - - Overview - - src/index.messages.ts - 37 - + + Service Name - - Workloads - - src/index.messages.ts - 38 - - - src/overview/template.html - 19 - - - src/search/template.html - 20 - + + Memory requirement (MiB) - - Cron Jobs - - src/common/components/resourcelist/cronjob/template.html - 24 - - - src/common/components/workloadstatus/template.html - 38 - - - src/index.messages.ts - 39 - + + Role Reference - - Daemon Sets - - src/common/components/resourcelist/daemonset/template.html - 24 - - - src/common/components/workloadstatus/template.html - 56 - - - src/index.messages.ts - 40 - + + Endpoints - - Deployments - - src/common/components/resourcelist/deployment/template.html - 24 - - - src/common/components/workloadstatus/template.html - 74 - - - src/index.messages.ts - 41 - + + Parameter - - Jobs - - src/common/components/resourcelist/job/template.html - 26 - - - src/common/components/workloadstatus/template.html - 92 - - - src/index.messages.ts - 42 - + + Read Only Filesystem - - Pods - - src/common/components/creator/template.html - 62 - - - src/common/components/resourcelist/daemonset/template.html - 109 - - - src/common/components/resourcelist/deployment/template.html - 109 - - - src/common/components/resourcelist/job/template.html - 112 - - - src/common/components/resourcelist/node/template.html - 132 - - - src/common/components/resourcelist/pod/template.html - 24 - - - src/common/components/resourcelist/replicaset/template.html - 112 - - - src/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/common/components/resourcelist/statefulset/template.html - 109 - - - src/common/components/workloadstatus/template.html - 111 - - - src/index.messages.ts - 43 - - - src/resource/cluster/node/detail/template.html - 164 - - - src/resource/workloads/deployment/detail/template.html - 247 - + + Partition - - Replica Sets - - src/common/components/resourcelist/replicaset/template.html - 26 - - - src/common/components/workloadstatus/template.html - 129 - - - src/index.messages.ts - 44 - + + Restart - - Replication Controllers - - src/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/common/components/workloadstatus/template.html - 147 - - - src/index.messages.ts - 45 - + + Cluster Role Bindings - - Stateful Sets - - src/common/components/resourcelist/statefulset/template.html - 24 - - - src/common/components/workloadstatus/template.html - 165 - - - src/index.messages.ts - 46 - + + Edit Namespace List - - Service - - src/create/from/form/portmappings/template.html - 25 - - - src/index.messages.ts - 47 - - - src/overview/template.html - 46 - - - src/search/template.html - 42 - + + New Replica Set - - Ingresses - - src/common/components/resourcelist/ingress/template.html - 21 - - - src/index.messages.ts - 48 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - Ingress Classes - - src/common/components/resourcelist/ingressclass/template.html - 21 - - - src/index.messages.ts - 49 - + + Non-resource URL - - Services - - src/common/components/resourcelist/service/template.html - 21 - - - src/index.messages.ts - 50 - + + Image: - - Config And Storage - - src/index.messages.ts - 51 - + + Mount Option(s) - - Config Maps - - src/common/components/resourcelist/configmap/template.html - 21 - - - src/index.messages.ts - 52 - + + Cron Jobs - - Persistent Volume Claims - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/index.messages.ts - 53 - + + Init images - - Secrets - - src/index.messages.ts - 54 - - - src/overview/template.html - 66 - - - src/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/resource/config/secret/list/template.html - 17 - - - src/resource/config/template.html - 24 - - - src/search/template.html - 62 - + + Ingresses - - Storage Classes - - src/common/components/resourcelist/storageclass/template.html - 21 - - - src/index.messages.ts - 55 - + + Scale - - Cluster - - src/index.messages.ts - 56 - - - src/overview/template.html - 75 - - - src/search/template.html - 70 - + + Daemon Sets - - Cluster Role Bindings - - src/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/index.messages.ts - 57 - + + Revision history limit - - Cluster Roles - - src/common/components/resourcelist/clusterrole/template.html - 21 - - - src/index.messages.ts - 58 - + + Password - - Namespaces - - src/common/components/resourcelist/namespace/template.html - 21 - - - src/index.messages.ts - 59 - + + Labels limit - - Network Policies - - src/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/index.messages.ts - 60 - + + Data - - Nodes - - src/common/components/resourcelist/node/template.html - 24 - - - src/index.messages.ts - 61 - + + Services - - Persistent Volumes - - src/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/index.messages.ts - 62 - + + UID - - Role Bindings - - src/common/components/resourcelist/rolebinding/template.html - 21 - - - src/index.messages.ts - 63 - + + Choose kubeconfig file - - Roles - - src/common/components/resourcelist/role/template.html - 21 - - - src/index.messages.ts - 64 - + + Volume Name - - Service Accounts - - src/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/index.messages.ts - 65 - + + Hides all access denied warnings in the notification panel. - - Custom Resource Definitions - - src/common/components/resourcelist/crd/template.html - 21 - - - src/index.messages.ts - 66 - + + Error - - Settings - - src/index.messages.ts - 67 - + + Expand card - - About - - src/about/template.html - 19 - - - src/index.messages.ts - 68 - + + Memory - - Kubernetes Dashboard - - src/login/template.html - 23 - + + Mount Path - - Sign in - - src/login/template.html - 133,135 - + + CPU requirement (cores) - - Kubeconfig - - src/login/template.html - 34 - + + TLS Secret - - Basic - - src/login/template.html - 36 - + + Image Pull Secret - - Token - - src/login/template.html - 38 - + + Strategy - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - src/login/template.html - 44,49 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - src/login/template.html - 51,56 - + + Volume Attributes - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - src/login/template.html - 58,62 - + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - - Enter token - - src/login/template.html - 74 - + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - Username - - src/login/template.html - 87 - + + You do not have required permissions to access this resource. - - Password - - src/login/template.html - 98 - + + Reclaim policy - - Choose kubeconfig file - - src/login/template.html - 107 - + + Cluster name appears in the browser window title if it is set. - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - src/login/template.html - 117,123 - + + Stateful Sets - - Skip - - src/login/template.html - 142,144 - + + About - - Create new resource - - src/chrome/template.html - 42 - + + Custom Resource Definitions - - - - src/chrome/notifications/template.html - 47,48 - + + External Endpoints - - There are no notifications - - src/chrome/notifications/template.html - 63,65 - + + Storage Class - - Remove all notifications - - src/chrome/notifications/template.html - 71 - + + Available: - - Search - - src/chrome/search/template.html - 29 - + + Desired replicas - - Close - - src/chrome/userpanel/template.html - 30 - - - src/chrome/userpanel/template.html - 55 - - - src/common/components/chips/chipdialog/template.html - 29 - - - src/common/dialogs/download/template.html - 56 - - - src/common/dialogs/previewdeployment/template.html - 34 - - - src/settings/global/namespace/adddialog/template.html - 53 - - - src/settings/global/namespace/editdialog/template.html - 49 - + + Edit resource - - Logged in with auth header - - src/chrome/userpanel/template.html - 45,46 - + + Rolling update strategy - - Logged in with token - - src/chrome/userpanel/template.html - 48 - + + Deploy - - Default service account - - src/chrome/userpanel/template.html - 51 - + + Ingress Classes - - Sign in - - src/chrome/userpanel/template.html - 67 - + + Failed: - - Sign out - - src/chrome/userpanel/template.html - 71 - + + A secret with the specified name will be added to the cluster in the namespace. - - Workloads - - src/chrome/nav/template.html - 27,28 - + + Revision history limit: - - Cron Jobs - - src/chrome/nav/template.html - 32 - + + The new namespace will be added to the cluster. - - Daemon Sets - - src/chrome/nav/template.html - 36 - + + Events - - Deployments - - src/chrome/nav/template.html - 40 - + + + + - - Jobs - - src/chrome/nav/template.html - 44 - + + Min ready seconds - - Pods - - src/chrome/nav/template.html - 48 - + + Categories - - Replica Sets - - src/chrome/nav/template.html - 52 - + + Create from input - - Replication Controllers - - src/chrome/nav/template.html - 56,57 - + + API Groups - - Stateful Sets - - src/chrome/nav/template.html - 61 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. - - Service - - src/chrome/nav/template.html - 67,68 - + + Volume ID - - Ingresses - - src/chrome/nav/template.html - 73 - + + Machine ID - - Ingress Classes - - src/chrome/nav/template.html - 77 - + + Memory requirement must be given as a valid number. - - Services - - src/chrome/nav/template.html - 82 - + + Exec Commands - - Config and Storage - - src/chrome/nav/template.html - 88 - + + Add namespaces... - - Config Maps - - src/chrome/nav/template.html - 94,95 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - - Persistent Volume Claims - - src/chrome/nav/template.html - 100,101 - + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - - Secrets - - src/chrome/nav/template.html - 106 - + + Conditions - - Storage Classes - - src/chrome/nav/template.html - 110 - + + iSCSI target lun number - - Cluster - - src/chrome/nav/template.html - 116 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - - Cluster Role Bindings - - src/chrome/nav/template.html - 120,121 - + + Secrets - - Cluster Roles - - src/chrome/nav/template.html - 125 - + + Unsupported graph type . - - Events - - src/chrome/nav/template.html - 130 - + + Max Replicas - - Namespaces - - src/chrome/nav/template.html - 134 - + + Commands - - Network Policies - - src/chrome/nav/template.html - 139,140 - + + A Deployment will be created to maintain the desired number of pods across your cluster. - - Nodes - - src/chrome/nav/template.html - 144 - + + Resource type - - Persistent Volumes - - src/chrome/nav/template.html - 148,149 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - Role Bindings - - src/chrome/nav/template.html - 154,155 - + + Seccomp Profile Type - - Roles - - src/chrome/nav/template.html - 160 - + + Cancel - - Service Accounts - - src/chrome/nav/template.html - 165,166 - + + Target port must be an integer. - - Custom Resource Definitions - - src/chrome/nav/template.html - 173,174 - + + Key - - Settings - - src/chrome/nav/template.html - 192 - + + Metadata - - About - - src/chrome/nav/template.html - 197 - + + Updated: - - Plugins - - src/chrome/nav/template.html - 184 - + + Server - - Select namespace... - - src/common/components/namespace/template.html - 24 - + + Service - - NAMESPACES - - src/common/components/namespace/template.html - 34 - + + Resource Names - - All namespaces - - src/common/components/namespace/template.html - 33 - + + Logged in with auth header - - Search for - - src/common/components/breadcrumbs/component.ts - 143 - + + Parameters - - - - src/chrome/nav/pinner/template.html - 22,23 - + + key - - Show less - - src/common/components/chips/template.html - 55 - + + Inactive Jobs - - Show all - - src/common/components/chips/template.html - 57 - + + bytes - - Image:  - - src/common/components/container/template.html - 19 - + + QoS Class - - Image - - src/common/components/container/template.html - 32 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Persistent Volume Claims - - Status - - src/common/components/condition/template.html - 44 - - - src/common/components/container/template.html - 39 - - - src/common/components/quotas/template.html - 52 - - - src/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/common/components/resourcelist/pod/template.html - 118 - - - src/resource/cluster/namespace/detail/template.html - 28 - - - src/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/resource/workloads/pod/detail/template.html - 55 - + + Seccomp Localhost Profile - - Ready - - src/common/components/container/template.html - 44 - - - src/common/components/endpoint/cardlist/template.html - 67 - - - src/common/components/resourcelist/node/template.html - 80 - + + Old Replica Sets - - Started - - src/common/components/container/template.html - 50 - + + Are you sure you want to delete in namespace ? - - Reason - - src/common/components/condition/template.html - 68 - - - src/common/components/container/template.html - 58 - - - src/common/components/container/template.html - 72 - - - src/common/components/resourcelist/event/template.html - 68 - - - src/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/resource/cluster/persistentvolume/detail/template.html - 60 - + + Memory limits (bytes) - - Message - - src/common/components/condition/template.html - 76 - - - src/common/components/container/template.html - 64 - - - src/common/components/container/template.html - 78 - - - src/common/components/resourcelist/event/template.html - 76 - - - src/resource/cluster/persistentvolume/detail/template.html - 66 - + + Delete a resource - - Exit Code - - src/common/components/container/template.html - 84 - + + Versions - - Signal - - src/common/components/container/template.html - 90 - + + + + - - Started At - - src/common/components/container/template.html - 98 - + + User - - Environment Variables - - src/common/components/container/template.html - 106,108 - + + Image Pull Secrets - - Environment variable - - src/common/components/container/template.html - 116 - - - src/common/components/container/template.html - 133 - - - src/common/components/container/template.html - 153 - + + Path Type - - bytes - - src/common/components/container/template.html - 140 - - - src/common/components/container/template.html - 160 - + + Settings have changed since last reload - - Commands - - src/common/components/container/template.html - 170 - + + Resources - - Arguments - - src/common/components/container/template.html - 184 - + + Operating system - - Mounts - - src/common/components/container/template.html - 199 - + + Overview - - Security Context - - src/common/components/container/template.html - 214 - - - src/resource/workloads/pod/detail/template.html - 102 - + + Memory Usage (bytes) - - Liveness Probe - - src/common/components/container/template.html - 226 - + + Add Namespace - - Readiness Probe - - src/common/components/container/template.html - 236 - + + Persistent disk name - - Startup Probe - - src/common/components/container/template.html - 246 - + + Driver - - Unsupported graph type . - - src/common/components/graph/component.ts - 95 - + + All namespaces - - Waiting for more data to display chart... - - src/common/components/graph/template.html - 22 - + + Host links are external links that will be open in a new tab. - - Endpoints - - src/common/components/endpoint/cardlist/template.html - 20 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/resource/discovery/ingress/detail/template.html - 36 - + + Version - - Items:  - - src/common/components/condition/template.html - 26 - - - src/common/components/endpoint/cardlist/template.html - 26 - - - src/common/components/ingressrulelist/template.html - 26 - - - src/common/components/limits/template.html - 26 - - - src/common/components/policyrule/template.html - 26 - - - src/common/components/quotas/template.html - 26 - - - src/common/components/resourcelist/clusterrole/template.html - 23 - - - src/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/common/components/resourcelist/configmap/template.html - 23 - - - src/common/components/resourcelist/crd/template.html - 23 - - - src/common/components/resourcelist/crdobject/template.html - 23 - - - src/common/components/resourcelist/crdversion/template.html - 26 - - - src/common/components/resourcelist/cronjob/template.html - 26 - - - src/common/components/resourcelist/daemonset/template.html - 26 - - - src/common/components/resourcelist/deployment/template.html - 26 - - - src/common/components/resourcelist/event/template.html - 24 - - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/common/components/resourcelist/ingress/template.html - 23 - - - src/common/components/resourcelist/ingressclass/template.html - 23 - - - src/common/components/resourcelist/job/template.html - 29 - - - src/common/components/resourcelist/namespace/template.html - 23 - - - src/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/common/components/resourcelist/node/template.html - 26 - - - src/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/common/components/resourcelist/plugin/template.html - 23 - - - src/common/components/resourcelist/pod/template.html - 26 - - - src/common/components/resourcelist/replicaset/template.html - 29 - - - src/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/common/components/resourcelist/role/template.html - 23 - - - src/common/components/resourcelist/rolebinding/template.html - 23 - - - src/common/components/resourcelist/secret/template.html - 22 - - - src/common/components/resourcelist/service/template.html - 23 - - - src/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/common/components/resourcelist/statefulset/template.html - 26 - - - src/common/components/resourcelist/storageclass/template.html - 23 - - - src/common/components/subject/template.html - 26 - - - src/common/components/volumemount/template.html - 25 - + + Storage Classes - - Host - - src/common/components/endpoint/cardlist/template.html - 37 - + + Selected namespace is different than namespace of currently selected resource. - - Ports (Name, Port, Protocol) - - src/common/components/endpoint/cardlist/template.html - 45 - + + Namespaces let you partition resources into logically named groups. - - unset - - src/common/components/endpoint/cardlist/template.html - 51 - + + Pending: - - Node - - src/common/components/endpoint/cardlist/template.html - 59 - - - src/common/components/resourcelist/pod/template.html - 109 - - - src/resource/workloads/pod/detail/template.html - 47 - + + Concurrency policy - - Filter - - src/common/components/list/filter/template.html - 29 - + + Termination Grace Period (Seconds) - - Filter objects by name - - src/common/components/list/filter/template.html - 34 - + + Label Selector - - There is nothing to display here - - src/common/components/list/zerostate/template.html - 22 - - - src/common/components/zerostate/template.html - 23 - + + Ingress Classes - - No resources found. - - src/common/components/list/zerostate/template.html - 27 - + + Succeeded - - Delete resource - - src/common/components/actionbar/detailactions/delete/template.html - 21 - + + Yes - - Edit resource - - src/common/components/actionbar/detailactions/edit/template.html - 21 - + + Parallelism - - Exec into pod - - src/common/components/actionbar/detailactions/exec/template.html - 20 - + + Language - - View logs - - src/common/components/actionbar/detailactions/logs/template.html - 21 - - - - Restart - - src/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/common/components/list/column/menu/template.html - 53 - - - src/common/dialogs/restartresource/template.html - 42 - - - - Scale resource - - src/common/components/actionbar/detailactions/scale/template.html - 21 - + + Do you want to stay on current page and change namespace from to ? - - Trigger resource - - src/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Source Type - - Conditions - - src/common/components/condition/template.html - 20 - + + Unavailable: - - Type - - src/common/components/condition/template.html - 36 - - - src/common/components/resourcelist/secret/template.html - 75 - - - src/common/components/resourcelist/service/template.html - 86 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/resource/discovery/service/detail/template.html - 28 - + + CPU - - Last probe time - - src/common/components/condition/template.html - 52 - + + File System Type - - Last transition time - - src/common/components/condition/template.html - 60 - + + Sub-object - - Controlled by - - src/common/components/creator/template.html - 42 - + + Cluster - - Name - - src/common/components/creator/template.html - 48 - - - src/common/components/objectmeta/template.html - 44 - - - src/common/components/quotas/template.html - 37 - - - src/common/components/resourcelist/clusterrole/template.html - 43 - - - src/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/common/components/resourcelist/configmap/template.html - 44 - - - src/common/components/resourcelist/crd/template.html - 54 - - - src/common/components/resourcelist/crdobject/template.html - 41 - - - src/common/components/resourcelist/crdversion/template.html - 36 - - - src/common/components/resourcelist/cronjob/template.html - 57 - - - src/common/components/resourcelist/daemonset/template.html - 66 - - - src/common/components/resourcelist/deployment/template.html - 66 - - - src/common/components/resourcelist/event/template.html - 50 - - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/common/components/resourcelist/ingress/template.html - 44 - - - src/common/components/resourcelist/ingressclass/template.html - 44 - - - src/common/components/resourcelist/job/template.html - 69 - - - src/common/components/resourcelist/namespace/template.html - 53 - - - src/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/common/components/resourcelist/node/template.html - 57 - - - src/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/common/components/resourcelist/plugin/template.html - 43 - - - src/common/components/resourcelist/pod/template.html - 66 - - - src/common/components/resourcelist/replicaset/template.html - 69 - - - src/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/common/components/resourcelist/role/template.html - 43 - - - src/common/components/resourcelist/rolebinding/template.html - 43 - - - src/common/components/resourcelist/secret/template.html - 43 - - - src/common/components/resourcelist/service/template.html - 54 - - - src/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/common/components/resourcelist/statefulset/template.html - 66 - - - src/common/components/resourcelist/storageclass/template.html - 44 - - - src/common/components/subject/template.html - 36 - - - src/common/components/volumemount/template.html - 35 - - - src/create/from/form/environmentvariables/template.html - 29 - - - src/resource/workloads/deployment/detail/template.html - 224 - + + Show all - - Kind - - src/common/components/creator/template.html - 56 - - - src/common/components/subject/template.html - 57 - - - src/crd/detail/template.html - 72 - + + Sign out - - Age - - src/common/components/creator/template.html - 68 - - - src/common/components/objectmeta/template.html - 62 - - - src/resource/workloads/deployment/detail/template.html - 238 - + + Running - - Name:  - - src/common/components/creator/template.html - 22 - - - src/common/components/objectmeta/template.html - 23 - - - src/resource/workloads/deployment/detail/template.html - 192 - + + Last transition time - - Kind:  - - src/common/components/creator/template.html - 29 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - - Age:  - - src/common/components/creator/template.html - 36 - - - src/common/components/objectmeta/template.html - 35 - - - src/resource/workloads/deployment/detail/template.html - 206 - + + Total: - - Labels - - src/common/components/creator/template.html - 78 - - - src/common/components/objectmeta/template.html - 78 - - - src/common/components/resourcelist/configmap/template.html - 66 - - - src/common/components/resourcelist/cronjob/template.html - 89 - - - src/common/components/resourcelist/daemonset/template.html - 99 - - - src/common/components/resourcelist/deployment/template.html - 99 - - - src/common/components/resourcelist/ingress/template.html - 66 - - - src/common/components/resourcelist/job/template.html - 102 - - - src/common/components/resourcelist/namespace/template.html - 64 - - - src/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/common/components/resourcelist/node/template.html - 70 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/common/components/resourcelist/pod/template.html - 99 - - - src/common/components/resourcelist/replicaset/template.html - 102 - - - src/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/common/components/resourcelist/secret/template.html - 65 - - - src/common/components/resourcelist/service/template.html - 76 - - - src/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/common/components/resourcelist/statefulset/template.html - 99 - - - src/create/from/form/template.html - 183 - - - src/resource/workloads/deployment/detail/template.html - 254 - + + Suffix '' not recognized. - - Images - - src/common/components/creator/template.html - 87 - - - src/common/components/resourcelist/cronjob/template.html - 79 - - - src/common/components/resourcelist/daemonset/template.html - 89 - - - src/common/components/resourcelist/deployment/template.html - 89 - - - src/common/components/resourcelist/job/template.html - 92 - - - src/common/components/resourcelist/pod/template.html - 89 - - - src/common/components/resourcelist/replicaset/template.html - 92 - - - src/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/common/components/resourcelist/statefulset/template.html - 89 - - - src/resource/workloads/daemonset/detail/template.html - 39 - - - src/resource/workloads/deployment/detail/template.html - 263 - - - src/resource/workloads/job/detail/template.html - 58 - - - src/resource/workloads/replicaset/detail/template.html - 47 - - - src/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/resource/workloads/statefulset/detail/template.html - 39 - + + Port must be greater than 0. - - Rules - - src/common/components/ingressrulelist/template.html - 20 - - - src/common/components/policyrule/template.html - 20 - + + Image - - Host - - src/common/components/ingressrulelist/template.html - 36 - + + Reclaim Policy - - Path - - src/common/components/ingressrulelist/template.html - 47 - + + Name must be alphanumeric and may contain dashes. - - Path Type - - src/common/components/ingressrulelist/template.html - 54 - + + Token - - Service Name - - src/common/components/ingressrulelist/template.html - 61 - + + Max unavailable: - - Service Port - - src/common/components/ingressrulelist/template.html - 88 - + + Strategy: - - TLS Secret - - src/common/components/ingressrulelist/template.html - 97 - + + Close notifications panel - - Resource Limits - - src/common/components/limits/template.html - 20 - + + will be triggered. - - Resource name - - src/common/components/limits/template.html - 37 - - - src/resource/cluster/persistentvolume/detail/template.html - 105 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. - - Resource type - - src/common/components/limits/template.html - 42 - + + You can specify minimum CPU and memory requirements for the container. - - Default - - src/common/components/limits/template.html - 47 - + + Reference - - Default request - - src/common/components/limits/template.html - 52 - + + Plural - - Edit - - src/common/components/list/column/menu/template.html - 49 - - - src/settings/global/namespace/editdialog/template.html - 45 - + + Exec into pod - - Delete - - src/common/components/list/column/menu/template.html - 57 - - - src/common/dialogs/deleteresource/template.html - 43 - + + Label Value must not exceed 253 characters. Actions - - src/common/components/list/column/menu/template.html - 66 - - - - Exec - - src/common/components/list/column/menu/template.html - 27 - - - - Trigger - - src/common/components/list/column/menu/template.html - 31 - - - src/common/dialogs/triggerresource/template.html - 25 - - - - Scale - - src/common/components/list/column/menu/template.html - 35 - - - src/common/dialogs/scaleresource/template.html - 61 - - - Unpin - - src/common/components/list/column/menu/template.html - 41 - - - - Pin - - src/common/components/list/column/menu/template.html - 43 - - - - Namespace conflict - - src/common/components/namespace/changedialog/template.html - 19 - - - - Selected namespace is different than namespace of currently selected resource. - - src/common/components/namespace/changedialog/template.html - 22 - + + Proc Mount - - Do you want to stay on current page and change namespace from to ? - - src/common/components/namespace/changedialog/template.html - 24,26 - + + Read documentation - - Yes - - src/common/components/namespace/changedialog/template.html - 32 - + + List of namespaces that should be presented to user without namespace list privileges. - - No - - src/common/components/namespace/changedialog/template.html - 35 - + + Resource Quotas - - Metadata - - src/common/components/objectmeta/template.html - 19 - + + Jobs - - Created - - src/common/components/objectmeta/template.html - 55 - - - src/common/components/quotas/template.html - 42 - - - src/common/components/resourcelist/clusterrole/template.html - 54 - - - src/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/common/components/resourcelist/configmap/template.html - 78 - - - src/common/components/resourcelist/crd/template.html - 91 - - - src/common/components/resourcelist/crdobject/template.html - 58 - - - src/common/components/resourcelist/cronjob/template.html - 152 - - - src/common/components/resourcelist/daemonset/template.html - 121 - - - src/common/components/resourcelist/deployment/template.html - 121 - - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/common/components/resourcelist/ingress/template.html - 116 - - - src/common/components/resourcelist/ingressclass/template.html - 65 - - - src/common/components/resourcelist/job/template.html - 124 - - - src/common/components/resourcelist/namespace/template.html - 80 - - - src/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/common/components/resourcelist/node/template.html - 144 - - - src/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/common/components/resourcelist/plugin/template.html - 72 - - - src/common/components/resourcelist/pod/template.html - 160 - - - src/common/components/resourcelist/replicaset/template.html - 124 - - - src/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/common/components/resourcelist/role/template.html - 61 - - - src/common/components/resourcelist/rolebinding/template.html - 61 - - - src/common/components/resourcelist/secret/template.html - 85 - - - src/common/components/resourcelist/service/template.html - 124 - - - src/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/common/components/resourcelist/statefulset/template.html - 121 - - - src/common/components/resourcelist/storageclass/template.html - 75 - + + Max unavailable - - Namespace:  - - src/common/components/objectmeta/template.html - 29 - - - src/resource/workloads/deployment/detail/template.html - 199 - + + Hosts open_in_new Namespace - - src/common/components/objectmeta/template.html - 50 - - - src/common/components/resourcelist/configmap/template.html - 58 - - - src/common/components/resourcelist/crdobject/template.html - 52 - - - src/common/components/resourcelist/cronjob/template.html - 71 - - - src/common/components/resourcelist/daemonset/template.html - 81 - - - src/common/components/resourcelist/deployment/template.html - 81 - - - src/common/components/resourcelist/event/template.html - 59 - - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/common/components/resourcelist/ingress/template.html - 58 - - - src/common/components/resourcelist/job/template.html - 84 - - - src/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/common/components/resourcelist/plugin/template.html - 64 - - - src/common/components/resourcelist/pod/template.html - 81 - - - src/common/components/resourcelist/replicaset/template.html - 84 - - - src/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/common/components/resourcelist/role/template.html - 53 - - - src/common/components/resourcelist/rolebinding/template.html - 53 - - - src/common/components/resourcelist/secret/template.html - 57 - - - src/common/components/resourcelist/service/template.html - 68 - - - src/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/common/components/resourcelist/statefulset/template.html - 81 - - - src/common/components/subject/template.html - 48 - - - src/create/from/form/template.html - 145 - - - src/resource/workloads/deployment/detail/template.html - 232 - - - src/settings/global/namespace/adddialog/template.html - 29 - - - src/settings/global/namespace/template.html - 27 - - - UID - - src/common/components/objectmeta/template.html - 71 - + + Resource auto-refresh time interval - - Annotations - - src/common/components/objectmeta/template.html - 88 - + + Accepted Names - - Pods status - - src/common/components/podstatus/template.html - 20 - - - src/resource/workloads/deployment/detail/template.html - 119 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Desired:  - - src/common/components/podstatus/template.html - 53 - + + Run as User - - Running:  - - src/common/components/podstatus/template.html - 26 - + + Name is required. - - Succeeded:  - - src/common/components/podstatus/template.html - 33 - + + Started - - Pending:  - - src/common/components/podstatus/template.html - 40 - + + Source Name - - Failed:  - - src/common/components/podstatus/template.html - 47 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. - - Desired - - src/common/components/podstatus/template.html - 88 - + + Learn more open_in_new - - Running - - src/common/components/podstatus/template.html - 63 - + + Abort - - Succeeded - - src/common/components/podstatus/template.html - 69 - + + Name must be up to characters long. - - Pending - - src/common/components/podstatus/template.html - 75 - + + value - - Failed - - src/common/components/podstatus/template.html - 82 - + + Object - - Resources - - src/common/components/policyrule/template.html - 36 - + + Config Maps - - Non-resource URL - - src/common/components/policyrule/template.html - 46 - + + Min Replicas - - Resource Names - - src/common/components/policyrule/template.html - 56 - + + Remove all notifications - - Verbs - - src/common/components/policyrule/template.html - 66 - + + Container runtime version - - API Groups - - src/common/components/policyrule/template.html - 76 - + + Service Port - - Initial Delay (Seconds) - - src/common/components/probe/template.html - 26 - + + Total - - Timeout (Seconds) - - src/common/components/probe/template.html - 31 - + + Cluster Role Bindings - - Probe Period (Seconds) - - src/common/components/probe/template.html - 36 - + + Active Jobs - - Success Threshold - - src/common/components/probe/template.html - 41 - + + CPU requests (cores) Failure Threshold - - src/common/components/probe/template.html - 46 - - - Termination Grace Period (Seconds) - - src/common/components/probe/template.html - 51 - + + Volume Handle - - HTTP Healthcheck URI - - src/common/components/probe/template.html - 58 - + + Windows GMSA Credential Spec Name - - HTTP Headers - - src/common/components/probe/template.html - 68 - + + Show less - - TCP Socket - - src/common/components/probe/template.html - 81 - + + Run as privileged - - Exec Commands - - src/common/components/probe/template.html - 90 - + + Variable name must be a valid C identifier. - - Endpoint links are external links that will be open in a new tab. - - src/common/components/resourcelist/ingress/template.html - 80 - + + Selector - - Endpoints open_in_new - - src/common/components/resourcelist/ingress/template.html - 76,80 - + + No - - Host links are external links that will be open in a new tab. - - src/common/components/resourcelist/ingress/template.html - 97 - + + Local settings - - Hosts open_in_new - - src/common/components/resourcelist/ingress/template.html - 93,97 - + + Protocol is required. - - Resource Quotas - - src/common/components/quotas/template.html - 20 - + + Desired: - - Group - - src/common/components/resourcelist/crd/template.html - 65 - - - src/crd/detail/template.html - 41 - + + Session Affinity - - Full Name - - src/common/components/resourcelist/crd/template.html - 73 - + + Container image is required - - Namespaced - - src/common/components/resourcelist/crd/template.html - 81 - + + CPU requirement must be given as a valid number. - - Objects - - src/common/components/resourcelist/crdobject/template.html - 21 - + + Service Port Number - - No resources found in the selected namespace. - - src/common/components/resourcelist/crdobject/template.html - 92 - + + unset - - Versions - - src/common/components/resourcelist/crdversion/template.html - 20 - + + Resource Limits - - Served - - src/common/components/resourcelist/crdversion/template.html - 42 - + + This action is equivalent to: - - Storage - - src/common/components/resourcelist/crdversion/template.html - 48 - + + Change the language of the dashboard - - Schedule - - src/common/components/resourcelist/cronjob/template.html - 99 - - - src/resource/workloads/cronjob/detail/template.html - 52 - + + Save - - Suspend - - src/common/components/resourcelist/cronjob/template.html - 110 - - - src/resource/workloads/cronjob/detail/template.html - 64 - + + Protocol - - Active - - src/common/components/resourcelist/cronjob/template.html - 120 - + + Init containers - - Last Schedule - - src/common/components/resourcelist/cronjob/template.html - 128 - + + Exec - - Source - - src/common/components/resourcelist/event/template.html - 84 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + Open notifications panel - - Object - - src/common/components/resourcelist/event/template.html - 95 - + + Replica Sets - - Sub-object - - src/common/components/resourcelist/event/template.html - 114 - + + Waiting for more data to display chart... - - Count - - src/common/components/resourcelist/event/template.html - 125 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. - - First Seen - - src/common/components/resourcelist/event/template.html - 134 - + + Number of pods must be a positive integer + + + Run command arguments + + + Can't find plugin "" Last Seen - - src/common/components/resourcelist/event/template.html - 146 - - - Horizontal Pod Autoscalers - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Port must be an integer. - - Min Replicas - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Choose YAML or JSON file - - Max Replicas - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + Available - - Reference - - src/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Node - - Controller - - src/common/components/resourcelist/ingressclass/template.html - 55 - - - src/resource/discovery/ingressclass/detail/template.html - 29 - + + Schedule: - - Phase - - src/common/components/resourcelist/namespace/template.html - 72 - - - src/resource/cluster/node/detail/template.html - 30 - + + Update - - CPU requests (cores) - - src/common/components/resourcelist/node/template.html - 88 - + + Arguments - - CPU limits (cores) - - src/common/components/resourcelist/node/template.html - 99 - + + Dependencies - - Memory requests (bytes) - - src/common/components/resourcelist/node/template.html - 110 - + + Role Bindings - - Memory limits (bytes) - - src/common/components/resourcelist/node/template.html - 121 - + + Config and Storage - - Capacity - - src/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Probe Period (Seconds) - - Access Modes - - src/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Scale resource - - Reclaim Policy - - src/common/components/resourcelist/persistentvolume/template.html - 83 - + + Port must be less than 65536. - - Claim - - src/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/resource/cluster/persistentvolume/detail/template.html - 35 - + + Readiness Probe - - Storage Class - - src/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + CPU limits (cores) - - Volume - - src/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Images - - Dependencies - - src/common/components/resourcelist/plugin/template.html - 55 - + + Skip - - Restarts - - src/common/components/resourcelist/pod/template.html - 126 - - - src/resource/workloads/pod/detail/template.html - 73 - + + Created - - CPU Usage (cores) - - src/common/components/resourcelist/pod/template.html - 134 - + + Namespace that should be selected by default after logging in. - - Memory Usage (bytes) - - src/common/components/resourcelist/pod/template.html - 146 - + + Deployment or service with this name already exists within namespace. - - Cluster IP - - src/common/components/resourcelist/service/template.html - 94 - - - src/resource/discovery/service/detail/template.html - 33 - + + Storage class - - Internal Endpoints - - src/common/components/resourcelist/service/template.html - 102 - + + Role Bindings - - External Endpoints - - src/common/components/resourcelist/service/template.html - 112 - + + Pin resource - - Workload Status - - src/common/components/workloadstatus/template.html - 20 - + + Config Maps - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - src/common/components/zerostate/template.html - 26,35 - + + Create a new namespace... - - Download logs file - - src/common/dialogs/download/template.html - 19 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - - Size: B - - src/common/dialogs/download/template.html - 22 - + + Completions: - - Preparing file to download... - - src/common/dialogs/download/template.html - 27 - + + in namespace will be restarted. - - File is ready to download! - - src/common/dialogs/download/template.html - 29 - + + Starting deadline seconds - - Forbidden (403) - - src/common/dialogs/download/template.html - 33 - + + Volume - - You do not have required permissions to access this resource. - - src/common/dialogs/download/template.html - 34 - + + Pending - - Save - - src/common/dialogs/download/template.html - 44 - - - src/settings/global/saveanywaysdialog/template.html - 24 - - - src/settings/global/template.html - 127 - + + Memory requests (bytes) - - Abort - - src/common/dialogs/download/template.html - 48 - + + Create new resource - - Provisioner - - src/common/components/resourcelist/storageclass/template.html - 55 - - - src/resource/config/storageclass/detail/template.html - 29 - + + Unknown - - Parameters - - src/common/components/resourcelist/storageclass/template.html - 63 - + + Pin - - SE Linux User - - src/common/components/securitycontext/template.html - 23 - + + This action is equivalent to: - - SE Linux Role - - src/common/components/securitycontext/template.html - 28 - + + Age: - - SE Linux Type - - src/common/components/securitycontext/template.html - 33 - + + Edit a resource - - SE Linux Level - - src/common/components/securitycontext/template.html - 38 - + + Roles - - Windows GMSA Credential Spec Name - - src/common/components/securitycontext/template.html - 44 - + + Do you want to save them anyways? - - Windows GMSA Credential Spec - - src/common/components/securitycontext/template.html - 49 - + + Access modes - - Windows Run as User - - src/common/components/securitycontext/template.html - 54 - + + Default request - - Run as User - - src/common/components/securitycontext/template.html - 60 - + + Search - - Run as Group - - src/common/components/securitycontext/template.html - 65 - + + Actual replicas - - Run as Non-Root - - src/common/components/securitycontext/template.html - 70 - + + Secrets - - Seccomp Profile Type - - src/common/components/securitycontext/template.html - 76 - + + Kind: - - Seccomp Localhost Profile - - src/common/components/securitycontext/template.html - 81 - + + Namespaces - - Added Capabilities - - src/common/components/securitycontext/template.html - 88 - + + Rules - - Dropped Capabilities - - src/common/components/securitycontext/template.html - 93 - + + Claim - - Privileged - - src/common/components/securitycontext/template.html - 98 - + + iSCSI Qualified Name - - Read Only Filesystem - - src/common/components/securitycontext/template.html - 103 - + + Parallelism: - - Allow Privilege Escalation - - src/common/components/securitycontext/template.html - 108 - + + Environment variables - - Proc Mount - - src/common/components/securitycontext/template.html - 113 - + + Desired - - Filesystem Group - - src/common/components/securitycontext/template.html - 120 - + + Cluster Roles - - Filesystem Group Change Policy - - src/common/components/securitycontext/template.html - 125 - + + Delete resource - - Supplemental Groups - - src/common/components/securitycontext/template.html - 131 - + + Architecture - - Sysctls - - src/common/components/securitycontext/template.html - 139 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - - Subjects - - src/common/components/subject/template.html - 20 - + + Reason - - API Group - - src/common/components/subject/template.html - 63 - + + Logs - - Read Only - - src/common/components/volumemount/template.html - 40 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + General-purpose web UI for Kubernetes clusters - - Mount Path - - src/common/components/volumemount/template.html - 45 - + + About - - Sub Path - - src/common/components/volumemount/template.html - 50 - + + Description - - Source Type - - src/common/components/volumemount/template.html - 55 - + + Settings - - Source Name - - src/common/components/volumemount/template.html - 60 - + + Controlled by - - Delete a resource - - src/common/dialogs/deleteresource/template.html - 18 - + + SE Linux Role - - This action is equivalent to: - - src/common/dialogs/deleteresource/template.html - 29 - - - src/common/dialogs/editresource/template.html - 33 - - - src/common/dialogs/scaleresource/template.html - 48 - + + Trigger resource - - Cancel - - src/common/dialogs/deleteresource/template.html - 47 - - - src/common/dialogs/editresource/template.html - 47 - - - src/common/dialogs/restartresource/template.html - 46 - - - src/common/dialogs/scaleresource/template.html - 65 - - - src/common/dialogs/triggerresource/template.html - 29 - - - src/create/from/form/createnamespace/template.html - 72 - - - src/create/from/form/createsecret/template.html - 95 - - - src/create/from/form/template.html - 360 - - - src/create/from/input/template.html - 48 - - - src/resource/config/secret/detail/edit/template.html - 35 - + + Workload Status + + + Singular + + + Access Modes - - Are you sure you want to delete  in namespace ? - - src/common/dialogs/deleteresource/template.html - 21,23 - + + SE Linux Level - - Edit a resource - - src/common/dialogs/editresource/template.html - 18 - + + Running: - - Update - - src/common/dialogs/editresource/template.html - 43 - - - src/resource/config/secret/detail/edit/template.html - 31 - + + Keyring - - Restart a resource - - src/common/dialogs/restartresource/template.html - 18 - + + IP - - This action is equivalent to: - - src/common/dialogs/restartresource/template.html - 29 - + + HTTP Healthcheck URI - - in namespace will be restarted. - - src/common/dialogs/restartresource/template.html - 21,23 - + + Environment Variables - - Preview Deployment - - src/common/dialogs/previewdeployment/template.html - 18 - + + Addresses - - Scale a resource - - src/common/dialogs/scaleresource/template.html - 18 - + + Pods - - will be updated to reflect the desired replicas count. - - src/common/dialogs/scaleresource/template.html - 20 - + + Sign in - - Desired replicas - - src/common/dialogs/scaleresource/template.html - 26 - + + Username - - Actual replicas - - src/common/dialogs/scaleresource/template.html - 38 - + + Upload - - Trigger a - - src/common/dialogs/triggerresource/template.html - 18 - + + IP: - - will be triggered. - - src/common/dialogs/triggerresource/template.html - 20 - + + Taints - - Create from input - - src/create/template.html - 20 - + + Memory requirement must be given as a positive number. - - Create from file - - src/create/template.html - 24 - + + Search for - - Create from form - - src/create/template.html - 28 - + + Cron Jobs - - Learn more open_in_new - - src/create/from/file/template.html - 28,30 - - - src/create/from/form/createnamespace/template.html - 50,52 - - - src/create/from/form/createsecret/template.html - 50,52 - - - src/create/from/form/createsecret/template.html - 76,78 - - - src/create/from/form/template.html - 52,54 - - - src/create/from/form/template.html - 81,83 - - - src/create/from/form/template.html - 113,115 - - - src/create/from/form/template.html - 134,136 - - - src/create/from/form/template.html - 159,161 - - - src/create/from/form/template.html - 193,195 - - - src/create/from/form/template.html - 218,220 - - - src/create/from/form/template.html - 268,270 - - - src/create/from/form/template.html - 296,298 - - - src/create/from/form/template.html - 314,316 - - - src/create/from/form/template.html - 329,331 - - - src/create/from/input/template.html - 28,29 - + + Size: B - - Choose YAML or JSON file - - src/create/from/file/template.html - 35 - + + Choose color theme of the dashboard - - Upload - - - src/create/from/file/template.html - 43,44 - + + Filter objects by name - - Cancel - - - src/create/from/file/template.html - 50,51 - + + Schedule - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - - src/create/from/file/template.html - 19,21 - + + Enter token - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - - src/create/from/file/template.html - 23,25 - + + Allow Privilege Escalation - - Upload - - - src/create/from/input/template.html - 40,42 - + + Labels - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - - src/create/from/input/template.html - 19,21 - + + Resource information - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - - src/create/from/input/template.html - 23,25 - + + Target port must be less than 65536. - - Logs from - - src/logs/template.html - 24 - + + Invert colors - - Containers - - src/logs/template.html - 28 - - - src/resource/workloads/pod/detail/template.html - 124 - + + Horizontal Pod Autoscaler - - Init Containers - - src/logs/template.html - 34 - + + Scope - - in - - src/logs/template.html - 43 - + + Data is required. - - Download logs - - src/logs/template.html - 57 - + + Processes in privileged containers are equivalent to processes running as root on the host. - - Invert colors - - src/logs/template.html - 131 - + + Default - - Reduce font size - - src/logs/template.html - 136 - + + Deployments - - Show timestamps - - src/logs/template.html - 141 - + + Status - - Auto-refresh (every s.) - - src/logs/template.html - 146 - + + Egress Rules - - Show previous logs - - src/logs/template.html - 151 - + + Unavailable - - Logs from to UTC - - src/logs/template.html - 94,102 - + + Kubeconfig - - General-purpose web UI for Kubernetes clusters - - src/about/template.html - 30 - + + Create - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - src/about/template.html - 37,41 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - Global settings - - src/settings/global/template.html - 21 - + + Create a new secret... - - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/settings/global/template.html - 23 - + + Provide feedback - - Cluster name - - src/settings/global/template.html - 26 - - - src/settings/global/template.html - 34 - + + Events - - Cluster name appears in the browser window title if it is set. - - src/settings/global/template.html - 28 - + + Storage - - Items per page - - src/settings/global/template.html - 42 - + + Suspend - - Max number of items that can be displayed on every list view. - - src/settings/global/template.html - 44 - + + Add - - Labels limit - - src/settings/global/template.html - 58 - + + No namespaces selected - - Max number of labels that are displayed by default on most views. - - src/settings/global/template.html - 60 - + + Select namespace... - - Logs auto-refresh time interval - - src/settings/global/template.html - 74 - + + Monitors - - Number of seconds between every auto-refresh of logs. - - src/settings/global/template.html - 76 - + + Ingresses - - Resource auto-refresh time interval - - src/settings/global/template.html - 92 - + + Secret name - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - - src/settings/global/template.html - 94 - + + Shell - - Disable access denied notification - - src/settings/global/template.html - 110 - + + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - - Hides all access denied warnings in the notification panel. - - src/settings/global/template.html - 112 - + + Target World Wide Names - - Reload - - src/settings/global/template.html - 132 - + + Target portal - - Local settings - - src/settings/local/template.html - 19 - + + Filesystem Group Change Policy - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - src/settings/local/template.html - 21,24 - + + Jobs - - Theme - - src/settings/local/template.html - 26 - + + Service - - Choose color theme of the dashboard - - src/settings/local/template.html - 28 - + + + + + - - Language - - src/settings/local/template.html - 41 - + + Liveness Probe - - Change the language of the dashboard - - src/settings/local/template.html - 43 - + + Exit Code - - Default namespace - - src/settings/global/namespace/template.html - 18 - + + Supplemental Groups - - Namespace that should be selected by default after logging in. - - src/settings/global/namespace/template.html - 20 - + + Subjects - - Namespace fallback list - - src/settings/global/namespace/template.html - 40 - + + Minimize card - - List of namespaces that should be presented to user without namespace list privileges. - - src/settings/global/namespace/template.html - 42 - + + Create a new image pull secret - - Add namespaces... - - src/settings/global/namespace/template.html - 60 - + + Policy Types - - Can't find plugin "" - - src/common/services/pluginloader/clientloader.service.ts - 42 - + + Windows Run as User - - Can't find dependency "" for plugin "" - - src/common/services/pluginloader/clientloader.service.ts - 48 - + + Show timestamps - - Config and Storage - - src/overview/template.html - 58 - - - src/search/template.html - 54 - + + Namespace name - - Resource information - - src/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/resource/cluster/namespace/detail/template.html - 22 - - - src/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/resource/cluster/node/detail/template.html - 24 - - - src/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/resource/cluster/rolebinding/detail/template.html - 22 - - - src/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/resource/config/storageclass/detail/template.html - 22 - - - src/resource/discovery/ingress/detail/template.html - 23 - - - src/resource/discovery/ingressclass/detail/template.html - 22 - - - src/resource/discovery/service/detail/template.html - 22 - - - src/resource/workloads/cronjob/detail/template.html - 22 - - - src/resource/workloads/daemonset/detail/template.html - 22 - - - src/resource/workloads/deployment/detail/template.html - 22 - - - src/resource/workloads/job/detail/template.html - 22 - - - src/resource/workloads/pod/detail/template.html - 24 - - - src/resource/workloads/replicaset/detail/template.html - 22 - - - src/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/resource/workloads/statefulset/detail/template.html - 22 - + + Path - - Parameter - - src/resource/config/storageclass/detail/template.html - 37 - - - src/resource/discovery/ingressclass/detail/template.html - 37 - + + Create a new namespace - - Data - - src/crd/crdobject/template.html - 22 - - - src/resource/config/configmap/detail/template.html - 23 - - - src/resource/config/secret/detail/template.html - 22 - + + Unpin resource - - There is no data to display. - - src/resource/config/configmap/detail/template.html - 32 - - - src/resource/config/secret/detail/template.html - 40 - + + Port - - Read documentation - - src/about/actionbar/template.html - 24 - + + Dropped Capabilities - - Provide feedback - - src/about/actionbar/template.html - 35 - + + Subresources - - Add Namespace - - src/settings/global/namespace/adddialog/template.html - 20 - + + Succeeded: - - Provide a namespace name that should be added to the namespace fallback list - - src/settings/global/namespace/adddialog/template.html - 23 - + + Horizontal Pod Autoscalers - - Add - - src/settings/global/namespace/adddialog/template.html - 47,49 - + + Invalid protocol. - - Edit Namespace List - - src/settings/global/namespace/editdialog/template.html - 20 - + + Can't find dependency "" for plugin "" - - Remove namespaces from the list and confirm to save the changes. - - src/settings/global/namespace/editdialog/template.html - 23 - + + The new secret will be added to the cluster - - No namespaces selected - - src/settings/global/namespace/editdialog/template.html - 36 - + + Pending: - - Settings have changed since last reload - - src/settings/global/saveanywaysdialog/template.html - 18 - + + Cluster - - Do you want to save them anyways? - - src/settings/global/saveanywaysdialog/template.html - 19 - + + Suspend: - - Refresh - - src/settings/global/saveanywaysdialog/template.html - 28 - + + Security Context - - Shell in in - - src/shell/template.html - 22,33 - + + TCP Socket - - Status:  - - src/resource/workloads/pod/detail/template.html - 30 - + + Persistent Volumes - - IP:  - - src/resource/workloads/pod/detail/template.html - 37 - + + System information - - IP - - src/resource/workloads/pod/detail/template.html - 61 - + + Min ready seconds: - - QoS Class - - src/resource/workloads/pod/detail/template.html - 67 - + + Ready - - Service Account - - src/resource/workloads/pod/detail/template.html - 79 - + + HTTP Headers - - Image Pull Secrets - - src/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/resource/workloads/pod/detail/template.html - 89 - + + Sub Path - - Init containers - - src/resource/workloads/pod/detail/template.html - 132 - + + Service Accounts - - Resource Information - - src/crd/detail/template.html - 22 - + + kubelet version - - Accepted Names - - src/crd/detail/template.html - 55 - + + Items: - - Scope - - src/crd/detail/template.html - 35 - + + Network Policies - - Version - - src/crd/detail/template.html - 29 - + + Value - - Subresources - - src/crd/detail/template.html - 47 - + + API Group - - Plural - - src/crd/detail/template.html - 62 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - - List Kind - - src/crd/detail/template.html - 77 - + + Ports (Name, Port, Protocol) - - Singular - - src/crd/detail/template.html - 67 - + + Target port cannot be empty. - - Short Names - - src/crd/detail/template.html - 82 - + + Kind - - Categories - - src/crd/detail/template.html - 87 - + + Host - - Volume Name - - src/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Lun number - - Reclaim policy - - src/resource/cluster/persistentvolume/detail/template.html - 46 - + + Pod Selector - - Storage class - - src/resource/cluster/persistentvolume/detail/template.html - 52 - + + Sign in - - Mount Option(s) - - src/resource/cluster/persistentvolume/detail/template.html - 73 - + + List Kind - - Access modes - - src/resource/cluster/persistentvolume/detail/template.html - 83 - + + Run command + + + Port cannot be empty. Quantity - - src/resource/cluster/persistentvolume/detail/template.html - 114 - - - Filesystem type - - src/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Logged in with token - - Partition - - src/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Completions - - Read only - - src/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + View logs - - Volume ID - - src/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Provider ID - - Lun number - - src/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Pod CIDR - - Target World Wide Names - - src/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Kernel version - - Dataset name - - src/resource/cluster/persistentvolume/detail/source/template.html - 127 - + + Persistent Volumes - - Persistent disk name - - src/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Containers - - Path - - src/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Workloads - - Driver - - src/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Container image - - Volume Handle - - src/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + SE Linux User - - File System Type - - src/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Served - - Volume Attributes - - src/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Plugins - - Key - - src/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Name: - - Value - - src/create/from/form/environmentvariables/template.html - 44 - - - src/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + Scale a resource - - iSCSI Qualified Name - - src/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + Resource name - - iSCSI target lun number - - src/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + Application name is required. - - Target portal - - src/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + Full Name - - Server - - src/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Target port - - Keyring - - src/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Cluster IP - - Monitors - - src/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + There is nothing to display here - - Pool - - src/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Initial Delay (Seconds) - - Secret reference name - - src/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Short Names - - User - - src/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + Delete - - Session Affinity - - src/resource/discovery/service/detail/template.html - 38 - + + Namespaces - - Selector - - src/resource/discovery/service/detail/template.html - 44 - - - src/resource/workloads/daemonset/detail/template.html - 30 - - - src/resource/workloads/deployment/detail/template.html - 71 - - - src/resource/workloads/replicaset/detail/template.html - 38 - + + Internal Endpoints - - Ingress Class Name - - src/resource/discovery/ingress/detail/template.html - 29 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - - Default Backend - - src/resource/discovery/ingress/detail/template.html - 49 - + + Pool - - Service Name - - src/resource/discovery/ingress/detail/template.html - 55 - + + Theme - - Service Port Name - - src/resource/discovery/ingress/detail/template.html - 61 - + + Logs from to UTC - - Service Port Number - - src/resource/discovery/ingress/detail/template.html - 67 - + + in - - - - src/resource/discovery/ingress/detail/template.html - 73 - + + Services + + + Max number of items that can be displayed on every list view. - - Label Selector - - src/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/resource/workloads/statefulset/detail/template.html - 30 - + + Unschedulable - - Init images - - src/resource/workloads/daemonset/detail/template.html - 48 - - - src/resource/workloads/deployment/detail/template.html - 272 - - - src/resource/workloads/job/detail/template.html - 67 - - - src/resource/workloads/replicaset/detail/template.html - 56 - - - src/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/resource/workloads/statefulset/detail/template.html - 48 - + + Max surge: - - Pods:  - - src/resource/workloads/deployment/detail/template.html - 214 - - - src/resource/workloads/replicaset/detail/template.html - 28 - + + Success Threshold - - Completions:  - - src/resource/workloads/job/detail/template.html - 28 - + + Host - - Parallelism:  - - src/resource/workloads/job/detail/template.html - 35 - + + Restarts - - Completions - - src/resource/workloads/job/detail/template.html - 45 - + + Custom Resource Definitions - - Parallelism - - src/resource/workloads/job/detail/template.html - 51 - + + Settings - - Rolling update strategy - - src/resource/workloads/deployment/detail/template.html - 82 - + + Updated - - Old Replica Sets - - src/resource/workloads/deployment/detail/template.html - 283 - + + Failed - - Horizontal Pod Autoscaler - - src/resource/workloads/deployment/detail/template.html - 287 - + + Shell in in - - Strategy:  - - src/resource/workloads/deployment/detail/template.html - 28 - + + Init Containers - - Min ready seconds:  - - src/resource/workloads/deployment/detail/template.html - 35 - + + Plugins - - Revision history limit:  - - src/resource/workloads/deployment/detail/template.html - 42 - + + There is no data to display. - - Strategy - - src/resource/workloads/deployment/detail/template.html - 52 - + + Default service account - - Min ready seconds - - src/resource/workloads/deployment/detail/template.html - 58 - + + Config and Storage - - Revision history limit - - src/resource/workloads/deployment/detail/template.html - 64 - + + Privileged - - Max surge:  - - src/resource/workloads/deployment/detail/template.html - 88 - + + Trigger - - Max unavailable:  - - src/resource/workloads/deployment/detail/template.html - 95 - + + Active Jobs: - - Max surge - - src/resource/workloads/deployment/detail/template.html - 105 - + + Signal - - Max unavailable - - src/resource/workloads/deployment/detail/template.html - 111 - + + Unpin - - Updated:  - - src/resource/workloads/deployment/detail/template.html - 125 - + + Network Policies - - Total:  - - src/resource/workloads/deployment/detail/template.html - 132 - + + Filesystem type - - Available:  - - src/resource/workloads/deployment/detail/template.html - 139 - + + Logs auto-refresh time interval - - Unavailable:  - - src/resource/workloads/deployment/detail/template.html - 146 - + + kube-proxy version - - Updated - - src/resource/workloads/deployment/detail/template.html - 156 - + + Run as Non-Root - - Total - - src/resource/workloads/deployment/detail/template.html - 162 - + + SE Linux Type - - Available - - src/resource/workloads/deployment/detail/template.html - 168 - + + Objects - - Unavailable - - src/resource/workloads/deployment/detail/template.html - 174 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - New Replica Set - - src/resource/workloads/deployment/detail/template.html - 186 - + + Kubernetes Dashboard - - Active Jobs - - src/resource/workloads/cronjob/detail/template.html - 58 - - - src/resource/workloads/cronjob/detail/template.html - 90 - + + Namespace: - - Inactive Jobs - - src/resource/workloads/cronjob/detail/template.html - 94 - + + NAMESPACES - - Schedule:  - - src/resource/workloads/cronjob/detail/template.html - 28 - + + Edit - - Active Jobs:  - - src/resource/workloads/cronjob/detail/template.html - 35 - + + Pods: - - Suspend:  - - src/resource/workloads/cronjob/detail/template.html - 42 - + + Default Backend - - Last schedule - - src/resource/workloads/cronjob/detail/template.html - 70 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - - Concurrency policy - - src/resource/workloads/cronjob/detail/template.html - 76 - + + Preview - - Starting deadline seconds - - src/resource/workloads/cronjob/detail/template.html - 82 - + + Cancel - - Role Reference - - src/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/resource/cluster/rolebinding/detail/template.html - 28 - + + Disable access denied notification - - Suffix '' not recognized. - - src/common/components/graph/helper.ts - 58 - + + Nodes - - System information - - src/resource/cluster/node/detail/template.html - 71 - + + Windows GMSA Credential Spec - - Allocation - - src/resource/cluster/node/detail/template.html - 130 - + + Endpoint links are external links that will be open in a new tab. - - Pod CIDR - - src/resource/cluster/node/detail/template.html - 35 - + + Last probe time - - Provider ID - - src/resource/cluster/node/detail/template.html - 40 - + + Secret reference name - - Unschedulable - - src/resource/cluster/node/detail/template.html - 45 - + + Dataset name - - Addresses - - src/resource/cluster/node/detail/template.html - 51 - + + Label Key name should not exceed 63 characters. - - Taints - - src/resource/cluster/node/detail/template.html - 60 - + + Run as Group - - Machine ID - - src/resource/cluster/node/detail/template.html - 77 - + + Pods status - - System UUID - - src/resource/cluster/node/detail/template.html - 82 - + + Global settings are stored in config map, so all of them are applied for every instance of the app. - - Boot ID - - src/resource/cluster/node/detail/template.html - 87 - + + Close - - Kernel version - - src/resource/cluster/node/detail/template.html - 92 - + + No resources found in the selected namespace. - - OS Image - - src/resource/cluster/node/detail/template.html - 97 - + + Capacity - - Container runtime version - - src/resource/cluster/node/detail/template.html - 102 - + + Data must be Base64 encoded. - - kubelet version - - src/resource/cluster/node/detail/template.html - 107 - + + Running: - - kube-proxy version - - src/resource/cluster/node/detail/template.html - 112 - + + Service Accounts - - Operating system - - src/resource/cluster/node/detail/template.html - 117 - + + Workloads - - Architecture - - src/resource/cluster/node/detail/template.html - 122 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - CPU - - src/resource/cluster/node/detail/template.html - 138 - + + Create - - Memory - - src/resource/cluster/node/detail/template.html - 151 - + + Roles - - Pod Selector - - src/resource/cluster/networkpolicy/detail/template.html - 28 - + + Reload - - Policy Types - - src/resource/cluster/networkpolicy/detail/template.html - 37 - + + Provide a namespace name that should be added to the namespace fallback list - - Ingress Rules - - src/resource/cluster/networkpolicy/detail/template.html - 49 - + + Filesystem Group - - Egress Rules - - src/resource/cluster/networkpolicy/detail/template.html - 61 - + + Boot ID - - Go to namespace - - src/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Replication Controllers - - App name - - src/create/from/form/template.html - 23 - + + Remove namespaces from the list and confirm to save the changes. - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - - src/create/from/form/template.html - 48 - + + Persistent Volume Claims - - Container image - - src/create/from/form/template.html - 63 - + + Message - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - - src/create/from/form/template.html - 76,77 - + + Max number of labels that are displayed by default on most views. - - Number of pods - - src/create/from/form/template.html - 93 - + + Cluster name - - A Deployment will be created to maintain the desired number of pods across your cluster. - - src/create/from/form/template.html - 109 - + + Deployments - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - - src/create/from/form/template.html - 129,130 - + + App name - - Create a new namespace... - - src/create/from/form/template.html - 151 - + + Last schedule - - Namespaces let you partition resources into logically named groups. - - src/create/from/form/template.html - 155 - + + System UUID - - Description - - src/create/from/form/template.html - 172 - + + Config And Storage - - The description will be added as an annotation to the Deployment and displayed in the application's details. - - src/create/from/form/template.html - 175,177 - + + Container image is invalid: - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - - src/create/from/form/template.html - 188,189 - + + Count - - Image Pull Secret - - src/create/from/form/template.html - 204 - + + Replication Controllers - - Create a new secret... - - src/create/from/form/template.html - 209 - + + Active - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - - src/create/from/form/template.html - 213,214 - + + CPU Usage (cores) - - CPU requirement (cores) - - src/create/from/form/template.html - 230 - + + Environment variable - - Memory requirement (MiB) - - src/create/from/form/template.html - 248 - + + Restart a resource - - You can specify minimum CPU and memory requirements for the container. - - src/create/from/form/template.html - 264 - + + Max surge - - Run command - - src/create/from/form/template.html - 279 - + + Annotations - - Run command arguments - - src/create/from/form/template.html - 285 - + + First Seen - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - - src/create/from/form/template.html - 291,292 - + + Forbidden (403) - - Run as privileged - - src/create/from/form/template.html - 307 - + + + + - - Processes in privileged containers are equivalent to processes running as root on the host. - - src/create/from/form/template.html - 310 - + + Suspended: - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - - src/create/from/form/template.html - 324,325 - + + Upload - - Deploy - - - src/create/from/form/template.html - 343,345 - + + Phase - - Preview - - - src/create/from/form/template.html - 352,354 - + + Namespace conflict - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - - src/create/from/form/template.html - 367 - + + Controller - - - - - src/create/from/form/template.html - 366,368 - + + will be updated to reflect the desired replicas count. - - Deployment or service with this name already exists within namespace. - - src/create/from/form/template.html - 35,37 - + + OS Image - - Application name is required. - - src/create/from/form/template.html - 39 - + + Download logs file - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - - src/create/from/form/template.html - 41,44 - + + Endpoints open_in_new - - Container image is required - - src/create/from/form/template.html - 68 - + + Create from form - - Container image is invalid: - - src/create/from/form/template.html - 70,72 - + + Ingress Rules - - Number of pods is required - - src/create/from/form/template.html - 99 - + + Pods - - Number of pods must be a positive integer - - src/create/from/form/template.html - 101 - + + Stateful Sets - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - src/create/from/form/template.html - 104,106 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - - CPU requirement must be given as a positive number. - - src/create/from/form/template.html - 236,238 - + + File is ready to download! - - CPU requirement must be given as a valid number. - - src/create/from/form/template.html - 240,242 - + + Succeeded: - - Memory requirement must be given as a positive number. - - src/create/from/form/template.html - 254,256 - + + Download logs - - Memory requirement must be given as a valid number. - - src/create/from/form/template.html - 258,260 - + + Startup Probe - - Port - - src/create/from/form/portmappings/template.html - 48 - + + Service Name - - Target port - - src/create/from/form/portmappings/template.html - 71 - + + Namespaced - - Protocol - - src/create/from/form/portmappings/template.html - 102 - + + Preview Deployment - - Port must be an integer. - - src/create/from/form/portmappings/template.html - 52 - + + Group - - Port cannot be empty. - - src/create/from/form/portmappings/template.html - 54 - + + Basic - - Port must be greater than 0. - - src/create/from/form/portmappings/template.html - 56 - + + There are no notifications - - Port must be less than 65536. - - src/create/from/form/portmappings/template.html - 58 - + + Type - - Target port must be an integer. - - src/create/from/form/portmappings/template.html - 77,79 - + + Mounts - - Target port cannot be empty. - - src/create/from/form/portmappings/template.html - 81,83 - + + Global settings - - Target port must be greater than 0. - - src/create/from/form/portmappings/template.html - 85,87 - + + Last Schedule - - Target port must be less than 65536. - - src/create/from/form/portmappings/template.html - 89,91 - + + A namespace with the specified name will be added to the cluster. - - Protocol is required. - - src/create/from/form/portmappings/template.html - 114 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - - Invalid protocol. - - src/create/from/form/portmappings/template.html - 116 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - - Create a new namespace - - src/create/from/form/createnamespace/template.html - 18 - + + Status: - - The new namespace will be added to the cluster. - - src/create/from/form/createnamespace/template.html - 21 - + + Target port must be greater than 0. - - Namespace name - - src/create/from/form/createnamespace/template.html - 29 - + + Nodes - - A namespace with the specified name will be added to the cluster. - - src/create/from/form/createnamespace/template.html - 46 - + + Read Only - - Create - - src/create/from/form/createnamespace/template.html - 67,69 - + + Started At - - Name is required. - - src/create/from/form/createnamespace/template.html - 35 - - - src/create/from/form/createsecret/template.html - 35 - + + Cluster Roles - - Name must be up to characters long. - - src/create/from/form/createnamespace/template.html - 37,39 - - - src/create/from/form/createsecret/template.html - 37,39 - + + Filter - - Name must be alphanumeric and may contain dashes. - - src/create/from/form/createnamespace/template.html - 41,43 - + + No resources found. - - Create a new image pull secret - - src/create/from/form/createsecret/template.html - 18 - + + Replica Sets - - The new secret will be added to the cluster - - src/create/from/form/createsecret/template.html - 21 - + + Verbs - - Secret name - - src/create/from/form/createsecret/template.html - 29 - + + Path - - A secret with the specified name will be added to the cluster in the namespace. - - src/create/from/form/createsecret/template.html - 46 - + + Show previous logs - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - - src/create/from/form/createsecret/template.html - 71,72 - + + Reduce font size - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - - src/create/from/form/createsecret/template.html - 41,43 - + + Allocation - - Data is required. - - src/create/from/form/createsecret/template.html - 66 - + + Items per page - - Data must be Base64 encoded. - - src/create/from/form/createsecret/template.html - 68 - + + Name - - key - - src/create/from/form/deploylabel/template.html - 30 - + + Number of pods is required - - value - - src/create/from/form/deploylabel/template.html - 61 - + + Added Capabilities - - is not unique - - src/create/from/form/deploylabel/template.html - 32 - + + Trigger a - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - - src/create/from/form/deploylabel/template.html - 34,36 - + + CPU requirement must be given as a positive number. - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - - src/create/from/form/deploylabel/template.html - 38,41 - + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - - Prefix should not exceed 253 characters. - - src/create/from/form/deploylabel/template.html - 43,45 - + + Service Port Name - - Label Key name should not exceed 63 characters. - - src/create/from/form/deploylabel/template.html - 47,49 - + + Number of seconds between every auto-refresh of logs. - - Label value must be alphanumeric separated by '.' , '-' or '_'. - - src/create/from/form/deploylabel/template.html - 64,66 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - - Label Value must not exceed 253 characters. - - src/create/from/form/deploylabel/template.html - 68,70 - + + Service Account - - Environment variables - - src/create/from/form/environmentvariables/template.html - 19 - + + Timeout (Seconds) - - Variable name must be a valid C identifier. - - src/create/from/form/environmentvariables/template.html - 32,34 - + + Sysctls - - Running: - - src/overview/helper.ts - 32 - + + Source - - Suspended: - - src/overview/helper.ts - 40 - + + Prefix should not exceed 253 characters. Failed: - - src/overview/helper.ts - 47 - - - src/overview/helper.ts - 63 - - - Pending: - - src/overview/helper.ts - 51 - - - src/overview/helper.ts - 67 - + + Read only - - Succeeded: - - src/overview/helper.ts - 55 - + + Daemon Sets + + + Storage Classes + + + Provisioner - + \ No newline at end of file diff --git a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf index f5acc77ec4df..e6c9560fef9b 100644 --- a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf +++ b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf @@ -2,6483 +2,2428 @@ - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - - - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - + + Create from file + 从文件创建 - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - + + Default namespace + 默认命名空间 - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - + + Logs from + 日志 - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - + + Namespace fallback list + 命名空间后备列表 - - This action is equivalent to: - 此操作相当于: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Auto-refresh (every s.) + 自动刷新 (每 秒) - - Update - Update - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Resource Information + Resource Information - - Cancel - Cancel - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Ingress Class Name + Ingress Class Name - - This action is equivalent to: - 这个动作相当于: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Number of pods + pod 的数量 - - Are you sure you want to delete  in namespace ? - - 你确定要删除 - -  在命名空间中 - - ? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Refresh + Refresh - - Restart a resource - Restart a resource - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + is not unique + 不是唯一的 - - Size: B - 尺寸: B - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + 转到命名空间 Preparing file to download... Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - + + Age + Age - - Forbidden (403) - 禁止 (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - + + Service Name + 服务名称 - - You do not have required permissions to access this resource. - 您没有访问此资源所需的权限。 - - src/app/frontend/common/dialogs/download/template.html - 34 - + + Memory requirement (MiB) + 内存下限 (MiB) - - Save - Save - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - + + Role Reference + Role Reference - - Abort - Abort - - src/app/frontend/common/dialogs/download/template.html - 48 - + + Endpoints + Endpoints - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + 参数 - - Close - 关闭 - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - + + Read Only Filesystem + Read Only Filesystem - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - + + Partition + Partition - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Restart + 重启 - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Cluster Role Bindings + Cluster Role Bindings - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Edit Namespace List + Edit Namespace List - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - + + New Replica Set + New Replica Set - - Desired replicas - 目标副本数量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 - - Actual replicas - 当前的副本数量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Non-resource URL + 非资源 URL + + + Image: + 镜像: + + + Mount Option(s) + Mount Option(s) + + + Cron Jobs + Cron Jobs + + + Init images + Init images + + + Ingresses + Ingresses Scale Scale - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - Trigger a - Trigger a - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Daemon Sets + Daemon Sets - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Revision history limit + Revision history limit - - Scale a resource - Scale a resource - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Password + 密码 - - will be triggered. - 将会被触发. - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Labels limit + 标签限制 - - Trigger - Trigger - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Data + Data - - Delete resource - 删除资源 - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - + + Services + Services - - Edit resource - 编辑资源 - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - + + UID + UID - - Scale resource - 缩放资源 - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - + + Choose kubeconfig file + 选择 kubeconfig 文件 - - View logs - 查看日志 - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - + + Volume Name + Volume Name - - Exec into pod - 在 pod 中运行 - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - + + Hides all access denied warnings in the notification panel. + 在通知面板中隐藏所有拒绝访问的警告。 - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Error + Error - - Trigger resource - 触发资源 - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Expand card + Expand card - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Memory + Memory - - Namespaces - Namespaces - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Mount Path + 挂载路径 - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + CPU requirement (cores) + CPU 下限 (cores) - - Cron Jobs - Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - + + TLS Secret + TLS Secret - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - + + Image Pull Secret + 拉取镜像的 Secret - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - + + Strategy + Strategy - - Workload Status - Workload Status - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 - + + Volume Attributes + Volume Attributes + + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 + + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 在这里 阅读。 + + + You do not have required permissions to access this resource. + 您没有访问此资源所需的权限。 + + + Reclaim policy + Reclaim policy + + + Cluster name appears in the browser window title if it is set. + 如果已设置,则集群名称将显示在浏览器窗口标题中. + + Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - + Stateful Sets - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + About + About - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Custom Resource Definitions + Custom Resource Definitions - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + External Endpoints + 外部 Endpoints - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - + + Storage Class + 存储类 - - Status:  - 状态:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + Available: + 可用的: - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + Desired replicas + 目标副本数量 - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + Edit resource + 编辑资源 - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Rolling update strategy + Rolling update strategy - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Deploy + 部署 - - Node - 节点 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - + + Ingress Classes + Ingress Classes - - Status - 状态 - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Failed: + 失败: - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - + + A secret with the specified name will be added to the cluster in the namespace. + 具有指定名称的 secret 将添加到命名空间中的集群中。 - - Image Pull Secrets - 镜像拉取 Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Revision history limit: + 修改历史记录限制: - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + The new namespace will be added to the cluster. + 新的命名空间将添加到集群中。 - - Reclaim policy - Reclaim policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - + + Events + 事件 - - Storage class - Storage class - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + + + + + + - - Mount Option(s) - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Min ready seconds + Min ready seconds - - Access modes - Access modes - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + Categories + Categories - - Restarts - 重启 - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + Create from input + 输入并创建 - - Containers - 容器 - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + API Groups + API 组 - - Filter - 过滤 - - src/app/frontend/common/components/list/filter/template.html - 29 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 - - Filter objects by name - 按名称过滤对象 - - src/app/frontend/common/components/list/filter/template.html - 34 - + + Volume ID + Volume ID - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Machine ID + Machine ID - - Show less - 收起 - - src/app/frontend/common/components/chips/template.html - 55 - + + Memory requirement must be given as a valid number. + 内存下限必须是一个有效的数字。 - - Show all - 显示所有 - - src/app/frontend/common/components/chips/template.html - 57 - + + Exec Commands + Exec Commands - - There is nothing to display here - There is nothing to display here - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Add namespaces... + 添加命名空间... - - No resources found. - No resources found. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + 如果指定的镜像是私有的,则可能需要拉取 secret 凭据。 您可以选择现有 secret 或创建新 secret。 + + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 Conditions Conditions - - src/app/frontend/common/components/condition/template.html - 20 - - - Logs - 日志 - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + iSCSI target lun number + iSCSI target lun number - - Error - Error - - src/app/frontend/index.messages.ts - 32 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 - - Exec - 执行 - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Secrets + Secrets - - Unpin - 取消固定 - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Unsupported graph type . + Unsupported graph type . - - Pin - 固定 - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Max Replicas + 最大副本数 - - Metadata - Metadata - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Commands + Commands - - Restart - 重启 - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + Deployment 将跨集群创建 pod 以维护所需数量。 - - Items:  - 项目:  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Resource type + 资源类别 - - Name - 名称 - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 - - Namespace - 命名空间 - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + Seccomp Profile Type + Seccomp Profile Type - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Cancel + Cancel - - Labels - 标签 - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + Target port must be an integer. + 目标端口必须是整数。 - - Annotations - Annotations - - src/app/frontend/common/components/objectmeta/template.html - 88 - + + Key + Key - - Pods status - Pods status - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - - - - Schedule - 调度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - - - - Suspend - 暂停 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - - - - Active - 运行中 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - - - - Last Schedule - 最后的调度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - - - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - - - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - - - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - - - - Events - Events - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - - - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - + + Metadata + Metadata - - Created - 创建时间 - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Updated: + 已更新: - - Age - Age - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + Server + Server - - Host - 主机 - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Service + Service - - Dependencies - 依赖 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + Resource Names + 资源名 - - Image:  - 镜像:  - - src/app/frontend/common/components/container/template.html - 19 - + + Logged in with auth header + Logged in with auth header - - Image - Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Parameters + 参数 - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106 - + + key + 密钥 - - Environment variable - 环境变量 - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Inactive Jobs + 非工作的 Jobs bytes bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - - - Commands - Commands - - src/app/frontend/common/components/container/template.html - 170 - + + QoS Class + QoS Class - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - + + Persistent Volume Claims + Persistent Volume Claims - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - + + Old Replica Sets + 旧 Replica Sets - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - + + Are you sure you want to delete in namespace ? + 你确定要删除 在命名空间中 ? - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - + + Memory limits (bytes) + 内存上限 (bytes) - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - + + Delete a resource + Delete a resource - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - + + Versions + Versions - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - + + + + + + + - - Type - 类别 - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + User + User - - Last probe time - 最后的检测时间 - - src/app/frontend/common/components/condition/template.html - 52 - + + Image Pull Secrets + 镜像拉取 Secrets - - Last transition time - 最后的迁移时间 - - src/app/frontend/common/components/condition/template.html - 60 - + + Image Pull Secrets + 镜像拉取 Secrets - - Resource Limits - Resource Limits - - src/app/frontend/common/components/limits/template.html - 20 - + + Path Type + 路径类型 - - Reason - 原因 - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Settings have changed since last reload + Settings have changed since last reload - - Message - 信息 - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Resources + 资源 - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - + + Operating system + Operating system - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - + + Overview + Overview - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - + + Memory Usage (bytes) + 内存使用 (bytes) - - Name:  - 名称:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + Add Namespace + Add Namespace - - Kind:  - Kind:  - - src/app/frontend/common/components/creator/template.html - 29 - + + Persistent disk name + Persistent disk name - - Age:  - 经过时间:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + Driver + Driver - - Kind - Kind - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + All namespaces + 全部命名空间 - - Images - 镜像 - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Host links are external links that will be open in a new tab. + 主机链接是将在新选项卡中打开的外部链接。 - - Group - Group - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Version + Version - - Full Name - 全名 - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + Storage Classes + Storage Classes - - Namespaced - 有命名空间的 - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Versions - Versions - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Namespaces let you partition resources into logically named groups. + 命名空间允许将资源分区为逻辑命名的组。 - - Served - 服务 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Pending: + Pending: - - Storage - 存储 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Concurrency policy + Concurrency policy - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - + + Termination Grace Period (Seconds) + Termination Grace Period (Seconds) - - Host - 主机 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + Label Selector + Label Selector - - Ports (Name, Port, Protocol) - 端口 (名称, 端口, 协议) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Ingress Classes + Ingress Classes - - unset - 未设置 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - + + Succeeded + Succeeded - - Ready - 准备就绪 - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - + + Yes + Yes - - Source - 事件源 - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + Parallelism + Parallelism - - Object - 对象 - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + Language + 语言 - - Sub-object - 子对象 - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - + + Do you want to stay on current page and change namespace from to ? + 您是否希望保持当前页面并从 to 中更改名称空间? - - Count - 次数 - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Source Type + 源类型 - - First Seen - 初次 - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Unavailable: + 不可用的: - - Last Seen - 最后一次 - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + CPU + CPU - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + File System Type + File System Type - - Min Replicas - 最小副本数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Sub-object + 子对象 - - Max Replicas - 最大副本数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + Cluster + Cluster - - Reference - 参考 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Show all + 显示所有 - - Horizontal Pod Autoscaler - Pod 水平自动伸缩 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + Sign out + Sign out - - Endpoint links are external links that will be open in a new tab. - 端点链接是将在新选项卡中打开的外部链接。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Running + Running - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + Last transition time + 最后的迁移时间 - - Host links are external links that will be open in a new tab. - 主机链接是将在新选项卡中打开的外部链接。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {隐藏高级选项} other {显示高级选项}} - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + Total: + 总计: - - Controlled by - Controlled by - - src/app/frontend/common/components/creator/template.html - 42 - + + Suffix '' not recognized. + Suffix '' not recognized. - - Phase - 运行阶段 - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + Port must be greater than 0. + 端口号必须大于 0。 - - Network Policies - Network Policies - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Image + Image - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Reclaim Policy + 回收策略 - - CPU requests (cores) - CPU 下限 (cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + Name must be alphanumeric and may contain dashes. + 名称必须是字母或者数字,可以包含短划线。 - - CPU limits (cores) - CPU 上限 (cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Token + Token - - Memory requests (bytes) - 内存下限 (bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + Max unavailable: + 最大不可用: - - Memory limits (bytes) - 内存上限 (bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + Strategy: + 策略: - - Persistent Volumes - Persistent Volumes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Close notifications panel + Close notifications panel - - Select namespace... - 选择命名空间... - - src/app/frontend/common/components/namespace/template.html - 24 - + + will be triggered. + 将会被触发. - - All namespaces - 全部命名空间 - - src/app/frontend/common/components/namespace/template.html - 33 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + 两次资源自动刷新时间间隔。设置为 0 则表示不启用。 - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + You can specify minimum CPU and memory requirements for the container. + 您可以指定容器的最低 CPU 和内存需求。 - - NAMESPACES - 命名空间 - - src/app/frontend/common/components/namespace/template.html - 34 - + + Reference + 参考 - - Do you want to stay on current page and change namespace from to ? - 您是否希望保持当前页面并从 to 中更改名称空间? - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Plural + Plural - - Yes - Yes - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Exec into pod + 在 pod 中运行 - - No - No - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Label Value must not exceed 253 characters. + 标签值不得超过 253 个字符。 - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - + + Actions + Actions - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - + + Proc Mount + Proc Mount - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - + + Read documentation + 阅读文档 - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - + + List of namespaces that should be presented to user without namespace list privileges. + 应该显示给没有名称空间列表权限的用户的名称空间列表。 - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - + + Resource Quotas + Resource Quotas - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - + + Jobs + Jobs - - HTTP Healthcheck URI - HTTP Healthcheck URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Max unavailable + Max unavailable - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Hosts open_in_new + Hosts open_in_new - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - + + Namespace + 命名空间 - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Resource auto-refresh time interval + 资源自动刷新时间间隔 - - Objects - Objects - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Accepted Names + Accepted Names - - No resources found in the selected namespace. - No resources found in the selected namespace. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Kubernetes Dashboard 是由 Dashboard 社区 开发的 开源项目 - - Nodes - Nodes - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + Run as User + Run as User - - Namespace:  - 命名空间:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Name is required. + 名称是必填的。 - - Running:  - 运行中:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Started + Started - - Succeeded:  - 成功:  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Source Name + 源名称 - - Pending:  - 启动中:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + 标签值必须由'.' , '-'或者'_'分割字母数字。 - - Failed:  - 失败:  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Learn more open_in_new + 了解更多 open_in_new - - Desired - Desired - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Learn more open_in_new + 了解更多open_in_new - - Running - Running - - src/app/frontend/common/components/podstatus/template.html - 63 - + + Learn more open_in_new + 了解更多 open_in_new - - Succeeded - Succeeded - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Learn more open_in_new + 了解更多 open_in_new - - Pending - Pending - - src/app/frontend/common/components/podstatus/template.html - 75 - + + Learn more open_in_new + 了解更多 open_in_new - - Failed - Failed - - src/app/frontend/common/components/podstatus/template.html - 82 - + + Abort + Abort - - Rules - Rules - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - + + Name must be up to characters long. + 名称必须大于 个字符。 - - Desired:  - 期望值:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Name must be up to characters long. + 名称必须大于 字符. - - CPU Usage (cores) - CPU 使用率 (cores) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + value + - - Memory Usage (bytes) - 内存使用 (bytes) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Object + 对象 - - Capacity - 容量 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Config Maps + Config Maps - - Access Modes - 访问模式 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Min Replicas + 最小副本数 - - Reclaim Policy - 回收策略 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Remove all notifications + 删除所有通知 - - Claim - 要求 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Container runtime version + Container runtime version - - Storage Class - 存储类 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + Service Port + 服务端口 - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Total + Total - - Volume - Volume - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Cluster Role Bindings + Cluster Role Bindings - - Plugins - Plugins - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Active Jobs + 运行中的 Jobs - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + CPU requests (cores) + CPU 下限 (cores) - - Read Only - 只读 - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Failure Threshold + Failure Threshold - - Mount Path - 挂载路径 - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Volume Handle + Volume Handle - - Sub Path - 子路径 - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Source Type - 源类型 - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Show less + 收起 - - Source Name - 源名称 - - src/app/frontend/common/components/volumemount/template.html - 60 - + + Run as privileged + 以特权身份运行 - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Variable name must be a valid C identifier. + 变量名必须是有效的 C 标识符。 - - Resources - 资源 - - src/app/frontend/common/components/policyrule/template.html - 36 - + + Selector + Selector - - Non-resource URL - 非资源 URL - - src/app/frontend/common/components/policyrule/template.html - 46 - + + No + No - - Resource Names - 资源名 - - src/app/frontend/common/components/policyrule/template.html - 56 - + + Local settings + Local settings - - Verbs - 动作 - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Protocol is required. + 协议是必需的。 - - API Groups - API 组 - - src/app/frontend/common/components/policyrule/template.html - 76 - + + Desired: + 期望值: - - Resource Quotas - Resource Quotas - - src/app/frontend/common/components/quotas/template.html - 20 - + + Session Affinity + Session Affinity - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Container image is required + 容器镜像是必须的 - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + CPU requirement must be given as a valid number. + CPU 下限必须是有效的数字。 - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + Service Port Number + Service Port Number - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + unset + 未设置 - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Resource Limits + Resource Limits - - Resource name - 资源名 - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + This action is equivalent to: + 这个动作相当于: - - Resource type - 资源类别 - - src/app/frontend/common/components/limits/template.html - 42 - + + Change the language of the dashboard + 更改 dashboard 的语言 - - Default - 默认 - - src/app/frontend/common/components/limits/template.html - 47 - + + Save + Save - - Default request - 默认下限 - - src/app/frontend/common/components/limits/template.html - 52 - + + Protocol + 协议 - - Edit - Edit - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + Init containers + Init containers - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + Exec + 执行 - - Provisioner - 提供者 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + Open notifications panel + Open notifications panel - - Parameters - 参数 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Replica Sets + Replica Sets - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - + + Waiting for more data to display chart... + Waiting for more data to display chart... - - Cluster IP - 集群 IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + 具有此值的 “app” 标签将添加到已部署的 Deployment 和 Service 中。 - - Internal Endpoints - 内部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Number of pods must be a positive integer + pod 的数量必须是整数 - - External Endpoints - 外部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Run command arguments + 运行命令参数 - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + Can't find plugin "" + Can't find plugin "" - - Storage Classes - Storage Classes - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Last Seen + 最后一次 - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + Port must be an integer. + 端口号必须是数字。 - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Choose YAML or JSON file + 选择 YAML 或 JSON 文件 - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + Available + Available - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - 你可以 部署一个容器化应用, 选择其他命名空间,或者 - 阅读 Dashboard 说明 - open_in_new - 了解更多。 - - src/app/frontend/common/components/zerostate/template.html - 26 - + + Node + 节点 - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Schedule: + 时间表: - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Update + Update - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Arguments + Arguments - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + Dependencies + 依赖 - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Role Bindings + Role Bindings - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Config and Storage + Config and Storage - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Probe Period (Seconds) + Probe Period (Seconds) - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Scale resource + 缩放资源 - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Port must be less than 65536. + 端口号必须小于 65536。 - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Readiness Probe + Readiness Probe - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + CPU limits (cores) + CPU 上限 (cores) - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Images + 镜像 - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + Skip + 跳过 - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Created + 创建时间 - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Namespace that should be selected by default after logging in. + 登录后应默认选择的命名空间。 - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Deployment or service with this name already exists within namespace. + 具有此名称的 deployment 或 service 已存在于命名空间中。 - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Storage class + Storage class - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Role Bindings + Role Bindings - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + Pin resource + Pin resource - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Config Maps + Config Maps - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Create a new namespace... + 创建一个新的命名空间... - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 - - API Group - API 组 - - src/app/frontend/common/components/subject/template.html - 63 - + + Completions: + 完成: - - Workloads - 工作负载 - - - src/app/frontend/chrome/nav/template.html - 27 - + + in namespace will be restarted. + in namespace will be restarted. - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - + + Starting deadline seconds + Starting deadline seconds - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - + + Volume + Volume - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - + + Pending + Pending - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - + + Memory requests (bytes) + 内存下限 (bytes) - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - + + Create new resource + 创建新资源 - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - + + Unknown + Unknown - - Replication Controllers - Replication Controllers - - - src/app/frontend/chrome/nav/template.html - 56 - + + Pin + 固定 - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - + + This action is equivalent to: + 此操作相当于: - - Service - 服务 - - - src/app/frontend/chrome/nav/template.html - 67 - + + Age: + 经过时间: - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - + + Edit a resource + Edit a resource - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - + + Roles + Roles - - Config and Storage - 配置和存储 - - - src/app/frontend/chrome/nav/template.html - 88 - + + Do you want to save them anyways? + 你想保存它们吗? - - Config Maps - Config Maps - - src/app/frontend/chrome/nav/template.html - 94 - + + Access modes + Access modes - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/chrome/nav/template.html - 100 - + + Default request + 默认下限 - - Secrets - Secrets - - src/app/frontend/chrome/nav/template.html - 106 - + + Search + 搜索 - - Storage Classes - Storage Classes - - src/app/frontend/chrome/nav/template.html - 110 - + + Actual replicas + 当前的副本数量 - - Cluster - 集群 - - src/app/frontend/chrome/nav/template.html - 116 - + + Secrets + Secrets - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/chrome/nav/template.html - 120 - + + Kind: + Kind: - - Cluster Roles - Cluster Roles - - src/app/frontend/chrome/nav/template.html - 125 - + + Namespaces + 命名空间 - - Events - 事件 - - src/app/frontend/chrome/nav/template.html - 130 - + + Rules + Rules - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + Claim + 要求 - - Namespaces - 命名空间 - - src/app/frontend/chrome/nav/template.html - 134 - + + iSCSI Qualified Name + iSCSI Qualified Name - - Network Policies - 网络策略 - - src/app/frontend/chrome/nav/template.html - 139 - + + Parallelism: + 并行: - - Nodes - Nodes - - src/app/frontend/chrome/nav/template.html - 144 - + + Environment variables + Environment variables - - Persistent Volumes - Persistent Volumes - - src/app/frontend/chrome/nav/template.html - 148 - + + Desired + Desired - - Role Bindings - Role Bindings - - src/app/frontend/chrome/nav/template.html - 154 - + + Cluster Roles + Cluster Roles - - Roles - Roles - - src/app/frontend/chrome/nav/template.html - 160 - + + Delete resource + 删除资源 - - Service Accounts - 服务账号 - - src/app/frontend/chrome/nav/template.html - 165 - + + Architecture + Architecture - - Custom Resource Definitions - 自定义资源 - - src/app/frontend/chrome/nav/template.html - 173 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 - - Plugins - 插件 - - src/app/frontend/chrome/nav/template.html - 184 - + + Reason + 原因 - - Edit a resource - Edit a resource - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Logs + 日志 - - Settings - 设置 - - src/app/frontend/chrome/nav/template.html - 192 - + + General-purpose web UI for Kubernetes clusters + General-purpose web UI for Kubernetes clusters - About - 关于 - - src/app/frontend/chrome/nav/template.html - 197 - + About + 关于 - - Create new resource - 创建新资源 - - src/app/frontend/chrome/template.html - 42 - + + Description + 描述 - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + Settings + Settings - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63 - + + Controlled by + Controlled by - - Search - 搜索 - - src/app/frontend/chrome/search/template.html - 29 - + + SE Linux Role + SE Linux Role - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Trigger resource + 触发资源 - - Remove all notifications - 删除所有通知 - - src/app/frontend/chrome/notifications/template.html - 71 - + + Workload Status + Workload Status - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + Singular + Singular - - Delete a resource - Delete a resource - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + Access Modes + 访问模式 - - Delete - Delete - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + SE Linux Level + SE Linux Level - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Running: + 运行中: - - Basic - 基本 - - src/app/frontend/login/template.html - 36 - + + Keyring + Keyring - - Token - Token - - src/app/frontend/login/template.html - 38 - + + IP + IP - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 - - src/app/frontend/login/template.html - 44 - + + HTTP Healthcheck URI + HTTP Healthcheck URI - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 - - src/app/frontend/login/template.html - 51 - + + Environment Variables + Environment Variables - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 - - src/app/frontend/login/template.html - 58 - + + Addresses + Addresses - - Enter token - 输入 token - - src/app/frontend/login/template.html - 74 - + + Pods + Pods + + + Sign in + Sign in Username 用户名 - - src/app/frontend/login/template.html - 87 - - - - Password - 密码 - - src/app/frontend/login/template.html - 98 - - - - Choose kubeconfig file - 选择 kubeconfig 文件 - - src/app/frontend/login/template.html - 107 - - - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 - 在这里 - 阅读。 - - - src/app/frontend/login/template.html - 117 - - - - Sign in - 登录 - - src/app/frontend/login/template.html - 133 - - - - Skip - 跳过 - - src/app/frontend/login/template.html - 142 - - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Kubernetes Dashboard 是由 Dashboard 社区 开发的 - 开源项目。 - - - src/app/frontend/about/template.html - 37 - - - - Workloads - Workloads - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - - - - Read documentation - 阅读文档 - - src/app/frontend/about/actionbar/template.html - 24 - - - - Provide feedback - 提供反馈意见 - - src/app/frontend/about/actionbar/template.html - 35 - + + Upload + 上传 - - Resource information - Resource information - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + IP: + IP: - - Create from input - 输入并创建 - - src/app/frontend/create/template.html - 20 - + + Taints + Taints - - Create from file - 从文件创建 - - src/app/frontend/create/template.html - 24 - + + Memory requirement must be given as a positive number. + 内存下限必须是正整数。 - - Create from form - 从表单创建 - - src/app/frontend/create/template.html - 28 - + + Search for + Search for - - About - About - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + Cron Jobs + Cron Jobs - - General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters - - src/app/frontend/about/template.html - 30 - + + Size: B + 尺寸: B - - The new namespace will be added to the cluster. - 新的命名空间将添加到集群中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Choose color theme of the dashboard + 选择 dashboard 的颜色主题 - - Namespace name - 命名空间的名称 - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + Filter objects by name + 按名称过滤对象 - - Name is required. - 名称是必填的。 - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Schedule + 调度 - - Name must be up to characters long. - 名称必须大于 个字符。 - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Enter token + 输入 token - - Name must be alphanumeric and may contain dashes. - 名称必须是字母或者数字,可以包含短划线。 - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Allow Privilege Escalation + Allow Privilege Escalation - - Create a new image pull secret - Create a new image pull secret - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Labels + 标签 - - Go to namespace - 转到命名空间 - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Resource information + Resource information - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Target port must be less than 65536. + 目标端口必须小于 65536。 - - Rolling update strategy - Rolling update strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Invert colors + 反转颜色 - - A namespace with the specified name will be added to the cluster. - 将具有指定名称的命名空间添加到集群中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + Horizontal Pod Autoscaler + Pod 水平自动伸缩 - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Scope + Scope - - The new secret will be added to the cluster - 将新的 secret 添加到集群中 - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Data is required. + Data 是必需的。 - - Secret name - Secret 名称 - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + Processes in privileged containers are equivalent to processes running as root on the host. + 特权容器中的进程等同于在主机上以root身份运行的进程。 - - Name must be up to characters long. - 名称必须大于 字符. - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Default + 默认 - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Deployments + Deployments - - A secret with the specified name will be added to the cluster in the namespace. - 具有指定名称的 secret 将添加到命名空间中的集群中。 - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Status + 状态 - - Data is required. - Data 是必需的。 - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + Egress Rules + Egress Rules - - Data must be Base64 encoded. - Data 必须是 Base64 编码的。 - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Unavailable + Unavailable - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Kubeconfig + Kubeconfig Create Create - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - - - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67 - - - - App name - 应用名称 - - src/app/frontend/create/from/form/template.html - 23 - - - - Deployment or service with this name already exists within namespace. - 具有此名称的 deployment 或 service 已存在于命名空间中。 - - src/app/frontend/create/from/form/template.html - 35 - - - Application name is required. - 应用名称是必需的。 - - src/app/frontend/create/from/form/template.html - 39 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + 你可以 部署一个容器化应用, 选择其他命名空间,或者 阅读 Dashboard 说明 open_in_new 了解更多。 - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 - - src/app/frontend/create/from/form/template.html - 41 - + + Create a new secret... + 创建一个新的 secret... - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - 具有此值的 “app” 标签将添加到已部署的 Deployment 和 Service 中。 - - src/app/frontend/create/from/form/template.html - 48 - + + Provide feedback + 提供反馈意见 - - Learn more open_in_new - 了解更多open_in_new - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Events + Events - - Container image - 容器镜像 - - src/app/frontend/create/from/form/template.html - 63 - + + Storage + 存储 - - Container image is required - 容器镜像是必须的 - - src/app/frontend/create/from/form/template.html - 68 - + + Suspend + 暂停 - - Container image is invalid: - 容器镜像无效: - - src/app/frontend/create/from/form/template.html - 70 - + + Add + Add - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - 填写公共镜像的 URL,或者是托管于 Docker Hub、Google Container Registry 等仓库上的私有镜像 URL。 - - src/app/frontend/create/from/form/template.html - 76 - + + No namespaces selected + 未选中命名空间 - - Number of pods - pod 的数量 - - src/app/frontend/create/from/form/template.html - 93 - + + Select namespace... + 选择命名空间... - - Number of pods is required - pod 的数量是必填项 - - src/app/frontend/create/from/form/template.html - 99 - + + Monitors + Monitors - - Number of pods must be a positive integer - pod 的数量必须是整数 - - src/app/frontend/create/from/form/template.html - 101 - + + Ingresses + Ingresses - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 - - src/app/frontend/create/from/form/template.html - 104 - + + Secret name + Secret 名称 - - A Deployment will be created to maintain the desired number of pods across your cluster. - Deployment 将跨集群创建 pod 以维护所需数量。 - - src/app/frontend/create/from/form/template.html - 109 - + + Shell + Shell Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. 可选项,可以定义内部或外部 Service,将传入端口映射到容器的目标端口。 - - src/app/frontend/create/from/form/template.html - 129 - - - Description - 描述 - - src/app/frontend/create/from/form/template.html - 172 - + + Target World Wide Names + Target World Wide Names - - The description will be added as an annotation to the Deployment and displayed in the application's details. - 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 - - src/app/frontend/create/from/form/template.html - 175 - + + Target portal + Target portal - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 - - src/app/frontend/create/from/form/template.html - 188 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Jobs + Jobs - - Create a new namespace... - 创建一个新的命名空间... - - src/app/frontend/create/from/form/template.html - 151 - + + Service + 服务 - - Namespaces let you partition resources into logically named groups. - 命名空间允许将资源分区为逻辑命名的组。 - - src/app/frontend/create/from/form/template.html - 155 - + + + + + + + + + - - Create a new secret... - 创建一个新的 secret... - - src/app/frontend/create/from/form/template.html - 209 - + + Liveness Probe + Liveness Probe - - Image Pull Secret - 拉取镜像的 Secret - - src/app/frontend/create/from/form/template.html - 204 - + + Exit Code + Exit Code - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 如果指定的镜像是私有的,则可能需要拉取 secret 凭据。 您可以选择现有 secret 或创建新 secret。 - - src/app/frontend/create/from/form/template.html - 213 - + + Supplemental Groups + Supplemental Groups - - CPU requirement (cores) - CPU 下限 (cores) - - src/app/frontend/create/from/form/template.html - 230 - + + Subjects + Subjects - - CPU requirement must be given as a positive number. - CPU 下限必须是正整数。 - - src/app/frontend/create/from/form/template.html - 236 - + + Minimize card + Minimize card - - CPU requirement must be given as a valid number. - CPU 下限必须是有效的数字。 - - src/app/frontend/create/from/form/template.html - 240 - + + Create a new image pull secret + Create a new image pull secret - - Memory requirement (MiB) - 内存下限 (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + Policy Types + Policy Types - - Memory requirement must be given as a positive number. - 内存下限必须是正整数。 - - src/app/frontend/create/from/form/template.html - 254 - + + Windows Run as User + Windows Run as User - - Memory requirement must be given as a valid number. - 内存下限必须是一个有效的数字。 - - src/app/frontend/create/from/form/template.html - 258 - + + Show timestamps + 显示时间戳 - - You can specify minimum CPU and memory requirements for the container. - 您可以指定容器的最低 CPU 和内存需求。 - - src/app/frontend/create/from/form/template.html - 264 - + + Namespace name + 命名空间的名称 - - Run command - 运行命令 - - src/app/frontend/create/from/form/template.html - 279 - + + Path + 路径 - - Run command arguments - 运行命令参数 - - src/app/frontend/create/from/form/template.html - 285 - + + Create a new namespace + Create a new namespace - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - 默认情况下,容器运行所选镜像的默认 entrypoint 命令。 您可以使用命令选项覆盖默认值。 - - src/app/frontend/create/from/form/template.html - 291 - + + Unpin resource + Unpin resource - - Run as privileged - 以特权身份运行 - - src/app/frontend/create/from/form/template.html - 307 - + + Port + 端口 - - Processes in privileged containers are equivalent to processes running as root on the host. - 特权容器中的进程等同于在主机上以root身份运行的进程。 - - src/app/frontend/create/from/form/template.html - 310 - + + Dropped Capabilities + Dropped Capabilities - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 - - src/app/frontend/create/from/form/template.html - 324 - + + Subresources + Subresources - - Deploy - - 部署 - - src/app/frontend/create/from/form/template.html - 343 - + + Succeeded: + Succeeded: - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {隐藏高级选项} other {显示高级选项}} - - src/app/frontend/create/from/form/template.html - 367 - + + Invalid protocol. + 无效的协议。 - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 - - src/app/frontend/create/from/input/template.html - 19 - + + The new secret will be added to the cluster + 将新的 secret 添加到集群中 - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 - - src/app/frontend/create/from/input/template.html - 23 - + + Pending: + 启动中: + + + Cluster + 集群 + + + Suspend: + 暂停中: + + + Security Context + Security Context + + + TCP Socket + TCP Socket + + + Persistent Volumes + Persistent Volumes + + + System information + System information - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + Min ready seconds: + 最小准备秒数: - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/input/template.html - 29 - + + Ready + 准备就绪 - - Upload - - 上传 - - src/app/frontend/create/from/input/template.html - 40 - + + HTTP Headers + HTTP Headers - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 - - src/app/frontend/create/from/file/template.html - 19 - + + Sub Path + 子路径 - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 - - src/app/frontend/create/from/file/template.html - 23 - + + Service Accounts + 服务账号 - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/file/template.html - 29 - + + kubelet version + kubelet version - - Choose YAML or JSON file - 选择 YAML 或 JSON 文件 - - src/app/frontend/create/from/file/template.html - 35 - + + Items: + 项目: - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Network Policies + Network Policies - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Value + - - Variable name must be a valid C identifier. - 变量名必须是有效的 C 标识符。 - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + API Group + API 组 - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + 默认情况下,容器运行所选镜像的默认 entrypoint 命令。 您可以使用命令选项覆盖默认值。 - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + Ports (Name, Port, Protocol) + 端口 (名称, 端口, 协议) - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + Target port cannot be empty. + 目标端口不能为空。 - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Kind + Kind - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Host + 主机 - - Value - - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + Lun number + Lun number - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + Pod Selector + Pod Selector - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + Sign in + 登录 - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + List Kind + List Kind - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Run command + 运行命令 - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Port cannot be empty. + 端口号不能为空。 - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Quantity + 数量 - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Logged in with token + Logged in with token - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Completions + Completions - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + View logs + 查看日志 - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Provider ID + Provider ID - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + Pod CIDR + Pod CIDR - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Kernel version + Kernel version - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Persistent Volumes + Persistent Volumes - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Containers + 容器 - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + Workloads + 工作负载 - - Label Selector - Label Selector - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + Container image + 容器镜像 - - Init images - Init images - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + SE Linux User + SE Linux User - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Served + 服务 - - Config and Storage - Config and Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Plugins + Plugins - - Port - 端口 - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Name: + 名称: - - Port must be an integer. - 端口号必须是数字。 - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Scale a resource + Scale a resource - - Port cannot be empty. - 端口号不能为空。 - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Resource name + 资源名 - - Port must be greater than 0. - 端口号必须大于 0。 - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Application name is required. + 应用名称是必需的。 - - Port must be less than 65536. - 端口号必须小于 65536。 - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Full Name + 全名 Target port 目标端口 - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - Target port must be an integer. - 目标端口必须是整数。 - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Cluster IP + 集群 IP - - Target port cannot be empty. - 目标端口不能为空。 - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + There is nothing to display here + There is nothing to display here - - Target port must be greater than 0. - 目标端口必须大于 0。 - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Initial Delay (Seconds) + Initial Delay (Seconds) - - Target port must be less than 65536. - 目标端口必须小于 65536。 - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Short Names + Short Names - - Protocol - 协议 - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Delete + Delete - - Protocol is required. - 协议是必需的。 - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Namespaces + Namespaces - - Invalid protocol. - 无效的协议。 - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Internal Endpoints + 内部 Endpoints - - Create a new namespace - Create a new namespace - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 - - key - 密钥 - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Pool + Pool + + + Theme + 主题 + + + Logs from to UTC + Logs from to UTC + + + in + in + + + Services + Services + + + Max number of items that can be displayed on every list view. + 每个列表视图中可显示的最大项目数。 + + + Unschedulable + Unschedulable - - is not unique - - 不是唯一的 - - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + Max surge: + 最大 surge: - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Success Threshold + Success Threshold - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Host + 主机 - - Prefix should not exceed 253 characters. - 前缀不应超过 253 个字符。 - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Restarts + 重启 - - Label Key name should not exceed 63 characters. - Label Key 名称不应超过 63 个字符。 - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Custom Resource Definitions + 自定义资源 - - value - - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Settings + 设置 - - Label value must be alphanumeric separated by '.' , '-' or '_'. - 标签值必须由'.' , '-'或者'_'分割字母数字。 - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Updated + Updated - - Label Value must not exceed 253 characters. - 标签值不得超过 253 个字符。 - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Failed + Failed - - Logs from - 日志 - - src/app/frontend/logs/template.html - 24 - + + Shell in in + Shell in in Init Containers 初始化容器 - - src/app/frontend/logs/template.html - 34 - - - - in - in - - src/app/frontend/logs/template.html - 43 - - - - Download logs - 下载日志 - - src/app/frontend/logs/template.html - 57 - - - - Invert colors - 反转颜色 - - src/app/frontend/logs/template.html - 131 - - - - Reduce font size - 减小字体大小 - - src/app/frontend/logs/template.html - 136 - - - Show timestamps - 显示时间戳 - - src/app/frontend/logs/template.html - 141 - + + Plugins + 插件 - - Auto-refresh (every s.) - 自动刷新 (每 秒) - - src/app/frontend/logs/template.html - 146 - + + There is no data to display. + 没有要显示的数据。 - - Show previous logs - 显示以前的日志 - - src/app/frontend/logs/template.html - 151 - + + Default service account + Default service account - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - + + Config and Storage + 配置和存储 - - Path - 路径 - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Privileged + Privileged - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Trigger + Trigger - - Path Type - 路径类型 - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Active Jobs: + 运行中的 Jobs: - - Service Name - 服务名称 - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Signal + Signal - - Service Port - 服务端口 - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + Unpin + 取消固定 - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Network Policies + 网络策略 - - Namespace conflict - Namespace conflict - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Filesystem type + Filesystem type - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + Logs auto-refresh time interval + 日志自动刷新时间间隔 - - Quantity - 数量 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + kube-proxy version + kube-proxy version - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Run as Non-Root + Run as Non-Root - - Session Affinity - Session Affinity - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + SE Linux Type + SE Linux Type - - Selector - Selector - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Objects + Objects - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + Namespace: + 命名空间: - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + NAMESPACES + 命名空间 - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Edit + Edit - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Pods: + Pods: - - Dataset name - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - + + Default Backend + Default Backend - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Preview + Preview - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Cancel + Cancel - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Disable access denied notification + 禁止拒绝访问的通知 - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Nodes + Nodes - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec - - Parameter - 参数 - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Endpoint links are external links that will be open in a new tab. + 端点链接是将在新选项卡中打开的外部链接。 - - Data - Data - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Last probe time + 最后的检测时间 - - There is no data to display. - 没有要显示的数据。 - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Secret reference name + Secret reference name - - Settings have changed since last reload - Settings have changed since last reload - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + Dataset name + Dataset name - - Schedule:  - 时间表:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Label Key name should not exceed 63 characters. + Label Key 名称不应超过 63 个字符。 - - Active Jobs:  - 运行中的 Jobs:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Run as Group + Run as Group - - Suspend:  - 暂停中:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Pods status + Pods status - - Last schedule - Last schedule - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. - - Concurrency policy - Concurrency policy - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + Close + 关闭 - - Starting deadline seconds - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + No resources found in the selected namespace. + No resources found in the selected namespace. - - Role Reference - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Capacity + 容量 - - System information - System information - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Data must be Base64 encoded. + Data 必须是 Base64 编码的。 - - Allocation - Allocation - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Running: + Running: - - Pod CIDR - Pod CIDR - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Service Accounts + Service Accounts - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Workloads + Workloads - - Unschedulable - Unschedulable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 - - Addresses - Addresses - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Create + Create - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Roles + Roles - - Machine ID - Machine ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Reload + Reload - - System UUID - System UUID - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Provide a namespace name that should be added to the namespace fallback list + 提供应添加到命名空间后背列表的命名空间名称 + + + Filesystem Group + Filesystem Group Boot ID Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - Kernel version - Kernel version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - + + Replication Controllers + Replication Controllers - - OS Image - OS Image - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Remove namespaces from the list and confirm to save the changes. + 从列表中删除命名空间并确认保存更改。 - - Container runtime version - Container runtime version - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Persistent Volume Claims + Persistent Volume Claims - - kubelet version - kubelet version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Message + 信息 - - kube-proxy version - kube-proxy version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - + + Max number of labels that are displayed by default on most views. + 默认情况下,大多数视图上显示的最大标签数。 - - Operating system - Operating system - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Cluster name + 集群名称 - - Architecture - Architecture - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + Deployments + Deployments - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + App name + 应用名称 - - Memory - Memory - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + Last schedule + Last schedule - - Pod Selector - Pod Selector - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + System UUID + System UUID - - Policy Types - Policy Types - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + Config And Storage + Config And Storage - - Ingress Rules - Ingress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + Container image is invalid: + 容器镜像无效: - - Egress Rules - Egress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + Count + 次数 - - Active Jobs - 运行中的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + Replication Controllers + Replication Controllers - - Image Pull Secrets - 镜像拉取 Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/component.ts - 57 - + + Active + 运行中 - - Inactive Jobs - 非工作的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + CPU Usage (cores) + CPU 使用率 (cores) - - Strategy:  - 策略:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + Environment variable + 环境变量 - - Min ready seconds:  - 最小准备秒数:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Restart a resource + Restart a resource - - Revision history limit:  - 修改历史记录限制:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Max surge + Max surge - - Strategy - Strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Annotations + Annotations - - Min ready seconds - Min ready seconds - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + First Seen + 初次 - - Revision history limit - Revision history limit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + Forbidden (403) + 禁止 (403) - - Max surge:  - 最大 surge:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - 最大不可用:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + Suspended: - - Max surge - Max surge - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + Upload - - Max unavailable - Max unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + 运行阶段 - - Updated:  - 已更新:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + Namespace conflict - - Total:  - 总计:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + Controller - - Available:  - 可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + will be updated to reflect the desired replicas count. - - Unavailable:  - 不可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + OS Image - - Updated - Updated - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + Download logs file - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Endpoints open_in_new + Endpoints open_in_new - - Available - Available - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Create from form + 从表单创建 - - Unavailable - Unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Ingress Rules + Ingress Rules - - New Replica Set - New Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Pods + Pods - - Environment variables - Environment variables - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Stateful Sets + Stateful Sets - - Pods:  - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 - - Old Replica Sets - 旧 Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + File is ready to download! + File is ready to download! - - Completions:  - 完成:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Succeeded: + 成功: - - Parallelism:  - 并行:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Download logs + 下载日志 - - Completions - Completions - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Startup Probe + Startup Probe - - Parallelism - Parallelism - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Service Name + Service Name - - Do you want to save them anyways? - 你想保存它们吗? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Namespaced + 有命名空间的 - - Refresh - Refresh - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Preview Deployment + Preview Deployment - - Resource Information - Resource Information - - src/app/frontend/crd/detail/template.html - 22 - + + Group + Group - - Accepted Names - Accepted Names - - src/app/frontend/crd/detail/template.html - 55 - + + Basic + 基本 - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - + + There are no notifications + There are no notifications - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - + + Type + 类别 - - Subresources - Subresources - - src/app/frontend/crd/detail/template.html - 47 - + + Mounts + Mounts - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - + + Global settings + Global settings - - List Kind - List Kind - - src/app/frontend/crd/detail/template.html - 77 - + + Last Schedule + 最后的调度 - - Singular - Singular - - src/app/frontend/crd/detail/template.html - 67 - + + A namespace with the specified name will be added to the cluster. + 将具有指定名称的命名空间添加到集群中。 - - Short Names - Short Names - - src/app/frontend/crd/detail/template.html - 82 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 - - Categories - Categories - - src/app/frontend/crd/detail/template.html - 87 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 - - Default namespace - 默认命名空间 - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Status: + 状态: - - Namespace that should be selected by default after logging in. - 登录后应默认选择的命名空间。 - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Target port must be greater than 0. + 目标端口必须大于 0。 - - Namespace fallback list - 命名空间后备列表 - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Nodes + Nodes - - List of namespaces that should be presented to user without namespace list privileges. - 应该显示给没有名称空间列表权限的用户的名称空间列表。 - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Read Only + 只读 - - Add namespaces... - 添加命名空间... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Started At + Started At - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + Cluster Roles + Cluster Roles - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Filter + 过滤 - - Remove namespaces from the list and confirm to save the changes. - 从列表中删除命名空间并确认保存更改。 - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + No resources found. - - No namespaces selected - 未选中命名空间 - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + Replica Sets - - Provide a namespace name that should be added to the namespace fallback list - 提供应添加到命名空间后背列表的命名空间名称 - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Verbs + 动作 - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47 - + + Path + Path - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Show previous logs + 显示以前的日志 - - Cluster name - 集群名称 - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + 减小字体大小 - - Cluster name appears in the browser window title if it is set. - 如果已设置,则集群名称将显示在浏览器窗口标题中. - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + Allocation Items per page 每页项目 - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - 每个列表视图中可显示的最大项目数。 - - src/app/frontend/settings/global/template.html - 44 - + + Name + 名称 - - Labels limit - 标签限制 - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + pod 的数量是必填项 - - Max number of labels that are displayed by default on most views. - 默认情况下,大多数视图上显示的最大标签数。 - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - 日志自动刷新时间间隔 - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + Trigger a + + + CPU requirement must be given as a positive number. + CPU 下限必须是正整数。 + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + 填写公共镜像的 URL,或者是托管于 Docker Hub、Google Container Registry 等仓库上的私有镜像 URL。 + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. 每次自动刷新日志的间隔秒数。 - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - 资源自动刷新时间间隔 - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - 两次资源自动刷新时间间隔。设置为 0 则表示不启用。 - - src/app/frontend/settings/global/template.html - 94 - - - Disable access denied notification - 禁止拒绝访问的通知 - - src/app/frontend/settings/global/template.html - 110 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 - - Hides all access denied warnings in the notification panel. - 在通知面板中隐藏所有拒绝访问的警告。 - - src/app/frontend/settings/global/template.html - 112 - + + Service Account + Service Account - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Timeout (Seconds) + Timeout (Seconds) - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Sysctls + Sysctls - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 - - src/app/frontend/settings/local/template.html - 21 - + + Source + 事件源 - - Theme - 主题 - - src/app/frontend/settings/local/template.html - 26 - + + Prefix should not exceed 253 characters. + 前缀不应超过 253 个字符。 - - Choose color theme of the dashboard - 选择 dashboard 的颜色主题 - - src/app/frontend/settings/local/template.html - 28 - + + Failed: + Failed: - - Language - 语言 - - src/app/frontend/settings/local/template.html - 41 - + + Read only + Read only - - Change the language of the dashboard - 更改 dashboard 的语言 - - src/app/frontend/settings/local/template.html - 43 - + + Daemon Sets + Daemon Sets - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Storage Classes + Storage Classes - - Shell in in - - Shell in - - - - - - in - - - src/app/frontend/shell/template.html - 22 - + + Provisioner + 提供者 - + \ No newline at end of file diff --git a/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf index 0d8314e648f8..f447cbd645a6 100644 --- a/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf +++ b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf @@ -2,6625 +2,2428 @@ - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - - - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - + + Create from file + 从文件創建 - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - + + Default namespace + Default namespace - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - + + Logs from + 日志 - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - + + Namespace fallback list + Namespace fallback list - - This action is equivalent to: - 此操作相當於: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Auto-refresh (every s.) + Auto-refresh (every s.) - - Update - Update - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Resource Information + Resource Information - - Cancel - Cancel - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Ingress Class Name + Ingress Class Name - - This action is equivalent to: - This action is equivalent to: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Number of pods + pod 的数量 - - Are you sure you want to delete  in namespace ? - - 你確定要刪除 - -  in namespace - - ? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Refresh + Refresh - - Restart a resource - Restart a resource - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + is not unique + 不是唯一的 - - Size: B - 尺寸: B - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + Go to namespace Preparing file to download... Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - + + Age + Age - - Forbidden (403) - 禁止 (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - + + Service Name + Service Name - - You do not have required permissions to access this resource. - 您沒有訪問此資源需要的權限。 - - src/app/frontend/common/dialogs/download/template.html - 34 - + + Memory requirement (MiB) + Memory 最低需求 (MiB) - - Save - Save - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - + + Role Reference + Role Reference - - Abort - Abort - - src/app/frontend/common/dialogs/download/template.html - 48 - + + Endpoints + Endpoints - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + 參數 - - Close - 關閉 - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - + + Read Only Filesystem + Read Only Filesystem - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - + + Partition + Partition - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Restart + Restart - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Cluster Role Bindings + Cluster Role Bindings - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Edit Namespace List + Edit Namespace List - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - + + New Replica Set + New Replica Set - - Desired replicas - 目標副本數量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + 每個 Service Account 都有一個 valid Bearer Token ,可用於登錄 Dashboard 。 要瞭解如何配置使用 Bearer Tokens 的更多信息,请參閲 Authentication 部分. - - Actual replicas - 當前的副本數量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Non-resource URL + 非資源 URL + + + Image: + 鏡像: + + + Mount Option(s) + Mount Option(s) + + + Cron Jobs + Cron Jobs + + + Init images + Init images + + + Ingresses + Ingresses Scale Scale - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - Trigger a - Trigger a - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Daemon Sets + Daemon Sets - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Revision history limit + Revision history limit - - Scale a resource - Scale a resource - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Password + 密碼 - - will be triggered. - 將會被觸發。 - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Labels limit + Labels limit - - Trigger - Trigger - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Data + Data - - Delete resource - 刪除資源 - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - + + Services + Services - - Edit resource - 編輯資源 - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - + + UID + UID - - Scale resource - 縮放資源 - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - + + Choose kubeconfig file + 選擇 kubeconfig 文件 - - View logs - 顯示日志 - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - + + Volume Name + Volume Name - - Exec into pod - 在 pod 中運行 - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - + + Hides all access denied warnings in the notification panel. + 在通知面板中隱藏所有拒絕訪問的警告。 - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Error + Error - - Trigger resource - 觸發資源 - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Expand card + Expand card - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Memory + Memory - - Namespaces - Namespaces - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Mount Path + Mount Path - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + CPU requirement (cores) + CPU 最低需求 (cores) - - Cron Jobs - Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - + + TLS Secret + TLS Secret - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - + + Image Pull Secret + 镜像拉取得 Secret - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - + + Strategy + Strategy - - Workload Status - Workload Status - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - + + Volume Attributes + Volume Attributes + + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 + + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + + + You do not have required permissions to access this resource. + 您沒有訪問此資源需要的權限。 + + + Reclaim policy + Reclaim policy + + + Cluster name appears in the browser window title if it is set. + 如果已設置, 則集群名字將顯示在瀏覽器窗口標題中。 + + Stateful Sets Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + About + About - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Custom Resource Definitions + Custom Resource Definitions - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + External Endpoints + 外部 Endpoints - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - + + Storage Class + 存儲類 - - Status:  - 狀態:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + Available: + 可用的: - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + Desired replicas + 目標副本數量 - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + Edit resource + 編輯資源 - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Rolling update strategy + Rolling update strategy - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Deploy + Deploy - - Node - 節點 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - + + Ingress Classes + Ingress Classes - - Status - 狀態 - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Failed: + 失敗: - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - + + A secret with the specified name will be added to the cluster in the namespace. + 具有指定名称的 secret 将添加到命名空间中的集群中。 - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Revision history limit: + 調整 history 範圍: - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + The new namespace will be added to the cluster. + 新的命名空間將添加到集群中。 - - Reclaim policy - Reclaim policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - + + Events + Events - - Storage class - Storage class - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + + + + + + - - Mount Option(s) - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Min ready seconds + Min ready seconds - - Access modes - Access modes - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + Categories + Categories - - Restarts - 重啓 - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + Create from input + 輸入並創建 - - Containers - 容器 - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + API Groups + API 組 - - Filter - 過濾 - - src/app/frontend/common/components/list/filter/template.html - 29 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 - - Filter objects by name - 按名字過濾對象 - - src/app/frontend/common/components/list/filter/template.html - 34 - + + Volume ID + Volume ID - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Machine ID + Machine ID - - Show less - 收起 - - src/app/frontend/common/components/chips/template.html - 55 - + + Memory requirement must be given as a valid number. + Memory 最低需求必须是一个有效的数字。 - - Show all - 顯示所有 - - src/app/frontend/common/components/chips/template.html - 57 - + + Exec Commands + Exec Commands - - There is nothing to display here - There is nothing to display here - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Add namespaces... + Add namespaces... - - No resources found. - No resources found. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + 如果指定的 Image 是私有的,则可能需要 pull secret credential。 您可以选择现有 secret 或创建新 secret。 + + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 Conditions Conditions - - src/app/frontend/common/components/condition/template.html - 20 - - - Logs - 日志 - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + iSCSI target lun number + iSCSI target lun number - - Error - Error - - src/app/frontend/index.messages.ts - 32 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 - - Exec - 執行 - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Secrets + Secrets - - Unpin - 取消固定 - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Unsupported graph type . + Unsupported graph type . - - Pin - 固定 - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Max Replicas + 最大副本數 - - Metadata - Metadata - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Commands + Commands - - Restart - Restart - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + Deployment 将跨集群创建 pod 以维护所需数量。 - - Items:  - 項目:  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Resource type + 资源類別 - - Name - 名字 - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + 請選擇您創建的kubeconfig文件以配置對集群的訪問權限。 要瞭解有關如何配置和使用kubeconfig文件的更多信息, 請參閲Configure Access to Multiple Clusters 部分. - - Namespace - 命名空間 - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + Seccomp Profile Type + Seccomp Profile Type - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Cancel + Cancel - - Labels - 標簽 - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + Target port must be an integer. + 目標端口必須是整數。 - - Annotations - Annotations - - src/app/frontend/common/components/objectmeta/template.html - 88 - - - - Pods status - Pods status - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - - - - Schedule - 調度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - - - - Suspend - 暫停 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - - - - Active - 運行中 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - - - - Last Schedule - 最後的調度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - - - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - - - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - - - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - - - - Events - Events - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - + + Key + Key - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - + + Metadata + Metadata - - Created - 創建時間 - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Updated: + 已更新: - - Age - Age - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + Server + Server - - Host - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Service + Service - - Dependencies - 依賴 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + Resource Names + 資源名 - - Image:  - 鏡像:  - - src/app/frontend/common/components/container/template.html - 19 - + + Logged in with auth header + Logged in with auth header - - Image - Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Parameters + 參數 - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106 - + + key + 密鑰 - - Environment variable - 環境變量 - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Inactive Jobs + 非工作的 Jobs bytes bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - - - - Commands - Commands - - src/app/frontend/common/components/container/template.html - 170 - - - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - - - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - - - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - - - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - - - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - - - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - - - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - - - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - - - - Type - 類別 - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - - - - Last probe time - 最後的檢查時間 - - src/app/frontend/common/components/condition/template.html - 52 - - - Last transition time - 最後的遷移時間 - - src/app/frontend/common/components/condition/template.html - 60 - - - - Resource Limits - Resource Limits - - src/app/frontend/common/components/limits/template.html - 20 - - - - Reason - 原因 - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - - - - Message - 信息 - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - - - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - + + QoS Class + QoS Class - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - + + Persistent Volume Claims + Persistent Volume Claims - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Name:  - 名字:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + Old Replica Sets + 舊 Replica Sets - - Kind:  - 種類:  - - src/app/frontend/common/components/creator/template.html - 29 - + + Are you sure you want to delete in namespace ? + 你確定要刪除 in namespace ? - - Age:  - 經過時間:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + Memory limits (bytes) + Memory 上限 (bytes) - - Kind - 類別 - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + Delete a resource + Delete a resource - - Images - 鏡像 - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Versions + Versions - - Group - Group - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + + + + + + - - Full Name - 全名 - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + User + User - - Namespaced - Namespaced - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Image Pull Secrets + Image Pull Secrets - - Versions - Versions - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Image Pull Secrets + Image Pull Secrets - - Served - 服務 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Path Type + Path Type - - Storage - 存儲 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Settings have changed since last reload + Settings have changed since last reload - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - + + Resources + 資源 - - Host - 主機 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + Operating system + Operating system - - Ports (Name, Port, Protocol) - 端口 (名字, 端口, 協議) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Overview + Overview - - unset - 未設置 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - + + Memory Usage (bytes) + 内存實用 (bytes) - - Ready - 準備就緒 - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - + + Add Namespace + Add Namespace - - Source - 事件源 - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + Persistent disk name + Persistent disk name - - Object - Object - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + Driver + Driver - - Sub-object - Sub-object - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - + + All namespaces + 全部 namespaces - - Count - 次數 - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Host links are external links that will be open in a new tab. + Host links are external links that will be open in a new tab. - - First Seen - 初次 - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Version + Version - - Last Seen - 最後一次 - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Storage Classes + Storage Classes - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Min Replicas - 最小副本數 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Namespaces let you partition resources into logically named groups. + Namespaces 允许您将资源分区为逻辑命名的组。 - - Max Replicas - 最大副本數 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + Pending: + Pending: - - Reference - 參考 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Concurrency policy + Concurrency policy - - Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Termination Grace Period (Seconds) + Termination Grace Period (Seconds) - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + Label Selector + Label Selector - - Host links are external links that will be open in a new tab. - Host links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - + + Ingress Classes + Ingress Classes - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + Succeeded + Succeeded - - Controlled by - Controlled by - - src/app/frontend/common/components/creator/template.html - 42 - + + Yes + Yes - - Phase - 運行階段 - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + Parallelism + Parallelism - - Network Policies - Network Policies - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Language + 语言 - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Do you want to stay on current page and change namespace from to ? + 你是否希望保持當前頁面并從 to 中更改命名空間? - - CPU requests (cores) - CPU 下限 (cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + Source Type + Source Type - - CPU limits (cores) - CPU 上限 (cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Unavailable: + 不可用的: - - Memory requests (bytes) - Memory 下限 (bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + CPU + CPU - - Memory limits (bytes) - Memory 上限 (bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + File System Type + File System Type - - Persistent Volumes - Persistent Volumes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Sub-object + Sub-object - - Do you want to stay on current page and change namespace from to ? - - 你是否希望保持當前頁面并從 to 中更改命名空間? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Cluster + Cluster - - Yes - Yes - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Show all + 顯示所有 - - No - No - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Sign out + Sign out - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - + + Running + Running - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - + + Last transition time + 最後的遷移時間 - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {隱藏高級設置} other {顯示高級選項}} - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - + + Total: + 總計: - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - + + Suffix '' not recognized. + Suffix '' not recognized. - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - + + Port must be greater than 0. + 端口號必須大於0 - - HTTP Healthcheck URI - HTTP Healthcheck URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Image + Image - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Reclaim Policy + 回收策略 - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - + + Name must be alphanumeric and may contain dashes. + 名稱必須是字母或者數字,可以包含短化綫。 - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Token + Token - - Objects - Objects - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Max unavailable: + 最大不可用數: - - No resources found in the selected namespace. - No resources found in the selected namespace. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Strategy: + 策略: - - Nodes - Nodes - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + Close notifications panel + Close notifications panel - - Select namespace... - 選擇 namespaces... - - src/app/frontend/common/components/namespace/template.html - 24 - + + will be triggered. + 將會被觸發。 - - All namespaces - 全部 namespaces - - src/app/frontend/common/components/namespace/template.html - 33 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + 兩次資源自動刷新時間間隔,設置爲 0 則表示不啓用。 - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + You can specify minimum CPU and memory requirements for the container. + 您可以指定容器的最低 CPU 和内存 requirements。 - - NAMESPACES - NAMESPACES - - src/app/frontend/common/components/namespace/template.html - 34 - + + Reference + 參考 - - Namespace:  - Namespace:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Plural + Plural - - Running:  - 運行中:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Exec into pod + 在 pod 中運行 - - Succeeded:  - 成功:  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Label Value must not exceed 253 characters. + 標簽值不得超過253個字符。 - - Pending:  - 啓動中:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Actions + Actions - - Failed:  - 失敗:  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Proc Mount + Proc Mount - - Desired - Desired - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Read documentation + 閲讀文檔 - - Running - Running - - src/app/frontend/common/components/podstatus/template.html - 63 - + + List of namespaces that should be presented to user without namespace list privileges. + List of namespaces that should be presented to user without namespace list privileges. - - Succeeded - Succeeded - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Resource Quotas + Resource Quotas - - Pending - Pending - - src/app/frontend/common/components/podstatus/template.html - 75 - + + Jobs + Jobs - - Failed - Failed - - src/app/frontend/common/components/podstatus/template.html - 82 - + + Max unavailable + Max unavailable - - Rules - Rules - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - + + Hosts open_in_new + Hosts open_in_new - - Desired:  - 期望值:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Namespace + 命名空間 - - CPU Usage (cores) - CPU 實用 (cores) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + Resource auto-refresh time interval + 資源自動刷新時間間隔 - - Memory Usage (bytes) - 内存實用 (bytes) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Accepted Names + Accepted Names - - Capacity - 容量 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Dashboard 使 Kubernetes Dashboard 成爲可能 community as an open source project. - - Access Modes - 訪問模式 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Run as User + Run as User - - Reclaim Policy - 回收策略 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Name is required. + 名稱是必填的。 - - Claim - 申領 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Started + Started - - Storage Class - 存儲類 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + Source Name + Source Name - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + 標簽值必須由'.' , '-'或者'_'分割字母數字 - - Volume - Volume - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Learn more open_in_new + 學到更多 open_in_new - - Plugins - Plugins - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Learn more open_in_new + 学到更多 open_in_new - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + Learn more open_in_new + 学到更多 open_in_new - - Read Only - Read Only - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Learn more open_in_new + 學到更多 open_in_new - - Mount Path - Mount Path - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Learn more open_in_new + 學到更多 open_in_new - - Sub Path - Sub Path - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Abort + Abort - - Source Type - Source Type - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Name must be up to characters long. + Name必须大於 个字符. - - Source Name - Source Name - - src/app/frontend/common/components/volumemount/template.html - 60 - + + Name must be up to characters long. + Name 必须大於 字符. - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + value + - - Resources - 資源 - - src/app/frontend/common/components/policyrule/template.html - 36 - + + Object + Object - - Non-resource URL - 非資源 URL - - src/app/frontend/common/components/policyrule/template.html - 46 - + + Config Maps + Config Maps - - Resource Names - 資源名 - - src/app/frontend/common/components/policyrule/template.html - 56 - + + Min Replicas + 最小副本數 - - Verbs - 動作 - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Remove all notifications + 刪除所有通知 - - API Groups - API 組 - - src/app/frontend/common/components/policyrule/template.html - 76 - + + Container runtime version + Container runtime version - - Resource Quotas - Resource Quotas - - src/app/frontend/common/components/quotas/template.html - 20 - + + Service Port + Service Port - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Total + Total Cluster Role Bindings Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + Active Jobs + 運行中的 Jobs - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + CPU requests (cores) + CPU 下限 (cores) - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Failure Threshold + Failure Threshold - - Resource name - 資源名 - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Volume Handle + Volume Handle - - Resource type - 资源類別 - - src/app/frontend/common/components/limits/template.html - 42 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Default - 默認 - - src/app/frontend/common/components/limits/template.html - 47 - + + Show less + 收起 - - Default request - 默認下限 - - src/app/frontend/common/components/limits/template.html - 52 - + + Run as privileged + 以特权身份运行 - - Edit - Edit - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + Variable name must be a valid C identifier. + 變量名必須是有效的 C 標識符 - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + Selector + Selector - - Provisioner - 提供者 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + No + No - - Parameters - 參數 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Local settings + Local settings - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - + + Protocol is required. + 協議是必須的。 - - Cluster IP - 集群 IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + Desired: + 期望值: - - Internal Endpoints - 内部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Session Affinity + Session Affinity - - External Endpoints - 外部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Container image is required + 容器镜像是必须的 - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + CPU requirement must be given as a valid number. + CPU 最低需求必须是有效的数字。 - - Storage Classes - Storage Classes - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Service Port Number + Service Port Number - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + unset + 未設置 - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Resource Limits + Resource Limits - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + This action is equivalent to: + This action is equivalent to: - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - You can deploy a containerized app, select other namespace or - take the Dashboard Tour - open_in_new - to learn more. - - - src/app/frontend/common/components/zerostate/template.html - 26 - + + Change the language of the dashboard + 更改 dashboard 的语言 - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Save + Save - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Protocol + 協議 - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Init containers + Init containers - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + Exec + 執行 - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Open notifications panel + Open notifications panel - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Replica Sets + Replica Sets + + + Waiting for more data to display chart... + Waiting for more data to display chart... + + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + 具有此值的“app”标签将添加到已部署的 Deployment 和 Service 中。 + + + Number of pods must be a positive integer + pod 的数量必须是整数 + + + Run command arguments + 运行命令参数 + + + Can't find plugin "" + Can't find plugin "" + + + Last Seen + 最後一次 + + + Port must be an integer. + 端口號必須是數字 + + + Choose YAML or JSON file + 選擇 YAML 或 JSON 文件 + + + Available + Available - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Node + 節點 - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Schedule: + 時間表: - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Update + Update - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Arguments + Arguments - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + Dependencies + 依賴 - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Role Bindings + Role Bindings - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + Config and Storage + Config and Storage - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Probe Period (Seconds) + Probe Period (Seconds) - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Scale resource + 縮放資源 - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Port must be less than 65536. + 端口號必須小於65536 - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Readiness Probe + Readiness Probe - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + CPU limits (cores) + CPU 上限 (cores) - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + Images + 鏡像 - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Skip + 跳過 - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Created + 創建時間 - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Namespace that should be selected by default after logging in. + Namespace that should be selected by default after logging in. - - API Group - API Group - - src/app/frontend/common/components/subject/template.html - 63 - + + Deployment or service with this name already exists within namespace. + 具有此名称的 deployment 或 service 已存在于命名空间中。 - - Workloads - Workloads - - - src/app/frontend/chrome/nav/template.html - 27 - + + Storage class + Storage class - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - + + Role Bindings + Role Bindings - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - + + Pin resource + Pin resource - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - + + Config Maps + Config Maps - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - + + Create a new namespace... + 创建一个新的命名空间... - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - + + Completions: + 完成: - - Replication Controllers - Replication Controllers - - - src/app/frontend/chrome/nav/template.html - 56 - + + in namespace will be restarted. + in namespace will be restarted. - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - + + Starting deadline seconds + Starting deadline seconds - - Service - Service - - - src/app/frontend/chrome/nav/template.html - 67 - + + Volume + Volume - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - + + Pending + Pending - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - + + Memory requests (bytes) + Memory 下限 (bytes) - - Config and Storage - Config and Storage - - - src/app/frontend/chrome/nav/template.html - 88 - + + Create new resource + 創建新資源 - - Config Maps - Config Maps - - - src/app/frontend/chrome/nav/template.html - 94 - + + Unknown + Unknown - - Persistent Volume Claims - Persistent Volume Claims - - - src/app/frontend/chrome/nav/template.html - 100 - + + Pin + 固定 - - Secrets - Secrets - - - src/app/frontend/chrome/nav/template.html - 106 - + + This action is equivalent to: + 此操作相當於: - - Storage Classes - Storage Classes - - - src/app/frontend/chrome/nav/template.html - 110 - + + Age: + 經過時間: - - Cluster - Cluster - - - src/app/frontend/chrome/nav/template.html - 116 - + + Edit a resource + Edit a resource - - Cluster Role Bindings - Cluster Role Bindings - - - src/app/frontend/chrome/nav/template.html - 120 - + + Roles + Roles - - Cluster Roles - Cluster Roles - - - src/app/frontend/chrome/nav/template.html - 125 - + + Do you want to save them anyways? + 你想保存它們嗎? - - Events - Events - - src/app/frontend/chrome/nav/template.html - 130 - + + Access modes + Access modes - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + Default request + 默認下限 - - Namespaces - Namespaces - - - src/app/frontend/chrome/nav/template.html - 134 - + + Search + 搜索 - - Network Policies - Network Policies - - - src/app/frontend/chrome/nav/template.html - 139 - + + Actual replicas + 當前的副本數量 - - Nodes - Nodes - - - src/app/frontend/chrome/nav/template.html - 144 - + + Secrets + Secrets - - Persistent Volumes - Persistent Volumes - - - src/app/frontend/chrome/nav/template.html - 148 - + + Kind: + 種類: - - Role Bindings - Role Bindings - - - src/app/frontend/chrome/nav/template.html - 154 - + + Namespaces + Namespaces - - Roles - Roles - - - src/app/frontend/chrome/nav/template.html - 160 - + + Rules + Rules - - Service Accounts - Service Accounts - - - src/app/frontend/chrome/nav/template.html - 165 - + + Claim + 申領 - - Custom Resource Definitions - Custom Resource Definitions - - - src/app/frontend/chrome/nav/template.html - 173 - + + iSCSI Qualified Name + iSCSI Qualified Name - - Plugins - Plugins - - - src/app/frontend/chrome/nav/template.html - 184 - + + Parallelism: + 并行: - - Edit a resource - Edit a resource - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Environment variables + Environment variables - - Settings - Settings - - - src/app/frontend/chrome/nav/template.html - 192 - + + Desired + Desired - - About - About - - - src/app/frontend/chrome/nav/template.html - 197 - + + Cluster Roles + Cluster Roles - - Create new resource - 創建新資源 - - src/app/frontend/chrome/template.html - 42 - + + Delete resource + 刪除資源 - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + Architecture + Architecture - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 - - Search - 搜索 - - src/app/frontend/chrome/search/template.html - 29 - + + Reason + 原因 - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Logs + 日志 - - Remove all notifications - 刪除所有通知 - - src/app/frontend/chrome/notifications/template.html - 71 - + + General-purpose web UI for Kubernetes clusters + General-purpose web UI for Kubernetes clusters - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + About + About - - Delete a resource - Delete a resource - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + Description + 描述 - - Delete - Delete - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Settings + Settings - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Controlled by + Controlled by - - Basic - 基本 - - src/app/frontend/login/template.html - 36 - + + SE Linux Role + SE Linux Role - - Token - Token - - src/app/frontend/login/template.html - 38 - + + Trigger resource + 觸發資源 - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - 請選擇您創建的kubeconfig文件以配置對集群的訪問權限。 要瞭解有關如何配置和使用kubeconfig文件的更多信息, 請參閲Configure Access to Multiple Clusters 部分. - - - src/app/frontend/login/template.html - 44 - + + Workload Status + Workload Status - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - 確保在集群中啓用了對基本身份驗證的支持。 要了解有關如何配置基本身份驗證的詳情,请參閲 AuthenticatingABAC Mode 部分. - - - src/app/frontend/login/template.html - 51 - + + Singular + Singular - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - 每個 Service Account 都有一個 valid Bearer Token ,可用於登錄 Dashboard 。 要瞭解如何配置使用 Bearer Tokens 的更多信息,请參閲 Authentication 部分. - - - src/app/frontend/login/template.html - 58 - + + Access Modes + 訪問模式 - - Enter token - 輸入 token - - src/app/frontend/login/template.html - 74 - + + SE Linux Level + SE Linux Level - - Username - 用戶名 - - src/app/frontend/login/template.html - 87 - + + Running: + 運行中: - - Password - 密碼 - - src/app/frontend/login/template.html - 98 - + + Keyring + Keyring - - Choose kubeconfig file - 選擇 kubeconfig 文件 - - src/app/frontend/login/template.html - 107 - + + IP + IP - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more - - here - . - - - src/app/frontend/login/template.html - 117 - + + HTTP Healthcheck URI + HTTP Healthcheck URI - - Sign in - - 登錄 - - - src/app/frontend/login/template.html - 133 - + + Environment Variables + Environment Variables - - Skip - - 跳過 - - - src/app/frontend/login/template.html - 142 - + + Addresses + Addresses - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Dashboard 使 Kubernetes Dashboard 成爲可能 - community as an - open source project. - - - src/app/frontend/about/template.html - 37 - + + Pods + Pods - - Workloads - Workloads - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Sign in + Sign in - - Read documentation - 閲讀文檔 - - src/app/frontend/about/actionbar/template.html - 24 - + + Username + 用戶名 - - Provide feedback - 提供反饋意見 - - src/app/frontend/about/actionbar/template.html - 35 - + + Upload + 上传 - - Resource information - Resource information - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + IP: + IP: - - Create from input - 輸入並創建 - - src/app/frontend/create/template.html - 20 - + + Taints + Taints - - Create from file - 从文件創建 - - src/app/frontend/create/template.html - 24 - + + Memory requirement must be given as a positive number. + Memory 最低需求必须是正整数。 - - Create from form - 从表單創建 - - src/app/frontend/create/template.html - 28 - + + Search for + Search for - - About - About - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + Cron Jobs + Cron Jobs - - General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters - - src/app/frontend/about/template.html - 30 - + + Size: B + 尺寸: B - - The new namespace will be added to the cluster. - 新的命名空間將添加到集群中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Choose color theme of the dashboard + Choose color theme of the dashboard - - Namespace name - 命名空間的名字 - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + Filter objects by name + 按名字過濾對象 - - Name is required. - - 名稱是必填的。 - - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Schedule + 調度 - - Name must be up to characters long. - - Name必须大於 个字符. - - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Enter token + 輸入 token - - Name must be alphanumeric and may contain dashes. - - 名稱必須是字母或者數字,可以包含短化綫。 - - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Allow Privilege Escalation + Allow Privilege Escalation - - Create a new image pull secret - Create a new image pull secret - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Labels + 標簽 - - Go to namespace - Go to namespace - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Resource information + Resource information - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Target port must be less than 65536. + 目標端口必須小於65536。 - - Rolling update strategy - Rolling update strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Invert colors + 反轉顔色 - - A namespace with the specified name will be added to the cluster. - 將具有指定名稱的命名空間添加到集群中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + Horizontal Pod Autoscaler + Pod 自動水平伸縮 - - Learn more open_in_new - - 學到更多 - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Scope + Scope - - The new secret will be added to the cluster - 新的 secret 将添加到集群中 - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Data is required. + Data 是必须的。 - - Secret name - Secret 名字 - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + Processes in privileged containers are equivalent to processes running as root on the host. + 特权容器中的进程等同于在主机上以root身份运行的进程。 - - Name must be up to characters long. - - Name 必须大於 字符. - - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Default + 默認 - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - - 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 - - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Deployments + Deployments - - A secret with the specified name will be added to the cluster in the namespace. - 具有指定名称的 secret 将添加到命名空间中的集群中。 - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Status + 狀態 - - Data is required. - - Data 是必须的。 - - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + Egress Rules + Egress Rules - - Data must be Base64 encoded. - - Data 必须是 Base64 编码的。 - - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Unavailable + Unavailable - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Kubeconfig + Kubeconfig Create Create - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - - - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67 - - - - App name - 应用名称 - - src/app/frontend/create/from/form/template.html - 23 - - - - Deployment or service with this name already exists within namespace. - - 具有此名称的 deployment 或 service 已存在于命名空间中。 - - - src/app/frontend/create/from/form/template.html - 35 - - - Application name is required. - - 应用名称是必需的。 - - - src/app/frontend/create/from/form/template.html - 39 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - - 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 - - - src/app/frontend/create/from/form/template.html - 41 - + + Create a new secret... + 创建一个新的 secret... - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - 具有此值的“app”标签将添加到已部署的 Deployment 和 Service 中。 - - src/app/frontend/create/from/form/template.html - 48 - + + Provide feedback + 提供反饋意見 - - Learn more open_in_new - - 学到更多 - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Events + Events - - Container image - 容器镜像 - - src/app/frontend/create/from/form/template.html - 63 - + + Storage + 存儲 - - Container image is required - - 容器镜像是必须的 - - - src/app/frontend/create/from/form/template.html - 68 - + + Suspend + 暫停 - - Container image is invalid: - - Container image 无效: - - - src/app/frontend/create/from/form/template.html - 70 - + + Add + Add - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - 输入公共镜像的 URL (可以是在私有仓库或Docker Hub或Google Container Registry上托管任何镜像URL)。 - - src/app/frontend/create/from/form/template.html - 76 - + + No namespaces selected + No namespaces selected - - Number of pods - pod 的数量 - - src/app/frontend/create/from/form/template.html - 93 - + + Select namespace... + 選擇 namespaces... - - Number of pods is required - - pod 的数量是必填项 - - - src/app/frontend/create/from/form/template.html - 99 - + + Monitors + Monitors - - Number of pods must be a positive integer - - pod 的数量必须是整数 - - - src/app/frontend/create/from/form/template.html - 101 - + + Ingresses + Ingresses - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 - - - src/app/frontend/create/from/form/template.html - 104 - + + Secret name + Secret 名字 - - A Deployment will be created to maintain the desired number of pods across your cluster. - Deployment 将跨集群创建 pod 以维护所需数量。 - - src/app/frontend/create/from/form/template.html - 109 - + + Shell + Shell Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. 可选,可以定义内部或外部 Service,将传入端口映射到容器的目标端口。 - - src/app/frontend/create/from/form/template.html - 129 - - - Description - 描述 - - src/app/frontend/create/from/form/template.html - 172 - + + Target World Wide Names + Target World Wide Names - - The description will be added as an annotation to the Deployment and displayed in the application's details. - - 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 - - - src/app/frontend/create/from/form/template.html - 175 - + + Target portal + Target portal - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 - - src/app/frontend/create/from/form/template.html - 188 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - Learn more open_in_new - - 学到更多 - open_in_new + + Jobs + Jobs + + + Service + Service + + + + + + + + + - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - - - Create a new namespace... - - 创建一个新的命名空间... - - - src/app/frontend/create/from/form/template.html - 151 - + + Liveness Probe + Liveness Probe - - Namespaces let you partition resources into logically named groups. - Namespaces 允许您将资源分区为逻辑命名的组。 - - src/app/frontend/create/from/form/template.html - 155 - + + Exit Code + Exit Code - - Create a new secret... - - 创建一个新的 secret... - - - src/app/frontend/create/from/form/template.html - 209 - + + Supplemental Groups + Supplemental Groups - - Image Pull Secret - 镜像拉取得 Secret - - src/app/frontend/create/from/form/template.html - 204 - + + Subjects + Subjects - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 如果指定的 Image 是私有的,则可能需要 pull secret credential。 您可以选择现有 secret 或创建新 secret。 - - src/app/frontend/create/from/form/template.html - 213 - + + Minimize card + Minimize card - - CPU requirement (cores) - CPU 最低需求 (cores) - - src/app/frontend/create/from/form/template.html - 230 - + + Create a new image pull secret + Create a new image pull secret - - CPU requirement must be given as a positive number. - - CPU 最低需求必须是正整数。 - - - src/app/frontend/create/from/form/template.html - 236 - + + Policy Types + Policy Types - - CPU requirement must be given as a valid number. - - CPU 最低需求必须是有效的数字。 - - - src/app/frontend/create/from/form/template.html - 240 - + + Windows Run as User + Windows Run as User - - Memory requirement (MiB) - Memory 最低需求 (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + Show timestamps + 顯示時間戳 - - Memory requirement must be given as a positive number. - - Memory 最低需求必须是正整数。 - - - src/app/frontend/create/from/form/template.html - 254 - + + Namespace name + 命名空間的名字 - - Memory requirement must be given as a valid number. - - Memory 最低需求必须是一个有效的数字。 - - - src/app/frontend/create/from/form/template.html - 258 - + + Path + Path - - You can specify minimum CPU and memory requirements for the container. - 您可以指定容器的最低 CPU 和内存 requirements。 - - src/app/frontend/create/from/form/template.html - 264 - + + Create a new namespace + Create a new namespace - - Run command - 运行命令 - - src/app/frontend/create/from/form/template.html - 279 - + + Unpin resource + Unpin resource - - Run command arguments - 运行命令参数 - - src/app/frontend/create/from/form/template.html - 285 - + + Port + 端口 - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - 默认情况下,容器运行所选镜像的默认 entrypoint command。 您可以使用命令选项覆盖默认值。 - - src/app/frontend/create/from/form/template.html - 291 - + + Dropped Capabilities + Dropped Capabilities - - Run as privileged - 以特权身份运行 - - src/app/frontend/create/from/form/template.html - 307 - + + Subresources + Subresources - - Processes in privileged containers are equivalent to processes running as root on the host. - 特权容器中的进程等同于在主机上以root身份运行的进程。 - - src/app/frontend/create/from/form/template.html - 310 - + + Succeeded: + Succeeded: - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 - - src/app/frontend/create/from/form/template.html - 324 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - Deploy - - - Deploy - - - src/app/frontend/create/from/form/template.html - 343 - + + Invalid protocol. + 無效的協議。 - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {隱藏高級設置} other {顯示高級選項}} - - src/app/frontend/create/from/form/template.html - 367 - + + The new secret will be added to the cluster + 新的 secret 将添加到集群中 - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + Pending: + 啓動中: - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - - 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 - - - src/app/frontend/create/from/input/template.html - 19 - + + Cluster + Cluster - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - - 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 - - - src/app/frontend/create/from/input/template.html - 23 - + + Suspend: + 暫停中: - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + Security Context + Security Context - - Learn more open_in_new - - 學到更多 open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - + + TCP Socket + TCP Socket - - Upload - - - 上传 - - - src/app/frontend/create/from/input/template.html - 40 - + + Persistent Volumes + Persistent Volumes - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - - 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 - - - src/app/frontend/create/from/file/template.html - 19 - + + System information + System information - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - - 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 - - - src/app/frontend/create/from/file/template.html - 23 - + + Min ready seconds: + 最小準備秒數: - - Learn more open_in_new - - 學到更多 - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - + + Ready + 準備就緒 - - Choose YAML or JSON file - 選擇 YAML 或 JSON 文件 - - src/app/frontend/create/from/file/template.html - 35 - + + HTTP Headers + HTTP Headers - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Sub Path + Sub Path - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Service Accounts + Service Accounts + + + kubelet version + kubelet version + + + Items: + 項目: + + + Network Policies + Network Policies + + + Value + - - Variable name must be a valid C identifier. - - 變量名必須是有效的 C 標識符 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + API Group + API Group - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + 默认情况下,容器运行所选镜像的默认 entrypoint command。 您可以使用命令选项覆盖默认值。 - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + Ports (Name, Port, Protocol) + 端口 (名字, 端口, 協議) - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + Target port cannot be empty. + 目標端口不能爲空。 - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Kind + 類別 - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Host + 主機 - - Value - - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + Lun number + Lun number - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + Pod Selector + Pod Selector - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + Sign in + 登錄 - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + List Kind + List Kind - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Run command + 运行命令 - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Port cannot be empty. + 端口號不能為空 - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Quantity + 數量 - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Logged in with token + Logged in with token - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Completions + Completions - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + View logs + 顯示日志 - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Provider ID + Provider ID - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + Pod CIDR + Pod CIDR - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Kernel version + Kernel version - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Persistent Volumes + Persistent Volumes - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Containers + 容器 - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + Workloads + Workloads - - Label Selector - Label Selector - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + Container image + 容器镜像 - - Init images - Init images - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + SE Linux User + SE Linux User - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Served + 服務 - - Config and Storage - Config and Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Plugins + Plugins - - Port - 端口 - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Name: + 名字: - - Port must be an integer. - - 端口號必須是數字 - - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Scale a resource + Scale a resource - - Port cannot be empty. - - 端口號不能為空 - - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Resource name + 資源名 - - Port must be greater than 0. - - 端口號必須大於0 - - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Application name is required. + 应用名称是必需的。 - - Port must be less than 65536. - - 端口號必須小於65536 - - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Full Name + 全名 Target port 目標端口 - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - Target port must be an integer. - - 目標端口必須是整數。 - - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Cluster IP + 集群 IP - - Target port cannot be empty. - - 目標端口不能爲空。 - - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + There is nothing to display here + There is nothing to display here - - Target port must be greater than 0. - - 目標端口必須大於0。 - - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Initial Delay (Seconds) + Initial Delay (Seconds) - - Target port must be less than 65536. - - 目標端口必須小於65536。 - - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Short Names + Short Names - - Protocol - 協議 - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Delete + Delete - - Protocol is required. - - 協議是必須的。 - - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Namespaces + Namespaces - - Invalid protocol. - - 無效的協議。 - - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Internal Endpoints + 内部 Endpoints - - Create a new namespace - Create a new namespace - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + 標簽密鑰名稱必須是由 “ - ”,“_” 或 “.” 分隔的字母數字,可選以DNS子域和“/”为前綴。 - - key - 密鑰 - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Pool + Pool - - is not unique - - 不是唯一的 - - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + Theme + Theme - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - - 前綴不是有效的前缀DNS子域前缀(例如 my-domain.com )。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Logs from to UTC + Logs from to UTC - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - - 標簽密鑰名稱必須是由 “ - ”,“_” 或 “.” 分隔的字母數字,可選以DNS子域和“/”为前綴。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + in + in - - Prefix should not exceed 253 characters. - - 前綴不應超過253個字符。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Services + Services + + + Max number of items that can be displayed on every list view. + Max number of items that can be displayed on every list view. + + + Unschedulable + Unschedulable + + + Max surge: + 最大替換數: + + + Success Threshold + Success Threshold + + + Host + Host + + + Restarts + 重啓 - - Label Key name should not exceed 63 characters. - - Label Key 名稱不應超過63個字符 - - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Custom Resource Definitions + Custom Resource Definitions - - value - - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Settings + Settings - - Label value must be alphanumeric separated by '.' , '-' or '_'. - - 標簽值必須由'.' , '-'或者'_'分割字母數字 - - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Updated + Updated - - Label Value must not exceed 253 characters. - - 標簽值不得超過253個字符。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Failed + Failed - - Logs from - 日志 - - src/app/frontend/logs/template.html - 24 - + + Shell in in + Shell in in Init Containers 初始化容器 - - src/app/frontend/logs/template.html - 34 - - - - in - in - - src/app/frontend/logs/template.html - 43 - - - Download logs - 下載日志 - - src/app/frontend/logs/template.html - 57 - - - - Invert colors - 反轉顔色 - - src/app/frontend/logs/template.html - 131 - - - - Reduce font size - 減小字體大小 - - src/app/frontend/logs/template.html - 136 - - - - Show timestamps - 顯示時間戳 - - src/app/frontend/logs/template.html - 141 - + + Plugins + Plugins - - Auto-refresh (every s.) - Auto-refresh (every s.) - - src/app/frontend/logs/template.html - 146 - + + There is no data to display. + 沒有要顯示的數據。 - - Show previous logs - 顯示以前的日志 - - src/app/frontend/logs/template.html - 151 - + + Default service account + Default service account - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - + + Config and Storage + Config and Storage - - Path - Path - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Privileged + Privileged - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Trigger + Trigger - - Path Type - Path Type - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Active Jobs: + 運行中的 Jobs: - - Service Name - Service Name - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Signal + Signal - - Service Port - Service Port - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + Unpin + 取消固定 - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Network Policies + Network Policies - - Namespace conflict - Namespace conflict - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Filesystem type + Filesystem type - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + Logs auto-refresh time interval + 日志自動刷新時間間隔 - - Quantity - 數量 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + kube-proxy version + kube-proxy version - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Run as Non-Root + Run as Non-Root - - Session Affinity - Session Affinity - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + SE Linux Type + SE Linux Type - - Selector - Selector - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Objects + Objects - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + Namespace: + Namespace: - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + NAMESPACES + NAMESPACES - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Edit + Edit - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Pods: + Pods: - - Dataset name - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - + + Default Backend + Default Backend - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Preview + Preview - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Cancel + Cancel - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Disable access denied notification + 禁止拒絕訪問的通知 - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Nodes + Nodes - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec - - Parameter - 參數 - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Endpoint links are external links that will be open in a new tab. + Endpoint links are external links that will be open in a new tab. - - Data - Data - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Last probe time + 最後的檢查時間 - - There is no data to display. - 沒有要顯示的數據。 - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Secret reference name + Secret reference name - - Settings have changed since last reload - Settings have changed since last reload - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + Dataset name + Dataset name - - Schedule:  - 時間表:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Label Key name should not exceed 63 characters. + Label Key 名稱不應超過63個字符 - - Active Jobs:  - 運行中的 Jobs:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Run as Group + Run as Group - - Suspend:  - 暫停中:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Pods status + Pods status - - Last schedule - Last schedule - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. - - Concurrency policy - Concurrency policy - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + Close + 關閉 - - Starting deadline seconds - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + No resources found in the selected namespace. + No resources found in the selected namespace. - - Role Reference - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Capacity + 容量 - - System information - System information - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Data must be Base64 encoded. + Data 必须是 Base64 编码的。 - - Allocation - Allocation - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Running: + Running: - - Pod CIDR - Pod CIDR - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Service Accounts + Service Accounts - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Workloads + Workloads - - Unschedulable - Unschedulable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + 確保在集群中啓用了對基本身份驗證的支持。 要了解有關如何配置基本身份驗證的詳情,请參閲 AuthenticatingABAC Mode 部分. - - Addresses - Addresses - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Create + Create - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Roles + Roles - - Machine ID - Machine ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Reload + Reload - - System UUID - System UUID - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Provide a namespace name that should be added to the namespace fallback list + Provide a namespace name that should be added to the namespace fallback list + + + Filesystem Group + Filesystem Group Boot ID Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - - Kernel version - Kernel version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - - - OS Image - OS Image - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Replication Controllers + Replication Controllers - - Container runtime version - Container runtime version - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Remove namespaces from the list and confirm to save the changes. + Remove namespaces from the list and confirm to save the changes. - - kubelet version - kubelet version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Persistent Volume Claims + Persistent Volume Claims - - kube-proxy version - kube-proxy version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - + + Message + 信息 - - Operating system - Operating system - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Max number of labels that are displayed by default on most views. + Max number of labels that are displayed by default on most views. - - Architecture - Architecture - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + Cluster name + 集群名稱 - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + Deployments + Deployments - - Memory - Memory - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + App name + 应用名称 - - Pod Selector - Pod Selector - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + Last schedule + Last schedule - - Policy Types - Policy Types - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + System UUID + System UUID - - Ingress Rules - Ingress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + Config And Storage + Config And Storage - - Egress Rules - Egress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + Container image is invalid: + Container image 无效: - - Active Jobs - 運行中的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + Count + 次數 - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/component.ts - 57 - + + Replication Controllers + Replication Controllers - - Inactive Jobs - 非工作的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + Active + 運行中 - - Strategy:  - 策略:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + CPU Usage (cores) + CPU 實用 (cores) - - Min ready seconds:  - 最小準備秒數:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Environment variable + 環境變量 - - Revision history limit:  - 調整 history 範圍:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Restart a resource + Restart a resource - - Strategy - Strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Max surge + Max surge - - Min ready seconds - Min ready seconds - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + Annotations + Annotations - - Revision history limit - Revision history limit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + First Seen + 初次 - - Max surge:  - 最大替換數:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + Forbidden (403) + 禁止 (403) - - Max unavailable:  - 最大不可用數:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + + + + + + - - Max surge - Max surge - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Suspended: + Suspended: - - Max unavailable - Max unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Upload + Upload - - Updated:  - 已更新:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Phase + 運行階段 - - Total:  - 總計:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Namespace conflict + Namespace conflict - - Available:  - 可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + Controller + Controller - - Unavailable:  - 不可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + will be updated to reflect the desired replicas count. + will be updated to reflect the desired replicas count. - - Updated - Updated - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + OS Image + OS Image - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Download logs file + Download logs file - - Available - Available - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Endpoints open_in_new + Endpoints open_in_new - - Unavailable - Unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Create from form + 从表單創建 - - New Replica Set - New Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Ingress Rules + Ingress Rules - - Environment variables - Environment variables - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Pods + Pods - - Pods:  - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Stateful Sets + Stateful Sets - - Old Replica Sets - 舊 Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + 前綴不是有效的前缀DNS子域前缀(例如 my-domain.com )。 - - Horizontal Pod Autoscaler - Pod 自動水平伸縮 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + File is ready to download! + File is ready to download! - - Completions:  - 完成:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Succeeded: + 成功: - - Parallelism:  - 并行:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Download logs + 下載日志 - - Completions - Completions - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Startup Probe + Startup Probe - - Parallelism - Parallelism - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Service Name + Service Name - - Do you want to save them anyways? - 你想保存它們嗎? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Namespaced + Namespaced - - Refresh - Refresh - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Preview Deployment + Preview Deployment - - Resource Information - Resource Information - - src/app/frontend/crd/detail/template.html - 22 - + + Group + Group - - Accepted Names - Accepted Names - - src/app/frontend/crd/detail/template.html - 55 - + + Basic + 基本 - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - + + There are no notifications + There are no notifications - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - + + Type + 類別 - - Subresources - Subresources - - src/app/frontend/crd/detail/template.html - 47 - + + Mounts + Mounts - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - + + Global settings + Global settings - - List Kind - List Kind - - src/app/frontend/crd/detail/template.html - 77 - + + Last Schedule + 最後的調度 - - Singular - Singular - - src/app/frontend/crd/detail/template.html - 67 - + + A namespace with the specified name will be added to the cluster. + 將具有指定名稱的命名空間添加到集群中。 - - Short Names - Short Names - - src/app/frontend/crd/detail/template.html - 82 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 - - Categories - Categories - - src/app/frontend/crd/detail/template.html - 87 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 - - Default namespace - Default namespace - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Status: + 狀態: - - Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Target port must be greater than 0. + 目標端口必須大於0。 - - Namespace fallback list - Namespace fallback list - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Nodes + Nodes - - List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Read Only + Read Only - - Add namespaces... - Add namespaces... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Started At + Started At - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + Cluster Roles + Cluster Roles - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Filter + 過濾 - - Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + No resources found. - - No namespaces selected - No namespaces selected - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + Replica Sets - - Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Verbs + 動作 - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47 - + + Path + Path - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Show previous logs + 顯示以前的日志 - - Cluster name - 集群名稱 - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + 減小字體大小 - - Cluster name appears in the browser window title if it is set. - 如果已設置, 則集群名字將顯示在瀏覽器窗口標題中。 - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + Allocation Items per page 每頁 Items - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - Max number of items that can be displayed on every list view. - - src/app/frontend/settings/global/template.html - 44 - + + Name + 名字 - - Labels limit - Labels limit - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + pod 的数量是必填项 - - Max number of labels that are displayed by default on most views. - Max number of labels that are displayed by default on most views. - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - 日志自動刷新時間間隔 - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + Trigger a + + + CPU requirement must be given as a positive number. + CPU 最低需求必须是正整数。 + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + 输入公共镜像的 URL (可以是在私有仓库或Docker Hub或Google Container Registry上托管任何镜像URL)。 + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. 每次自動刷新日志的間隔秒數。 - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - 資源自動刷新時間間隔 - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - 兩次資源自動刷新時間間隔,設置爲 0 則表示不啓用。 - - src/app/frontend/settings/global/template.html - 94 - - - Disable access denied notification - 禁止拒絕訪問的通知 - - src/app/frontend/settings/global/template.html - 110 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 - - Hides all access denied warnings in the notification panel. - 在通知面板中隱藏所有拒絕訪問的警告。 - - src/app/frontend/settings/global/template.html - 112 - + + Service Account + Service Account - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Timeout (Seconds) + Timeout (Seconds) - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Sysctls + Sysctls - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - src/app/frontend/settings/local/template.html - 21 - + + Source + 事件源 - - Theme - Theme - - src/app/frontend/settings/local/template.html - 26 - + + Prefix should not exceed 253 characters. + 前綴不應超過253個字符。 - - Choose color theme of the dashboard - Choose color theme of the dashboard - - src/app/frontend/settings/local/template.html - 28 - + + Failed: + Failed: - - Language - 语言 - - src/app/frontend/settings/local/template.html - 41 - + + Read only + Read only - - Change the language of the dashboard - 更改 dashboard 的语言 - - src/app/frontend/settings/local/template.html - 43 - + + Daemon Sets + Daemon Sets - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Storage Classes + Storage Classes - - Shell in in - - Shell in - - - - - - in - - - src/app/frontend/shell/template.html - 22 - + + Provisioner + 提供者 - + \ No newline at end of file diff --git a/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf index 69fe785f4f95..2d69d52b0526 100644 --- a/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf +++ b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf @@ -2,6625 +2,2428 @@ - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - - - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - + + Create from file + 從檔案建立 - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - + + Default namespace + Default namespace - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - + + Logs from + 日誌 - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - + + Namespace fallback list + Namespace fallback list - - This action is equivalent to: - 此操作相當於: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Auto-refresh (every s.) + Auto-refresh (every s.) - - Update - Update - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Resource Information + Resource Information - - Cancel - Cancel - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Ingress Class Name + Ingress Class Name - - This action is equivalent to: - This action is equivalent to: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Number of pods + pod 的數量 - - Are you sure you want to delete  in namespace ? - - 您確定要刪除 - -  in namespace - - ? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Refresh + Refresh - - Restart a resource - Restart a resource - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + is not unique + 不是唯一的 - - Size: B - 尺寸: B - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + Go to namespace Preparing file to download... Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - + + Age + Age - - Forbidden (403) - 禁止 (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - + + Service Name + Service Name - - You do not have required permissions to access this resource. - 您沒有訪問此資源需要的權限。 - - src/app/frontend/common/dialogs/download/template.html - 34 - + + Memory requirement (MiB) + Memory 下限 (MiB) - - Save - Save - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - + + Role Reference + Role Reference - - Abort - Abort - - src/app/frontend/common/dialogs/download/template.html - 48 - + + Endpoints + Endpoints - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + 參數 - - Close - 關閉 - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - + + Read Only Filesystem + Read Only Filesystem - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - + + Partition + Partition - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Restart + Restart - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Cluster Role Bindings + Cluster Role Bindings - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Edit Namespace List + Edit Namespace List - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - + + New Replica Set + New Replica Set - - Desired replicas - 目標副本數量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + 每個 Service Account 都有一個合法的 Bearer Token ,可用於登入 Dashboard。要瞭解更多如何配置並使用 Bearer Tokens 的資訊,請參閲 Authentication 部分. - - Actual replicas - 當前的副本數量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Non-resource URL + 非資源 URL + + + Image: + 鏡像: + + + Mount Option(s) + Mount Option(s) + + + Cron Jobs + Cron Jobs + + + Init images + Init images + + + Ingresses + Ingresses Scale Scale - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - Trigger a - Trigger a - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Daemon Sets + Daemon Sets - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Revision history limit + Revision history limit - - Scale a resource - Scale a resource - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Password + 密碼 - - will be triggered. - 將會被觸發。 - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Labels limit + Labels limit - - Trigger - Trigger - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Data + Data - - Delete resource - 刪除資源 - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - + + Services + Services - - Edit resource - 編輯資源 - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - + + UID + UID - - Scale resource - 縮放資源 - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - + + Choose kubeconfig file + 選擇 kubeconfig 檔案 - - View logs - 顯示日誌 - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - + + Volume Name + Volume Name - - Exec into pod - 在 pod 中運行 - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - + + Hides all access denied warnings in the notification panel. + 在通知面板中隱藏所有拒絕訪問的警告。 - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Error + Error - - Trigger resource - 觸發資源 - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Expand card + Expand card - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Memory + Memory - - Namespaces - Namespaces - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Mount Path + Mount Path - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + CPU requirement (cores) + CPU 下限 (cores) - - Cron Jobs - Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - + + TLS Secret + TLS Secret - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - + + Image Pull Secret + 取得映像檔使用的 Secret - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - + + Strategy + Strategy - - Workload Status - Workload Status - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + 本地設置存儲在瀏覽器 cookie 中,因此它們不會在多個設備之間同步。每次更改都會自動應用改變。 - + + Volume Attributes + Volume Attributes + + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 + + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + 檢測到不安全的訪問。無法登陸。通過 HTTPS 或使用 localhost 安全訪問 Dashboard。更多資訊 這裡 閱讀。 + + + You do not have required permissions to access this resource. + 您沒有訪問此資源需要的權限。 + + + Reclaim policy + Reclaim policy + + + Cluster name appears in the browser window title if it is set. + 如果已設置,則叢集名字將顯示在瀏覽器標題中。 + + Stateful Sets Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + About + About - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Custom Resource Definitions + Custom Resource Definitions - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + External Endpoints + 外部 Endpoints - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - + + Storage Class + 存儲類 - - Status:  - 狀態:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + Available: + 可用的: - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + Desired replicas + 目標副本數量 - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + Edit resource + 編輯資源 - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Rolling update strategy + Rolling update strategy - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + Deploy + 部署 - - Node - 節點 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - + + Ingress Classes + Ingress Classes - - Status - 狀態 - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + Failed: + 失敗: - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - + + A secret with the specified name will be added to the cluster in the namespace. + 具有指定名稱的 secret 將添加到命名空間中的叢集中。 - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Revision history limit: + 調整 history 範圍: - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + The new namespace will be added to the cluster. + 新的命名空間將添加到叢集中。 - - Reclaim policy - Reclaim policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - + + Events + Events - - Storage class - Storage class - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + + + + + + - - Mount Option(s) - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Min ready seconds + Min ready seconds - - Access modes - Access modes - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + Categories + Categories - - Restarts - 重啓 - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + Create from input + 輸入並建立 - - Containers - 容器 - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + API Groups + API 組 - - Filter - 過濾 - - src/app/frontend/common/components/list/filter/template.html - 29 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + 該描述將作為注視添加到 Deployment 中,並顯示在應用程式的詳細資訊中。 - - Filter objects by name - 按名字過濾對象 - - src/app/frontend/common/components/list/filter/template.html - 34 - + + Volume ID + Volume ID - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Machine ID + Machine ID - - Show less - 收起 - - src/app/frontend/common/components/chips/template.html - 55 - + + Memory requirement must be given as a valid number. + Memory 下限必須是一個有效的數字。 - - Show all - 顯示所有 - - src/app/frontend/common/components/chips/template.html - 57 - + + Exec Commands + Exec Commands - - There is nothing to display here - There is nothing to display here - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Add namespaces... + Add namespaces... - - No resources found. - No resources found. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + 如果指定的映像檔是私有的,則可能需要 pull secret credential。 您可以選擇現有 secret 或創建新 secret。 + + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + 可在容器中使用的環境變數。值可以使用 $(VAR_NAME) 語法引用其他變數 Conditions Conditions - - src/app/frontend/common/components/condition/template.html - 20 - - - Logs - 日誌 - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + iSCSI target lun number + iSCSI target lun number - - Error - Error - - src/app/frontend/index.messages.ts - 32 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + 應用名稱必須以小寫字母開頭,只包含小寫字母與數字,並且之間可以包含 '-' 符號。 - - Exec - 執行 - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Secrets + Secrets - - Unpin - 取消固定 - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Unsupported graph type . + Unsupported graph type . - - Pin - 固定 - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Max Replicas + 最大副本數 - - Metadata - Metadata - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Commands + Commands - - Restart - Restart - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + Deployment 將被創建來管理一定數量的 pod 在您的叢集中。 - - Items:  - 項目:  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Resource type + 資源類別 - - Name - 名字 - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + 請選擇您設定的 kubeconfig 文件以配置對叢集的訪問權限。要瞭解有關如何配置和使用 kubeconfig 文件的更多訊息,請參閲Configure Access to Multiple Clusters 部分. - - Namespace - 命名空間 - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + Seccomp Profile Type + Seccomp Profile Type - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Cancel + Cancel - - Labels - 標籤 - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + Target port must be an integer. + 目標端口必須是整數。 - - Annotations - Annotations - - src/app/frontend/common/components/objectmeta/template.html - 88 - - - - Pods status - Pods status - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - - - - Schedule - 調度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - - - - Suspend - 暫停 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - - - - Active - 運行中 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - - - - Last Schedule - 最後的調度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - - - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - - - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - - - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - - - - Events - Events - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - + + Key + Key - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - + + Metadata + Metadata - - Created - 創建時間 - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Updated: + 已更新: - - Age - Age - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + Server + Server - - Host - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Service + Service - - Dependencies - 依賴 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + Resource Names + 資源名 - - Image:  - 鏡像:  - - src/app/frontend/common/components/container/template.html - 19 - + + Logged in with auth header + Logged in with auth header - - Image - Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Parameters + 參數 - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106 - + + key + 密鑰 - - Environment variable - 環境變量 - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Inactive Jobs + 非工作的 Jobs bytes bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - - - - Commands - Commands - - src/app/frontend/common/components/container/template.html - 170 - - - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - - - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - - - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - - - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - - - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - - - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - - - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - - - - Type - 類別 - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + QoS Class + QoS Class - - Last probe time - 最後的檢查時間 - - src/app/frontend/common/components/condition/template.html - 52 - + + Persistent Volume Claims + Persistent Volume Claims - - Last transition time - 最後的遷移時間 - - src/app/frontend/common/components/condition/template.html - 60 - + + Seccomp Localhost Profile + Seccomp Localhost Profile - - Resource Limits - Resource Limits - - src/app/frontend/common/components/limits/template.html - 20 - + + Old Replica Sets + 舊 Replica Sets - - Reason - 原因 - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Are you sure you want to delete in namespace ? + 您確定要刪除 in namespace ? - - Message - 信息 - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Memory limits (bytes) + Memory 上限 (bytes) - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - + + Delete a resource + Delete a resource - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - + + Versions + Versions - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - + + + + + + + - - Name:  - 名字:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + User + User - - Kind:  - Kind:  - - src/app/frontend/common/components/creator/template.html - 29 - + + Image Pull Secrets + Image Pull Secrets - - Age:  - 經過時間:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + Image Pull Secrets + Image Pull Secrets - - Kind - Kind - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + Path Type + Path Type - - Images - 鏡像 - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Settings have changed since last reload + Settings have changed since last reload - - Group - Group - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Resources + 資源 - - Full Name - 全名 - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + Operating system + Operating system - - Namespaced - 有命名空間的 - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Overview + Overview - - Versions - Versions - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Memory Usage (bytes) + 記憶體實用 (bytes) - - Served - 服務 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Add Namespace + Add Namespace - - Storage - 存儲 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Persistent disk name + Persistent disk name - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - + + Driver + Driver - - Host - 主機 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + All namespaces + 全部命名空間 - - Ports (Name, Port, Protocol) - 端口 (名字, 端口, 協議) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Host links are external links that will be open in a new tab. + Host links are external links that will be open in a new tab. - - unset - 未設置 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - + + Version + Version - - Ready - 準備就緒 - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - + + Storage Classes + Storage Classes - - Source - 事件源 - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + Selected namespace is different than namespace of currently selected resource. + Selected namespace is different than namespace of currently selected resource. - - Object - Object - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + Namespaces let you partition resources into logically named groups. + 命名空間允許您將資源分區為邏輯命名的組。 - - Sub-object - Sub-object - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - + + Pending: + Pending: - - Count - 次數 - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Concurrency policy + Concurrency policy - - First Seen - 初次 - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Termination Grace Period (Seconds) + Termination Grace Period (Seconds) - - Last Seen - 最後一次 - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Label Selector + Label Selector - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Ingress Classes + Ingress Classes - - Min Replicas - 最小副本數 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Succeeded + Succeeded - - Max Replicas - 最大副本數 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + Yes + Yes - - Reference - 參考 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Parallelism + Parallelism - - Horizontal Pod Autoscaler - Pod 水平自動伸縮 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + Language + 語言 - - Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Do you want to stay on current page and change namespace from to ? + 您是否希望保持當前頁面並從 to 中更改命名空間? - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + Source Type + Source Type - - Host links are external links that will be open in a new tab. - Host links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - + + Unavailable: + 不可用的: - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + CPU + CPU - - Controlled by - Controlled by - - src/app/frontend/common/components/creator/template.html - 42 - + + File System Type + File System Type - - Phase - 運行階段 - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + Sub-object + Sub-object - - Network Policies - Network Policies - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Cluster + Cluster - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Show all + 顯示所有 - - CPU requests (cores) - CPU 下限 (cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + Sign out + Sign out - - CPU limits (cores) - CPU 上限 (cores) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Running + Running - - Memory requests (bytes) - Memory 下限 (bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + Last transition time + 最後的遷移時間 - - Memory limits (bytes) - Memory 上限 (bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {隱藏高級設置} other {顯示高級選項}} - - Persistent Volumes - Persistent Volumes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Total: + 總計: - - Select namespace... - 選擇命名空間... - - src/app/frontend/common/components/namespace/template.html - 24 - + + Suffix '' not recognized. + Suffix '' not recognized. - - All namespaces - 全部命名空間 - - src/app/frontend/common/components/namespace/template.html - 33 - + + Port must be greater than 0. + 端口號必須大於 0 - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + Image + Image - - NAMESPACES - 命名空間 - - src/app/frontend/common/components/namespace/template.html - 34 - + + Reclaim Policy + 回收策略 - - Do you want to stay on current page and change namespace from to ? - - 您是否希望保持當前頁面並從 to 中更改命名空間? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Name must be alphanumeric and may contain dashes. + 名稱必須是字母或者數字,可以包含連接號 "-"。 - - Yes - Yes - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Token + Token - - No - No - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Max unavailable: + 最大不可用數: - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - + + Strategy: + 策略: - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - + + Close notifications panel + Close notifications panel - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - + + will be triggered. + 將會被觸發。 - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + 兩次資源自動刷新時間間隔,設置爲 0 則表示不啓用。 - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - + + You can specify minimum CPU and memory requirements for the container. + 您可以指定容器的最低 CPU 和記憶體需求。 - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - + + Reference + 參考 - - HTTP Healthcheck URI - HTTP Healthcheck URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Plural + Plural - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Exec into pod + 在 pod 中運行 - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - + + Label Value must not exceed 253 characters. + 標籤值不得超過 253 個字符。 - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Actions + Actions - - Objects - Objects - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Proc Mount + Proc Mount - - No resources found in the selected namespace. - No resources found in the selected namespace. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Read documentation + 閱讀文件 - - Nodes - Nodes - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + List of namespaces that should be presented to user without namespace list privileges. + List of namespaces that should be presented to user without namespace list privileges. - - Namespace:  - 命名空間:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Resource Quotas + Resource Quotas - - Running:  - 運行中:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Jobs + Jobs - - Succeeded:  - 成功:  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Max unavailable + Max unavailable - - Pending:  - 啓動中:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Hosts open_in_new + Hosts open_in_new - - Failed:  - 失敗:  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Namespace + 命名空間 - - Desired - Desired - - src/app/frontend/common/components/podstatus/template.html - 88 - + + Resource auto-refresh time interval + 資源自動刷新時間間隔 - - Running - Running - - src/app/frontend/common/components/podstatus/template.html - 63 - + + Accepted Names + Accepted Names - - Succeeded - Succeeded - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Kubernetes Dashboard 是由 Dashboard 社區 開發的 開源項目 - - Pending - Pending - - src/app/frontend/common/components/podstatus/template.html - 75 - + + Run as User + Run as User - - Failed - Failed - - src/app/frontend/common/components/podstatus/template.html - 82 - + + Name is required. + 名稱是必填的。 - - Rules - Rules - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - + + Started + Started - - Desired:  - 期望值:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Source Name + Source Name - - CPU Usage (cores) - CPU 實用 (cores) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + 標籤值必須由 '.' , '-' 或者 '_' 分割字母數字 - - Memory Usage (bytes) - 記憶體實用 (bytes) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Learn more open_in_new + 學到更多 open_in_new + + + Learn more open_in_new + 學到更多 open_in_new - - Capacity - 容量 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Learn more open_in_new + 學到更多 open_in_new - - Access Modes - 訪問模式 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + Learn more open_in_new + 學到更多 open_in_new - - Reclaim Policy - 回收策略 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Learn more open_in_new + 學到更多 open_in_new - - Claim - 申領 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Abort + Abort - - Storage Class - 存儲類 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + Name must be up to characters long. + 名稱必須大於 個字符 - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Name must be up to characters long. + 名称必須大於 字符. - - Volume - Volume - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + value + - - Plugins - Plugins - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Object + Object - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + Config Maps + Config Maps - - Read Only - Read Only - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + Min Replicas + 最小副本數 - - Mount Path - Mount Path - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Remove all notifications + 刪除所有通知 - - Sub Path - Sub Path - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Container runtime version + Container runtime version - - Source Type - Source Type - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Service Port + Service Port - - Source Name - Source Name - - src/app/frontend/common/components/volumemount/template.html - 60 - + + Total + Total - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Cluster Role Bindings + Cluster Role Bindings - - Resources - 資源 - - src/app/frontend/common/components/policyrule/template.html - 36 - + + Active Jobs + 運行中的 Jobs - - Non-resource URL - 非資源 URL - - src/app/frontend/common/components/policyrule/template.html - 46 - + + CPU requests (cores) + CPU 下限 (cores) - - Resource Names - 資源名 - - src/app/frontend/common/components/policyrule/template.html - 56 - + + Failure Threshold + Failure Threshold - - Verbs - 動作 - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Volume Handle + Volume Handle - - API Groups - API 組 - - src/app/frontend/common/components/policyrule/template.html - 76 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name - - Resource Quotas - Resource Quotas - - src/app/frontend/common/components/quotas/template.html - 20 - + + Show less + 收起 - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Run as privileged + 以特權身份運行 - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + Variable name must be a valid C identifier. + 變數名必須是有效的 C 標識符 - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + Selector + Selector - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + No + No - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - + + Local settings + Local settings - - Resource name - 資源名 - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Protocol is required. + 協議是必須的。 - - Resource type - 資源類別 - - src/app/frontend/common/components/limits/template.html - 42 - + + Desired: + 期望值: - - Default - 默認 - - src/app/frontend/common/components/limits/template.html - 47 - + + Session Affinity + Session Affinity - - Default request - 默認下限 - - src/app/frontend/common/components/limits/template.html - 52 - + + Container image is required + 容器鏡像是必須的 - - Edit - Edit - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + CPU requirement must be given as a valid number. + CPU 下限必須是有效的數字。 - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + Service Port Number + Service Port Number - - Provisioner - 提供者 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + unset + 未設置 - - Parameters - 參數 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Resource Limits + Resource Limits - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - + + This action is equivalent to: + This action is equivalent to: - - Cluster IP - 集群 IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + Change the language of the dashboard + 更改 dashboard 的語言 - - Internal Endpoints - 内部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Save + Save - - External Endpoints - 外部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Protocol + 協議 - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + Init containers + Init containers - - Storage Classes - Storage Classes - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Exec + 執行 - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - + + Open notifications panel + Open notifications panel - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Replica Sets + Replica Sets - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + Waiting for more data to display chart... + Waiting for more data to display chart... - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - 您可以 部署一個容器化應用 , select other namespace or - 閱讀 Dashboard 說明 - open_in_new - 瞭解更多。 - - - src/app/frontend/common/components/zerostate/template.html - 26 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + 具有此值的 'app' 標籤將添加到已部署的 Deployment 和 Service 中。 - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Number of pods must be a positive integer + pod 的數量必須是正整數 - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Run command arguments + 執行命令參數 - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Can't find plugin "" + Can't find plugin "" - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + Last Seen + 最後一次 - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Port must be an integer. + 端口號必須是數字 - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Choose YAML or JSON file + 選擇 YAML 或 JSON 文件 - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Available + Available - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Node + 節點 - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Schedule: + 時間表: - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Update + Update - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + Arguments + Arguments - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Dependencies + 依賴 - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + Role Bindings + Role Bindings - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Config and Storage + Config and Storage - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Probe Period (Seconds) + Probe Period (Seconds) - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Scale resource + 縮放資源 - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + Port must be less than 65536. + 端口號必須小於 65536 - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Readiness Probe + Readiness Probe - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + CPU limits (cores) + CPU 上限 (cores) - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Images + 鏡像 - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Skip + 跳過 - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Created + 創建時間 - - API Group - API 組 - - src/app/frontend/common/components/subject/template.html - 63 - + + Namespace that should be selected by default after logging in. + Namespace that should be selected by default after logging in. - - Workloads - 工作負載 - - - src/app/frontend/chrome/nav/template.html - 27 - + + Deployment or service with this name already exists within namespace. + 具有同名稱的 deployment 或 service 已存在於命名空間中 - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - + + Storage class + Storage class - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - + + Role Bindings + Role Bindings - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - + + Pin resource + Pin resource - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - + + Config Maps + Config Maps - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - + + Create a new namespace... + 創建一个新的命名空間... - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 - - Replication Controllers - Replication Controllers - - - src/app/frontend/chrome/nav/template.html - 56 - + + Completions: + 完成: - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - + + in namespace will be restarted. + in namespace will be restarted. - - Service - Service - - - src/app/frontend/chrome/nav/template.html - 67 - + + Starting deadline seconds + Starting deadline seconds - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - + + Volume + Volume - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - + + Pending + Pending - - Config and Storage - Config and Storage - - - src/app/frontend/chrome/nav/template.html - 88 - + + Memory requests (bytes) + Memory 下限 (bytes) - - Config Maps - Config Maps - - - src/app/frontend/chrome/nav/template.html - 94 - + + Create new resource + 創建新資源 - - Persistent Volume Claims - Persistent Volume Claims - - - src/app/frontend/chrome/nav/template.html - 100 - + + Unknown + Unknown - - Secrets - Secrets - - - src/app/frontend/chrome/nav/template.html - 106 - + + Pin + 固定 - - Storage Classes - Storage Classes - - - src/app/frontend/chrome/nav/template.html - 110 - + + This action is equivalent to: + 此操作相當於: - - Cluster - Cluster - - - src/app/frontend/chrome/nav/template.html - 116 - + + Age: + 經過時間: - - Cluster Role Bindings - Cluster Role Bindings - - - src/app/frontend/chrome/nav/template.html - 120 - + + Edit a resource + Edit a resource - - Cluster Roles - Cluster Roles - - - src/app/frontend/chrome/nav/template.html - 125 - + + Roles + Roles - - Events - Events - - src/app/frontend/chrome/nav/template.html - 130 - + + Do you want to save them anyways? + 您想保存它們嗎? - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - + + Access modes + Access modes - - Namespaces - Namespaces - - - src/app/frontend/chrome/nav/template.html - 134 - + + Default request + 默認下限 - - Network Policies - Network Policies - - - src/app/frontend/chrome/nav/template.html - 139 - + + Search + 搜索 - - Nodes - Nodes - - - src/app/frontend/chrome/nav/template.html - 144 - + + Actual replicas + 當前的副本數量 - - Persistent Volumes - Persistent Volumes - - - src/app/frontend/chrome/nav/template.html - 148 - + + Secrets + Secrets - - Role Bindings - Role Bindings - - - src/app/frontend/chrome/nav/template.html - 154 - + + Kind: + Kind: - - Roles - Roles - - - src/app/frontend/chrome/nav/template.html - 160 - + + Namespaces + Namespaces - - Service Accounts - Service Accounts - - - src/app/frontend/chrome/nav/template.html - 165 - + + Rules + Rules - - Custom Resource Definitions - Custom Resource Definitions - - - src/app/frontend/chrome/nav/template.html - 173 - + + Claim + 申領 - - Plugins - Plugins - - - src/app/frontend/chrome/nav/template.html - 184 - + + iSCSI Qualified Name + iSCSI Qualified Name - - Edit a resource - Edit a resource - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Parallelism: + 並行: - - Settings - Settings - - - src/app/frontend/chrome/nav/template.html - 192 - + + Environment variables + Environment variables - - About - About - - - src/app/frontend/chrome/nav/template.html - 197 - + + Desired + Desired - - Create new resource - 創建新資源 - - src/app/frontend/chrome/template.html - 42 - + + Cluster Roles + Cluster Roles - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + Delete resource + 刪除資源 - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63 - + + Architecture + Architecture - - Search - 搜索 - - src/app/frontend/chrome/search/template.html - 29 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - + + Reason + 原因 - - Remove all notifications - 刪除所有通知 - - src/app/frontend/chrome/notifications/template.html - 71 - + + Logs + 日誌 - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + General-purpose web UI for Kubernetes clusters + General-purpose web UI for Kubernetes clusters - - Delete a resource - Delete a resource - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + About + About - - Delete - Delete - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Description + 描述 - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Settings + Settings - - Basic - 基本 - - src/app/frontend/login/template.html - 36 - + + Controlled by + Controlled by - - Token - Token - - src/app/frontend/login/template.html - 38 - + + SE Linux Role + SE Linux Role - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - 請選擇您設定的 kubeconfig 文件以配置對叢集的訪問權限。要瞭解有關如何配置和使用 kubeconfig 文件的更多訊息,請參閲Configure Access to Multiple Clusters 部分. - - - src/app/frontend/login/template.html - 44 - + + Trigger resource + 觸發資源 - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - 確保在集群中啓用了對基本身份驗證的支持。要了解有關如何配置基本身份驗證的詳情,請參閲AuthenticatingABAC Mode 部分. - - - src/app/frontend/login/template.html - 51 - + + Workload Status + Workload Status - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - 每個 Service Account 都有一個合法的 Bearer Token ,可用於登入 Dashboard。要瞭解更多如何配置並使用 Bearer Tokens 的資訊,請參閲 Authentication 部分. - - - src/app/frontend/login/template.html - 58 - + + Singular + Singular - - Enter token - 輸入 token - - src/app/frontend/login/template.html - 74 - + + Access Modes + 訪問模式 - - Username - 用戶名 - - src/app/frontend/login/template.html - 87 - + + SE Linux Level + SE Linux Level - - Password - 密碼 - - src/app/frontend/login/template.html - 98 - + + Running: + 運行中: - - Choose kubeconfig file - 選擇 kubeconfig 檔案 - - src/app/frontend/login/template.html - 107 - + + Keyring + Keyring - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - 檢測到不安全的訪問。無法登陸。通過 HTTPS 或使用 localhost 安全訪問 Dashboard。更多資訊 - - 這裡 - 閱讀。 - - - src/app/frontend/login/template.html - 117 - + + IP + IP - - Sign in - - 登入 - - - src/app/frontend/login/template.html - 133 - + + HTTP Healthcheck URI + HTTP Healthcheck URI - - Skip - - 跳過 - - - src/app/frontend/login/template.html - 142 - + + Environment Variables + Environment Variables - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Kubernetes Dashboard 是由 Dashboard - 社區 開發的 - 開源項目。 - - - src/app/frontend/about/template.html - 37 - + + Addresses + Addresses - - Workloads - Workloads - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Pods + Pods - - Read documentation - 閱讀文件 - - src/app/frontend/about/actionbar/template.html - 24 - + + Sign in + Sign in - - Provide feedback - 提供回饋意見 - - src/app/frontend/about/actionbar/template.html - 35 - + + Username + 用戶名 - - Resource information - Resource information - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - + + Upload + 上傳 - - Create from input - 輸入並建立 - - src/app/frontend/create/template.html - 20 - + + IP: + IP: - - Create from file - 從檔案建立 - - src/app/frontend/create/template.html - 24 - + + Taints + Taints - - Create from form - 從表單建立 - - src/app/frontend/create/template.html - 28 - + + Memory requirement must be given as a positive number. + Memory 下限必須是正整數。 - - About - About - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + Search for + Search for - - General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters - - src/app/frontend/about/template.html - 30 - + + Cron Jobs + Cron Jobs - - The new namespace will be added to the cluster. - 新的命名空間將添加到叢集中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Size: B + 尺寸: B - - Namespace name - 命名空間的名字 - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + Choose color theme of the dashboard + Choose color theme of the dashboard - - Name is required. - - 名稱是必填的。 - - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Filter objects by name + 按名字過濾對象 - - Name must be up to characters long. - - 名稱必須大於 個字符 - - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Schedule + 調度 - - Name must be alphanumeric and may contain dashes. - - 名稱必須是字母或者數字,可以包含連接號 "-"。 - - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Enter token + 輸入 token - - Create a new image pull secret - Create a new image pull secret - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Allow Privilege Escalation + Allow Privilege Escalation - - Go to namespace - Go to namespace - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Labels + 標籤 - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Resource information + Resource information - - Rolling update strategy - Rolling update strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Target port must be less than 65536. + 目標端口必須小於 65536。 - - A namespace with the specified name will be added to the cluster. - 將具有指定名稱的命名空間添加到叢集中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + Invert colors + 反轉顔色 - - Learn more open_in_new - - 學到更多 - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Horizontal Pod Autoscaler + Pod 水平自動伸縮 - - The new secret will be added to the cluster - 新的 secret 將添加到叢集中 - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Scope + Scope - - Secret name - Secret 名稱 - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + Data is required. + Data 是必須的。 - - Name must be up to characters long. - - 名称必須大於 字符. - - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Processes in privileged containers are equivalent to processes running as root on the host. + 特權容器中的程序等同於在主機上以 root 身份執行的程序。 - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - - 名稱必須遵循 DNS 域名語法(例如 new.image-pull.secret)。 - - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Default + 默認 - - A secret with the specified name will be added to the cluster in the namespace. - 具有指定名稱的 secret 將添加到命名空間中的叢集中。 - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Deployments + Deployments - - Data is required. - - Data 是必須的。 - - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + Status + 狀態 - - Data must be Base64 encoded. - - Data 必須是 Base64 編碼的格式。 - - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Egress Rules + Egress Rules - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - 指定要保留的 secret 的 data。該值是 .dockercfg 文件中的 Base64 編碼内容 - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Unavailable + Unavailable + + + Kubeconfig + Kubeconfig Create Create - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - - - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67 - - - - App name - 應用名稱 - - src/app/frontend/create/from/form/template.html - 23 - - - - Deployment or service with this name already exists within namespace. - - 具有同名稱的 deployment 或 service 已存在於命名空間中 - - - src/app/frontend/create/from/form/template.html - 35 - - - Application name is required. - - 應用名稱是必需的。 - - - src/app/frontend/create/from/form/template.html - 39 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + 您可以 部署一個容器化應用 , select other namespace or 閱讀 Dashboard 說明 open_in_new 瞭解更多。 - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - - 應用名稱必須以小寫字母開頭,只包含小寫字母與數字,並且之間可以包含 '-' 符號。 - - - src/app/frontend/create/from/form/template.html - 41 - + + Create a new secret... + 創建一個新的 secret... - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - 具有此值的 'app' 標籤將添加到已部署的 Deployment 和 Service 中。 - - src/app/frontend/create/from/form/template.html - 48 - + + Provide feedback + 提供回饋意見 - - Learn more open_in_new - - 學到更多 - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Events + Events - - Container image - 容器映像檔 - - src/app/frontend/create/from/form/template.html - 63 - + + Storage + 存儲 - - Container image is required - - 容器鏡像是必須的 - - - src/app/frontend/create/from/form/template.html - 68 - + + Suspend + 暫停 - - Container image is invalid: - - 容器映像檔無效: - - - src/app/frontend/create/from/form/template.html - 70 - + + Add + Add - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - 輸入公開倉庫或是私有倉庫 (Docker Hub 或 Google Container Registry) 的 URL。 - - src/app/frontend/create/from/form/template.html - 76 - + + No namespaces selected + No namespaces selected - - Number of pods - pod 的數量 - - src/app/frontend/create/from/form/template.html - 93 - + + Select namespace... + 選擇命名空間... - - Number of pods is required - - pod 的數量是必填項 - - - src/app/frontend/create/from/form/template.html - 99 - + + Monitors + Monitors - - Number of pods must be a positive integer - - pod 的數量必須是正整數 - - - src/app/frontend/create/from/form/template.html - 101 - + + Ingresses + Ingresses - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - 設定大量 pod 可能會導致叢集和 Dashboard UI 出現效能問題。 - - - src/app/frontend/create/from/form/template.html - 104 - + + Secret name + Secret 名稱 - - A Deployment will be created to maintain the desired number of pods across your cluster. - Deployment 將被創建來管理一定數量的 pod 在您的叢集中。 - - src/app/frontend/create/from/form/template.html - 109 - + + Shell + Shell Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. (可選擇的) 可以定義内部或外部 Service,將傳入端口映射到容器的目標端口。 - - src/app/frontend/create/from/form/template.html - 129 - - - - Description - 描述 - - src/app/frontend/create/from/form/template.html - 172 - - - The description will be added as an annotation to the Deployment and displayed in the application's details. - - 該描述將作為注視添加到 Deployment 中,並顯示在應用程式的詳細資訊中。 - - - src/app/frontend/create/from/form/template.html - 175 - + + Target World Wide Names + Target World Wide Names - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 指定的標籤將用於創建的 Deployment,Service(如果有)和 Pod。 常見標籤包括 release,environment,tier,partition 和 track。 - - src/app/frontend/create/from/form/template.html - 188 - + + Target portal + Target portal - - Learn more open_in_new - - 學到更多 - open_in_new - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Filesystem Group Change Policy + Filesystem Group Change Policy - - Create a new namespace... - - 創建一个新的命名空間... - - - src/app/frontend/create/from/form/template.html - 151 - + + Jobs + Jobs - - Namespaces let you partition resources into logically named groups. - 命名空間允許您將資源分區為邏輯命名的組。 - - src/app/frontend/create/from/form/template.html - 155 - + + Service + Service - - Create a new secret... - - 創建一個新的 secret... - - - src/app/frontend/create/from/form/template.html - 209 - + + + + + + + + + - - Image Pull Secret - 取得映像檔使用的 Secret - - src/app/frontend/create/from/form/template.html - 204 - + + Liveness Probe + Liveness Probe - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 如果指定的映像檔是私有的,則可能需要 pull secret credential。 您可以選擇現有 secret 或創建新 secret。 - - src/app/frontend/create/from/form/template.html - 213 - + + Exit Code + Exit Code - - CPU requirement (cores) - CPU 下限 (cores) - - src/app/frontend/create/from/form/template.html - 230 - + + Supplemental Groups + Supplemental Groups - - CPU requirement must be given as a positive number. - - CPU 下限必須是正整數。 - - - src/app/frontend/create/from/form/template.html - 236 - + + Subjects + Subjects - - CPU requirement must be given as a valid number. - - CPU 下限必須是有效的數字。 - - - src/app/frontend/create/from/form/template.html - 240 - + + Minimize card + Minimize card - - Memory requirement (MiB) - Memory 下限 (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + Create a new image pull secret + Create a new image pull secret - - Memory requirement must be given as a positive number. - - Memory 下限必須是正整數。 - - - src/app/frontend/create/from/form/template.html - 254 - + + Policy Types + Policy Types - - Memory requirement must be given as a valid number. - - Memory 下限必須是一個有效的數字。 - - - src/app/frontend/create/from/form/template.html - 258 - + + Windows Run as User + Windows Run as User - - You can specify minimum CPU and memory requirements for the container. - 您可以指定容器的最低 CPU 和記憶體需求。 - - src/app/frontend/create/from/form/template.html - 264 - + + Show timestamps + 顯示時間戳 - - Run command - 執行命令 - - src/app/frontend/create/from/form/template.html - 279 - + + Namespace name + 命名空間的名字 - - Run command arguments - 執行命令參數 - - src/app/frontend/create/from/form/template.html - 285 - + + Path + Path - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - 默認情况下,容器運行所選映像檔的默認 entrypoint 命令。您可以使用命令選項覆蓋默認值。 - - src/app/frontend/create/from/form/template.html - 291 - + + Create a new namespace + Create a new namespace - - Run as privileged - 以特權身份運行 - - src/app/frontend/create/from/form/template.html - 307 - + + Unpin resource + Unpin resource - - Processes in privileged containers are equivalent to processes running as root on the host. - 特權容器中的程序等同於在主機上以 root 身份執行的程序。 - - src/app/frontend/create/from/form/template.html - 310 - + + Port + 端口 - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - 可在容器中使用的環境變數。值可以使用 $(VAR_NAME) 語法引用其他變數 - - src/app/frontend/create/from/form/template.html - 324 - + + Dropped Capabilities + Dropped Capabilities - - Deploy - - - 部署 - - - src/app/frontend/create/from/form/template.html - 343 - + + Subresources + Subresources - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - + + Succeeded: + Succeeded: - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {隱藏高級設置} other {顯示高級選項}} - - src/app/frontend/create/from/form/template.html - 367 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + Invalid protocol. + 無效的協議。 - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - - 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 - - - src/app/frontend/create/from/input/template.html - 19 - + + Can't find dependency "" for plugin "" + Can't find dependency "" for plugin "" - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - - 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 - - - src/app/frontend/create/from/input/template.html - 23 - + + The new secret will be added to the cluster + 新的 secret 將添加到叢集中 - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - + + Pending: + 啓動中: - - Learn more open_in_new - - 學到更多 open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - + + Cluster + Cluster - - Upload - - - 上傳 - - - src/app/frontend/create/from/input/template.html - 40 - + + Suspend: + 暫停中: - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - - 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 - - - src/app/frontend/create/from/file/template.html - 19 - + + Security Context + Security Context - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - - 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 - - - src/app/frontend/create/from/file/template.html - 23 - + + TCP Socket + TCP Socket - - Learn more open_in_new - - 學到更多 - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - + + Persistent Volumes + Persistent Volumes - - Choose YAML or JSON file - 選擇 YAML 或 JSON 文件 - - src/app/frontend/create/from/file/template.html - 35 - + + System information + System information - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Min ready seconds: + 最小準備秒數: - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Ready + 準備就緒 - - Variable name must be a valid C identifier. - - 變數名必須是有效的 C 標識符 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + HTTP Headers + HTTP Headers - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - + + Sub Path + Sub Path - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - + + Service Accounts + Service Accounts - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + kubelet version + kubelet version - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Items: + 項目: - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - + + Network Policies + Network Policies Value - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - - - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + API Group + API 組 - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + 默認情况下,容器運行所選映像檔的默認 entrypoint 命令。您可以使用命令選項覆蓋默認值。 - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Ports (Name, Port, Protocol) + 端口 (名字, 端口, 協議) - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Target port cannot be empty. + 目標端口不能爲空。 - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Kind + Kind - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Host + 主機 - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Lun number + Lun number - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + Pod Selector + Pod Selector - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + Sign in + 登入 - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + List Kind + List Kind - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Run command + 執行命令 - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Port cannot be empty. + 端口號不能為空 - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Quantity + 數量 - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + Logged in with token + Logged in with token - - Label Selector - Label Selector - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + Completions + Completions - - Init images - Init images - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + View logs + 顯示日誌 - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Provider ID + Provider ID - - Config and Storage - Config and Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Pod CIDR + Pod CIDR - - Port - 端口 - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + Kernel version + Kernel version - - Port must be an integer. - - 端口號必須是數字 - - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Persistent Volumes + Persistent Volumes - - Port cannot be empty. - - 端口號不能為空 - - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Containers + 容器 - - Port must be greater than 0. - - 端口號必須大於 0 - - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Workloads + 工作負載 - - Port must be less than 65536. - - 端口號必須小於 65536 - - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Container image + 容器映像檔 - - Target port - 目標端口 - - src/app/frontend/create/from/form/portmappings/template.html - 71 - + + SE Linux User + SE Linux User - - Target port must be an integer. - - 目標端口必須是整數。 - - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Served + 服務 - - Target port cannot be empty. - - 目標端口不能爲空。 - - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + Plugins + Plugins - - Target port must be greater than 0. - - 目標端口必須大於 0。 - - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Name: + 名字: - - Target port must be less than 65536. - - 目標端口必須小於 65536。 - - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Scale a resource + Scale a resource - - Protocol - 協議 - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + Resource name + 資源名 - - Protocol is required. - - 協議是必須的。 - - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Application name is required. + 應用名稱是必需的。 - - Invalid protocol. - - 無效的協議。 - - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Full Name + 全名 - - Create a new namespace - Create a new namespace - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Target port + 目標端口 - - key - 密鑰 - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Cluster IP + 集群 IP - - is not unique - - 不是唯一的 - - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + There is nothing to display here + There is nothing to display here - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - - 前綴不是有效的前缀 DNS 子域前缀(例如 my-domain.com )。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Initial Delay (Seconds) + Initial Delay (Seconds) - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - - 標籤密鑰名稱必須是由 '-','_' 或 '.' 分隔的字母數字,可選以 DNS 子域和 '/' 為前綴。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Short Names + Short Names - - Prefix should not exceed 253 characters. - - 前綴不應超過 253 個字符。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Delete + Delete - - Label Key name should not exceed 63 characters. - - Label Key 名稱不應超過 63 個字符 - - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Namespaces + Namespaces - - value - - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Internal Endpoints + 内部 Endpoints - - Label value must be alphanumeric separated by '.' , '-' or '_'. - - 標籤值必須由 '.' , '-' 或者 '_' 分割字母數字 - - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + 標籤密鑰名稱必須是由 '-','_' 或 '.' 分隔的字母數字,可選以 DNS 子域和 '/' 為前綴。 - - Label Value must not exceed 253 characters. - - 標籤值不得超過 253 個字符。 - - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Pool + Pool - - Logs from - 日誌 - - src/app/frontend/logs/template.html - 24 - + + Theme + Theme - - Init Containers - 初始化容器 - - src/app/frontend/logs/template.html - 34 - + + Logs from to UTC + Logs from to UTC in in - - src/app/frontend/logs/template.html - 43 - - - Download logs - 下載日誌 - - src/app/frontend/logs/template.html - 57 - + + Services + Services - - Invert colors - 反轉顔色 - - src/app/frontend/logs/template.html - 131 - + + Max number of items that can be displayed on every list view. + 每列視窗上可以顯示的最大項目數。 - - Reduce font size - 減小字體大小 - - src/app/frontend/logs/template.html - 136 - + + Unschedulable + Unschedulable - - Show timestamps - 顯示時間戳 - - src/app/frontend/logs/template.html - 141 - + + Max surge: + 最大替換數: - - Auto-refresh (every s.) - Auto-refresh (every s.) - - src/app/frontend/logs/template.html - 146 - + + Success Threshold + Success Threshold - - Show previous logs - 顯示以前的日誌 - - src/app/frontend/logs/template.html - 151 - + + Host + Host - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - + + Restarts + 重啓 - - Path - Path - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Custom Resource Definitions + Custom Resource Definitions - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Settings + Settings - - Path Type - Path Type - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Updated + Updated - - Service Name - Service Name - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Failed + Failed - - Service Port - Service Port - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + Shell in in + Shell in in - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Init Containers + 初始化容器 - - Namespace conflict - Namespace conflict - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + Plugins + Plugins - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + There is no data to display. + 沒有要顯示的數據。 - - Quantity - 數量 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + Default service account + Default service account - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Config and Storage + Config and Storage - - Session Affinity - Session Affinity - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + Privileged + Privileged - - Selector - Selector - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Trigger + Trigger + + + Active Jobs: + 運行中的 Jobs: + + + Signal + Signal + + + Unpin + 取消固定 + + + Network Policies + Network Policies Filesystem type Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + Logs auto-refresh time interval + 日誌自動刷新時間間隔 - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + kube-proxy version + kube-proxy version - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Run as Non-Root + Run as Non-Root - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + SE Linux Type + SE Linux Type - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Objects + Objects - - Dataset name - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + 設定大量 pod 可能會導致叢集和 Dashboard UI 出現效能問題。 - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Kubernetes Dashboard + Kubernetes Dashboard - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Namespace: + 命名空間: - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + NAMESPACES + 命名空間 - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Edit + Edit - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Pods: + Pods: - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Default Backend + Default Backend - - Parameter - 參數 - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + 指定要保留的 secret 的 data。該值是 .dockercfg 文件中的 Base64 編碼内容 - - Data - Data - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Preview + Preview - - There is no data to display. - 沒有要顯示的數據。 - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Cancel + Cancel - - Settings have changed since last reload - Settings have changed since last reload - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + Disable access denied notification + 禁止拒絕訪問的通知 - - Schedule:  - 時間表:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Nodes + Nodes - - Active Jobs:  - 運行中的 Jobs:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec - - Suspend:  - 暫停中:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Endpoint links are external links that will be open in a new tab. + Endpoint links are external links that will be open in a new tab. - - Last schedule - Last schedule - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - + + Last probe time + 最後的檢查時間 - - Concurrency policy - Concurrency policy - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + Secret reference name + Secret reference name - - Starting deadline seconds - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + Dataset name + Dataset name - - Role Reference - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Label Key name should not exceed 63 characters. + Label Key 名稱不應超過 63 個字符 + + + Run as Group + Run as Group + + + Pods status + Pods status + + + Global settings are stored in config map, so all of them are applied for every instance of the app. + Global settings are stored in config map, so all of them are applied for every instance of the app. + + + Close + 關閉 + + + No resources found in the selected namespace. + No resources found in the selected namespace. + + + Capacity + 容量 - - System information - System information - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + Data must be Base64 encoded. + Data 必須是 Base64 編碼的格式。 - - Allocation - Allocation - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - + + Running: + Running: - - Pod CIDR - Pod CIDR - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Service Accounts + Service Accounts - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Workloads + Workloads - - Unschedulable - Unschedulable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + 確保在集群中啓用了對基本身份驗證的支持。要了解有關如何配置基本身份驗證的詳情,請參閲AuthenticatingABAC Mode 部分. - - Addresses - Addresses - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Create + Create - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Roles + Roles - - Machine ID - Machine ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Reload + Reload - - System UUID - System UUID - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Provide a namespace name that should be added to the namespace fallback list + Provide a namespace name that should be added to the namespace fallback list + + + Filesystem Group + Filesystem Group Boot ID Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - Kernel version - Kernel version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - + + Replication Controllers + Replication Controllers - - OS Image - OS Image - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - + + Remove namespaces from the list and confirm to save the changes. + Remove namespaces from the list and confirm to save the changes. - - Container runtime version - Container runtime version - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - + + Persistent Volume Claims + Persistent Volume Claims - - kubelet version - kubelet version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Message + 信息 - - kube-proxy version - kube-proxy version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - + + Max number of labels that are displayed by default on most views. + 默認情況下,大多數視窗上顯示的最大標籤數。 - - Operating system - Operating system - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Cluster name + 叢集名稱 - - Architecture - Architecture - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + Deployments + Deployments - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - + + App name + 應用名稱 - - Memory - Memory - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - + + Last schedule + Last schedule - - Pod Selector - Pod Selector - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + System UUID + System UUID - - Policy Types - Policy Types - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + Config And Storage + Config And Storage - - Ingress Rules - Ingress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + Container image is invalid: + 容器映像檔無效: - - Egress Rules - Egress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + Count + 次數 - - Active Jobs - 運行中的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + Replication Controllers + Replication Controllers - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/component.ts - 57 - + + Active + 運行中 - - Inactive Jobs - 非工作的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + CPU Usage (cores) + CPU 實用 (cores) - - Strategy:  - 策略:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + Environment variable + 環境變量 - - Min ready seconds:  - 最小準備秒數:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Restart a resource + Restart a resource - - Revision history limit:  - 調整 history 範圍:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Max surge + Max surge - - Strategy - Strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Annotations + Annotations - - Min ready seconds - Min ready seconds - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + First Seen + 初次 - - Revision history limit - Revision history limit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + Forbidden (403) + 禁止 (403) - - Max surge:  - 最大替換數:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - 最大不可用數:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + Suspended: - - Max surge - Max surge - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + Upload - - Max unavailable - Max unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + 運行階段 - - Updated:  - 已更新:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + Namespace conflict - - Total:  - 總計:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + Controller - - Available:  - 可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + will be updated to reflect the desired replicas count. - - Unavailable:  - 不可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + OS Image - - Updated - Updated - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + Download logs file - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Endpoints open_in_new + Endpoints open_in_new - - Available - Available - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Create from form + 從表單建立 - - Unavailable - Unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Ingress Rules + Ingress Rules - - New Replica Set - New Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Pods + Pods - - Environment variables - Environment variables - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Stateful Sets + Stateful Sets - - Pods:  - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + 前綴不是有效的前缀 DNS 子域前缀(例如 my-domain.com )。 - - Old Replica Sets - 舊 Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + File is ready to download! + File is ready to download! - - Completions:  - 完成:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Succeeded: + 成功: - - Parallelism:  - 並行:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Download logs + 下載日誌 - - Completions - Completions - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Startup Probe + Startup Probe - - Parallelism - Parallelism - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Service Name + Service Name - - Do you want to save them anyways? - 您想保存它們嗎? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Namespaced + 有命名空間的 - - Refresh - Refresh - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Preview Deployment + Preview Deployment - - Resource Information - Resource Information - - src/app/frontend/crd/detail/template.html - 22 - + + Group + Group - - Accepted Names - Accepted Names - - src/app/frontend/crd/detail/template.html - 55 - + + Basic + 基本 - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - + + There are no notifications + There are no notifications - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - + + Type + 類別 - - Subresources - Subresources - - src/app/frontend/crd/detail/template.html - 47 - + + Mounts + Mounts - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - + + Global settings + Global settings - - List Kind - List Kind - - src/app/frontend/crd/detail/template.html - 77 - + + Last Schedule + 最後的調度 - - Singular - Singular - - src/app/frontend/crd/detail/template.html - 67 - + + A namespace with the specified name will be added to the cluster. + 將具有指定名稱的命名空間添加到叢集中。 - - Short Names - Short Names - - src/app/frontend/crd/detail/template.html - 82 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + 指定的標籤將用於創建的 Deployment,Service(如果有)和 Pod。 常見標籤包括 release,environment,tier,partition 和 track。 - - Categories - Categories - - src/app/frontend/crd/detail/template.html - 87 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 - - Default namespace - Default namespace - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Status: + 狀態: - - Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Target port must be greater than 0. + 目標端口必須大於 0。 - - Namespace fallback list - Namespace fallback list - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Nodes + Nodes - - List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Read Only + Read Only - - Add namespaces... - Add namespaces... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Started At + Started At - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + Cluster Roles + Cluster Roles - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Filter + 過濾 - - Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + No resources found. - - No namespaces selected - No namespaces selected - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + Replica Sets - - Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Verbs + 動作 - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47 - + + Path + Path - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Show previous logs + 顯示以前的日誌 - - Cluster name - 叢集名稱 - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + 減小字體大小 - - Cluster name appears in the browser window title if it is set. - 如果已設置,則叢集名字將顯示在瀏覽器標題中。 - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + Allocation Items per page 每頁 Items - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - 每列視窗上可以顯示的最大項目數。 - - src/app/frontend/settings/global/template.html - 44 - + + Name + 名字 - - Labels limit - Labels limit - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + pod 的數量是必填項 - - Max number of labels that are displayed by default on most views. - 默認情況下,大多數視窗上顯示的最大標籤數。 - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + Added Capabilities - - Logs auto-refresh time interval - 日誌自動刷新時間間隔 - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + Trigger a + + + CPU requirement must be given as a positive number. + CPU 下限必須是正整數。 + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + 輸入公開倉庫或是私有倉庫 (Docker Hub 或 Google Container Registry) 的 URL。 + + + Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. 每次自動刷新日誌的間隔秒數。 - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - 資源自動刷新時間間隔 - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - 兩次資源自動刷新時間間隔,設置爲 0 則表示不啓用。 - - src/app/frontend/settings/global/template.html - 94 - - - Disable access denied notification - 禁止拒絕訪問的通知 - - src/app/frontend/settings/global/template.html - 110 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + 名稱必須遵循 DNS 域名語法(例如 new.image-pull.secret)。 - - Hides all access denied warnings in the notification panel. - 在通知面板中隱藏所有拒絕訪問的警告。 - - src/app/frontend/settings/global/template.html - 112 - + + Service Account + Service Account - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - + + Timeout (Seconds) + Timeout (Seconds) - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - + + Sysctls + Sysctls - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - 本地設置存儲在瀏覽器 cookie 中,因此它們不會在多個設備之間同步。每次更改都會自動應用改變。 - - src/app/frontend/settings/local/template.html - 21 - + + Source + 事件源 - - Theme - Theme - - src/app/frontend/settings/local/template.html - 26 - + + Prefix should not exceed 253 characters. + 前綴不應超過 253 個字符。 - - Choose color theme of the dashboard - Choose color theme of the dashboard - - src/app/frontend/settings/local/template.html - 28 - + + Failed: + Failed: - - Language - 語言 - - src/app/frontend/settings/local/template.html - 41 - + + Read only + Read only - - Change the language of the dashboard - 更改 dashboard 的語言 - - src/app/frontend/settings/local/template.html - 43 - + + Daemon Sets + Daemon Sets - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Storage Classes + Storage Classes - - Shell in in - - Shell in - - - - - - in - - - src/app/frontend/shell/template.html - 22 - + + Provisioner + 提供者 - + \ No newline at end of file diff --git a/modules/web/package.json b/modules/web/package.json index 264e4e6572c5..0573f16827f1 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -22,7 +22,7 @@ "fix": "make fix", "fix:backend": "make fix-backend", "fix:frontend": "make fix-frontend", - "fix:i18n": "make fix-i18n", + "fix:i18n": "ng run kubernetes-dashboard:extract-i18n-merge", "fix:license": "make fix-license", "fix:go": "make fix-go", "fix:codegen": "make fix-codegen", @@ -34,7 +34,6 @@ "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "postinstall": "ngcc", "prepare": "cd ../../ && husky install modules/web/.husky", - "extract-i18n-merge": "ng run kubernetes-dashboard:extract-i18n-merge" }, "lint-staged": { "src/**/*.ts": [ @@ -50,22 +49,6 @@ "./aio/scripts/pre-commit-i18n.sh" ] }, - "xliffmergeOptions": { - "srcDir": "i18n", - "genDir": "i18n", - "defaultLanguage": "en", - "languages": [ - "de", - "es", - "fr", - "ja", - "ko", - "zh-Hans", - "zh-Hant", - "zh-Hant-HK" - ], - "beautifyOutput": true - }, "dependencies": { "@angular/animations": "13.3.4", "@angular/cdk": "13.3.4", diff --git a/modules/web/scripts/pre-commit-i18n.sh b/modules/web/scripts/pre-commit-i18n.sh deleted file mode 100755 index b3b4e2f66db5..000000000000 --- a/modules/web/scripts/pre-commit-i18n.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Import config. -ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" -. "${ROOT_DIR}/aio/scripts/conf.sh" - -# Extract i18n messages for update check. -${NG_BIN} extract-i18n --output-path "${I18N_DIR}" --out-file "messages.new.xlf" - -# Generate MD5 existing and new messages file -MD5_OLD=$(md5sum "${I18N_DIR}/messages.xlf" | cut -c -32) -MD5_NEW=$(md5sum "${I18N_DIR}/messages.new.xlf" | cut -c -32) - -if [ $MD5_OLD != $MD5_NEW ] ; then - mv "${I18N_DIR}/messages.xlf" "${I18N_DIR}/messages.old.xlf" - mv "${I18N_DIR}/messages.new.xlf" "${I18N_DIR}/messages.xlf" - "${AIO_DIR}/scripts/xliffmerge.sh" - - languages=($(find "${I18N_DIR}"/* -type d -exec basename {} \;)) - updated=false - for language in "${languages[@]}"; do - if ! _=$(git diff --exit-code "${I18N_DIR}/${language}/messages.${language}.xlf"); then - say "Translation files were updated. Commit them too." - updated=true - break - fi - done - - if [ ${updated} == false ]; then - mv "${I18N_DIR}/messages.old.xlf" "${I18N_DIR}/messages.xlf" - fi -fi - -# Remove extracted file for check -rm -rf "${I18N_DIR}/messages.new.xlf" -rm -rf "${I18N_DIR}/messages.old.xlf" diff --git a/modules/web/scripts/xliffmerge.sh b/modules/web/scripts/xliffmerge.sh deleted file mode 100755 index 599b31b10988..000000000000 --- a/modules/web/scripts/xliffmerge.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Import config. -ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" -. "${ROOT_DIR}/aio/scripts/conf.sh" - -# Collect current localized files -languages=($(find "${I18N_DIR}"/* -type d -exec basename {} \;)) -for language in "${languages[@]}"; do - if [ ! -L "${I18N_DIR}/${language}/messages.${language}.xlf" ]; then - say "Move translation file messages.${language}.xlf to be merged by xliffmerge." - mv "${I18N_DIR}/${language}/messages.${language}.xlf" "${I18N_DIR}" - fi -done - -# Merge generated messages file into localized files. -xliffmerge - -# Deliver merged localized files into each locale directories. -for language in "${languages[@]}"; do - if [ -e "${I18N_DIR}/messages.${language}.xlf" ]; then - say "Move merged file i18n/messages.${language}.xlf to i18n/${language}" - mv "${I18N_DIR}/messages.${language}.xlf" "${I18N_DIR}/${language}" - fi -done From da8a3edba141da1d1c5b1ed09aa3b1710553921f Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 17:23:52 +0200 Subject: [PATCH 065/162] Fix package.json --- modules/web/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/web/package.json b/modules/web/package.json index 0573f16827f1..9d6a655dac87 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -33,7 +33,7 @@ "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "postinstall": "ngcc", - "prepare": "cd ../../ && husky install modules/web/.husky", + "prepare": "cd ../../ && husky install modules/web/.husky" }, "lint-staged": { "src/**/*.ts": [ From a1d9b5a7a9e15194eb5a3624e8570cf5585fcba2 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 11 May 2022 23:34:34 +0200 Subject: [PATCH 066/162] Add nginx gateway and make targets to run prod version of the application locally --- .gitignore | 2 ++ Makefile | 25 +++++++++++++++ hack/gateway/Dockerfile | 5 +++ hack/gateway/Makefile | 12 +++++++ hack/gateway/certificates/localhost.conf | 25 +++++++++++++++ hack/gateway/config/api_conf.d/api.conf | 3 ++ hack/gateway/config/api_conf.d/web.conf | 3 ++ hack/gateway/config/gateway.conf | 22 +++++++++++++ hack/gateway/config/nginx.conf | 29 +++++++++++++++++ modules/Makefile | 11 +++++++ modules/api/Dockerfile | 40 ++++++++++++++++++++++++ modules/web/Dockerfile | 40 ++++++++++++++++++++++++ modules/web/Makefile | 4 +++ modules/web/package.json | 2 +- 14 files changed, 222 insertions(+), 1 deletion(-) create mode 100644 hack/gateway/Dockerfile create mode 100644 hack/gateway/Makefile create mode 100644 hack/gateway/certificates/localhost.conf create mode 100644 hack/gateway/config/api_conf.d/api.conf create mode 100644 hack/gateway/config/api_conf.d/web.conf create mode 100644 hack/gateway/config/gateway.conf create mode 100644 hack/gateway/config/nginx.conf create mode 100644 modules/api/Dockerfile create mode 100644 modules/web/Dockerfile diff --git a/.gitignore b/.gitignore index 15d7c77faf33..a16bfc8e6e7a 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ coverage/ cypress/screenshots cypress/videos *.swp +**/*.crt +**/*.key diff --git a/Makefile b/Makefile index ebe134397cc6..0bcff9143f74 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,7 @@ GOARCH ?= $(shell go env GOARCH) GOPATH ?= $(shell go env GOPATH) ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules +GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt AIR_BINARY := $(shell which air) @@ -51,10 +52,34 @@ serve: $(PRE) serve-https: $(PRE) @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve-https +.PHONY: run +run: build-docker + docker run --rm -p 8001:8001 --net dashboard --name dashboard-web -d dashboard-web --locale-config /public/locale_conf.json --auto-generate-certificates + docker run --rm -p 9000:9000 -v $(KUBECONFIG):/config --net dashboard --name dashboard-api -d dashboard-api --kubeconfig config --auto-generate-certificates + docker run --rm -p 443:443 --net dashboard --name gateway -d gateway + +.PHONY: build-docker +build-docker: --ensure-docker-network build + @docker build -f hack/gateway/Dockerfile -t gateway . + @docker build -f modules/api/Dockerfile --build-arg BUILDPLATFORM=linux/amd64 -t dashboard-api . + @docker build -f modules/web/Dockerfile --build-arg BUILDPLATFORM=linux/amd64 -t dashboard-web . + +.PHONY: build +build: + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) build + .PHONY: --ensure-tools --ensure-tools: @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY)/tools install +.PHONY: --ensure-docker-network +--ensure-docker-network: + @docker network create dashboard || true + +.PHONY: --ensure-certificates +--ensure-certificates: + @$(MAKE) --no-print-directory -C $(GATEWAY_DIRECTORY) generate-certificates + #.PHONY: ensure-codegen #ensure-codegen: ensure-go # go get -d k8s.io/code-generator@$(CODEGEN_VERSION) diff --git a/hack/gateway/Dockerfile b/hack/gateway/Dockerfile new file mode 100644 index 000000000000..16b2b5b923db --- /dev/null +++ b/hack/gateway/Dockerfile @@ -0,0 +1,5 @@ +FROM nginx + +COPY hack/gateway/config /etc/nginx +COPY .dist/certificates/private.key /etc/ssl/private/localhost.key +COPY .dist/certificates/public.crt /etc/ssl/certs/localhost.crt diff --git a/hack/gateway/Makefile b/hack/gateway/Makefile new file mode 100644 index 000000000000..d996b47d7dfa --- /dev/null +++ b/hack/gateway/Makefile @@ -0,0 +1,12 @@ +GATEWAY_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +ROOT_DIRECTORY = $(GATEWAY_DIRECTORY)/../.. +CERTIFICATES_OUT_DIRECTORY = $(ROOT_DIRECTORY)/.dist/certificates +CERTIFICATES_DIRECTORY = $(GATEWAY_DIRECTORY)/certificates + +.PHONY: generate-certificates +generate-certificates: --ensure-dir + @openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout $(CERTIFICATES_OUT_DIRECTORY)/private.key -out $(CERTIFICATES_OUT_DIRECTORY)/public.crt -config $(CERTIFICATES_DIRECTORY)/localhost.conf + +.PHONY: --ensure-dir +--ensure-dir: + mkdir -p $(CERTIFICATES_OUT_DIRECTORY) diff --git a/hack/gateway/certificates/localhost.conf b/hack/gateway/certificates/localhost.conf new file mode 100644 index 000000000000..1560721611b0 --- /dev/null +++ b/hack/gateway/certificates/localhost.conf @@ -0,0 +1,25 @@ +[req] +default_bits = 2048 +default_keyfile = localhost.key +distinguished_name = req_distinguished_name +req_extensions = req_ext +x509_extensions = v3_ca +prompt = no + +[req_distinguished_name] +C = PL +ST = Mazowieckie +L = Warszawa +O = localhost +OU = Development +CN = localhost + +[req_ext] +subjectAltName = @alt_names + +[v3_ca] +subjectAltName = @alt_names + +[alt_names] +DNS.1 = localhost +DNS.2 = 127.0.0.1 diff --git a/hack/gateway/config/api_conf.d/api.conf b/hack/gateway/config/api_conf.d/api.conf new file mode 100644 index 000000000000..8d7d80d28895 --- /dev/null +++ b/hack/gateway/config/api_conf.d/api.conf @@ -0,0 +1,3 @@ +location /api/v1 { + proxy_pass https://dashboard-api:9001; +} diff --git a/hack/gateway/config/api_conf.d/web.conf b/hack/gateway/config/api_conf.d/web.conf new file mode 100644 index 000000000000..08880e2fa534 --- /dev/null +++ b/hack/gateway/config/api_conf.d/web.conf @@ -0,0 +1,3 @@ +location / { + proxy_pass https://dashboard-web:8001; +} diff --git a/hack/gateway/config/gateway.conf b/hack/gateway/config/gateway.conf new file mode 100644 index 000000000000..3331a135a9e0 --- /dev/null +++ b/hack/gateway/config/gateway.conf @@ -0,0 +1,22 @@ +server { + access_log /var/log/nginx/api_access.log main; # Each API may also log to a + # separate file + + listen 443 ssl; + server_name localhost; + + # TLS config + ssl_certificate /etc/ssl/certs/localhost.crt; + ssl_certificate_key /etc/ssl/private/localhost.key; + ssl_session_cache shared:SSL:10m; + ssl_session_timeout 5m; + ssl_ciphers HIGH:!aNULL:!MD5; + ssl_protocols TLSv1.2 TLSv1.3; + + # API definitions, one per file + include api_conf.d/*.conf; + + # Error responses + proxy_intercept_errors on; # Do not send backend errors to client + default_type application/json; # If no content-type, assume JSON +} diff --git a/hack/gateway/config/nginx.conf b/hack/gateway/config/nginx.conf new file mode 100644 index 000000000000..1eb33c17970e --- /dev/null +++ b/hack/gateway/config/nginx.conf @@ -0,0 +1,29 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +load_module /etc/nginx/modules/ngx_http_js_module.so; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + + keepalive_timeout 65; + + include /etc/nginx/gateway.conf; # All API gateway configuration + include /etc/nginx/conf.d/*.conf; # Regular web traffic +} diff --git a/modules/Makefile b/modules/Makefile index b473409904bd..75824c996c14 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -10,6 +10,9 @@ serve: --serve-api --serve-web .PHONY: serve-https serve-https: --serve-api-https --serve-web-https +.PHONY: build +build: --build-api --build-web + .PHONY: --serve-api --serve-api: @$(MAKE) --no-print-directory -C $(API_DIRECTORY) serve @@ -25,3 +28,11 @@ serve-https: --serve-api-https --serve-web-https .PHONY: --serve-web-https --serve-web-https: @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) serve-https + +.PHONY: --build-api +--build-api: + @$(MAKE) --no-print-directory -C $(API_DIRECTORY) build + +.PHONY: --build-web +--build-web: + @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) build diff --git a/modules/api/Dockerfile b/modules/api/Dockerfile new file mode 100644 index 000000000000..f3eae0a79883 --- /dev/null +++ b/modules/api/Dockerfile @@ -0,0 +1,40 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main Dockerfile of the project. It creates an image that serves the application. This image should +# be built from the dist directory. + +ARG BUILDPLATFORM + +FROM --platform=$BUILDPLATFORM ubuntu:20.04 as builder + +# Create a nonroot user for final image +RUN useradd -u 10001 nonroot + +# Scratch can be used as the base image because the backend is compiled to include all +# its dependencies. +FROM --platform=$BUILDPLATFORM scratch as final + +# Add all files from current working directory to the root of the image, i.e., copy dist directory +# layout to the root directory. +# TODO: support multi-arch build +ADD .dist/api/ / + +# Copy nonroot user +COPY --from=builder /etc/passwd /etc/passwd +USER nonroot + +# The port that the application listens on. +EXPOSE 9000 9001 +ENTRYPOINT ["/dashboard-api", "--insecure-bind-address=0.0.0.0", "--bind-address=0.0.0.0"] diff --git a/modules/web/Dockerfile b/modules/web/Dockerfile new file mode 100644 index 000000000000..5fa523c20678 --- /dev/null +++ b/modules/web/Dockerfile @@ -0,0 +1,40 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main Dockerfile of the project. It creates an image that serves the application. This image should +# be built from the dist directory. + +ARG BUILDPLATFORM + +FROM --platform=$BUILDPLATFORM ubuntu:20.04 as builder + +# Create a nonroot user for final image +RUN useradd -u 10001 nonroot + +# Scratch can be used as the base image because the backend is compiled to include all +# its dependencies. +FROM --platform=$BUILDPLATFORM scratch as final + +# Add all files from current working directory to the root of the image, i.e., copy dist directory +# layout to the root directory. +# TODO: support multi-arch build +ADD .dist/web/amd64 / + +# Copy nonroot user +COPY --from=builder /etc/passwd /etc/passwd +USER nonroot + +# The port that the application listens on. +EXPOSE 8000 8001 +ENTRYPOINT ["/dashboard", "--insecure-bind-address=0.0.0.0", "--bind-address=0.0.0.0"] diff --git a/modules/web/Makefile b/modules/web/Makefile index 31589066abf1..a2076e3a34fa 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -18,6 +18,10 @@ serve: $(PRE) --serve-go --serve-angular .PHONY: serve-https serve-https: $(PRE) --serve-go-https --serve-angular-https +.PHONY: build +build: $(PRE) + scripts/build.sh + .PHONY: --serve-go --serve-go: @go run k8s.io/dashboard/web \ diff --git a/modules/web/package.json b/modules/web/package.json index 9d6a655dac87..c53eef560758 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -16,7 +16,7 @@ "start:https": "make serve-https", "start:prod": "npm run ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", "start:prod:https": "npm run ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", - "build:prod": "scripts/build.sh", + "build:prod": "make build", "start:e2e": "concurrently \"make serve-backend\" \"npm run start:frontend\"", "check": "make check", "fix": "make fix", From 96b763d6861bc77d4c6e99dedba49c20ed61db1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 May 2022 16:34:28 -0700 Subject: [PATCH 067/162] Bump github/codeql-action from 2.1.9 to 2.1.10 (#7095) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.9 to 2.1.10. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/7502d6e991ca767d2db617bfd823a1ed925a0d59...75b4f1c4669133dc294b06c2794e969efa2e5316) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d1c59a9428eb..be5deb49ac96 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -35,12 +35,12 @@ jobs: uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - name: Initialize CodeQL - uses: github/codeql-action/init@7502d6e991ca767d2db617bfd823a1ed925a0d59 # v1 + uses: github/codeql-action/init@75b4f1c4669133dc294b06c2794e969efa2e5316 # v1 with: languages: ${{ matrix.language }} - name: Autobuild - uses: github/codeql-action/autobuild@7502d6e991ca767d2db617bfd823a1ed925a0d59 # v1 + uses: github/codeql-action/autobuild@75b4f1c4669133dc294b06c2794e969efa2e5316 # v1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@7502d6e991ca767d2db617bfd823a1ed925a0d59 # v1 + uses: github/codeql-action/analyze@75b4f1c4669133dc294b06c2794e969efa2e5316 # v1 From 2e1731eba63564842fb37c9206007e9580c097b8 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Thu, 12 May 2022 09:21:49 +0200 Subject: [PATCH 068/162] Fix path --- modules/tools/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tools/Makefile b/modules/tools/Makefile index 95517d4d742f..bdafe4e0cfb1 100644 --- a/modules/tools/Makefile +++ b/modules/tools/Makefile @@ -37,7 +37,7 @@ endif install-air: ifndef AIR_BINARY @echo "[tools] downloading air..." - @go install github.com/apache/skywalking-eyes/cmd/license-eye + @go install github.com/cosmtrek/air else @echo "[tools] air already exists" endif From bd603945d9291b6fef50a53b54788e0f424eec41 Mon Sep 17 00:00:00 2001 From: ziyi-xie <92832323+ziyi-xie@users.noreply.github.com> Date: Thu, 12 May 2022 16:57:15 +0900 Subject: [PATCH 069/162] Update Japanese translation(Line 2888-5094) (#7096) * Update Japanese translation(Line 2888-5094) * modified Japanese translation(Line 2888-5094) * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: atoato88 * Update i18n/ja/messages.ja.xlf Co-authored-by: Shu Muto * Update i18n/ja/messages.ja.xlf Co-authored-by: Shu Muto * Update i18n/ja/messages.ja.xlf Co-authored-by: Shu Muto Co-authored-by: atoato88 Co-authored-by: Shu Muto --- i18n/ja/messages.ja.xlf | 172 ++++++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/i18n/ja/messages.ja.xlf b/i18n/ja/messages.ja.xlf index dabfbd58b0c0..5659cceda554 100644 --- a/i18n/ja/messages.ja.xlf +++ b/i18n/ja/messages.ja.xlf @@ -226,7 +226,7 @@
will be updated to reflect the desired replicas count. - は、目標のレプリカ数になるように更新されます。 + は、目標のレプリカ数になるように更新されます。 src/app/frontend/common/dialogs/scaleresource/template.html 20 @@ -334,7 +334,7 @@ Trigger a - のトリガー + のトリガー src/app/frontend/common/dialogs/triggerresource/template.html 18 @@ -1371,7 +1371,7 @@ Ingress Classes - Ingress Classes + イングレスクラス src/app/frontend/common/components/resourcelist/ingressclass/template.html 21 @@ -1383,7 +1383,7 @@ Controller - Controller + コントローラー src/app/frontend/common/components/resourcelist/ingressclass/template.html 55 @@ -1615,7 +1615,7 @@ bytes - バイト + バイト src/app/frontend/common/components/container/template.html 140 @@ -2921,7 +2921,7 @@ Cluster Role Bindings - Cluster Role Bindings + クラスターロールバインディング src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html 21 @@ -2933,7 +2933,7 @@ Config Maps - Config Maps + コンフィグマップ src/app/frontend/common/components/resourcelist/configmap/template.html 21 @@ -2945,7 +2945,7 @@ Custom Resource Definitions - Custom Resource Definitions + カスタムリソース定義 src/app/frontend/common/components/resourcelist/crd/template.html 21 @@ -2957,7 +2957,7 @@ Settings - Settings + 設定 src/app/frontend/index.messages.ts 67 @@ -3001,7 +3001,7 @@ Edit - Edit + 編集 src/app/frontend/common/components/list/column/menu/template.html 49 @@ -3013,7 +3013,7 @@ Actions - Actions + 操作 src/app/frontend/common/components/list/column/menu/template.html 66 @@ -3037,7 +3037,7 @@ Replication Controllers - Replication Controllers + レプリケーションコントローラー src/app/frontend/common/components/resourcelist/replicationcontroller/template.html 21 @@ -3053,7 +3053,7 @@ Workload Status - Workload Status + ワークロード状態 src/app/frontend/common/components/workloadstatus/template.html 20 @@ -3061,7 +3061,7 @@ Stateful Sets - Stateful Sets + ステートフルセット src/app/frontend/common/components/resourcelist/statefulset/template.html 24 @@ -3077,7 +3077,7 @@ Roles - Roles + ロール src/app/frontend/common/components/resourcelist/role/template.html 21 @@ -3089,7 +3089,7 @@ Role Bindings - Role Bindings + ロールバインディング src/app/frontend/common/components/resourcelist/rolebinding/template.html 21 @@ -3101,7 +3101,7 @@ Services - Services + サービス src/app/frontend/common/components/resourcelist/service/template.html 21 @@ -3113,7 +3113,7 @@ Config And Storage - Config And Storage + 設定とストレージ src/app/frontend/index.messages.ts 51 @@ -3141,7 +3141,7 @@ Subjects - Subjects + 対象 src/app/frontend/common/components/subject/template.html 20 @@ -3177,7 +3177,7 @@ Service Accounts - Service Accounts + サービスアカウント src/app/frontend/common/components/resourcelist/serviceaccount/template.html 21 @@ -3189,7 +3189,7 @@ Storage Classes - Storage Classes + ストレージクラス src/app/frontend/common/components/resourcelist/storageclass/template.html 21 @@ -3201,7 +3201,7 @@ Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. + グローバル設定はコンフィグマップに保存されるので、アプリのすべてのインスタンスに適用されます。 src/app/frontend/settings/global/template.html 23 @@ -3237,7 +3237,7 @@ Cluster - Cluster + クラスター src/app/frontend/index.messages.ts 56 @@ -3266,7 +3266,7 @@ SE Linux User - SE Linux User + SE Linux ユーザー src/app/frontend/common/components/securitycontext/template.html 23 @@ -3274,7 +3274,7 @@ SE Linux Role - SE Linux Role + SE Linux ロール src/app/frontend/common/components/securitycontext/template.html 28 @@ -3282,7 +3282,7 @@ SE Linux Type - SE Linux Type + SE Linux タイプ src/app/frontend/common/components/securitycontext/template.html 33 @@ -3290,7 +3290,7 @@ SE Linux Level - SE Linux Level + SE Linux レベル src/app/frontend/common/components/securitycontext/template.html 38 @@ -3298,7 +3298,7 @@ Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name + Windows GMSA クレデンシャル仕様名 src/app/frontend/common/components/securitycontext/template.html 44 @@ -3306,7 +3306,7 @@ Windows GMSA Credential Spec - Windows GMSA Credential Spec + Windows GMSA クレデンシャル仕様 src/app/frontend/common/components/securitycontext/template.html 49 @@ -3314,7 +3314,7 @@ Windows Run as User - Windows Run as User + Windows 実行ユーザー src/app/frontend/common/components/securitycontext/template.html 54 @@ -3322,7 +3322,7 @@ Run as User - Run as User + ユーザーとして実行 src/app/frontend/common/components/securitycontext/template.html 60 @@ -3330,7 +3330,7 @@ Run as Group - Run as Group + グループとして実行 src/app/frontend/common/components/securitycontext/template.html 65 @@ -3338,7 +3338,7 @@ Run as Non-Root - Run as Non-Root + 非 root ユーザーとして実行 src/app/frontend/common/components/securitycontext/template.html 70 @@ -3346,7 +3346,7 @@ Seccomp Profile Type - Seccomp Profile Type + Seccomp プロファイルタイプ src/app/frontend/common/components/securitycontext/template.html 76 @@ -3354,7 +3354,7 @@ Seccomp Localhost Profile - Seccomp Localhost Profile + Seccomp ローカルホストプロファイル src/app/frontend/common/components/securitycontext/template.html 81 @@ -3362,7 +3362,7 @@ Added Capabilities - Added Capabilities + 追加機能 src/app/frontend/common/components/securitycontext/template.html 88 @@ -3370,7 +3370,7 @@ Dropped Capabilities - Dropped Capabilities + 廃棄機能 src/app/frontend/common/components/securitycontext/template.html 93 @@ -3378,7 +3378,7 @@ Privileged - Privileged + 特権 src/app/frontend/common/components/securitycontext/template.html 98 @@ -3386,7 +3386,7 @@ Read Only Filesystem - Read Only Filesystem + 読み取り専用ファイルシステム src/app/frontend/common/components/securitycontext/template.html 103 @@ -3394,7 +3394,7 @@ Allow Privilege Escalation - Allow Privilege Escalation + 特権昇格許可 src/app/frontend/common/components/securitycontext/template.html 108 @@ -3402,7 +3402,7 @@ Proc Mount - Proc Mount + Proc マウント src/app/frontend/common/components/securitycontext/template.html 113 @@ -3410,7 +3410,7 @@ Filesystem Group - Filesystem Group + ファイルシステムグループ src/app/frontend/common/components/securitycontext/template.html 120 @@ -3418,7 +3418,7 @@ Filesystem Group Change Policy - Filesystem Group Change Policy + ファイルシステムグループポリシー変更 src/app/frontend/common/components/securitycontext/template.html 125 @@ -3426,7 +3426,7 @@ Supplemental Groups - Supplemental Groups + 補足グループ src/app/frontend/common/components/securitycontext/template.html 131 @@ -3434,7 +3434,7 @@ Sysctls - Sysctls + Sysctl 引数 src/app/frontend/common/components/securitycontext/template.html 139 @@ -3638,7 +3638,7 @@ Ingress Classes - Ingress Classes + イングレスクラス src/app/frontend/chrome/nav/template.html 77 @@ -3727,7 +3727,7 @@ Edit a resource - Edit a resource + リソースを編集する src/app/frontend/common/dialogs/editresource/template.html 18 @@ -3769,7 +3769,7 @@ There are no notifications - There are no notifications + 通知はありません src/app/frontend/chrome/notifications/template.html 63 @@ -3785,7 +3785,7 @@ Kubernetes Dashboard - Kubernetes Dashboard + Kubernetes Dashboard src/app/frontend/login/template.html 23 @@ -3810,7 +3810,7 @@ Delete a resource - Delete a resource + リソースを削除する src/app/frontend/common/dialogs/deleteresource/template.html 18 @@ -3818,7 +3818,7 @@ Delete - Delete + 削除 src/app/frontend/common/components/list/column/menu/template.html 57 @@ -3957,7 +3957,7 @@ Workloads - Workloads + ワークロード src/app/frontend/index.messages.ts 38 @@ -3989,7 +3989,7 @@ Resource information - Resource information + リソース情報 src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html 22 @@ -4093,7 +4093,7 @@ About - About + Kubernetes Dashboard について src/app/frontend/about/template.html 19 @@ -4105,7 +4105,7 @@ General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters + Kubernetes クラスター用の汎用 Web ベース UI src/app/frontend/about/template.html 30 @@ -4163,7 +4163,7 @@ Create a new image pull secret - Create a new image pull secret + 新しいイメージ取得用シークレットを作成 src/app/frontend/create/from/form/createsecret/template.html 18 @@ -4179,7 +4179,7 @@ Suffix '' not recognized. - Suffix '' not recognized. + サフィックス '' が認識できません。 src/app/frontend/common/components/graph/helper.ts 58 @@ -4187,7 +4187,7 @@ Rolling update strategy - Rolling update strategy + ローリングアップデートストラテジー src/app/frontend/resource/workloads/deployment/detail/template.html 82 @@ -4340,7 +4340,7 @@ Create - Create + 作成 src/app/frontend/create/from/form/createsecret/template.html 92 @@ -4352,7 +4352,7 @@ Create - Create + 作成 src/app/frontend/create/from/form/createnamespace/template.html 67 @@ -4718,7 +4718,7 @@ Preview - Preview + プレビュー src/app/frontend/create/from/form/template.html @@ -4762,7 +4762,7 @@ Global settings - Global settings + グローバル設定 src/app/frontend/settings/global/template.html 21 @@ -4825,7 +4825,7 @@ Upload - Upload + アップロード src/app/frontend/create/from/file/template.html @@ -4835,7 +4835,7 @@ Cancel - Cancel + キャンセル src/app/frontend/create/from/file/template.html @@ -4852,7 +4852,7 @@ Running: - Running: + 稼働中: src/app/frontend/overview/helper.ts 32 @@ -4860,7 +4860,7 @@ Suspended: - Suspended: + 休止中: src/app/frontend/overview/helper.ts 40 @@ -4868,7 +4868,7 @@ Failed: - Failed: + 失敗: src/app/frontend/overview/helper.ts 47 @@ -4880,7 +4880,7 @@ Pending: - Pending: + 待機中: src/app/frontend/overview/helper.ts 51 @@ -4892,7 +4892,7 @@ Succeeded: - Succeeded: + 成功: src/app/frontend/overview/helper.ts 55 @@ -4912,7 +4912,7 @@ iSCSI Qualified Name - iSCSI Qualified Name + iSCSI 修飾名 src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 280 @@ -4920,7 +4920,7 @@ iSCSI target lun number - iSCSI target lun number + iSCSI ターゲット lun 番号 src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 292 @@ -4928,7 +4928,7 @@ Target portal - Target portal + ターゲットポータル src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 298 @@ -4936,7 +4936,7 @@ Server - Server + サーバー src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 312 @@ -4944,7 +4944,7 @@ Keyring - Keyring + キーリング src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 350 @@ -4952,7 +4952,7 @@ Monitors - Monitors + モニター src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 356 @@ -4960,7 +4960,7 @@ Pool - Pool + プール src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 365 @@ -4968,7 +4968,7 @@ Secret reference name - Secret reference name + シークレットリファレンス名 src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 377 @@ -4976,7 +4976,7 @@ User - User + ユーザー src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html 383 @@ -4984,7 +4984,7 @@ Ingress Class Name - Ingress Class Name + イングレスクラス名 src/app/frontend/resource/discovery/ingress/detail/template.html 29 @@ -4992,7 +4992,7 @@ Default Backend - Default Backend + デフォルトバックエンド src/app/frontend/resource/discovery/ingress/detail/template.html 49 @@ -5000,7 +5000,7 @@ Service Name - Service Name + サービス名 src/app/frontend/resource/discovery/ingress/detail/template.html 55 @@ -5008,7 +5008,7 @@ Service Port Name - Service Port Name + サービスポート名 src/app/frontend/resource/discovery/ingress/detail/template.html 61 @@ -5016,7 +5016,7 @@ Service Port Number - Service Port Number + サービスポート番号 src/app/frontend/resource/discovery/ingress/detail/template.html 67 @@ -5024,7 +5024,7 @@ - + src/app/frontend/resource/discovery/ingress/detail/template.html 73 @@ -5032,7 +5032,7 @@ Label Selector - Label Selector + ラベルセレクター src/app/frontend/resource/workloads/replicationcontroller/detail/template.html 30 @@ -5044,7 +5044,7 @@ Init images - Init images + 初期イメージ src/app/frontend/resource/workloads/daemonset/detail/template.html 48 From bd442fdb58cf981f939c9e88f3d00b861e2a1ab2 Mon Sep 17 00:00:00 2001 From: David Roth Date: Wed, 18 May 2022 12:56:53 +0200 Subject: [PATCH 070/162] Update messages.de.xlf (#7117) Fixed typo in german translation for community. #7113 --- i18n/de/messages.de.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/de/messages.de.xlf b/i18n/de/messages.de.xlf index 2ca1af9805bb..5bff3251081a 100644 --- a/i18n/de/messages.de.xlf +++ b/i18n/de/messages.de.xlf @@ -4108,7 +4108,7 @@ Kubernetes Dashboard is made possible by the Dashboard community as an open source project. Das Kubernetes-Dashboard wird ermöglicht durch die Dashboard - Comnunity als + Community als Open-Source-Projekt. From 03908ba45c3c58b295ee48277cb6c6e147762081 Mon Sep 17 00:00:00 2001 From: Shu Muto Date: Tue, 31 May 2022 19:06:53 +0900 Subject: [PATCH 071/162] Bump angular staffs to 13.3.5 (#7053) cli and build-angular were still 13.3.4. --- package-lock.json | 372 +++++++++++++++++++++++----------------------- package.json | 30 ++-- 2 files changed, 201 insertions(+), 201 deletions(-) diff --git a/package-lock.json b/package-lock.json index 202a94b75124..051c2d29fdb1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,18 +10,18 @@ "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@angular/animations": "13.3.4", - "@angular/cdk": "13.3.4", - "@angular/common": "13.3.4", - "@angular/compiler": "13.3.4", - "@angular/core": "13.3.4", + "@angular/animations": "13.3.5", + "@angular/cdk": "13.3.5", + "@angular/common": "13.3.5", + "@angular/compiler": "13.3.5", + "@angular/core": "13.3.5", "@angular/flex-layout": "13.0.0-beta.38", - "@angular/forms": "13.3.4", - "@angular/localize": "13.3.4", - "@angular/material": "13.3.4", - "@angular/platform-browser": "13.3.4", - "@angular/platform-browser-dynamic": "13.3.4", - "@angular/router": "13.3.4", + "@angular/forms": "13.3.5", + "@angular/localize": "13.3.5", + "@angular/material": "13.3.5", + "@angular/platform-browser": "13.3.5", + "@angular/platform-browser-dynamic": "13.3.5", + "@angular/router": "13.3.5", "@swimlane/ngx-charts": "20.1.0", "ace-builds": "1.4.14", "core-js": "3.22.4", @@ -49,10 +49,10 @@ "zone.js": "0.11.5" }, "devDependencies": { - "@angular-devkit/build-angular": "13.3.3", - "@angular/cli": "13.3.3", - "@angular/compiler-cli": "13.3.4", - "@angular/language-service": "13.3.4", + "@angular-devkit/build-angular": "13.3.4", + "@angular/cli": "13.3.4", + "@angular/compiler-cli": "13.3.5", + "@angular/language-service": "13.3.5", "@babel/core": "7.17.10", "@babel/preset-env": "7.17.10", "@babel/register": "7.17.7", @@ -130,12 +130,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1303.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.3.tgz", - "integrity": "sha512-WRVVBCzLlMqRZVhZXGASHzNJK/OCAvl/DTGhlLuJDIjF7lVGnXHjtwNM8ilYZq949OnC3fly5Z61TfhbN/OHCg==", + "version": "0.1303.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz", + "integrity": "sha512-d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.3", + "@angular-devkit/core": "13.3.4", "rxjs": "6.6.7" }, "engines": { @@ -145,15 +145,15 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.3.tgz", - "integrity": "sha512-iEpNF3tF+9Gw+qQKL63fPFHIvWokJdrgVU4GzENQ5QeL8zk8iYTEbH3jWogq5tWy5+VmNP/mKkasq9i78lRiYw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.4.tgz", + "integrity": "sha512-z74cmDi2V+5XpvyZKFlUXxvQ446shxyZk5aGdToG6n+0/IJWkDXSiryQkCo8nblGMze7HKf75i3DsGWYQZLDnQ==", "dev": true, "dependencies": { "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1303.3", - "@angular-devkit/build-webpack": "0.1303.3", - "@angular-devkit/core": "13.3.3", + "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/build-webpack": "0.1303.4", + "@angular-devkit/core": "13.3.4", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -164,7 +164,7 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.3", + "@ngtools/webpack": "13.3.4", "ansi-colors": "4.1.1", "babel-loader": "8.2.3", "babel-plugin-istanbul": "6.1.1", @@ -817,12 +817,12 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1303.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.3.tgz", - "integrity": "sha512-v/z/YgwrAzYn1LfN9OHNxqcThyyg4LLx28hmHzDs5gyDShAK189y34EoT9uQ+lCyQrPVhP7UKACCxCdSwOEJiA==", + "version": "0.1303.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.4.tgz", + "integrity": "sha512-3F10P9XshRXkI/PEmJUcgP4yK4sobaoInQfifzPNOemrS5nXs8y3uEiQuxzyswYx/dymZLV+19sV/eh1WfXnBA==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1303.3", + "@angular-devkit/architect": "0.1303.4", "rxjs": "6.6.7" }, "engines": { @@ -836,9 +836,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.3.tgz", - "integrity": "sha512-lfQwY9LuVRwcNVzGmyPcwOpb3CAobP4T+c3joR1LLIPS5lzcM0oeCE2bon9N52Ktn4Q/pH98dVtjWL+jSrUADw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz", + "integrity": "sha512-gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==", "dev": true, "dependencies": { "ajv": "8.9.0", @@ -863,12 +863,12 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.3.tgz", - "integrity": "sha512-S8UNlw6IoR/kxBYbiwesuA7oJGSnFkD6bJwVLhpHdT6Sqrz2/IrjHcNgTJRAvhsOKIbfDtMtXRzl/PUdWEfgyw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz", + "integrity": "sha512-gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.3", + "@angular-devkit/core": "13.3.4", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -881,9 +881,9 @@ } }, "node_modules/@angular/animations": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.4.tgz", - "integrity": "sha512-cXjjbzYR2hda9BDAu0teJUVbbA03jJTK53vIYnDLIAvN20YRPo9LqINxpUlbAzH6hE8v5xF2LLnAXcaQROVpIw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.5.tgz", + "integrity": "sha512-BYXX80N1hxkATWqv2IZddfKvqxomktxH5fREv+KjwIYFkyK9KBnRBILqynyIJaXXut5KE6QNOf1zWEZxdOnc3A==", "dependencies": { "tslib": "^2.3.0" }, @@ -891,13 +891,13 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.3.4" + "@angular/core": "13.3.5" } }, "node_modules/@angular/cdk": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.4.tgz", - "integrity": "sha512-im4LKxJaIuqFVzmtf650PoiYsn/SZlvBV2zEgzusK8HwQ24C1Lya7NQSApwl8k43h4eKO1OvUKBjqL5uDgEQag==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.5.tgz", + "integrity": "sha512-fA99fGgybup9ezyB/IzOa9Mk8g8LjejkqikLnC3mAeQ0lROOO7Vf9Rp1v7/ahe2lALTUbA1bzJeXzQYaffkIiA==", "dependencies": { "tslib": "^2.3.0" }, @@ -911,16 +911,16 @@ } }, "node_modules/@angular/cli": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.3.tgz", - "integrity": "sha512-a+nnzFP1FfnypXpAhrHbIBaJcxzegWLZUvVzJQwt6P2z60IoHdvTVmyNbY89qI0LE1SrAokEUO1zW3Yjmu7fUw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz", + "integrity": "sha512-4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==", "dev": true, "hasInstallScript": true, "dependencies": { - "@angular-devkit/architect": "0.1303.3", - "@angular-devkit/core": "13.3.3", - "@angular-devkit/schematics": "13.3.3", - "@schematics/angular": "13.3.3", + "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/core": "13.3.4", + "@angular-devkit/schematics": "13.3.4", + "@schematics/angular": "13.3.4", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -962,9 +962,9 @@ } }, "node_modules/@angular/common": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.4.tgz", - "integrity": "sha512-vPZuUGWMXz6r30obBqH+iIG4Feq4YEK/4wUks7PEYGke8MXFPYsNKuHMhKCgYEhabD/4Mo4GEp3i18/3Kk72Mw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.5.tgz", + "integrity": "sha512-teG+itdlw2sOMwYeXkeFe8h32SsNqN0qHHz/v6I9qKHgCLkC/or8A7NtsoCwYSTymIEJJ7DZ1w9VWhM7DSYd1w==", "dependencies": { "tslib": "^2.3.0" }, @@ -972,14 +972,14 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.3.4", + "@angular/core": "13.3.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.4.tgz", - "integrity": "sha512-Yf1Dv2BVytjmv5Nnv05hUciUOH/UpKgXG1Ql5XwQG/qGV4eEs33PJBtGsUJTPuddxfRm72JMsbZcoRjVADqbcw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.5.tgz", + "integrity": "sha512-iSQlYevMk5glwZSXTXf2GytykqZWdK3Rr8heIvEPqd8n88MSB3w1KnDc1fnHLF950q/nUR9K+3r4wWPwc8J2IQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -988,9 +988,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", - "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.5.tgz", + "integrity": "sha512-H7A+MZcbB4g5fa6O4giYgrCG1h5whJfIxr4txDtDfolygzwRzqH1PSMfjW/jYyIpaH6XqXMSDHvbXRFGKstboA==", "dependencies": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -1012,7 +1012,7 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "13.3.4", + "@angular/compiler": "13.3.5", "typescript": ">=4.4.2 <4.7" } }, @@ -1028,9 +1028,9 @@ } }, "node_modules/@angular/core": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.4.tgz", - "integrity": "sha512-PqPwx9oaV0Bh0m0fdI2jtXUC6s04jfD4vyzB4sjEuRI9pRUnZ6M5hZ5Vn/KJVZyt411MevbJfqzUVf0W+GDZew==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.5.tgz", + "integrity": "sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q==", "dependencies": { "tslib": "^2.3.0" }, @@ -1058,9 +1058,9 @@ } }, "node_modules/@angular/forms": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.4.tgz", - "integrity": "sha512-QHyUXOKYITysaJJ4VnmBacE69oz0rw4G7Y2lhPb2V3a1XsWeO61SZEeGMfAWo7sLoDvi2MCEWNEhl1du4dK14A==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.5.tgz", + "integrity": "sha512-jCxxAwf4HkDmKE76/yQmTsbqW3jsxiKyPy32Nh6Bt4r/ww8VDv+sv5YdYNuvvZcuuQ70K+/EPnKFpQgYttvS8A==", "dependencies": { "tslib": "^2.3.0" }, @@ -1068,25 +1068,25 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.4", - "@angular/core": "13.3.4", - "@angular/platform-browser": "13.3.4", + "@angular/common": "13.3.5", + "@angular/core": "13.3.5", + "@angular/platform-browser": "13.3.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.4.tgz", - "integrity": "sha512-9k2q9TJaTG2QgIDNLUVOPCdzYRXLOw4aKiHTeMeIJOw4Zhp2dV7I4oX/aC/a1AN86JIO6m5nujeVf4SkK95WSw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.5.tgz", + "integrity": "sha512-IJawCyu4Zwk6GNPDkbSkY6sFYaBHtaHMwhaiRojrqiKA0n2bDNULLcHfYGSyA7UvkX8m9Nt0M5GaF66BIwuZSw==", "dev": true, "engines": { "node": "^12.20.0 || ^14.15.0 || >=16.10.0" } }, "node_modules/@angular/localize": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.4.tgz", - "integrity": "sha512-T55072wuH4jFweHA0cYhKaomitjxEpyVMro3QA9+SaBMy10yAP2Z1h1vA16A/vXxqVy8oSrmuda4UwMOwZv3Aw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.5.tgz", + "integrity": "sha512-0MmGvQSBZeKwsOBATWp7Y5rxyGW6OaszLtecKu32VVJSjoDN4M6uMHBMjVVe4IxbyJnbhlSPRSYL9hRFbOve0A==", "dependencies": { "@babel/core": "7.17.2", "glob": "7.2.0", @@ -1101,8 +1101,8 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "13.3.4", - "@angular/compiler-cli": "13.3.4" + "@angular/compiler": "13.3.5", + "@angular/compiler-cli": "13.3.5" } }, "node_modules/@angular/localize/node_modules/@ampproject/remapping": { @@ -1168,15 +1168,15 @@ } }, "node_modules/@angular/material": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.4.tgz", - "integrity": "sha512-jK9rWmBaPrE+3re6uIdyvG5DCzc47VUvnP1DqblNnpaa8GCKllb1cFRGqa5GPYB1/96d3wO+RPwzhC06qqV+yw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.5.tgz", + "integrity": "sha512-4+FCb6Tbre5SwhZRKfnuh8K+/o+DuCGisJOuk7lxdFKDGDPjsPDWYVrBDal1N70mO09z/ApwNjpsIjuRv79wpg==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^13.0.0 || ^14.0.0-0", - "@angular/cdk": "13.3.4", + "@angular/cdk": "13.3.5", "@angular/common": "^13.0.0 || ^14.0.0-0", "@angular/core": "^13.0.0 || ^14.0.0-0", "@angular/forms": "^13.0.0 || ^14.0.0-0", @@ -1185,9 +1185,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.4.tgz", - "integrity": "sha512-IjBOkjrIVIbbZCDQJRdel0FSDcExSLDgMxcCSQ6pKa6oR/t59BJpSpOhB1W9nRwLtvMmGYkS/oyLFsKk65UoYA==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.5.tgz", + "integrity": "sha512-DPV1J3h1ua4GI9PuXDr8IlzJoC/TR0A/onPTaE6IFOzs1r28vB+vWRRbZURXrTYeWzWVB/2R9tPOqFNoi3zlzA==", "dependencies": { "tslib": "^2.3.0" }, @@ -1195,9 +1195,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/animations": "13.3.4", - "@angular/common": "13.3.4", - "@angular/core": "13.3.4" + "@angular/animations": "13.3.5", + "@angular/common": "13.3.5", + "@angular/core": "13.3.5" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1206,9 +1206,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.4.tgz", - "integrity": "sha512-UApjgrL6B3QTdSYoCOPzMvFDmSewAHrLpreLYEmADutMWkD0ZcTPux4MJp8awT4P3l6wKzBeGJIKLlk8zsXmGQ==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.5.tgz", + "integrity": "sha512-Mko8/mRlcVsZJQ5zHfc/p7so/ZN16UMynTnksrD7cEgGxDuJosE8m+exqgoT03VCYaOjJtCFXSwdOb/8FOUDZQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -1216,16 +1216,16 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.4", - "@angular/compiler": "13.3.4", - "@angular/core": "13.3.4", - "@angular/platform-browser": "13.3.4" + "@angular/common": "13.3.5", + "@angular/compiler": "13.3.5", + "@angular/core": "13.3.5", + "@angular/platform-browser": "13.3.5" } }, "node_modules/@angular/router": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.4.tgz", - "integrity": "sha512-UuMAjWHoFKF8b9gFOiqL7fpVXjIr89BtxVES3yXReVq/IZJz9gWup6lYK3KMja+F8HZB8LBUMYgtqjS9iyLV/Q==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.5.tgz", + "integrity": "sha512-3yUNyBpUi0KUKP91a3dVQsr9Jfjs4wGxpiFYb3apc7lKT5R1LJqt2O0EchjOgvFyJ6TDOemdCAzKgvSRkDxpMw==", "dependencies": { "tslib": "^2.3.0" }, @@ -1233,9 +1233,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.4", - "@angular/core": "13.3.4", - "@angular/platform-browser": "13.3.4", + "@angular/common": "13.3.5", + "@angular/core": "13.3.5", + "@angular/platform-browser": "13.3.5", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3936,9 +3936,9 @@ "dev": true }, "node_modules/@ngtools/webpack": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.3.tgz", - "integrity": "sha512-O6EzafKfFuvI3Ju941u7ANs0mT7YDdChbVRhVECCPWOTm3Klr73js3bnCDzaJlxZNjzlG/KeUu5ghrhbMrHjSw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.4.tgz", + "integrity": "sha512-dNDNeAOwtpX5A7TTEsgDbkg4jTmAJHD96qLqcpJqfBg8nZ4mqn6E0HinX9HZKaCST1/75T6GsFo1Muc4MsHYgA==", "dev": true, "engines": { "node": "^12.20.0 || ^14.15.0 || >=16.10.0", @@ -4137,13 +4137,13 @@ } }, "node_modules/@schematics/angular": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.3.tgz", - "integrity": "sha512-kX5ghVCmWHcMN+g0pUaFuIJzwrXsVnK4bfid8DckU4EEtfFSv3UA5I1QNJRgpCPxTPhNEAk+3ePN8nzDSjdU+w==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz", + "integrity": "sha512-Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.3", - "@angular-devkit/schematics": "13.3.3", + "@angular-devkit/core": "13.3.4", + "@angular-devkit/schematics": "13.3.4", "jsonc-parser": "3.0.0" }, "engines": { @@ -23791,25 +23791,25 @@ } }, "@angular-devkit/architect": { - "version": "0.1303.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.3.tgz", - "integrity": "sha512-WRVVBCzLlMqRZVhZXGASHzNJK/OCAvl/DTGhlLuJDIjF7lVGnXHjtwNM8ilYZq949OnC3fly5Z61TfhbN/OHCg==", + "version": "0.1303.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz", + "integrity": "sha512-d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.3", + "@angular-devkit/core": "13.3.4", "rxjs": "6.6.7" } }, "@angular-devkit/build-angular": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.3.tgz", - "integrity": "sha512-iEpNF3tF+9Gw+qQKL63fPFHIvWokJdrgVU4GzENQ5QeL8zk8iYTEbH3jWogq5tWy5+VmNP/mKkasq9i78lRiYw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.4.tgz", + "integrity": "sha512-z74cmDi2V+5XpvyZKFlUXxvQ446shxyZk5aGdToG6n+0/IJWkDXSiryQkCo8nblGMze7HKf75i3DsGWYQZLDnQ==", "dev": true, "requires": { "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1303.3", - "@angular-devkit/build-webpack": "0.1303.3", - "@angular-devkit/core": "13.3.3", + "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/build-webpack": "0.1303.4", + "@angular-devkit/core": "13.3.4", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -23820,7 +23820,7 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.3", + "@ngtools/webpack": "13.3.4", "ansi-colors": "4.1.1", "babel-loader": "8.2.3", "babel-plugin-istanbul": "6.1.1", @@ -24278,19 +24278,19 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1303.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.3.tgz", - "integrity": "sha512-v/z/YgwrAzYn1LfN9OHNxqcThyyg4LLx28hmHzDs5gyDShAK189y34EoT9uQ+lCyQrPVhP7UKACCxCdSwOEJiA==", + "version": "0.1303.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.4.tgz", + "integrity": "sha512-3F10P9XshRXkI/PEmJUcgP4yK4sobaoInQfifzPNOemrS5nXs8y3uEiQuxzyswYx/dymZLV+19sV/eh1WfXnBA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1303.3", + "@angular-devkit/architect": "0.1303.4", "rxjs": "6.6.7" } }, "@angular-devkit/core": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.3.tgz", - "integrity": "sha512-lfQwY9LuVRwcNVzGmyPcwOpb3CAobP4T+c3joR1LLIPS5lzcM0oeCE2bon9N52Ktn4Q/pH98dVtjWL+jSrUADw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz", + "integrity": "sha512-gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==", "dev": true, "requires": { "ajv": "8.9.0", @@ -24302,12 +24302,12 @@ } }, "@angular-devkit/schematics": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.3.tgz", - "integrity": "sha512-S8UNlw6IoR/kxBYbiwesuA7oJGSnFkD6bJwVLhpHdT6Sqrz2/IrjHcNgTJRAvhsOKIbfDtMtXRzl/PUdWEfgyw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz", + "integrity": "sha512-gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.3", + "@angular-devkit/core": "13.3.4", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -24315,32 +24315,32 @@ } }, "@angular/animations": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.4.tgz", - "integrity": "sha512-cXjjbzYR2hda9BDAu0teJUVbbA03jJTK53vIYnDLIAvN20YRPo9LqINxpUlbAzH6hE8v5xF2LLnAXcaQROVpIw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.5.tgz", + "integrity": "sha512-BYXX80N1hxkATWqv2IZddfKvqxomktxH5fREv+KjwIYFkyK9KBnRBILqynyIJaXXut5KE6QNOf1zWEZxdOnc3A==", "requires": { "tslib": "^2.3.0" } }, "@angular/cdk": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.4.tgz", - "integrity": "sha512-im4LKxJaIuqFVzmtf650PoiYsn/SZlvBV2zEgzusK8HwQ24C1Lya7NQSApwl8k43h4eKO1OvUKBjqL5uDgEQag==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.5.tgz", + "integrity": "sha512-fA99fGgybup9ezyB/IzOa9Mk8g8LjejkqikLnC3mAeQ0lROOO7Vf9Rp1v7/ahe2lALTUbA1bzJeXzQYaffkIiA==", "requires": { "parse5": "^5.0.0", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.3.tgz", - "integrity": "sha512-a+nnzFP1FfnypXpAhrHbIBaJcxzegWLZUvVzJQwt6P2z60IoHdvTVmyNbY89qI0LE1SrAokEUO1zW3Yjmu7fUw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz", + "integrity": "sha512-4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1303.3", - "@angular-devkit/core": "13.3.3", - "@angular-devkit/schematics": "13.3.3", - "@schematics/angular": "13.3.3", + "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/core": "13.3.4", + "@angular-devkit/schematics": "13.3.4", + "@schematics/angular": "13.3.4", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -24370,25 +24370,25 @@ } }, "@angular/common": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.4.tgz", - "integrity": "sha512-vPZuUGWMXz6r30obBqH+iIG4Feq4YEK/4wUks7PEYGke8MXFPYsNKuHMhKCgYEhabD/4Mo4GEp3i18/3Kk72Mw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.5.tgz", + "integrity": "sha512-teG+itdlw2sOMwYeXkeFe8h32SsNqN0qHHz/v6I9qKHgCLkC/or8A7NtsoCwYSTymIEJJ7DZ1w9VWhM7DSYd1w==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.4.tgz", - "integrity": "sha512-Yf1Dv2BVytjmv5Nnv05hUciUOH/UpKgXG1Ql5XwQG/qGV4eEs33PJBtGsUJTPuddxfRm72JMsbZcoRjVADqbcw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.5.tgz", + "integrity": "sha512-iSQlYevMk5glwZSXTXf2GytykqZWdK3Rr8heIvEPqd8n88MSB3w1KnDc1fnHLF950q/nUR9K+3r4wWPwc8J2IQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", - "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.5.tgz", + "integrity": "sha512-H7A+MZcbB4g5fa6O4giYgrCG1h5whJfIxr4txDtDfolygzwRzqH1PSMfjW/jYyIpaH6XqXMSDHvbXRFGKstboA==", "requires": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -24413,9 +24413,9 @@ } }, "@angular/core": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.4.tgz", - "integrity": "sha512-PqPwx9oaV0Bh0m0fdI2jtXUC6s04jfD4vyzB4sjEuRI9pRUnZ6M5hZ5Vn/KJVZyt411MevbJfqzUVf0W+GDZew==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.5.tgz", + "integrity": "sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q==", "requires": { "tslib": "^2.3.0" } @@ -24429,23 +24429,23 @@ } }, "@angular/forms": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.4.tgz", - "integrity": "sha512-QHyUXOKYITysaJJ4VnmBacE69oz0rw4G7Y2lhPb2V3a1XsWeO61SZEeGMfAWo7sLoDvi2MCEWNEhl1du4dK14A==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.5.tgz", + "integrity": "sha512-jCxxAwf4HkDmKE76/yQmTsbqW3jsxiKyPy32Nh6Bt4r/ww8VDv+sv5YdYNuvvZcuuQ70K+/EPnKFpQgYttvS8A==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.4.tgz", - "integrity": "sha512-9k2q9TJaTG2QgIDNLUVOPCdzYRXLOw4aKiHTeMeIJOw4Zhp2dV7I4oX/aC/a1AN86JIO6m5nujeVf4SkK95WSw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.5.tgz", + "integrity": "sha512-IJawCyu4Zwk6GNPDkbSkY6sFYaBHtaHMwhaiRojrqiKA0n2bDNULLcHfYGSyA7UvkX8m9Nt0M5GaF66BIwuZSw==", "dev": true }, "@angular/localize": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.4.tgz", - "integrity": "sha512-T55072wuH4jFweHA0cYhKaomitjxEpyVMro3QA9+SaBMy10yAP2Z1h1vA16A/vXxqVy8oSrmuda4UwMOwZv3Aw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.5.tgz", + "integrity": "sha512-0MmGvQSBZeKwsOBATWp7Y5rxyGW6OaszLtecKu32VVJSjoDN4M6uMHBMjVVe4IxbyJnbhlSPRSYL9hRFbOve0A==", "requires": { "@babel/core": "7.17.2", "glob": "7.2.0", @@ -24501,33 +24501,33 @@ } }, "@angular/material": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.4.tgz", - "integrity": "sha512-jK9rWmBaPrE+3re6uIdyvG5DCzc47VUvnP1DqblNnpaa8GCKllb1cFRGqa5GPYB1/96d3wO+RPwzhC06qqV+yw==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.5.tgz", + "integrity": "sha512-4+FCb6Tbre5SwhZRKfnuh8K+/o+DuCGisJOuk7lxdFKDGDPjsPDWYVrBDal1N70mO09z/ApwNjpsIjuRv79wpg==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.4.tgz", - "integrity": "sha512-IjBOkjrIVIbbZCDQJRdel0FSDcExSLDgMxcCSQ6pKa6oR/t59BJpSpOhB1W9nRwLtvMmGYkS/oyLFsKk65UoYA==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.5.tgz", + "integrity": "sha512-DPV1J3h1ua4GI9PuXDr8IlzJoC/TR0A/onPTaE6IFOzs1r28vB+vWRRbZURXrTYeWzWVB/2R9tPOqFNoi3zlzA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.4.tgz", - "integrity": "sha512-UApjgrL6B3QTdSYoCOPzMvFDmSewAHrLpreLYEmADutMWkD0ZcTPux4MJp8awT4P3l6wKzBeGJIKLlk8zsXmGQ==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.5.tgz", + "integrity": "sha512-Mko8/mRlcVsZJQ5zHfc/p7so/ZN16UMynTnksrD7cEgGxDuJosE8m+exqgoT03VCYaOjJtCFXSwdOb/8FOUDZQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.4.tgz", - "integrity": "sha512-UuMAjWHoFKF8b9gFOiqL7fpVXjIr89BtxVES3yXReVq/IZJz9gWup6lYK3KMja+F8HZB8LBUMYgtqjS9iyLV/Q==", + "version": "13.3.5", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.5.tgz", + "integrity": "sha512-3yUNyBpUi0KUKP91a3dVQsr9Jfjs4wGxpiFYb3apc7lKT5R1LJqt2O0EchjOgvFyJ6TDOemdCAzKgvSRkDxpMw==", "requires": { "tslib": "^2.3.0" } @@ -26504,9 +26504,9 @@ "dev": true }, "@ngtools/webpack": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.3.tgz", - "integrity": "sha512-O6EzafKfFuvI3Ju941u7ANs0mT7YDdChbVRhVECCPWOTm3Klr73js3bnCDzaJlxZNjzlG/KeUu5ghrhbMrHjSw==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.4.tgz", + "integrity": "sha512-dNDNeAOwtpX5A7TTEsgDbkg4jTmAJHD96qLqcpJqfBg8nZ4mqn6E0HinX9HZKaCST1/75T6GsFo1Muc4MsHYgA==", "dev": true, "requires": {} }, @@ -26666,13 +26666,13 @@ } }, "@schematics/angular": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.3.tgz", - "integrity": "sha512-kX5ghVCmWHcMN+g0pUaFuIJzwrXsVnK4bfid8DckU4EEtfFSv3UA5I1QNJRgpCPxTPhNEAk+3ePN8nzDSjdU+w==", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz", + "integrity": "sha512-Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.3", - "@angular-devkit/schematics": "13.3.3", + "@angular-devkit/core": "13.3.4", + "@angular-devkit/schematics": "13.3.4", "jsonc-parser": "3.0.0" } }, diff --git a/package.json b/package.json index 85e75302774f..4b05f3e2fe0c 100644 --- a/package.json +++ b/package.json @@ -66,18 +66,18 @@ "beautifyOutput": true }, "dependencies": { - "@angular/animations": "13.3.4", - "@angular/cdk": "13.3.4", - "@angular/common": "13.3.4", - "@angular/compiler": "13.3.4", - "@angular/core": "13.3.4", + "@angular/animations": "13.3.5", + "@angular/cdk": "13.3.5", + "@angular/common": "13.3.5", + "@angular/compiler": "13.3.5", + "@angular/core": "13.3.5", "@angular/flex-layout": "13.0.0-beta.38", - "@angular/forms": "13.3.4", - "@angular/localize": "13.3.4", - "@angular/material": "13.3.4", - "@angular/platform-browser": "13.3.4", - "@angular/platform-browser-dynamic": "13.3.4", - "@angular/router": "13.3.4", + "@angular/forms": "13.3.5", + "@angular/localize": "13.3.5", + "@angular/material": "13.3.5", + "@angular/platform-browser": "13.3.5", + "@angular/platform-browser-dynamic": "13.3.5", + "@angular/router": "13.3.5", "@swimlane/ngx-charts": "20.1.0", "ace-builds": "1.4.14", "core-js": "3.22.4", @@ -105,10 +105,10 @@ "zone.js": "0.11.5" }, "devDependencies": { - "@angular-devkit/build-angular": "13.3.3", - "@angular/cli": "13.3.3", - "@angular/compiler-cli": "13.3.4", - "@angular/language-service": "13.3.4", + "@angular-devkit/build-angular": "13.3.4", + "@angular/cli": "13.3.4", + "@angular/compiler-cli": "13.3.5", + "@angular/language-service": "13.3.5", "@babel/core": "7.17.10", "@babel/preset-env": "7.17.10", "@babel/register": "7.17.7", From b3e3f9eb18822dc5c9120d537612a54512ef6fe2 Mon Sep 17 00:00:00 2001 From: Shu Muto Date: Tue, 31 May 2022 19:08:52 +0900 Subject: [PATCH 072/162] Bump k8s modules to 0.24.0 (#7073) --- Makefile | 2 +- aio/scripts/conf.sh | 2 +- go.mod | 47 +++++++++------- go.sum | 128 ++++++++++++++++++++++++-------------------- 4 files changed, 101 insertions(+), 78 deletions(-) diff --git a/Makefile b/Makefile index ca729cf22a58..d5890696ec17 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt AIR_BINARY := $(shell which air) -CODEGEN_VERSION := v0.23.6 +CODEGEN_VERSION := v0.24.0 CODEGEN_BIN := $(GOPATH)/pkg/mod/k8s.io/code-generator@$(CODEGEN_VERSION)/generate-groups.sh GOLANGCILINT_VERSION := v1.45.2 GOLANGCILINT_BINARY := $(shell which golangci-lint) diff --git a/aio/scripts/conf.sh b/aio/scripts/conf.sh index 3e79709ce172..6b3a937f7773 100644 --- a/aio/scripts/conf.sh +++ b/aio/scripts/conf.sh @@ -36,7 +36,7 @@ HEAPSTER_PORT=8082 KIND_VERSION="v0.11.1" K8S_VERSION="v1.21.1" KIND_BIN=${CACHE_DIR}/kind-${KIND_VERSION} -CODEGEN_VERSION="v0.23.6" +CODEGEN_VERSION="v0.24.0" CODEGEN_BIN=${GOPATH}/pkg/mod/k8s.io/code-generator@${CODEGEN_VERSION}/generate-groups.sh # Setup logger. diff --git a/go.mod b/go.mod index 9d82fa13f420..2a38a80455c6 100644 --- a/go.mod +++ b/go.mod @@ -7,55 +7,64 @@ require ( github.com/emicklei/go-restful/v3 v3.3.3 github.com/golang/glog v1.0.0 github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/prometheus/client_golang v1.11.0 + github.com/prometheus/client_golang v1.12.1 github.com/spf13/pflag v1.0.5 - golang.org/x/net v0.0.0-20211209124913-491a49abca63 + golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd golang.org/x/text v0.3.7 gopkg.in/igm/sockjs-go.v2 v2.1.0 gopkg.in/square/go-jose.v2 v2.4.1 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.23.6 - k8s.io/apiextensions-apiserver v0.23.6 - k8s.io/apimachinery v0.23.6 - k8s.io/client-go v0.23.6 + k8s.io/api v0.24.0 + k8s.io/apiextensions-apiserver v0.24.0 + k8s.io/apimachinery v0.24.0 + k8s.io/client-go v0.24.0 k8s.io/heapster v1.5.4 ) require ( + github.com/PuerkitoBio/purell v1.1.1 // indirect + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/emicklei/go-restful v2.9.5+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect github.com/go-logr/logr v1.2.0 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/jsonreference v0.19.5 // indirect + github.com/go-openapi/swag v0.19.14 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect + github.com/google/gnostic v0.5.7-v3refs // indirect github.com/google/go-cmp v0.5.5 // indirect github.com/google/gofuzz v1.1.0 // indirect - github.com/googleapis/gnostic v0.5.5 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/imdario/mergo v0.3.5 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/mailru/easyjson v0.7.6 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect - golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect - golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect - golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect - golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect + github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + golang.org/x/crypto v0.0.0-20220214200702-86341886e292 // indirect + golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect + golang.org/x/sys v0.0.0-20220209214540-3681064d5158 // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect + golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + k8s.io/klog/v2 v2.60.1 // indirect + k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect + k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect + sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect sigs.k8s.io/yaml v1.2.0 // indirect ) diff --git a/go.sum b/go.sum index d7e93f0acbca..de60808db740 100644 --- a/go.sum +++ b/go.sum @@ -37,7 +37,6 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= @@ -51,7 +50,9 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -63,6 +64,8 @@ github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.m github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -72,15 +75,15 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -100,6 +103,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -153,10 +157,13 @@ github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -202,8 +209,10 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= +github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= +github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -238,9 +247,6 @@ github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= @@ -279,6 +285,7 @@ github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -306,9 +313,9 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -327,7 +334,7 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -336,6 +343,7 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -359,7 +367,6 @@ github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3I github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -374,8 +381,9 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -386,19 +394,21 @@ github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -416,16 +426,13 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -445,13 +452,16 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= 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/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/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= 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= @@ -491,8 +501,9 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292 h1:f+lwQ+GtmgoY+A2YaQxlSOnDjXcQ7ZRLWOHbC6HtRqE= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -528,6 +539,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -572,10 +584,11 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -587,10 +600,9 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -642,7 +654,6 @@ golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -662,12 +673,15 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e h1:XMgFehsDnnLGtjvjOfqWSUzt0alpTR1RSEuznObga2c= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= 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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -682,8 +696,8 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/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 h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -741,7 +755,7 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= +golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -768,7 +782,6 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -822,6 +835,7 @@ google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -871,7 +885,6 @@ gopkg.in/igm/sockjs-go.v2 v2.1.0/go.mod h1:9l1o9p5TJvh2l+Q0EGE8USVB69QPfcvI7fR0H gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -902,35 +915,36 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.6 h1:yOK34wbYECH4RsJbQ9sfkFK3O7f/DUHRlzFehkqZyVw= -k8s.io/api v0.23.6/go.mod h1:1kFaYxGCFHYp3qd6a85DAj/yW8aVD6XLZMqJclkoi9g= -k8s.io/apiextensions-apiserver v0.23.6 h1:v58cQ6Z0/GK1IXYr+oW0fnYl52o9LTY0WgoWvI8uv5Q= -k8s.io/apiextensions-apiserver v0.23.6/go.mod h1:YVh17Mphv183THQJA5spNFp9XfoidFyL3WoDgZxQIZU= -k8s.io/apimachinery v0.23.6 h1:RH1UweWJkWNTlFx0D8uxOpaU1tjIOvVVWV/bu5b3/NQ= -k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= -k8s.io/apiserver v0.23.6/go.mod h1:5PU32F82tfErXPmf7FXhd/UcuLfh97tGepjKUgJ2atg= -k8s.io/client-go v0.23.6 h1:7h4SctDVQAQbkHQnR4Kzi7EyUyvla5G1pFWf4+Od7hQ= -k8s.io/client-go v0.23.6/go.mod h1:Umt5icFOMLV/+qbtZ3PR0D+JA6lvvb3syzodv4irpK4= -k8s.io/code-generator v0.23.6/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= -k8s.io/component-base v0.23.6/go.mod h1:FGMPeMrjYu0UZBSAFcfloVDplj9IvU+uRMTOdE23Fj0= +k8s.io/api v0.24.0 h1:J0hann2hfxWr1hinZIDefw7Q96wmCBx6SSB8IY0MdDg= +k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= +k8s.io/apiextensions-apiserver v0.24.0 h1:JfgFqbA8gKJ/uDT++feAqk9jBIwNnL9YGdQvaI9DLtY= +k8s.io/apiextensions-apiserver v0.24.0/go.mod h1:iuVe4aEpe6827lvO6yWQVxiPSpPoSKVjkq+MIdg84cM= +k8s.io/apimachinery v0.24.0 h1:ydFCyC/DjCvFCHK5OPMKBlxayQytB8pxy8YQInd5UyQ= +k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.0/go.mod h1:WFx2yiOMawnogNToVvUYT9nn1jaIkMKj41ZYCVycsBA= +k8s.io/client-go v0.24.0 h1:lbE4aB1gTHvYFSwm6eD3OF14NhFDKCejlnsGYlSJe5U= +k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= +k8s.io/code-generator v0.24.0/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.0/go.mod h1:Dgazgon0i7KYUsS8krG8muGiMVtUZxG037l1MKyXgrA= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/heapster v1.5.4 h1:lH2GCZdqRmUKDoyqRgiXbRmIcevaPYTvkguOuYUl8gQ= k8s.io/heapster v1.5.4/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= From 31b93debebb1eab927315fbd0b05711c9b1255a9 Mon Sep 17 00:00:00 2001 From: Naveen <172697+naveensrinivasan@users.noreply.github.com> Date: Tue, 31 May 2022 05:28:54 -0500 Subject: [PATCH 073/162] chore(deps): Included dependency review (#7102) > Dependency Review GitHub Action in your repository to enforce dependency > reviews on your pull requests. > The action scans for vulnerable versions of dependencies introduced by package version > changes in pull requests, > and warns you about the associated security vulnerabilities. > This gives you better visibility of what's changing in a pull request, > and helps prevent vulnerabilities being added to your repository. https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> --- .github/workflows/depsreview.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/depsreview.yaml diff --git a/.github/workflows/depsreview.yaml b/.github/workflows/depsreview.yaml new file mode 100644 index 000000000000..f2605b7a7e2c --- /dev/null +++ b/.github/workflows/depsreview.yaml @@ -0,0 +1,14 @@ +name: 'Dependency Review' +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: 'Checkout Repository' + uses: actions/checkout@v3 + - name: 'Dependency Review' + uses: actions/dependency-review-action@v1 From 5b5a601ad7583d9a4150d5ee29f412c8e90c02ee Mon Sep 17 00:00:00 2001 From: nathannaveen <42319948+nathannaveen@users.noreply.github.com> Date: Tue, 31 May 2022 05:32:52 -0500 Subject: [PATCH 074/162] chore: Set permissions for GitHub actions (#7036) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: nathannaveen <42319948+nathannaveen@users.noreply.github.com> --- .github/workflows/ci-helm-workflow.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci-helm-workflow.yml b/.github/workflows/ci-helm-workflow.yml index 80ac5b952972..444906694a0b 100644 --- a/.github/workflows/ci-helm-workflow.yml +++ b/.github/workflows/ci-helm-workflow.yml @@ -20,6 +20,9 @@ on: - 'aio/deploy/helm-chart/**' - '.github/workflows/ci-helm-workflow.yml' +permissions: + contents: read + jobs: helm-lint-test: name: Lint & Test From 159fc5862463399b588694b706dff6a783034b18 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 31 May 2022 06:34:54 -0400 Subject: [PATCH 075/162] Update docs for 1.24+ (#6967) --- aio/develop/npm-command.sh | 2 +- docs/user/access-control/creating-sample-user.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aio/develop/npm-command.sh b/aio/develop/npm-command.sh index fa0a5052a058..3b56eb681e23 100755 --- a/aio/develop/npm-command.sh +++ b/aio/develop/npm-command.sh @@ -55,7 +55,7 @@ else echo "1. Run terminal for dashboard container." echo " docker exec -it k8s-dashboard-dev gosu user bash" echo "2. Run following to get token for logging into dashboard." - echo " kubectl -n kubernetes-dashboard get secrets \$(kubectl -n kubernetes-dashboard get sa kubernetes-dashboard -ojsonpath=\"{.secrets[0].name}\") -ojsonpath=\"{.data.token}\" | echo \"\$(base64 -d)\"" + echo " kubectl -n kubernetes-dashboard create token kubernetes-dashboard" fi # Start dashboard. echo "Start dashboard in production mode" diff --git a/docs/user/access-control/creating-sample-user.md b/docs/user/access-control/creating-sample-user.md index 67876a069e4a..c4730cf608df 100644 --- a/docs/user/access-control/creating-sample-user.md +++ b/docs/user/access-control/creating-sample-user.md @@ -43,7 +43,7 @@ subjects: Now we need to find the token we can use to log in. Execute the following command: ```shell -kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}" +kubectl -n kubernetes-dashboard create token admin-user ``` It should print something like: From fe3518382cd3803629cbd0c70d6992da1ce368ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 May 2022 03:38:53 -0700 Subject: [PATCH 076/162] Bump actions/setup-go from 3.0.0 to 3.2.0 (#7131) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.0.0 to 3.2.0. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/f6164bd8c8acb4a71fb2791a8b6c4024ff038dab...b22fbbc2921299758641fab08929b4ac52b32923) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cd-workflow.yml | 4 ++-- .github/workflows/ci-workflow.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cd-workflow.yml b/.github/workflows/cd-workflow.yml index f09c1a01ca7e..176097be3752 100644 --- a/.github/workflows/cd-workflow.yml +++ b/.github/workflows/cd-workflow.yml @@ -43,7 +43,7 @@ jobs: fetch-depth: 0 - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 # v2 with: go-version: 1.17.0 @@ -102,7 +102,7 @@ jobs: fetch-depth: 0 - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 # v2 with: go-version: 1.17.0 diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 45a7b774ad20..f6cd451c6999 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -54,7 +54,7 @@ jobs: fetch-depth: 0 - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 # v2 with: go-version: 1.17.0 @@ -99,7 +99,7 @@ jobs: fetch-depth: 0 - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 # v2 with: go-version: 1.17.0 @@ -154,7 +154,7 @@ jobs: - run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - name: Setup Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v2 + uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 # v2 with: go-version: 1.17.0 From 6b85fdf093bbb0e3f43b01e08a59da0f7766009b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 May 2022 03:42:52 -0700 Subject: [PATCH 077/162] Bump github/codeql-action (#7107) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 75b4f1c4669133dc294b06c2794e969efa2e5316 to 2.1.11. This release includes the previously tagged commit. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/75b4f1c4669133dc294b06c2794e969efa2e5316...a3a6c128d771b6b9bdebb1c9d0583ebd2728a108) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index be5deb49ac96..112b278d498e 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -35,12 +35,12 @@ jobs: uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - name: Initialize CodeQL - uses: github/codeql-action/init@75b4f1c4669133dc294b06c2794e969efa2e5316 # v1 + uses: github/codeql-action/init@a3a6c128d771b6b9bdebb1c9d0583ebd2728a108 # v1 with: languages: ${{ matrix.language }} - name: Autobuild - uses: github/codeql-action/autobuild@75b4f1c4669133dc294b06c2794e969efa2e5316 # v1 + uses: github/codeql-action/autobuild@a3a6c128d771b6b9bdebb1c9d0583ebd2728a108 # v1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@75b4f1c4669133dc294b06c2794e969efa2e5316 # v1 + uses: github/codeql-action/analyze@a3a6c128d771b6b9bdebb1c9d0583ebd2728a108 # v1 From 9efc10c2da1fcd2424a8034d5b5245c2775f47c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 May 2022 04:14:53 -0700 Subject: [PATCH 078/162] Bump actions/setup-node from 3.1.1 to 3.2.0 (#7106) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.1.1 to 3.2.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/56337c425554a6be30cdef71bf441f15be286854...17f8bd926464a1afa4c6a11669539e9c1ba77048) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cd-workflow.yml | 4 ++-- .github/workflows/ci-workflow.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cd-workflow.yml b/.github/workflows/cd-workflow.yml index 176097be3752..03fc5e008a74 100644 --- a/.github/workflows/cd-workflow.yml +++ b/.github/workflows/cd-workflow.yml @@ -48,7 +48,7 @@ jobs: go-version: 1.17.0 - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + uses: actions/setup-node@17f8bd926464a1afa4c6a11669539e9c1ba77048 # v2.1.2 with: node-version: 16.14.2 @@ -107,7 +107,7 @@ jobs: go-version: 1.17.0 - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + uses: actions/setup-node@17f8bd926464a1afa4c6a11669539e9c1ba77048 # v2.1.2 with: node-version: 16.14.2 diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index f6cd451c6999..7fb74c0bf5f4 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -59,7 +59,7 @@ jobs: go-version: 1.17.0 - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + uses: actions/setup-node@17f8bd926464a1afa4c6a11669539e9c1ba77048 # v2.1.2 with: node-version: 16.14.2 @@ -104,7 +104,7 @@ jobs: go-version: 1.17.0 - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + uses: actions/setup-node@17f8bd926464a1afa4c6a11669539e9c1ba77048 # v2.1.2 with: node-version: 16.14.2 @@ -159,7 +159,7 @@ jobs: go-version: 1.17.0 - name: Setup NodeJS - uses: actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v2.1.2 + uses: actions/setup-node@17f8bd926464a1afa4c6a11669539e9c1ba77048 # v2.1.2 with: node-version: 16.14.2 From 53ac69dae53cac334964b6733ea4b9c7f2396fad Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Tue, 31 May 2022 17:07:36 +0200 Subject: [PATCH 079/162] Update dependencies and prepare for v2.6.0 release (#7140) * Update dependencies * Update dependencies * Update dependabot config * Fix startup * Add dependabot config for Golang * Minor update * Fix unit tests Bump version * Bump metrics-server version * Fix static check * Update Goland dependencies * Revert app version in Helm chart * Update lockfile --- .github/dependabot.yml | 13 +- Makefile | 2 +- README.md | 2 +- aio/deploy/alternative.yaml | 4 +- .../alternative/06_dashboard-deployment.yaml | 2 +- .../alternative/08_scraper-deployment.yaml | 2 +- .../kubernetes-dashboard/Chart.yaml | 2 +- .../kubernetes-dashboard/values.yaml | 2 +- aio/deploy/recommended.yaml | 4 +- .../recommended/06_dashboard-deployment.yaml | 2 +- .../recommended/08_scraper-deployment.yaml | 2 +- docs/user/installation.md | 6 +- go.mod | 60 +- go.sum | 113 +- package-lock.json | 8593 +++++++++-------- package.json | 98 +- .../common/components/chips/component.ts | 4 +- .../common/components/namespace/component.ts | 4 +- .../clusterrolebinding/component.ts | 2 +- .../resourcelist/rolebinding/component.ts | 2 +- src/app/frontend/common/resources/list.ts | 10 +- .../frontend/common/services/global/pinner.ts | 2 +- .../clusterrolebinding/detail/component.ts | 3 +- src/app/frontend/settings/global/component.ts | 3 +- 24 files changed, 4832 insertions(+), 4105 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8d4cbb8940ad..707568a3a3b1 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,17 +1,16 @@ version: 2 updates: - # Enable version updates for npm - package-ecosystem: "npm" - # Look for `package.json` and `lock` files in the `root` directory directory: "/" - # Check the npm registry for updates every day (weekdays) schedule: interval: "daily" - # Allow up to 10 open pull requests for npm dependencies - open-pull-requests-limit: 10 - # Enable version github actions + open-pull-requests-limit: 3 + - package-ecosystem: "gomod" + directory: "/" + schedule: + interval: "daily" - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" - open-pull-requests-limit: 10 + open-pull-requests-limit: 3 diff --git a/Makefile b/Makefile index d5890696ec17..d77a4007220b 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ PROD_BINARY = dist/amd64/dashboard SERVE_DIRECTORY = .tmp/serve SERVE_BINARY = .tmp/serve/dashboard RELEASE_IMAGE = kubernetesui/dashboard -RELEASE_VERSION = v2.5.1 +RELEASE_VERSION = v2.6.0 RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) RELEASE_IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):latest) HEAD_IMAGE = kubernetesdashboarddev/dashboard diff --git a/README.md b/README.md index f197ac1345cd..5e0f0657c391 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. To deploy Dashboard, execute following command: ```shell -kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml +kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/recommended.yaml ``` Alternatively, you can install Dashboard using Helm as described at [`https://artifacthub.io/packages/helm/k8s-dashboard/kubernetes-dashboard`](https://artifacthub.io/packages/helm/k8s-dashboard/kubernetes-dashboard). diff --git a/aio/deploy/alternative.yaml b/aio/deploy/alternative.yaml index 96dc144f9ca7..63e3a9181ebc 100644 --- a/aio/deploy/alternative.yaml +++ b/aio/deploy/alternative.yaml @@ -179,7 +179,7 @@ spec: type: RuntimeDefault containers: - name: kubernetes-dashboard - image: kubernetesui/dashboard:v2.5.1 + image: kubernetesui/dashboard:v2.6.0 ports: - containerPort: 9090 protocol: TCP @@ -257,7 +257,7 @@ spec: type: RuntimeDefault containers: - name: dashboard-metrics-scraper - image: kubernetesui/metrics-scraper:v1.0.7 + image: kubernetesui/metrics-scraper:v1.0.8 ports: - containerPort: 8000 protocol: TCP diff --git a/aio/deploy/alternative/06_dashboard-deployment.yaml b/aio/deploy/alternative/06_dashboard-deployment.yaml index b13a3aa77926..c7f4801ad405 100644 --- a/aio/deploy/alternative/06_dashboard-deployment.yaml +++ b/aio/deploy/alternative/06_dashboard-deployment.yaml @@ -35,7 +35,7 @@ spec: type: RuntimeDefault containers: - name: kubernetes-dashboard - image: kubernetesui/dashboard:v2.5.1 + image: kubernetesui/dashboard:v2.6.0 ports: - containerPort: 9090 protocol: TCP diff --git a/aio/deploy/alternative/08_scraper-deployment.yaml b/aio/deploy/alternative/08_scraper-deployment.yaml index 3bc6b9df51ca..22ca835ba43b 100644 --- a/aio/deploy/alternative/08_scraper-deployment.yaml +++ b/aio/deploy/alternative/08_scraper-deployment.yaml @@ -35,7 +35,7 @@ spec: type: RuntimeDefault containers: - name: dashboard-metrics-scraper - image: kubernetesui/metrics-scraper:v1.0.7 + image: kubernetesui/metrics-scraper:v1.0.8 ports: - containerPort: 8000 protocol: TCP diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml index ad72dc9c9330..1b29f83d5a3f 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml @@ -14,7 +14,7 @@ apiVersion: v2 name: kubernetes-dashboard -version: 5.5.1 +version: 5.5.2 appVersion: 2.5.1 description: General-purpose web UI for Kubernetes clusters keywords: diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml index af1613a1bb1f..e6ee1db77481 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml @@ -257,7 +257,7 @@ metricsScraper: enabled: false image: repository: kubernetesui/metrics-scraper - tag: v1.0.7 + tag: v1.0.8 resources: {} ## SecurityContext especially for the kubernetes dashboard metrics scraper container ## If not set, the global containterSecurityContext values will define these values diff --git a/aio/deploy/recommended.yaml b/aio/deploy/recommended.yaml index 3ee2e732c7aa..eb4a3699d675 100644 --- a/aio/deploy/recommended.yaml +++ b/aio/deploy/recommended.yaml @@ -190,7 +190,7 @@ spec: type: RuntimeDefault containers: - name: kubernetes-dashboard - image: kubernetesui/dashboard:v2.5.1 + image: kubernetesui/dashboard:v2.6.0 imagePullPolicy: Always ports: - containerPort: 8443 @@ -275,7 +275,7 @@ spec: type: RuntimeDefault containers: - name: dashboard-metrics-scraper - image: kubernetesui/metrics-scraper:v1.0.7 + image: kubernetesui/metrics-scraper:v1.0.8 ports: - containerPort: 8000 protocol: TCP diff --git a/aio/deploy/recommended/06_dashboard-deployment.yaml b/aio/deploy/recommended/06_dashboard-deployment.yaml index 27f547d13eaf..47e6bfd95e4f 100644 --- a/aio/deploy/recommended/06_dashboard-deployment.yaml +++ b/aio/deploy/recommended/06_dashboard-deployment.yaml @@ -35,7 +35,7 @@ spec: type: RuntimeDefault containers: - name: kubernetes-dashboard - image: kubernetesui/dashboard:v2.5.1 + image: kubernetesui/dashboard:v2.6.0 imagePullPolicy: Always ports: - containerPort: 8443 diff --git a/aio/deploy/recommended/08_scraper-deployment.yaml b/aio/deploy/recommended/08_scraper-deployment.yaml index bcd953d3c1d7..542973f46a65 100644 --- a/aio/deploy/recommended/08_scraper-deployment.yaml +++ b/aio/deploy/recommended/08_scraper-deployment.yaml @@ -35,7 +35,7 @@ spec: type: RuntimeDefault containers: - name: dashboard-metrics-scraper - image: kubernetesui/metrics-scraper:v1.0.7 + image: kubernetesui/metrics-scraper:v1.0.8 ports: - containerPort: 8000 protocol: TCP diff --git a/docs/user/installation.md b/docs/user/installation.md index 1bbed725a346..b15bd6a582a8 100644 --- a/docs/user/installation.md +++ b/docs/user/installation.md @@ -19,7 +19,7 @@ kubectl create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs For Dashboard to pickup the certificates, you must pass arguments `--tls-cert-file=/tls.crt` and `--tls-key-file=/tls.key` to the container. You can edit YAML definition and deploy Dashboard in one go: ```shell -kubectl create --edit -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml +kubectl create --edit -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/recommended.yaml ``` Under Deployment section, add arguments to pod definition, it should look as follows: @@ -38,7 +38,7 @@ This setup is not fully secure. Certificates are not used and Dashboard is expos To deploy Dashboard execute following command: ```shell -kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/alternative.yaml +kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/alternative.yaml ``` @@ -51,7 +51,7 @@ Besides official releases, there are also development releases, that are pushed In most of the use cases you need to execute the following command to deploy latest development release: ```shell -kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/head.yaml +kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/head.yaml ``` ### Update diff --git a/go.mod b/go.mod index 2a38a80455c6..4db4c1c04de8 100644 --- a/go.mod +++ b/go.mod @@ -3,46 +3,44 @@ module github.com/kubernetes/dashboard go 1.17 require ( - github.com/docker/distribution v2.8.0+incompatible - github.com/emicklei/go-restful/v3 v3.3.3 + github.com/docker/distribution v2.8.1+incompatible + github.com/emicklei/go-restful/v3 v3.7.4 github.com/golang/glog v1.0.0 github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/prometheus/client_golang v1.12.1 + github.com/prometheus/client_golang v1.12.2 github.com/spf13/pflag v1.0.5 - golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd + golang.org/x/net v0.0.0-20220526153639-5463443f8c37 golang.org/x/text v0.3.7 gopkg.in/igm/sockjs-go.v2 v2.1.0 - gopkg.in/square/go-jose.v2 v2.4.1 + gopkg.in/square/go-jose.v2 v2.6.0 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.24.0 - k8s.io/apiextensions-apiserver v0.24.0 - k8s.io/apimachinery v0.24.0 - k8s.io/client-go v0.24.0 + k8s.io/api v0.24.1 + k8s.io/apiextensions-apiserver v0.24.1 + k8s.io/apimachinery v0.24.1 + k8s.io/client-go v0.24.1 k8s.io/heapster v1.5.4 ) require ( - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful v2.9.5+incompatible // indirect + github.com/emicklei/go-restful v2.15.0+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect + github.com/go-openapi/jsonreference v0.20.0 // indirect + github.com/go-openapi/swag v0.21.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect + github.com/google/gnostic v0.6.9 // indirect github.com/google/go-cmp v0.5.5 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/gorilla/websocket v1.4.2 // indirect - github.com/imdario/mergo v0.3.5 // indirect + github.com/google/gofuzz v1.2.0 // indirect + github.com/gorilla/websocket v1.5.0 // indirect + github.com/imdario/mergo v0.3.13 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -50,21 +48,21 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/common v0.34.0 // indirect github.com/prometheus/procfs v0.7.3 // indirect - golang.org/x/crypto v0.0.0-20220214200702-86341886e292 // indirect - golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sys v0.0.0-20220209214540-3681064d5158 // indirect - golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect + golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect + golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 // indirect + golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect + golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 // indirect + golang.org/x/time v0.0.0-20220411224347-583f2d630306 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.27.1 // indirect + google.golang.org/protobuf v1.28.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/klog/v2 v2.60.1 // indirect - k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect + k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect - sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect + sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/go.sum b/go.sum index de60808db740..90eccf61804e 100644 --- a/go.sum +++ b/go.sum @@ -50,9 +50,7 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -76,6 +74,7 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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= @@ -111,17 +110,18 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/distribution v2.8.0+incompatible h1:l9EaZDICImO1ngI+uTifW+ZYvvz7fKISBAKpg+MbWbY= -github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful/v3 v3.3.3 h1:2WxjFb4b+Eik8vJ1saz3jbhKnt4xaFVn3N9uU3WXfLE= -github.com/emicklei/go-restful/v3 v3.3.3/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful v2.15.0+incompatible h1:8KpYO/Xl/ZudZs5RNOEhWMBY4hmzlZhhRd9cu+jrZP4= +github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful/v3 v3.7.4 h1:PVGUqKvvMzQYiO89TdXrH9EMks+okTaRIMQ3jgMdZ30= +github.com/emicklei/go-restful/v3 v3.7.4/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -134,6 +134,7 @@ github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -148,23 +149,28 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= +github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -211,8 +217,9 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= +github.com/google/gnostic v0.6.9/go.mod h1:Nm8234We1lq6iB9OmlgNv3nH91XLLVZHCDayfA3xq+E= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -226,8 +233,9 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -249,8 +257,9 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= @@ -280,8 +289,9 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= @@ -315,8 +325,9 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -382,8 +393,9 @@ github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDf github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -394,8 +406,9 @@ github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -446,6 +459,9 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -502,8 +518,9 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292 h1:f+lwQ+GtmgoY+A2YaQxlSOnDjXcQ7ZRLWOHbC6HtRqE= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -584,11 +601,14 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -601,8 +621,10 @@ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 h1:zwrSfklXn0gxyLRX/aR+q6cgHbV/ItVyzbPlbA+dkAw= +golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -677,11 +699,13 @@ golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 h1:CBpWXWQpIRjzmkkA+M7q9Fqnwd2mZr3AFqexg8YTfoM= +golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= 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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -696,8 +720,9 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/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-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220411224347-583f2d630306 h1:+gHMid33q6pen7kv9xvT+JRinntgeXO2AeZVd0AWD3w= +golang.org/x/time v0.0.0-20220411224347-583f2d630306/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -870,8 +895,9 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -888,8 +914,8 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.4.1 h1:H0TmLt7/KmzlrDOpa1F+zr0Tk90PbJYBfsVUmRLrf9Y= -gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= @@ -904,8 +930,10 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -915,17 +943,17 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.0 h1:J0hann2hfxWr1hinZIDefw7Q96wmCBx6SSB8IY0MdDg= -k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= -k8s.io/apiextensions-apiserver v0.24.0 h1:JfgFqbA8gKJ/uDT++feAqk9jBIwNnL9YGdQvaI9DLtY= -k8s.io/apiextensions-apiserver v0.24.0/go.mod h1:iuVe4aEpe6827lvO6yWQVxiPSpPoSKVjkq+MIdg84cM= -k8s.io/apimachinery v0.24.0 h1:ydFCyC/DjCvFCHK5OPMKBlxayQytB8pxy8YQInd5UyQ= -k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.24.0/go.mod h1:WFx2yiOMawnogNToVvUYT9nn1jaIkMKj41ZYCVycsBA= -k8s.io/client-go v0.24.0 h1:lbE4aB1gTHvYFSwm6eD3OF14NhFDKCejlnsGYlSJe5U= -k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= -k8s.io/code-generator v0.24.0/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.0/go.mod h1:Dgazgon0i7KYUsS8krG8muGiMVtUZxG037l1MKyXgrA= +k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= +k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= +k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= +k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= +k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= +k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= +k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= +k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= +k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/heapster v1.5.4 h1:lH2GCZdqRmUKDoyqRgiXbRmIcevaPYTvkguOuYUl8gQ= @@ -934,8 +962,9 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 h1:nBQrWPlrNIiw0BsX6a6MKr1itkm0ZS0Nl97kNLitFfI= +k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6/go.mod h1:daOouuuwd9JXpv1L7Y34iV3yf6nxzipkKMWWlqlvK9M= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= @@ -943,10 +972,12 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= +sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/package-lock.json b/package-lock.json index 051c2d29fdb1..52f9febb9f18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,30 +1,31 @@ { "name": "kubernetes-dashboard", - "version": "2.5.1", + "version": "2.6.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "kubernetes-dashboard", - "version": "2.5.1", + "version": "2.6.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@angular/animations": "13.3.5", - "@angular/cdk": "13.3.5", - "@angular/common": "13.3.5", - "@angular/compiler": "13.3.5", - "@angular/core": "13.3.5", + "@angular/animations": "13.3.10", + "@angular/cdk": "13.3.8", + "@angular/common": "13.3.10", + "@angular/compiler": "13.3.10", + "@angular/core": "13.3.10", "@angular/flex-layout": "13.0.0-beta.38", - "@angular/forms": "13.3.5", - "@angular/localize": "13.3.5", - "@angular/material": "13.3.5", - "@angular/platform-browser": "13.3.5", - "@angular/platform-browser-dynamic": "13.3.5", - "@angular/router": "13.3.5", + "@angular/forms": "13.3.10", + "@angular/localize": "13.3.10", + "@angular/material": "13.3.8", + "@angular/platform-browser": "13.3.10", + "@angular/platform-browser-dynamic": "13.3.10", + "@angular/router": "13.3.10", "@swimlane/ngx-charts": "20.1.0", - "ace-builds": "1.4.14", - "core-js": "3.22.4", + "ace-builds": "1.5.3", + "core-js": "3.22.7", + "crop-url": "4.0.1", "d3": "6.7.0", "file-saver": "2.0.5", "js-beautify": "1.14.3", @@ -32,16 +33,15 @@ "jwt-decode": "3.1.2", "material-design-icons": "3.0.1", "ng-in-viewport": "13.0.1", - "ngx-cookie-service": "13.2.0", + "ngx-cookie-service": "13.2.1", "ngx-pipes": "3.0.0", "normalize.css": "8.0.1", "roboto-fontface": "0.10.0", - "rxjs": "6.6.7", + "rxjs": "7.5.5", "rxjs-compat": "6.6.7", - "sockjs-client": "1.6.0", + "sockjs-client": "1.6.1", "strip-ansi": "6.0.1", "systemjs": "6.12.1", - "truncate-url": "1.0.0", "tslib": "2.4.0", "web-animations-js": "2.3.2", "xterm": "4.18.0", @@ -49,64 +49,64 @@ "zone.js": "0.11.5" }, "devDependencies": { - "@angular-devkit/build-angular": "13.3.4", - "@angular/cli": "13.3.4", - "@angular/compiler-cli": "13.3.5", - "@angular/language-service": "13.3.5", - "@babel/core": "7.17.10", - "@babel/preset-env": "7.17.10", + "@angular-devkit/build-angular": "13.3.7", + "@angular/cli": "13.3.7", + "@angular/compiler-cli": "13.3.10", + "@angular/language-service": "13.3.10", + "@babel/core": "7.18.2", + "@babel/preset-env": "7.18.2", "@babel/register": "7.17.7", "@cypress/webpack-preprocessor": "5.11.1", - "@types/d3": "7.1.0", + "@types/d3": "7.4.0", "@types/d3-scale": "4.0.2", "@types/file-saver": "2.0.5", "@types/jasmine": "4.0.3", "@types/jasminewd2": "2.0.10", - "@types/jest": "27.5.0", + "@types/jest": "27.5.1", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", - "@types/node": "17.0.31", - "@typescript-eslint/eslint-plugin": "5.22.0", - "@typescript-eslint/parser": "5.22.0", + "@types/node": "17.0.36", + "@typescript-eslint/eslint-plugin": "5.27.0", + "@typescript-eslint/parser": "5.27.0", "codelyzer": "6.0.2", - "concurrently": "7.1.0", - "cypress": "9.3.1", - "cypress-fail-fast": "3.4.1", - "del": "6.0.0", - "eslint": "8.14.0", + "concurrently": "7.2.1", + "cypress": "9.7.0", + "cypress-fail-fast": "4.0.0", + "del": "6.1.1", + "eslint": "8.16.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-prettier": "4.0.0", "eslint-plugin-rxjs": "5.0.2", - "git-describe": "4.1.0", + "git-describe": "4.1.1", "gts": "3.1.0", - "husky": "7.0.4", - "jasmine-core": "4.1.0", + "husky": "8.0.1", + "jasmine-core": "4.1.1", "jasmine-spec-reporter": "7.0.0", - "jest": "27.5.1", - "jest-preset-angular": "11.1.2", - "license-check-and-add": "4.0.3", - "lint-staged": "12.4.1", + "jest": "28.1.0", + "jest-preset-angular": "12.0.1", + "license-check-and-add": "4.0.5", + "lint-staged": "12.4.3", "lodash": "4.17.21", - "minimatch": "5.0.1", + "minimatch": "5.1.0", "minimist": "1.2.6", "ngx-i18nsupport": "0.17.1", "node-gyp": "9.0.0", "q": "1.5.1", "raw-loader": "4.0.2", "run-node": "2.0.0", - "sass": "1.51.0", - "sass-loader": "12.6.0", + "sass": "1.52.1", + "sass-loader": "13.0.0", "semver": "7.3.7", "source-map-explorer": "2.5.2", - "stylelint": "14.8.1", - "stylelint-config-standard-scss": "3.0.0", + "stylelint": "14.8.5", + "stylelint-config-standard-scss": "4.0.0", "stylelint-no-unsupported-browser-features": "5.0.3", "stylelint-order": "5.0.0", "tar": "6.1.11", "through2": "4.0.2", - "ts-jest": "27.1.4", + "ts-jest": "28.0.3", "ts-loader": "9.3.0", - "ts-node": "10.7.0", + "ts-node": "10.8.0", "typescript": "4.6.4", "wait-on": "6.0.1", "webpack-dev-server": "4.8.1" @@ -117,25 +117,24 @@ } }, "node_modules/@ampproject/remapping": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.1.1.tgz", - "integrity": "sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw==", - "dev": true, + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "sourcemap-codec": "1.4.8" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@angular-devkit/architect": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz", - "integrity": "sha512-d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.7.tgz", + "integrity": "sha512-xr35v7AuJygRdiaFhgoBSLN2ZMUri8x8Qx9jkmCkD3WLKz33TSFyAyqwdNNmOO9riK8ePXMH/QcSv0wY12pFBw==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "rxjs": "6.6.7" }, "engines": { @@ -144,16 +143,34 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular-devkit/build-angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.4.tgz", - "integrity": "sha512-z74cmDi2V+5XpvyZKFlUXxvQ446shxyZk5aGdToG6n+0/IJWkDXSiryQkCo8nblGMze7HKf75i3DsGWYQZLDnQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.7.tgz", + "integrity": "sha512-XUmiq/3zpuna+r0UOqNSvA9kEcPwsLblEmNLUYyZXL9v/aGWUHOSH0nhGVrNRrSud4ryklEnxfkxkxlZlT4mjQ==", "dev": true, "dependencies": { - "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/build-webpack": "0.1303.4", - "@angular-devkit/core": "13.3.4", + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/build-webpack": "0.1303.7", + "@angular-devkit/core": "13.3.7", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -164,9 +181,9 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.4", + "@ngtools/webpack": "13.3.7", "ansi-colors": "4.1.1", - "babel-loader": "8.2.3", + "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "15.3.0", @@ -390,61 +407,41 @@ "semver": "bin/semver.js" } }, - "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/@angular-devkit/build-angular/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@angular-devkit/build-angular/node_modules/babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "node_modules/@angular-devkit/build-angular/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "ajv": "^6.9.1" } }, - "node_modules/@angular-devkit/build-angular/node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, "engines": { - "node": ">=4.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/@angular-devkit/build-angular/node_modules/brace-expansion": { @@ -468,53 +465,12 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@angular-devkit/build-angular/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/@angular-devkit/build-angular/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -527,18 +483,24 @@ "node": "*" } }, - "node_modules/@angular-devkit/build-angular/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "tslib": "^1.9.0" }, "engines": { - "node": ">=8" + "npm": ">=2.0.0" } }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular-devkit/build-angular/node_modules/sass": { "version": "1.49.9", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", @@ -590,6 +552,24 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -733,34 +713,15 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", "uri-js": "^4.2.2" }, "funding": { @@ -768,61 +729,50 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, "peerDependencies": { - "ajv": "^6.9.1" + "ajv": "^8.8.2" } }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, - "node_modules/@angular-devkit/build-angular/node_modules/ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.4.tgz", - "integrity": "sha512-3F10P9XshRXkI/PEmJUcgP4yK4sobaoInQfifzPNOemrS5nXs8y3uEiQuxzyswYx/dymZLV+19sV/eh1WfXnBA==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.7.tgz", + "integrity": "sha512-5vF399cPdwuCbzbxS4yNGgChdAzEM0/By21P0uiqBcIe/Zxuz3IUPapjvcyhkAo5OTu+d7smY9eusLHqoq1WFQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/architect": "0.1303.7", "rxjs": "6.6.7" }, "engines": { @@ -835,10 +785,28 @@ "webpack-dev-server": "^4.0.0" } }, + "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular-devkit/core": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz", - "integrity": "sha512-gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.7.tgz", + "integrity": "sha512-Ucy4bJmlgCoBenuVeGMdtW9dE8+cD+guWCgqexsFIG21KJ/l0ShZEZ/dGC1XibzaIs1HbKiTr/T1MOjInCV1rA==", "dev": true, "dependencies": { "ajv": "8.9.0", @@ -862,13 +830,31 @@ } } }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular-devkit/schematics": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz", - "integrity": "sha512-gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.7.tgz", + "integrity": "sha512-6TKpFMwiiXmPhiVdbkSJrkBXj8n7SVVhsHl2GodDLVTb8OT3fxYIB9EU8Il07AMfDcjpydOcJduCFPOsQYd7BA==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -880,10 +866,28 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular/animations": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.5.tgz", - "integrity": "sha512-BYXX80N1hxkATWqv2IZddfKvqxomktxH5fREv+KjwIYFkyK9KBnRBILqynyIJaXXut5KE6QNOf1zWEZxdOnc3A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.10.tgz", + "integrity": "sha512-V/0h3xepWPBRjWroFXYrNIE3iZPREjv0hiB3gskF/2KLlx5jvpUWlaBx0rEYRa8XXIPJyAaKBGwWSBnT/Z88TQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -891,13 +895,13 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.3.5" + "@angular/core": "13.3.10" } }, "node_modules/@angular/cdk": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.5.tgz", - "integrity": "sha512-fA99fGgybup9ezyB/IzOa9Mk8g8LjejkqikLnC3mAeQ0lROOO7Vf9Rp1v7/ahe2lALTUbA1bzJeXzQYaffkIiA==", + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.8.tgz", + "integrity": "sha512-ciLYoVxsqnA9hGJTUW74A56NjArYhFdqFYmVDimWWNYAgY7jY1gCfKq9UtixUErDi29FGSCWRbLuZ6w4q0NYnA==", "dependencies": { "tslib": "^2.3.0" }, @@ -911,16 +915,16 @@ } }, "node_modules/@angular/cli": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz", - "integrity": "sha512-4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.7.tgz", + "integrity": "sha512-XIp0w0YOwhHp4Je3npHAs0W4rjHvFnG2w/lDO2M/UNp5634S4PRMFmVVMt6DQBj1cbffYVKFqffqesyCqNuvAQ==", "dev": true, "hasInstallScript": true, "dependencies": { - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", - "@schematics/angular": "13.3.4", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", + "@schematics/angular": "13.3.7", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -962,9 +966,9 @@ } }, "node_modules/@angular/common": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.5.tgz", - "integrity": "sha512-teG+itdlw2sOMwYeXkeFe8h32SsNqN0qHHz/v6I9qKHgCLkC/or8A7NtsoCwYSTymIEJJ7DZ1w9VWhM7DSYd1w==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.10.tgz", + "integrity": "sha512-KWw91QzmCDZ6uq1Z58v7vQQ57Ux7A2UkPdIBOyvpOgtQPTvlvKsePkUVCC+dum+W9mOy4kq2falO5T7Gi7SJgw==", "dependencies": { "tslib": "^2.3.0" }, @@ -972,14 +976,14 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.3.5", + "@angular/core": "13.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.5.tgz", - "integrity": "sha512-iSQlYevMk5glwZSXTXf2GytykqZWdK3Rr8heIvEPqd8n88MSB3w1KnDc1fnHLF950q/nUR9K+3r4wWPwc8J2IQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.10.tgz", + "integrity": "sha512-DEtdso89Q9lAGkSVpSf2GrMtGVTnCnenCwLhubYaeSaj4iA/CAnUfNlaYBf9E92ltuPd85Mg9bIJKaxYCRH8RQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -988,9 +992,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.5.tgz", - "integrity": "sha512-H7A+MZcbB4g5fa6O4giYgrCG1h5whJfIxr4txDtDfolygzwRzqH1PSMfjW/jYyIpaH6XqXMSDHvbXRFGKstboA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.10.tgz", + "integrity": "sha512-cGFQyUOxOLVnehczdP4L7KXbKQTe/aQgbXmacQYgqcP/AnpJs7QfZbw1/k1wJtXrhzbGBh3JSWnpme74bnF3dQ==", "dependencies": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -1012,14 +1016,14 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "13.3.5", + "@angular/compiler": "13.3.10", "typescript": ">=4.4.2 <4.7" } }, "node_modules/@angular/compiler-cli/node_modules/magic-string": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", - "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", + "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", "dependencies": { "sourcemap-codec": "^1.4.8" }, @@ -1028,9 +1032,9 @@ } }, "node_modules/@angular/core": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.5.tgz", - "integrity": "sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.10.tgz", + "integrity": "sha512-7jH1a5wZdE6Ki2Dow7s6v1/5SfUcXsjAu3n523QSDlM078QG0p95npcqPseO9mNftG9MfRqBE7sl1Nb+ZK7eBg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1058,9 +1062,9 @@ } }, "node_modules/@angular/forms": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.5.tgz", - "integrity": "sha512-jCxxAwf4HkDmKE76/yQmTsbqW3jsxiKyPy32Nh6Bt4r/ww8VDv+sv5YdYNuvvZcuuQ70K+/EPnKFpQgYttvS8A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.10.tgz", + "integrity": "sha512-2cREi8nvCdspYHk6KJ5xjIgq8Dgh/kfwPIVjpLQBZFNC03Q6GvOLVoVm8ye6ToOpQFjvjpjndqU93JXSLMANgA==", "dependencies": { "tslib": "^2.3.0" }, @@ -1068,25 +1072,25 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.5", - "@angular/core": "13.3.5", - "@angular/platform-browser": "13.3.5", + "@angular/common": "13.3.10", + "@angular/core": "13.3.10", + "@angular/platform-browser": "13.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.5.tgz", - "integrity": "sha512-IJawCyu4Zwk6GNPDkbSkY6sFYaBHtaHMwhaiRojrqiKA0n2bDNULLcHfYGSyA7UvkX8m9Nt0M5GaF66BIwuZSw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.10.tgz", + "integrity": "sha512-TQwVIEFTWOlX9Jy2PhOT52Eo3ApNWSkjQavAuIU4uNQRCyoKMTywJ6MlQiQlMoWPH77Yn5EZyCwRoWFVWg3q0w==", "dev": true, "engines": { "node": "^12.20.0 || ^14.15.0 || >=16.10.0" } }, "node_modules/@angular/localize": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.5.tgz", - "integrity": "sha512-0MmGvQSBZeKwsOBATWp7Y5rxyGW6OaszLtecKu32VVJSjoDN4M6uMHBMjVVe4IxbyJnbhlSPRSYL9hRFbOve0A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.10.tgz", + "integrity": "sha512-DNSOLJd8SkYHWKWyBm/piYnjurYRsgXTmWoVXTrfEuALEHxz3cwnVUPvoiWwJVMKklFr76D61pDY4mz5muPxog==", "dependencies": { "@babel/core": "7.17.2", "glob": "7.2.0", @@ -1101,20 +1105,8 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "13.3.5", - "@angular/compiler-cli": "13.3.5" - } - }, - "node_modules/@angular/localize/node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@angular/compiler": "13.3.10", + "@angular/compiler-cli": "13.3.10" } }, "node_modules/@angular/localize/node_modules/@babel/core": { @@ -1147,18 +1139,31 @@ } }, "node_modules/@angular/localize/node_modules/@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dependencies": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@angular/localize/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@angular/localize/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -1168,15 +1173,15 @@ } }, "node_modules/@angular/material": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.5.tgz", - "integrity": "sha512-4+FCb6Tbre5SwhZRKfnuh8K+/o+DuCGisJOuk7lxdFKDGDPjsPDWYVrBDal1N70mO09z/ApwNjpsIjuRv79wpg==", + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.8.tgz", + "integrity": "sha512-y+j4WphhDZXvqKwf/fNuR+QNkH13Qc0fp7//i98f8Gy3Za1NCCc5SfIoifQ7Xqwh2ZKbgnh6GTdtbT4zq+NjaQ==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^13.0.0 || ^14.0.0-0", - "@angular/cdk": "13.3.5", + "@angular/cdk": "13.3.8", "@angular/common": "^13.0.0 || ^14.0.0-0", "@angular/core": "^13.0.0 || ^14.0.0-0", "@angular/forms": "^13.0.0 || ^14.0.0-0", @@ -1185,9 +1190,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.5.tgz", - "integrity": "sha512-DPV1J3h1ua4GI9PuXDr8IlzJoC/TR0A/onPTaE6IFOzs1r28vB+vWRRbZURXrTYeWzWVB/2R9tPOqFNoi3zlzA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.10.tgz", + "integrity": "sha512-zi0FrA8zZRiHLBfKlfIxikG06wMF2KcSp6oqrIblrc1VrHgPRVRABz8vryH84lasDssjYdIS9AvbQnCCdgCzJA==", "dependencies": { "tslib": "^2.3.0" }, @@ -1195,9 +1200,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/animations": "13.3.5", - "@angular/common": "13.3.5", - "@angular/core": "13.3.5" + "@angular/animations": "13.3.10", + "@angular/common": "13.3.10", + "@angular/core": "13.3.10" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1206,9 +1211,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.5.tgz", - "integrity": "sha512-Mko8/mRlcVsZJQ5zHfc/p7so/ZN16UMynTnksrD7cEgGxDuJosE8m+exqgoT03VCYaOjJtCFXSwdOb/8FOUDZQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.10.tgz", + "integrity": "sha512-hygsEjTaS+VDUrBZZiRJFo5J7AHCS/EcAc1IWvb69EnVqA9RwqM4hWbuy3y/cmLEeHLLmRldIlS6xRPt8fTNQg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1216,16 +1221,16 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.5", - "@angular/compiler": "13.3.5", - "@angular/core": "13.3.5", - "@angular/platform-browser": "13.3.5" + "@angular/common": "13.3.10", + "@angular/compiler": "13.3.10", + "@angular/core": "13.3.10", + "@angular/platform-browser": "13.3.10" } }, "node_modules/@angular/router": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.5.tgz", - "integrity": "sha512-3yUNyBpUi0KUKP91a3dVQsr9Jfjs4wGxpiFYb3apc7lKT5R1LJqt2O0EchjOgvFyJ6TDOemdCAzKgvSRkDxpMw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.10.tgz", + "integrity": "sha512-neGaeiHravXlCbNbyGJecwQyu/91Pj/E9/ohVFzBBE4V9BrNx9v7Ntc4ugqgpnrV2wtonPP7TQDqXxrPk4QVfg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1233,9 +1238,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.3.5", - "@angular/core": "13.3.5", - "@angular/platform-browser": "13.3.5", + "@angular/common": "13.3.10", + "@angular/core": "13.3.10", + "@angular/platform-browser": "13.3.10", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -1265,20 +1270,20 @@ } }, "node_modules/@babel/core": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", - "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", + "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.10", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helpers": "^7.18.2", + "@babel/parser": "^7.18.0", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.10", - "@babel/types": "^7.17.10", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1293,29 +1298,30 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" } }, - "node_modules/@babel/core/node_modules/@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "node_modules/@babel/core/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", "dependencies": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", - "jsesc": "^2.5.1" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, "node_modules/@babel/core/node_modules/semver": { @@ -1375,9 +1381,9 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", - "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", "dependencies": { "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", @@ -1400,9 +1406,9 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", - "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", @@ -1421,9 +1427,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", - "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", @@ -1465,12 +1471,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dependencies": { - "@babel/types": "^7.16.7" - }, + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", "engines": { "node": ">=6.9.0" } @@ -1534,9 +1537,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", - "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", "dependencies": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", @@ -1544,8 +1547,8 @@ "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/traverse": "^7.18.0", + "@babel/types": "^7.18.0" }, "engines": { "node": ">=6.9.0" @@ -1564,9 +1567,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1587,27 +1590,27 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", "dependencies": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.18.2" }, "engines": { "node": ">=6.9.0" @@ -1668,22 +1671,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", - "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", "dependencies": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0" + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", @@ -1694,9 +1697,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", - "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", + "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1705,12 +1708,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1720,14 +1723,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/plugin-proposal-optional-chaining": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1754,13 +1757,13 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1770,13 +1773,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", - "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.17.6", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1803,12 +1806,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1819,12 +1822,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1835,12 +1838,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1851,12 +1854,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1883,16 +1886,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", - "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1918,12 +1921,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1935,13 +1938,13 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1951,14 +1954,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1969,13 +1972,13 @@ } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=4" @@ -2059,6 +2062,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", + "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -2186,12 +2204,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz", - "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", + "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2201,12 +2219,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2248,12 +2266,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2263,17 +2281,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" }, @@ -2285,12 +2303,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2300,12 +2318,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", - "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2331,12 +2349,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2362,12 +2380,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2394,12 +2412,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2424,13 +2442,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -2441,14 +2459,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", - "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -2459,14 +2477,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", - "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz", + "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, @@ -2478,13 +2496,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2494,12 +2512,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz", - "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.17.0" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2509,12 +2528,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", + "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2540,12 +2559,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2570,11 +2589,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", - "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", "dev": true, "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", "regenerator-transform": "^0.15.0" }, "engines": { @@ -2585,12 +2605,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2644,12 +2664,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" }, "engines": { @@ -2675,12 +2695,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2690,12 +2710,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2736,37 +2756,38 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz", - "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", + "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.17.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.18.0", "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.17.3", + "@babel/plugin-proposal-object-rest-spread": "^7.18.0", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.17.12", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -2776,40 +2797,40 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.17.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.18.0", "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.18.1", "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.17.9", - "@babel/plugin-transform-modules-systemjs": "^7.17.8", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10", - "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.18.0", + "@babel/plugin-transform-modules-commonjs": "^7.18.2", + "@babel/plugin-transform-modules-systemjs": "^7.18.0", + "@babel/plugin-transform-modules-umd": "^7.18.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.17.9", - "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.18.0", + "@babel/plugin-transform-reserved-words": "^7.17.12", "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.18.2", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.17.10", + "@babel/types": "^7.18.2", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", @@ -2823,6 +2844,40 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -2893,18 +2948,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", - "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", + "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", "dependencies": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-environment-visitor": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.10", - "@babel/types": "^7.17.10", + "@babel/parser": "^7.18.0", + "@babel/types": "^7.18.2", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2913,22 +2968,35 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dependencies": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/types": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", - "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -2953,27 +3021,28 @@ "node": ">=0.1.90" } }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" } }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@csstools/postcss-progressive-custom-properties": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", @@ -2989,6 +3058,23 @@ "postcss": "^8.3" } }, + "node_modules/@csstools/selector-specificity": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz", + "integrity": "sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3", + "postcss-selector-parser": "^6.0.10" + } + }, "node_modules/@cypress/request": { "version": "2.88.10", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", @@ -3064,19 +3150,19 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", + "espree": "^9.3.2", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { @@ -3110,9 +3196,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3271,20 +3357,20 @@ } }, "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.0.tgz", + "integrity": "sha512-tscn3dlJFGay47kb4qVruQg/XWlmvU0xp3EJOjzzY+sBaI+YgwKcvAmTcyYU7xEiLLIY5HCdWRooAL8dqkFlDA==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-message-util": "^28.1.0", + "jest-util": "^28.1.0", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/console/node_modules/ansi-styles": { @@ -3358,42 +3444,43 @@ } }, "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.0.tgz", + "integrity": "sha512-/2PTt0ywhjZ4NwNO4bUqD9IVJfmFVhVKGlhvSpmEfUCuxYf/3NHcKmRFI+I71lYzbTT3wMuYpETDCTHo81gC/g==", "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/reporters": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", + "jest-changed-files": "^28.0.2", + "jest-config": "^28.1.0", + "jest-haste-map": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.0", + "jest-resolve-dependencies": "^28.1.0", + "jest-runner": "^28.1.0", + "jest-runtime": "^28.1.0", + "jest-snapshot": "^28.1.0", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", + "jest-watcher": "^28.1.0", "micromatch": "^4.0.4", + "pretty-format": "^28.1.0", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -3462,6 +3549,39 @@ "node": ">=8" } }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "node_modules/@jest/core/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3475,85 +3595,109 @@ } }, "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.0.tgz", + "integrity": "sha512-S44WGSxkRngzHslhV6RoAExekfF7Qhwa6R5+IYFa81mpcj0YgdBnRSmvHe3SNwOt64yXaE5GG8Y2xM28ii5ssA==", "dev": true, "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/fake-timers": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", - "jest-mock": "^27.5.1" + "jest-mock": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.0.tgz", + "integrity": "sha512-be9ETznPLaHOmeJqzYNIXv1ADEzENuQonIoobzThOYPuK/6GhrWNIJDVTgBLCrz3Am73PyEU2urQClZp0hLTtA==", + "dev": true, + "dependencies": { + "expect": "^28.1.0", + "jest-snapshot": "^28.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.0.tgz", + "integrity": "sha512-5BrG48dpC0sB80wpeIX5FU6kolDJI4K0n5BM9a5V38MGx0pyRvUBSS0u2aNTdDzmOrCjhOg8pGs6a20ivYkdmw==", + "dev": true, + "dependencies": { + "jest-get-type": "^28.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.0.tgz", + "integrity": "sha512-Xqsf/6VLeAAq78+GNPzI7FZQRf5cCHj1qgQxCjws9n8rKw8r1UYoeaALwBvyuzOkpU3c1I6emeMySPa96rxtIg==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", + "@jest/types": "^28.1.0", + "@sinonjs/fake-timers": "^9.1.1", "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-message-util": "^28.1.0", + "jest-mock": "^28.1.0", + "jest-util": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.0.tgz", + "integrity": "sha512-3m7sTg52OTQR6dPhsEQSxAvU+LOBbMivZBwOvKEZ+Rb+GyxVnXi9HKgOTYkx/S99T8yvh17U4tNNJPIEQmtwYw==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "@jest/environment": "^28.1.0", + "@jest/expect": "^28.1.0", + "@jest/types": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.0.tgz", + "integrity": "sha512-qxbFfqap/5QlSpIizH9c/bFCDKsQlM4uAKSOvZrP+nIdrjqre3FmKzpTtYyhsaVcOSNK7TTt2kjm+4BJIjysFA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", + "@jridgewell/trace-mapping": "^0.3.7", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", - "glob": "^7.1.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-util": "^28.1.0", + "jest-worker": "^28.1.0", "slash": "^3.0.0", - "source-map": "^0.6.0", "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" + "v8-to-istanbul": "^9.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -3622,15 +3766,6 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@jest/reporters/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3643,83 +3778,86 @@ "node": ">=8" } }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "node_modules/@jest/schemas": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz", + "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==", "dev": true, "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" + "@sinclair/typebox": "^0.23.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/@jest/source-map": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz", + "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.7", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.0.tgz", + "integrity": "sha512-sBBFIyoPzrZho3N+80P35A5oAkSKlGfsEFfXFWuPGBsW40UAjCkGakZhn4UQK4iQlW2vgCDMRDOob9FGKV8YoQ==", "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/types": "^28.1.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.0.tgz", + "integrity": "sha512-tZCEiVWlWNTs/2iK9yi6o3AlMfbbYgV4uuZInSVdzZ7ftpHZhCMuhvk2HLYhCZzLgPFQ9MnM1YaxMnh3TILFiQ==", "dev": true, "dependencies": { - "@jest/test-result": "^27.5.1", + "@jest/test-result": "^28.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" + "jest-haste-map": "^28.1.0", + "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.0.tgz", + "integrity": "sha512-omy2xe5WxlAfqmsTjTPxw+iXRTRnf+NtX0ToG+4S0tABeb4KsKmPUHq5UBuwunHg3tJRwgEQhEp0M/8oiatLEA==", "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/types": "^28.1.0", + "@jridgewell/trace-mapping": "^0.3.7", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^28.1.0", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "write-file-atomic": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/transform/node_modules/ansi-styles": { @@ -3780,15 +3918,6 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@jest/transform/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3801,20 +3930,34 @@ "node": ">=8" } }, + "node_modules/@jest/transform/node_modules/write-file-atomic": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", + "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, "node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.0.tgz", + "integrity": "sha512-xmEggMPr317MIOjjDoZ4ejCSr9Lpbt/u34+dvc99t7DS8YirW5rwZEhzKPC2BMUFkUhI48qs6qLUSGw5FuL0GA==", "dev": true, "dependencies": { + "@jest/schemas": "^28.0.2", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", + "@types/yargs": "^17.0.8", "chalk": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/types/node_modules/ansi-styles": { @@ -3900,45 +4043,45 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", - "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz", - "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz", - "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA==" + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, "node_modules/@ngtools/webpack": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.4.tgz", - "integrity": "sha512-dNDNeAOwtpX5A7TTEsgDbkg4jTmAJHD96qLqcpJqfBg8nZ4mqn6E0HinX9HZKaCST1/75T6GsFo1Muc4MsHYgA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", + "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", "dev": true, "engines": { "node": "^12.20.0 || ^14.15.0 || >=16.10.0", @@ -4068,6 +4211,29 @@ "read-package-json-fast": "^2.0.1" } }, + "node_modules/@npmcli/run-script/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@npmcli/run-script/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/@npmcli/run-script/node_modules/make-fetch-happen": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", @@ -4137,13 +4303,13 @@ } }, "node_modules/@schematics/angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz", - "integrity": "sha512-Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.7.tgz", + "integrity": "sha512-OAny1e/yliku52xG7vfWs1hNYSgCNTPpMv9fS8zz9eF5/GrKv28WFSy20mUXqLZ91VsbGSs6X0mI6pdNnpVtJA==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", "jsonc-parser": "3.0.0" }, "engines": { @@ -4173,6 +4339,12 @@ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true }, + "node_modules/@sinclair/typebox": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", + "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==", + "dev": true + }, "node_modules/@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -4192,9 +4364,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0" @@ -4243,12 +4415,12 @@ } }, "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, "engines": { - "node": ">= 6" + "node": ">= 10" } }, "node_modules/@tsconfig/node10": { @@ -4355,9 +4527,9 @@ } }, "node_modules/@types/d3": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.1.0.tgz", - "integrity": "sha512-gYWvgeGjEl+zmF8c+U1RNIKqe7sfQwIXeLXO5Os72TjDjCEtgpvGBvZ8dXlAuSS1m6B90Y1Uo6Bm36OGR/OtCA==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz", + "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==", "dev": true, "dependencies": { "@types/d3-array": "*", @@ -4393,9 +4565,9 @@ } }, "node_modules/@types/d3-array": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.2.tgz", - "integrity": "sha512-5mjGjz6XOXKOCdTajXTZ/pMsg236RdiwKPrRPWAEf/2S/+PzwY+LLYShUpeysWaMvsdS7LArh6GdUefoxpchsQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.3.tgz", + "integrity": "sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==", "dev": true }, "node_modules/@types/d3-axis": { @@ -4423,9 +4595,9 @@ "dev": true }, "node_modules/@types/d3-color": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.0.2.tgz", - "integrity": "sha512-WVx6zBiz4sWlboCy7TCgjeyHpNjMsoF36yaagny1uXfbadc9f+5BeBf7U+lRmQqY3EHbGQpP8UdW8AC+cywSwQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==", "dev": true }, "node_modules/@types/d3-contour": { @@ -4439,9 +4611,9 @@ } }, "node_modules/@types/d3-delaunay": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.0.tgz", - "integrity": "sha512-iGm7ZaGLq11RK3e69VeMM6Oqj2SjKUB9Qhcyd1zIcqn2uE8w9GFB445yCY46NOQO3ByaNyktX1DK+Etz7ZaX+w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz", + "integrity": "sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==", "dev": true }, "node_modules/@types/d3-dispatch": { @@ -4502,9 +4674,9 @@ } }, "node_modules/@types/d3-hierarchy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.0.2.tgz", - "integrity": "sha512-+krnrWOZ+aQB6v+E+jEkmkAx9HvsNAD+1LCD0vlBY3t+HwjKnsBFbpVLx6WWzDzCIuiTWdAxXMEnGnVXpB09qQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.0.tgz", + "integrity": "sha512-g+sey7qrCa3UbsQlMZZBOHROkFqx7KZKvUpRzI/tAp/8erZWpYq7FgNKvYwebi2LaEiVs1klhUfd3WCThxmmWQ==", "dev": true }, "node_modules/@types/d3-interpolate": { @@ -4740,9 +4912,9 @@ } }, "node_modules/@types/jest": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz", - "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==", "dev": true, "dependencies": { "jest-matcher-utils": "^27.0.0", @@ -4755,6 +4927,17 @@ "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", "dev": true }, + "node_modules/@types/jsdom": { + "version": "16.2.14", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz", + "integrity": "sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/parse5": "*", + "@types/tough-cookie": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -4786,9 +4969,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", - "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -4803,10 +4986,16 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "node_modules/@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", + "dev": true + }, "node_modules/@types/prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", - "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, "node_modules/@types/qs": { @@ -4879,6 +5068,12 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, "node_modules/@types/ws": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", @@ -4895,9 +5090,9 @@ "dev": true }, "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", + "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -4920,19 +5115,19 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz", - "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz", + "integrity": "sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/type-utils": "5.22.0", - "@typescript-eslint/utils": "5.22.0", - "debug": "^4.3.2", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/type-utils": "5.27.0", + "@typescript-eslint/utils": "5.27.0", + "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", + "ignore": "^5.2.0", "regexpp": "^3.2.0", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { @@ -4952,13 +5147,30 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.22.0.tgz", - "integrity": "sha512-rKxoCUtAHwEH6IcAoVpqipY6Th+YKW7WFspAKu0IFdbdKZpveFBeqxxE9Xn+GWikhq1o03V3VXbxIe+GdhggiQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.0.tgz", + "integrity": "sha512-ZOn342bYh19IYvkiorrqnzNoRAr91h3GiFSSfa4tlHV+R9GgR8SxCwAi8PKMyT8+pfwMxfQdNbwKsMurbF9hzg==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.22.0" + "@typescript-eslint/utils": "5.27.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4972,15 +5184,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", - "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", - "debug": "^4.3.2" + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", + "debug": "^4.3.4" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4998,14 +5210,31 @@ } } }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5016,13 +5245,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz", - "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz", + "integrity": "sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.22.0", - "debug": "^4.3.2", + "@typescript-eslint/utils": "5.27.0", + "debug": "^4.3.4", "tsutils": "^3.21.0" }, "engines": { @@ -5041,10 +5270,27 @@ } } }, + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5055,17 +5301,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { @@ -5081,16 +5327,33 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.0.tgz", + "integrity": "sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -5106,13 +5369,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" + "@typescript-eslint/types": "5.27.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5311,9 +5574,9 @@ } }, "node_modules/ace-builds": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.14.tgz", - "integrity": "sha512-NBOQlm9+7RBqRqZwimpgquaLeTJFayqb9UEPtTkpC3TkkwDnlsT/TwsCC0svjt9kEZ6G9mH5AEOHSz6Q/HrzQQ==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.5.3.tgz", + "integrity": "sha512-WN5BKR2aTSuBmisO8jo3Fytk6sOmJGki82v/Boeic81IgYN8pFHNkXq2anDF0XkmfDWMqLbRoW9sjc/GtKzQbQ==" }, "node_modules/acorn": { "version": "8.7.1", @@ -5625,7 +5888,7 @@ "node_modules/aria-query": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "integrity": "sha512-majUxHgLehQTeSA+hClx+DY09OVUqG3GtezWkF1krgLGNdlDu9l9V8DaqNMWbq4Eddc8wsyDA0hpDUtnYxQEXw==", "dev": true, "dependencies": { "ast-types-flow": "0.0.7", @@ -5659,7 +5922,7 @@ "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -5677,7 +5940,7 @@ "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, "engines": { "node": ">=0.8" @@ -5686,7 +5949,7 @@ "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true }, "node_modules/astral-regex": { @@ -5707,7 +5970,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, "node_modules/at-least-node": { @@ -5767,7 +6030,7 @@ "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, "engines": { "node": "*" @@ -5798,22 +6061,21 @@ } }, "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.0.tgz", + "integrity": "sha512-zNKk0yhDZ6QUwfxh9k07GII6siNGMJWVUU49gmFj5gfdqDKLqa2RArXOF2CODp4Dr7dLxN2cvAV+667dGJ4b4w==", "dev": true, "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/transform": "^28.1.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", + "babel-preset-jest": "^28.0.2", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" @@ -5894,7 +6156,6 @@ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, - "peer": true, "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.0", @@ -5914,7 +6175,6 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "peer": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -5932,7 +6192,6 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, - "peer": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -5947,7 +6206,6 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "peer": true, "dependencies": { "semver": "^6.0.0" }, @@ -5963,7 +6221,6 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "peer": true, "dependencies": { "find-up": "^4.0.0" }, @@ -5976,7 +6233,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "peer": true, "bin": { "semver": "bin/semver.js" } @@ -6007,18 +6263,18 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.0.2.tgz", + "integrity": "sha512-Kizhn/ZL+68ZQHxSnHyuvJv8IchXD62KQxV77TBDV/xoBFBOfgRAk97GNs6hXdTTCiVES9nB2I6+7MXXrk5llQ==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", + "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -6093,16 +6349,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz", + "integrity": "sha512-sYzXIdgIXXroJTFeB3S6sNDWtlJ2dllCdTEsnZ65ACrMojj3hVNFRmnJ1HZtomGi+Be7aqpY/HJ92fr8OhKVkQ==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", + "babel-plugin-jest-hoist": "^28.0.2", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -6136,13 +6392,13 @@ "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "dependencies": { "tweetnacl": "^0.14.3" @@ -6253,7 +6509,7 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/body-parser/node_modules/qs": { @@ -6274,7 +6530,7 @@ "node_modules/bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dev": true, "dependencies": { "array-flatten": "^2.1.0", @@ -6323,7 +6579,7 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, "node_modules/boxen": { @@ -6556,7 +6812,7 @@ "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "engines": { "node": "*" @@ -6577,7 +6833,7 @@ "node_modules/builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", "dev": true, "peer": true, "engines": { @@ -6587,13 +6843,13 @@ "node_modules/builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", "dev": true }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, "engines": { "node": ">= 0.8" @@ -6719,9 +6975,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001335", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz", - "integrity": "sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==", + "version": "1.0.30001344", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", + "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==", "funding": [ { "type": "opencollective", @@ -6736,7 +6992,7 @@ "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, "node_modules/chalk": { @@ -6770,7 +7026,7 @@ "node_modules/check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -6821,9 +7077,9 @@ } }, "node_modules/ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", + "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", "dev": true }, "node_modules/circular-dependency-plugin": { @@ -6992,7 +7248,7 @@ "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, "engines": { "node": ">=0.8" @@ -7027,7 +7283,7 @@ "node_modules/clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", "dev": true, "dependencies": { "mimic-response": "^1.0.0" @@ -7036,7 +7292,7 @@ "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "engines": { "iojs": ">= 1.0.0", @@ -7090,6 +7346,18 @@ "zone.js": "~0.10.2" } }, + "node_modules/codelyzer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, "node_modules/codelyzer/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -7128,7 +7396,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/color-support": { "version": "1.1.3", @@ -7189,7 +7457,7 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "node_modules/compressible": { @@ -7234,28 +7502,29 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concurrently": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.1.0.tgz", - "integrity": "sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.2.1.tgz", + "integrity": "sha512-7cab/QyqipqghrVr9qZmoWbidu0nHsmxrpNqQ7r/67vfl1DWJElexehQnTH1p+87tDkihaAjM79xTZyBQh7HLw==", "dev": true, "dependencies": { "chalk": "^4.1.0", "date-fns": "^2.16.1", "lodash": "^4.17.21", "rxjs": "^6.6.3", + "shell-quote": "^1.7.3", "spawn-command": "^0.0.2-1", "supports-color": "^8.1.0", "tree-kill": "^1.2.2", - "yargs": "^16.2.0" + "yargs": "^17.3.1" }, "bin": { "concurrently": "dist/bin/concurrently.js" @@ -7334,6 +7603,18 @@ "node": ">=8" } }, + "node_modules/concurrently/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, "node_modules/concurrently/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -7349,23 +7630,11 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/concurrently/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } + "node_modules/concurrently/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/config-chain": { "version": "1.1.13", @@ -7434,7 +7703,7 @@ "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, "node_modules/content-disposition": { @@ -7498,7 +7767,7 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "node_modules/copy-anything": { @@ -7613,9 +7882,9 @@ } }, "node_modules/core-js": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.4.tgz", - "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==", + "version": "3.22.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.7.tgz", + "integrity": "sha512-Jt8SReuDKVNZnZEzyEQT5eK6T2RRCXkfTq7Lo09kpm+fHjgGewSbNjV+Wt4yZMhPDdzz2x1ulI5z/w4nxpBseg==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7623,9 +7892,9 @@ } }, "node_modules/core-js-compat": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz", - "integrity": "sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==", + "version": "3.22.7", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.7.tgz", + "integrity": "sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA==", "dev": true, "dependencies": { "browserslist": "^4.20.3", @@ -7648,7 +7917,7 @@ "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, "node_modules/cosmiconfig": { @@ -7763,6 +8032,14 @@ "node": ">=8" } }, + "node_modules/crop-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/crop-url/-/crop-url-4.0.1.tgz", + "integrity": "sha512-IO6+sIK5cy0jnG0k0/RvgGhlsCJo0xNLq7l4jIu2UedvpAJomOlVCyDtupqbffE5MYjHLJkba5lYnP/UqQJbpQ==", + "engines": { + "node": ">=10" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -7886,7 +8163,7 @@ "node_modules/css-rule-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz", - "integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=", + "integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==", "dev": true, "dependencies": { "css-tokenize": "^1.0.1", @@ -7955,7 +8232,7 @@ "node_modules/css-tokenize": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz", - "integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=", + "integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==", "dev": true, "dependencies": { "inherits": "^2.0.1", @@ -8004,7 +8281,7 @@ "node_modules/cssauron": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "integrity": "sha512-Ht70DcFBh+/ekjVrYS2PlDMdSQEl3OFNmjK6lcn49HptBgilXf/Zwg4uFh9Xn0pX3Q8YOkSjIFOfK2osvdqpBw==", "dev": true, "dependencies": { "through": "X.X.X" @@ -8029,9 +8306,9 @@ } }, "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true }, "node_modules/cssstyle": { @@ -8053,9 +8330,9 @@ "dev": true }, "node_modules/cypress": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.3.1.tgz", - "integrity": "sha512-BODdPesxX6bkVUnH8BVsV8I/jn57zQtO1FEOUTiuG2us3kslW7g0tcuwiny7CKCmJUZz8S/D587ppC+s58a+5Q==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", + "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -8091,15 +8368,15 @@ "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", + "semver": "^7.3.2", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", - "url": "^0.11.0", "yauzl": "^2.10.0" }, "bin": { @@ -8110,15 +8387,15 @@ } }, "node_modules/cypress-fail-fast": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/cypress-fail-fast/-/cypress-fail-fast-3.4.1.tgz", - "integrity": "sha512-74UoLLRSNL9hbNqW4JVTEh7S1BKigrZmLmcxdntDmIDZrZFezb1A7BiSKSEXV8naLJ5xt8zK8YrEctpf0NZn3Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cypress-fail-fast/-/cypress-fail-fast-4.0.0.tgz", + "integrity": "sha512-/8Wjk4TETwPjv8iVThAoZFEYQxNpNqHuRE2Bofv7sCLSUywLGMTyq0DhlN8LJY9wY+D37GuJeoaXwiEeI8J0fQ==", "dev": true, "dependencies": { "chalk": "4.1.2" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "cypress": ">=5.0.0" @@ -8195,9 +8472,9 @@ } }, "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", - "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", + "version": "14.18.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", + "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==", "dev": true }, "node_modules/cypress/node_modules/ansi-styles": { @@ -8586,7 +8863,7 @@ "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "dependencies": { "assert-plus": "^1.0.0" @@ -8596,17 +8873,30 @@ } }, "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" + } + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/date-fns": { @@ -8623,9 +8913,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz", - "integrity": "sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", + "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==", "dev": true }, "node_modules/debug": { @@ -8659,7 +8949,7 @@ "node_modules/decamelize-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", "dev": true, "dependencies": { "decamelize": "^1.1.0", @@ -8672,7 +8962,7 @@ "node_modules/decamelize-keys/node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -8681,7 +8971,7 @@ "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -8696,7 +8986,7 @@ "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "dev": true, "engines": { "node": ">=0.10" @@ -8705,7 +8995,7 @@ "node_modules/decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", "dev": true, "dependencies": { "mimic-response": "^1.0.0" @@ -8717,7 +9007,7 @@ "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "node_modules/deep-equal": { @@ -8820,7 +9110,7 @@ "node_modules/defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", "dev": true, "dependencies": { "clone": "^1.0.2" @@ -8858,9 +9148,9 @@ } }, "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, "dependencies": { "globby": "^11.0.1", @@ -8887,7 +9177,7 @@ "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, "engines": { "node": ">=0.4.0" @@ -8896,13 +9186,13 @@ "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, "engines": { "node": ">= 0.6" @@ -8974,7 +9264,7 @@ "node_modules/dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true }, "node_modules/dns-packet": { @@ -8992,7 +9282,7 @@ "node_modules/dns-txt": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", "dev": true, "dependencies": { "buffer-indexof": "^1.0.0" @@ -9079,24 +9369,15 @@ ] }, "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, "dependencies": { - "webidl-conversions": "^5.0.0" + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/domhandler": { @@ -9149,7 +9430,7 @@ "node_modules/duplexer2": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==", "dev": true, "dependencies": { "readable-stream": "~1.1.9" @@ -9176,7 +9457,7 @@ "node_modules/duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==", "dev": true }, "node_modules/eastasianwidth": { @@ -9188,7 +9469,7 @@ "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "dependencies": { "jsbn": "~0.1.0", @@ -9234,13 +9515,13 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "node_modules/ejs": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz", - "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", "dev": true, "dependencies": { "jake": "^10.8.5" @@ -9253,17 +9534,17 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.132", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.132.tgz", - "integrity": "sha512-JYdZUw/1068NWN+SwXQ7w6Ue0bWYGihvSUNNQwurvcDV/SM7vSiGZ3NuFvFgoEiCs4kB8xs3cX2an3wB7d4TBw==" + "version": "1.4.142", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.142.tgz", + "integrity": "sha512-ea8Q1YX0JRp4GylOmX4gFHIizi0j9GfRW4EkaHnkZp0agRCBB4ZGeCv17IEzIvBkiYVwfoKVhKZJbTfqCRdQdg==" }, "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sindresorhus/emittery?sponsor=1" @@ -9286,7 +9567,7 @@ "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "engines": { "node": ">= 0.8" @@ -9772,13 +10053,13 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { "node": ">=0.8.0" } @@ -9817,7 +10098,7 @@ "node_modules/escodegen/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "dependencies": { "prelude-ls": "~1.1.2", @@ -9876,12 +10157,12 @@ } }, "node_modules/eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.2.2", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -9892,14 +10173,14 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", + "espree": "^9.3.2", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -9908,7 +10189,7 @@ "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "regexpp": "^3.2.0", @@ -10285,9 +10566,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -10351,13 +10632,13 @@ } }, "node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", "dev": true, "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -10440,7 +10721,7 @@ "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "engines": { "node": ">= 0.6" @@ -10474,14 +10755,11 @@ } }, "node_modules/eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "dependencies": { - "original": "^1.0.0" - }, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", "engines": { - "node": ">=0.12.0" + "node": ">=12.0.0" } }, "node_modules/execa": { @@ -10534,25 +10812,168 @@ "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.0.tgz", + "integrity": "sha512-qFXKl8Pmxk8TBGfaFKRtcQjfXEnKAs+dmlxdwvukJZorwrAabT7M3h8oLOG01I2utEhkmUTi17CHaPBovZsKdw==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "@jest/expect-utils": "^28.1.0", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-util": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/expect/node_modules/diff-sequences": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", + "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/jest-diff": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", + "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.0.2", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", + "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, + "node_modules/expect/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/express": { @@ -10600,7 +11021,7 @@ "node_modules/express/node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "node_modules/express/node_modules/debug": { @@ -10624,7 +11045,7 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/express/node_modules/qs": { @@ -10717,7 +11138,7 @@ "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, "engines": [ "node >=0.6.0" @@ -10760,7 +11181,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fastest-levenshtein": { @@ -10807,7 +11228,7 @@ "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "dependencies": { "pend": "~1.2.0" @@ -10846,9 +11267,9 @@ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, "node_modules/filelist": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", - "integrity": "sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, "dependencies": { "minimatch": "^5.0.1" @@ -10895,7 +11316,7 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/find-cache-dir": { @@ -10945,9 +11366,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "dev": true, "funding": [ { @@ -10967,7 +11388,7 @@ "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, "engines": { "node": "*" @@ -11012,7 +11433,7 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "engines": { "node": ">= 0.6" @@ -11054,7 +11475,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -11078,7 +11499,7 @@ "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", "dev": true }, "node_modules/functions-have-names": { @@ -11187,16 +11608,16 @@ "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/git-describe": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/git-describe/-/git-describe-4.1.0.tgz", - "integrity": "sha512-NM7JSseVK4Z0r505+2TIrgPQKPvqbOowHP73IY5y69v/t/PmoMleJdij1vTO3qVm1qSvqb6342p1MYSxsnV8QA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-describe/-/git-describe-4.1.1.tgz", + "integrity": "sha512-JC8ganO5kO80G8+XE98TDDjnMXQN3Estk3qdJuG2EGRF/l6zuMTMcN+8OSfQZ5FWpqIRLB015anWX4aSRgnxAQ==", "dev": true, "dependencies": { "@types/semver": "^7.3.8", @@ -11222,7 +11643,7 @@ "node_modules/gitignore-to-glob": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz", - "integrity": "sha1-WfMqs9m2bOUCmcPtJMsO9CoJTOs=", + "integrity": "sha512-mk74BdnK7lIwDHnotHddx1wsjMOFIThpLY3cPNniJ/2fA/tlLzHnFxIdR+4sLOu5KGgQJdij4kjJ2RoUNnCNMA==", "dev": true, "engines": { "node": ">=4.4 <5 || >=6.9" @@ -11374,7 +11795,7 @@ "node_modules/globjoin": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true }, "node_modules/got": { @@ -11946,9 +12367,9 @@ } }, "node_modules/gts/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -12033,6 +12454,18 @@ "node": "*" } }, + "node_modules/gts/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, "node_modules/gts/node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -12051,6 +12484,12 @@ "node": ">=8" } }, + "node_modules/gts/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/gts/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -12087,7 +12526,7 @@ "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true, "engines": { "node": ">=4" @@ -12153,7 +12592,7 @@ "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" } @@ -12200,7 +12639,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true }, "node_modules/has-yarn": { @@ -12253,7 +12692,7 @@ "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, "dependencies": { "inherits": "^2.0.1", @@ -12265,7 +12704,7 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "node_modules/hpack.js/node_modules/readable-stream": { @@ -12293,15 +12732,15 @@ } }, "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "dependencies": { - "whatwg-encoding": "^1.0.5" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/html-entities": { @@ -12337,7 +12776,7 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", "dev": true }, "node_modules/http-errors": { @@ -12385,12 +12824,12 @@ } }, "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "dependencies": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" }, @@ -12473,22 +12912,22 @@ "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, "dependencies": { "ms": "^2.0.0" } }, "node_modules/husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", + "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", "dev": true, "bin": { "husky": "lib/bin.js" }, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/typicode" @@ -12583,7 +13022,7 @@ "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, "optional": true, "bin": { @@ -12594,9 +13033,9 @@ } }, "node_modules/immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", "dev": true }, "node_modules/import-fresh": { @@ -12667,7 +13106,7 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { "node": ">=0.8.19" @@ -12691,7 +13130,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -12794,15 +13233,6 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/inquirer/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -12821,9 +13251,9 @@ "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, "node_modules/ipaddr.js": { @@ -12854,7 +13284,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "node_modules/is-binary-path": { @@ -12925,7 +13355,7 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { "node": ">=0.10.0" } @@ -12990,7 +13420,7 @@ "node_modules/is-lambda": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, "node_modules/is-npm": { @@ -13043,7 +13473,7 @@ "node_modules/is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -13107,7 +13537,7 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "node_modules/is-unicode-supported": { @@ -13149,19 +13579,19 @@ "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -13170,7 +13600,7 @@ "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true }, "node_modules/istanbul-lib-coverage": { @@ -13413,9 +13843,9 @@ } }, "node_modules/jasmine-core": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.0.tgz", - "integrity": "sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", + "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", "dev": true }, "node_modules/jasmine-spec-reporter": { @@ -13428,20 +13858,20 @@ } }, "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.0.tgz", + "integrity": "sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==", "dev": true, "dependencies": { - "@jest/core": "^27.5.1", + "@jest/core": "^28.1.0", "import-local": "^3.0.2", - "jest-cli": "^27.5.1" + "jest-cli": "^28.1.0" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -13453,17 +13883,16 @@ } }, "node_modules/jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz", + "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", "execa": "^5.0.0", "throat": "^6.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-changed-files/node_modules/execa": { @@ -13511,33 +13940,33 @@ } }, "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.0.tgz", + "integrity": "sha512-rNYfqfLC0L0zQKRKsg4n4J+W1A2fbyGH7Ss/kDIocp9KXD9iaL111glsLu7+Z7FHuZxwzInMDXq+N1ZIBkI/TQ==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^28.1.0", + "@jest/expect": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", - "expect": "^27.5.1", "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", + "jest-each": "^28.1.0", + "jest-matcher-utils": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-runtime": "^28.1.0", + "jest-snapshot": "^28.1.0", + "jest-util": "^28.1.0", + "pretty-format": "^28.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-circus/node_modules/ansi-styles": { @@ -13589,6 +14018,15 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", + "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -13598,6 +14036,69 @@ "node": ">=8" } }, + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", + "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.0.2", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", + "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "node_modules/jest-circus/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -13611,29 +14112,29 @@ } }, "node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.0.tgz", + "integrity": "sha512-fDJRt6WPRriHrBsvvgb93OxgajHHsJbk4jZxiPqmZbMDRcHskfJBBfTyjFko0jjfprP544hOktdSi9HVgl4VUQ==", "dev": true, "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/core": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/types": "^28.1.0", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-config": "^28.1.0", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", "prompts": "^2.0.1", - "yargs": "^16.2.0" + "yargs": "^17.3.1" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -13714,62 +14215,46 @@ "node": ">=8" } }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.0.tgz", + "integrity": "sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==", "dev": true, "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^28.1.0", + "@jest/types": "^28.1.0", + "babel-jest": "^28.1.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", - "glob": "^7.1.1", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-circus": "^28.1.0", + "jest-environment-node": "^28.1.0", + "jest-get-type": "^28.0.2", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.0", + "jest-runner": "^28.1.0", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", + "pretty-format": "^28.1.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { + "@types/node": "*", "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, "ts-node": { "optional": true } @@ -13833,6 +14318,39 @@ "node": ">=8" } }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "node_modules/jest-config/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -13918,6 +14436,15 @@ "node": ">=8" } }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-diff/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -13931,31 +14458,31 @@ } }, "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.0.2.tgz", + "integrity": "sha512-FH10WWw5NxLoeSdQlJwu+MTiv60aXV/t8KEwIRGEv74WARE1cXIqh1vGdy2CraHuWOOrnzTWj/azQKqW4fO7xg==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.0.tgz", + "integrity": "sha512-a/XX02xF5NTspceMpHujmOexvJ4GftpYXqr6HhhmKmExtMXsyIN/fvanQlt/BcgFoRKN4OCXxLQKth9/n6OPFg==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.0", + "pretty-format": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-each/node_modules/ansi-styles": { @@ -14016,6 +14543,39 @@ "node": ">=8" } }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "node_modules/jest-each/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14029,186 +14589,121 @@ } }, "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.0.tgz", + "integrity": "sha512-8n6P4xiDjNVqTWv6W6vJPuQdLx+ZiA3dbYg7YJ+DPzR+9B61K6pMVJrSs2IxfGRG4J7pyAUA5shQ9G0KEun78w==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^28.1.0", + "@jest/fake-timers": "^28.1.0", + "@jest/types": "^28.1.0", + "@types/jsdom": "^16.2.4", "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" + "jest-mock": "^28.1.0", + "jest-util": "^28.1.0", + "jsdom": "^19.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.0.tgz", + "integrity": "sha512-gBLZNiyrPw9CSMlTXF1yJhaBgWDPVvH0Pq6bOEwGMXaYNzhzhw2kA/OijNF8egbCgDS0/veRv97249x2CX+udQ==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^28.1.0", + "@jest/fake-timers": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-mock": "^28.1.0", + "jest-util": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.0.tgz", + "integrity": "sha512-xyZ9sXV8PtKi6NCrJlmq53PyNVHzxmcfXNVvIRHpHmh1j/HChC4pwKgyjj7Z9us19JMw8PpQTJsFWOsIfT93Dw==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", + "@jest/types": "^28.1.0", + "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.0", + "jest-worker": "^28.1.0", "micromatch": "^4.0.4", "walker": "^1.0.7" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "node_modules/jest-leak-detector": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.0.tgz", + "integrity": "sha512-uIJDQbxwEL2AMMs2xjhZl2hw8s77c3wrPaQ9v6tXJLGaaQ+4QrNJH5vuw7hA7w/uGT/iJ42a83opAqxGHeyRIA==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", "dev": true }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-matcher-utils": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", @@ -14282,6 +14777,15 @@ "node": ">=8" } }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-matcher-utils/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14295,23 +14799,23 @@ } }, "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.0.tgz", + "integrity": "sha512-RpA8mpaJ/B2HphDMiDlrAZdDytkmwFqgjDZovM21F35lHGeUeCvYmm6W+sbQ0ydaLpg5bFAUuWG1cjqOl8vqrw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "pretty-format": "^28.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-message-util/node_modules/ansi-styles": { @@ -14372,6 +14876,39 @@ "node": ">=8" } }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "node_modules/jest-message-util/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14385,16 +14922,16 @@ } }, "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.0.tgz", + "integrity": "sha512-H7BrhggNn77WhdL7O1apG0Q/iwl0Bdd5E1ydhCJzL3oBLh/UYxAwR3EJLsBZ9XA3ZU4PA3UNw4tQjduBTCTmLw==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/node": "*" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-pnp-resolver": { @@ -14415,349 +14952,105 @@ } }, "node_modules/jest-preset-angular": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-11.1.2.tgz", - "integrity": "sha512-qPvOP6wnLP8M01TDVSa3UC3PcDWxoj87T58mWEp5yWlWPrXBJ6rhnTEI+HPmZLyehwlK686+O/49hwFRVXFP0A==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-12.0.1.tgz", + "integrity": "sha512-/3tpZTOhBE2Qmdga9jRTGu3OxgRfAzg2xDxtVSvR1SZvFZLHRik6jw+NznuirXtchgcYGt4tBE0wPDTJvtUeDw==", "dev": true, "dependencies": { "bs-logger": "^0.2.6", - "esbuild-wasm": "0.14.11", - "jest-environment-jsdom": "^27.0.0", - "pretty-format": "^27.0.0", - "ts-jest": "^27.0.0" + "esbuild-wasm": ">=0.13.8", + "jest-environment-jsdom": "^28.0.0", + "pretty-format": "^28.0.0", + "ts-jest": "^28.0.0" }, "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + "node": "^14.15.0 || >=16.10.0" }, "optionalDependencies": { - "esbuild": "0.14.11" + "esbuild": ">=0.13.8" }, "peerDependencies": { - "@angular-devkit/build-angular": ">=0.1002.4", - "@angular/compiler-cli": ">=10.0.0", - "@angular/core": ">=10.0.0", - "@angular/platform-browser-dynamic": ">=10.0.0" + "@angular-devkit/build-angular": ">=0.1102.19 <14.0.0", + "@angular/compiler-cli": ">=11.2.14 <14.0.0", + "@angular/core": ">=11.2.14 <14.0.0", + "@angular/platform-browser-dynamic": ">=11.2.14 <14.0.0", + "jest": "^28.0.0", + "typescript": ">=4.3" } }, - "node_modules/jest-preset-angular/node_modules/esbuild": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.11.tgz", - "integrity": "sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg==", + "node_modules/jest-preset-angular/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "hasInstallScript": true, - "optional": true, - "bin": { - "esbuild": "bin/esbuild" + "engines": { + "node": ">=10" }, - "optionalDependencies": { - "esbuild-android-arm64": "0.14.11", - "esbuild-darwin-64": "0.14.11", - "esbuild-darwin-arm64": "0.14.11", - "esbuild-freebsd-64": "0.14.11", - "esbuild-freebsd-arm64": "0.14.11", - "esbuild-linux-32": "0.14.11", - "esbuild-linux-64": "0.14.11", - "esbuild-linux-arm": "0.14.11", - "esbuild-linux-arm64": "0.14.11", - "esbuild-linux-mips64le": "0.14.11", - "esbuild-linux-ppc64le": "0.14.11", - "esbuild-linux-s390x": "0.14.11", - "esbuild-netbsd-64": "0.14.11", - "esbuild-openbsd-64": "0.14.11", - "esbuild-sunos-64": "0.14.11", - "esbuild-windows-32": "0.14.11", - "esbuild-windows-64": "0.14.11", - "esbuild-windows-arm64": "0.14.11" - } - }, - "node_modules/jest-preset-angular/node_modules/esbuild-android-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz", - "integrity": "sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-darwin-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz", - "integrity": "sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-darwin-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz", - "integrity": "sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-freebsd-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz", - "integrity": "sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-freebsd-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz", - "integrity": "sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-linux-32": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz", - "integrity": "sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-linux-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz", - "integrity": "sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-linux-arm": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz", - "integrity": "sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-linux-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz", - "integrity": "sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-linux-mips64le": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz", - "integrity": "sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-linux-ppc64le": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz", - "integrity": "sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-linux-s390x": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz", - "integrity": "sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-netbsd-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz", - "integrity": "sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-openbsd-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz", - "integrity": "sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-sunos-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz", - "integrity": "sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ] + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/jest-preset-angular/node_modules/esbuild-wasm": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz", - "integrity": "sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg==", + "node_modules/jest-preset-angular/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", "dev": true, - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-preset-angular/node_modules/esbuild-windows-32": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz", - "integrity": "sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-windows-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz", - "integrity": "sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/jest-preset-angular/node_modules/esbuild-windows-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz", - "integrity": "sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] + "node_modules/jest-preset-angular/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true }, "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.0.tgz", + "integrity": "sha512-vvfN7+tPNnnhDvISuzD1P+CRVP8cK0FHXRwPAcdDaQv4zgvwvag2n55/h5VjYcM5UJG7L4TwE5tZlzcI0X2Lhw==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", + "jest-haste-map": "^28.1.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.0.tgz", + "integrity": "sha512-Ue1VYoSZquPwEvng7Uefw8RmZR+me/1kr30H2jMINjGeHgeO/JgrR6wxj2ofkJ7KSAA11W3cOrhNCbj5Dqqd9g==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-resolve/node_modules/ansi-styles": { @@ -14831,35 +15124,35 @@ } }, "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.0.tgz", + "integrity": "sha512-FBpmuh1HB2dsLklAlRdOxNTTHKFR6G1Qmd80pVDvwbZXTriqjWqjei5DKFC1UlM732KjYcE6yuCdiF0WUCOS2w==", "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/environment": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", + "jest-docblock": "^28.0.2", + "jest-environment-node": "^28.1.0", + "jest-haste-map": "^28.1.0", + "jest-leak-detector": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-resolve": "^28.1.0", + "jest-runtime": "^28.1.0", + "jest-util": "^28.1.0", + "jest-watcher": "^28.1.0", + "jest-worker": "^28.1.0", + "source-map-support": "0.5.13", "throat": "^6.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-runner/node_modules/ansi-styles": { @@ -14920,6 +15213,25 @@ "node": ">=8" } }, + "node_modules/jest-runner/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/jest-runner/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14933,36 +15245,36 @@ } }, "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.0.tgz", + "integrity": "sha512-wNYDiwhdH/TV3agaIyVF0lsJ33MhyujOe+lNTUiolqKt8pchy1Hq4+tDMGbtD5P/oNLA3zYrpx73T9dMTOCAcg==", + "dev": true, + "dependencies": { + "@jest/environment": "^28.1.0", + "@jest/fake-timers": "^28.1.0", + "@jest/globals": "^28.1.0", + "@jest/source-map": "^28.0.2", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-mock": "^28.1.0", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.0", + "jest-snapshot": "^28.1.0", + "jest-util": "^28.1.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-runtime/node_modules/ansi-styles": { @@ -15079,50 +15391,38 @@ "node": ">=8" } }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.0.tgz", + "integrity": "sha512-ex49M2ZrZsUyQLpLGxQtDbahvgBjlLPgklkqGM0hq/F7W/f8DyqZxVHjdy19QKBm4O93eDp+H5S23EiTbbUmHw==", "dev": true, "dependencies": { - "@babel/core": "^7.7.2", + "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", + "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^27.5.1", + "expect": "^28.1.0", "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.0", + "jest-matcher-utils": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-util": "^28.1.0", "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" + "pretty-format": "^28.1.0", + "semver": "^7.3.5" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-snapshot/node_modules/ansi-styles": { @@ -15174,6 +15474,15 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", + "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -15183,6 +15492,69 @@ "node": ">=8" } }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", + "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.0.2", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", + "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15196,12 +15568,12 @@ } }, "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.0.tgz", + "integrity": "sha512-qYdCKD77k4Hwkose2YBEqQk7PzUf/NSE+rutzceduFveQREeH6b+89Dc9+wjX9dAwHcgdx4yedGA3FQlU/qCTA==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -15209,7 +15581,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-util/node_modules/ansi-styles": { @@ -15283,20 +15655,20 @@ } }, "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.0.tgz", + "integrity": "sha512-Lly7CJYih3vQBfjLeANGgBSBJ7pEa18cxpQfQEq2go2xyEzehnHfQTjoUia8xUv4x4J80XKFIDwJJThXtRFQXQ==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", + "jest-get-type": "^28.0.2", "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "pretty-format": "^28.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-validate/node_modules/ansi-styles": { @@ -15369,6 +15741,39 @@ "node": ">=8" } }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15382,21 +15787,22 @@ } }, "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.0.tgz", + "integrity": "sha512-tNHMtfLE8Njcr2IRS+5rXYA4BhU90gAOwI9frTGOqd+jX0P/Au/JfRSNqsf5nUTcWdbVYuLxS1KjnzILSoR5hA==", "dev": true, "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/test-result": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^27.5.1", + "emittery": "^0.10.2", + "jest-util": "^28.1.0", "string-length": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-watcher/node_modules/ansi-styles": { @@ -15470,9 +15876,9 @@ } }, "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.0.tgz", + "integrity": "sha512-ZHwM6mNwaWBR52Snff8ZvsCTqQsvhCxP/bT1I6T6DAnb6ygkshsyLQIMxFwHpYxht0HOoqt23JlC01viI7T03A==", "dev": true, "dependencies": { "@types/node": "*", @@ -15480,7 +15886,7 @@ "supports-color": "^8.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-worker/node_modules/has-flag": { @@ -15558,27 +15964,27 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", + "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", "dev": true, "dependencies": { "abab": "^2.0.5", - "acorn": "^8.2.4", + "acorn": "^8.5.0", "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", + "cssom": "^0.5.0", "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", + "domexception": "^4.0.0", "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", @@ -15587,16 +15993,16 @@ "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "w3c-xmlserializer": "^3.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" }, "peerDependencies": { "canvas": "^2.5.0" @@ -15608,9 +16014,9 @@ } }, "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "dependencies": { "asynckit": "^0.4.0", @@ -15664,7 +16070,7 @@ "node_modules/json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", "dev": true }, "node_modules/json-parse-better-errors": { @@ -15694,13 +16100,13 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "node_modules/json5": { @@ -15735,7 +16141,7 @@ "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" @@ -15807,9 +16213,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz", - "integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", + "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", "dev": true }, "node_modules/latest-version": { @@ -15827,7 +16233,7 @@ "node_modules/lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", "dev": true, "engines": { "node": "> 0.8" @@ -15836,7 +16242,7 @@ "node_modules/ldjson-stream": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz", - "integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=", + "integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==", "dev": true, "dependencies": { "split2": "^0.2.1", @@ -15950,9 +16356,9 @@ } }, "node_modules/license-check-and-add": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.3.tgz", - "integrity": "sha512-2dFjAOviPmukS35Udy+D1fNnWeGbJaIfOM/fstsYlofnviyDJDSx1w++nStyxFffa2R9RIB0myH3Pvxv0q7jWA==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.5.tgz", + "integrity": "sha512-FySnMi3Kf/vO5jka8tcbVF1FhDFb8PWsQ8pg5Y7U/zkQgta+fIrJGcGHO58WFjfKlgvhneG1uQ00Fpxzhau3QA==", "dev": true, "dependencies": { "fs-extra": "^8.1.0", @@ -15988,7 +16394,7 @@ "node_modules/license-check-and-add/node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -16048,7 +16454,7 @@ "node_modules/license-check-and-add/node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, "engines": { "node": ">=4" @@ -16057,7 +16463,7 @@ "node_modules/license-check-and-add/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" @@ -16198,9 +16604,9 @@ } }, "node_modules/lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "dev": true, "engines": { "node": ">=10" @@ -16213,24 +16619,24 @@ "dev": true }, "node_modules/lint-staged": { - "version": "12.4.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.1.tgz", - "integrity": "sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==", + "version": "12.4.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.3.tgz", + "integrity": "sha512-eH6SKOmdm/ZwCRMTZAmM3q3dPkpq6vco/BfrOw8iGun4Xs/thYegPD/MLIwKO+iPkzibkLJuQcRhRLXKvaKreg==", "dev": true, "dependencies": { "cli-truncate": "^3.1.0", "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", + "commander": "^9.3.0", + "debug": "^4.3.4", "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", "pidtree": "^0.5.0", "string-argv": "^0.3.1", - "supports-color": "^9.2.1", + "supports-color": "^9.2.2", "yaml": "^1.10.2" }, "bin": { @@ -16277,12 +16683,29 @@ "dev": true }, "node_modules/lint-staged/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", + "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==", "dev": true, "engines": { - "node": ">= 12" + "node": "^12.20.0 || >=14" + } + }, + "node_modules/lint-staged/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/lint-staged/node_modules/execa": { @@ -16381,15 +16804,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/lint-staged/node_modules/slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -16501,15 +16915,6 @@ "node": ">=8" } }, - "node_modules/listr2/node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/listr2/node_modules/slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -16563,13 +16968,13 @@ "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "node_modules/lodash.merge": { @@ -16581,13 +16986,13 @@ "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, "node_modules/log-symbols": { @@ -16834,13 +17239,13 @@ "dev": true }, "node_modules/make-fetch-happen": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz", - "integrity": "sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.6.tgz", + "integrity": "sha512-/iKDlRQF0fkxyB/w/duW2yRYrGwBcbJjC37ijgi0CmOZ32bzMc86BCSSAHWvuyRFCB408iBPziTSzazBSrKo3w==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", - "cacache": "^16.0.2", + "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", @@ -16886,19 +17291,10 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz", - "integrity": "sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.0.tgz", + "integrity": "sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ==", "dev": true, "dependencies": { "@npmcli/fs": "^2.1.0", @@ -16925,17 +17321,16 @@ } }, "node_modules/make-fetch-happen/node_modules/glob": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz", - "integrity": "sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "once": "^1.3.0" }, "engines": { "node": ">=12" @@ -16944,33 +17339,19 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz", - "integrity": "sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", + "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==", "dev": true, "engines": { "node": ">=12" } }, "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz", - "integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "dependencies": { "minipass": "^3.1.1" @@ -17003,7 +17384,7 @@ "node_modules/material-design-icons": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", - "integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78=" + "integrity": "sha512-t19Z+QZBwSZulxptEu05kIm+UyfIdJY1JDwI+nx02j269m6W414whiQz9qfvQIiLrdx71RQv+T48nHhuQXOCIQ==" }, "node_modules/mathml-tag-names": { "version": "2.1.3", @@ -17018,16 +17399,16 @@ "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", + "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", "dev": true, "dependencies": { "fs-monkey": "1.0.3" @@ -17065,7 +17446,7 @@ "node_modules/meow/node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -17086,7 +17467,7 @@ "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "node_modules/merge-stream": { @@ -17107,7 +17488,7 @@ "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "engines": { "node": ">= 0.6" @@ -17231,9 +17612,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -17380,9 +17761,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multicast-dns": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", - "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "dependencies": { "dns-packet": "^5.2.2", @@ -17395,7 +17776,7 @@ "node_modules/multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", "dev": true }, "node_modules/multimatch": { @@ -17469,13 +17850,13 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "node_modules/ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", "dev": true, "bin": { "ncp": "bin/ncp" @@ -17538,9 +17919,9 @@ } }, "node_modules/ngx-cookie-service": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.0.tgz", - "integrity": "sha512-WxuLrZROWf59DfPPstPsrS18nxtPvT+uJ4AEjFs57NqtTfYdRQXhVJ02fZ4WP4VPElI8o6qndNL7gi9tkEdg4Q==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", + "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", "dependencies": { "tslib": "^2.0.0" }, @@ -17583,6 +17964,24 @@ "node": ">=6.9" } }, + "node_modules/ngx-i18nsupport/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/ngx-i18nsupport/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/ngx-pipes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ngx-pipes/-/ngx-pipes-3.0.0.tgz", @@ -17668,9 +18067,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", - "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==" }, "node_modules/nopt": { "version": "5.0.0", @@ -17718,12 +18117,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, "node_modules/normalize-url": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", @@ -17871,9 +18264,9 @@ } }, "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "dependencies": { "boolbase": "^1.0.0" @@ -17898,9 +18291,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -18126,14 +18519,6 @@ "node": ">=8" } }, - "node_modules/original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dependencies": { - "url-parse": "^1.4.3" - } - }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -18646,9 +19031,9 @@ } }, "node_modules/postcss-color-functional-notation": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz", - "integrity": "sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz", + "integrity": "sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18656,6 +19041,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.4" } @@ -19006,11 +19395,12 @@ } }, "node_modules/postcss-nesting": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.4.tgz", - "integrity": "sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.7.tgz", + "integrity": "sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A==", "dev": true, "dependencies": { + "@csstools/selector-specificity": "1.0.0", "postcss-selector-parser": "^6.0.10" }, "engines": { @@ -19108,9 +19498,9 @@ } }, "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz", - "integrity": "sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz", + "integrity": "sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.10" @@ -19444,16 +19834,6 @@ "node": ">=0.6" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -19921,7 +20301,7 @@ "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, "bin": { "jsesc": "bin/jsesc" @@ -19971,7 +20351,7 @@ "node_modules/request/node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "dependencies": { "assert-plus": "^1.0.0", @@ -20251,14 +20631,11 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" + "tslib": "^2.1.0" } }, "node_modules/rxjs-compat": { @@ -20354,11 +20731,6 @@ "node": ">=8" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -20370,9 +20742,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", - "integrity": "sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==", + "version": "1.52.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz", + "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -20387,16 +20759,16 @@ } }, "node_modules/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.0.tgz", + "integrity": "sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q==", "dev": true, "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 14.15.0" }, "funding": { "type": "opencollective", @@ -20598,7 +20970,7 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/send/node_modules/depd": { @@ -20655,7 +21027,7 @@ "node_modules/serve-index/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "dependencies": { "depd": "~1.1.2", @@ -20670,13 +21042,13 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/serve-index/node_modules/setprototypeof": { @@ -20754,6 +21126,12 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -20844,12 +21222,12 @@ } }, "node_modules/sockjs-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", - "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", + "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", "dependencies": { "debug": "^3.2.7", - "eventsource": "^1.1.0", + "eventsource": "^2.0.2", "faye-websocket": "^0.11.4", "inherits": "^2.0.4", "url-parse": "^1.5.10" @@ -20884,9 +21262,9 @@ } }, "node_modules/socks-proxy-agent": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", - "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dev": true, "dependencies": { "agent-base": "^6.0.2", @@ -21433,9 +21811,9 @@ "dev": true }, "node_modules/stylelint": { - "version": "14.8.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz", - "integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==", + "version": "14.8.5", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.5.tgz", + "integrity": "sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ==", "dev": true, "dependencies": { "balanced-match": "^2.0.0", @@ -21456,14 +21834,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.24.0", + "known-css-properties": "^0.25.0", "mathml-tag-names": "^2.1.3", "meow": "^9.0.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "normalize-selector": "^0.2.0", "picocolors": "^1.0.0", - "postcss": "^8.4.12", + "postcss": "^8.4.14", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", @@ -21492,51 +21869,51 @@ } }, "node_modules/stylelint-config-recommended": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", - "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", + "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", "dev": true, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^14.4.0" } }, "node_modules/stylelint-config-recommended-scss": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz", - "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-6.0.0.tgz", + "integrity": "sha512-6QOe2/OzXV2AP5FE12A7+qtKdZik7Saf42SMMl84ksVBBPpTdrV+9HaCbPYiRMiwELY9hXCVdH4wlJ+YJb5eig==", "dev": true, "dependencies": { "postcss-scss": "^4.0.2", - "stylelint-config-recommended": "^6.0.0", + "stylelint-config-recommended": "^7.0.0", "stylelint-scss": "^4.0.0" }, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^14.4.0" } }, "node_modules/stylelint-config-standard": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz", - "integrity": "sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw==", + "version": "25.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", + "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", "dev": true, "dependencies": { - "stylelint-config-recommended": "^6.0.0" + "stylelint-config-recommended": "^7.0.0" }, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^14.4.0" } }, "node_modules/stylelint-config-standard-scss": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-3.0.0.tgz", - "integrity": "sha512-zt3ZbzIbllN1iCmc94e4pDxqpkzeR6CJo5DDXzltshuXr+82B8ylHyMMARNnUYrZH80B7wgY7UkKTYCFM0UUyw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-4.0.0.tgz", + "integrity": "sha512-xizu8PTEyB6zYXBiVg6VtvUYn9m57x+6ZtaOdaxsfpbe5eagLPGNlbYnKfm/CfN69ArUpnwR6LjgsTHzlGbtXQ==", "dev": true, "dependencies": { - "stylelint-config-recommended-scss": "^5.0.2", - "stylelint-config-standard": "^24.0.0" + "stylelint-config-recommended-scss": "^6.0.0", + "stylelint-config-standard": "^25.0.0" }, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^14.4.0" } }, "node_modules/stylelint-no-unsupported-browser-features": { @@ -21618,9 +21995,9 @@ } }, "node_modules/stylelint/node_modules/postcss": { - "version": "8.4.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", - "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", "dev": true, "funding": [ { @@ -21633,7 +22010,7 @@ } ], "dependencies": { - "nanoid": "^3.3.3", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -22010,6 +22387,29 @@ "ajv": "^6.9.1" } }, + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -22043,6 +22443,21 @@ "node": ">=0.10.0" } }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -22174,9 +22589,9 @@ } }, "node_modules/tokenizr": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.5.tgz", - "integrity": "sha512-DKlmhWK8Kz7xf6Mvu+QhE0hU3BqpYTEK7CtL3Xz8GfzaANTd3qzdxG3KTygjXETMZGMmyXNZnKpl3ZLCtAsfQw==", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.6.tgz", + "integrity": "sha512-Q6sZDu52gtuYiwzBOlhLo6cD43JlQfPO+6sry95Ndo1BVQKsqbthzQ82AW00T0dHTLVSNpuKkO31nVNwXgFVBA==", "dev": true }, "node_modules/tough-cookie": { @@ -22193,15 +22608,15 @@ } }, "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "dependencies": { "punycode": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/tree-kill": { @@ -22222,41 +22637,33 @@ "node": ">=8" } }, - "node_modules/truncate-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/truncate-url/-/truncate-url-1.0.0.tgz", - "integrity": "sha1-hiGabDV12bch04aRvwjISqWtqkI=", - "engines": { - "node": ">=4" - } - }, "node_modules/ts-jest": { - "version": "27.1.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", - "integrity": "sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==", + "version": "28.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.3.tgz", + "integrity": "sha512-HzgbEDQ2KgVtDmpXToqAcKTyGHdHsG23i/iUjfxji92G5eT09S1m9UHZd7csF0Bfgh9txM4JzwHnv7r1waFPlw==", "dev": true, "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", - "jest-util": "^27.0.0", - "json5": "2.x", + "jest-util": "^28.0.0", + "json5": "^2.2.1", "lodash.memoize": "4.x", "make-error": "1.x", "semver": "7.x", - "yargs-parser": "20.x" + "yargs-parser": "^20.x" }, "bin": { "ts-jest": "cli.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, "peerDependencies": { "@babel/core": ">=7.0.0-beta.0 <8", "@types/jest": "^27.0.0", - "babel-jest": ">=27.0.0 <28", - "jest": "^27.0.0", - "typescript": ">=3.8 <5.0" + "babel-jest": "^28.0.0", + "jest": "^28.0.0", + "typescript": ">=4.3" }, "peerDependenciesMeta": { "@babel/core": { @@ -22363,12 +22770,12 @@ } }, "node_modules/ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "dependencies": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -22379,7 +22786,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { @@ -22582,15 +22989,6 @@ "typescript": "^4.0.0" } }, - "node_modules/tsutils-etc/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -22880,7 +23278,7 @@ "node_modules/update-notifier/node_modules/import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", "dev": true, "engines": { "node": ">=4" @@ -22919,16 +23317,6 @@ "punycode": "^2.1.0" } }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -22950,12 +23338,6 @@ "node": ">=4" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -22993,14 +23375,14 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", + "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", "dev": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.7", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "convert-source-map": "^1.6.0" }, "engines": { "node": ">=10.12.0" @@ -23058,15 +23440,15 @@ } }, "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", "dev": true, "dependencies": { - "xml-name-validator": "^3.0.0" + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/wait-on": { @@ -23088,15 +23470,6 @@ "node": ">=10.0.0" } }, - "node_modules/wait-on/node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -23143,18 +23516,18 @@ "integrity": "sha512-TOMFWtQdxzjWp8qx4DAraTWTsdhxVSiWa6NkPFSaPtZ1diKUxTn4yTix73A1euG1WbSOMMPcY51cnjTIHrGtDA==" }, "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, "engines": { - "node": ">=10.4" + "node": ">=12" } }, "node_modules/webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", "dev": true, "peer": true, "dependencies": { @@ -23167,13 +23540,13 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.9.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", @@ -23312,13 +23685,13 @@ } }, "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", - "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.1", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -23334,27 +23707,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/webpack-merge": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", @@ -23473,32 +23825,49 @@ } }, "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "dependencies": { - "iconv-lite": "0.4.24" + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } }, "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", "dev": true, "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/which": { @@ -23622,12 +23991,12 @@ } }, "node_modules/ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "dev": true, "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", @@ -23652,10 +24021,13 @@ } }, "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } }, "node_modules/xmlchars": { "version": "2.2.0", @@ -23718,9 +24090,9 @@ } }, "node_modules/yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -23781,35 +24153,51 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.1.1.tgz", - "integrity": "sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw==", - "dev": true, + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "sourcemap-codec": "1.4.8" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@angular-devkit/architect": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz", - "integrity": "sha512-d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.7.tgz", + "integrity": "sha512-xr35v7AuJygRdiaFhgoBSLN2ZMUri8x8Qx9jkmCkD3WLKz33TSFyAyqwdNNmOO9riK8ePXMH/QcSv0wY12pFBw==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@angular-devkit/build-angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.4.tgz", - "integrity": "sha512-z74cmDi2V+5XpvyZKFlUXxvQ446shxyZk5aGdToG6n+0/IJWkDXSiryQkCo8nblGMze7HKf75i3DsGWYQZLDnQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.7.tgz", + "integrity": "sha512-XUmiq/3zpuna+r0UOqNSvA9kEcPwsLblEmNLUYyZXL9v/aGWUHOSH0nhGVrNRrSud4ryklEnxfkxkxlZlT4mjQ==", "dev": true, "requires": { - "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/build-webpack": "0.1303.4", - "@angular-devkit/core": "13.3.4", + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/build-webpack": "0.1303.7", + "@angular-devkit/core": "13.3.7", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -23820,9 +24208,9 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.4", + "@ngtools/webpack": "13.3.7", "ansi-colors": "4.1.1", - "babel-loader": "8.2.3", + "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "15.3.0", @@ -23994,46 +24382,31 @@ } } }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, - "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -24050,40 +24423,12 @@ "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", "dev": true }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, "minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -24093,13 +24438,21 @@ "brace-expansion": "^1.1.7" } }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { - "find-up": "^4.0.0" + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "sass": { @@ -24123,6 +24476,17 @@ "neo-async": "^2.6.2" } }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -24183,38 +24547,6 @@ "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", "webpack-sources": "^3.2.3" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } } }, "webpack-dev-server": { @@ -24254,6 +24586,33 @@ "ws": "^8.1.0" }, "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", @@ -24267,30 +24626,40 @@ } } } - }, - "ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", - "dev": true, - "requires": {} } } }, "@angular-devkit/build-webpack": { - "version": "0.1303.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.4.tgz", - "integrity": "sha512-3F10P9XshRXkI/PEmJUcgP4yK4sobaoInQfifzPNOemrS5nXs8y3uEiQuxzyswYx/dymZLV+19sV/eh1WfXnBA==", + "version": "0.1303.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.7.tgz", + "integrity": "sha512-5vF399cPdwuCbzbxS4yNGgChdAzEM0/By21P0uiqBcIe/Zxuz3IUPapjvcyhkAo5OTu+d7smY9eusLHqoq1WFQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1303.4", + "@angular-devkit/architect": "0.1303.7", "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@angular-devkit/core": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz", - "integrity": "sha512-gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.7.tgz", + "integrity": "sha512-Ucy4bJmlgCoBenuVeGMdtW9dE8+cD+guWCgqexsFIG21KJ/l0ShZEZ/dGC1XibzaIs1HbKiTr/T1MOjInCV1rA==", "dev": true, "requires": { "ajv": "8.9.0", @@ -24299,48 +24668,82 @@ "magic-string": "0.25.7", "rxjs": "6.6.7", "source-map": "0.7.3" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@angular-devkit/schematics": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz", - "integrity": "sha512-gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.7.tgz", + "integrity": "sha512-6TKpFMwiiXmPhiVdbkSJrkBXj8n7SVVhsHl2GodDLVTb8OT3fxYIB9EU8Il07AMfDcjpydOcJduCFPOsQYd7BA==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.4", + "@angular-devkit/core": "13.3.7", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@angular/animations": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.5.tgz", - "integrity": "sha512-BYXX80N1hxkATWqv2IZddfKvqxomktxH5fREv+KjwIYFkyK9KBnRBILqynyIJaXXut5KE6QNOf1zWEZxdOnc3A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.10.tgz", + "integrity": "sha512-V/0h3xepWPBRjWroFXYrNIE3iZPREjv0hiB3gskF/2KLlx5jvpUWlaBx0rEYRa8XXIPJyAaKBGwWSBnT/Z88TQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/cdk": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.5.tgz", - "integrity": "sha512-fA99fGgybup9ezyB/IzOa9Mk8g8LjejkqikLnC3mAeQ0lROOO7Vf9Rp1v7/ahe2lALTUbA1bzJeXzQYaffkIiA==", + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.8.tgz", + "integrity": "sha512-ciLYoVxsqnA9hGJTUW74A56NjArYhFdqFYmVDimWWNYAgY7jY1gCfKq9UtixUErDi29FGSCWRbLuZ6w4q0NYnA==", "requires": { "parse5": "^5.0.0", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz", - "integrity": "sha512-4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.7.tgz", + "integrity": "sha512-XIp0w0YOwhHp4Je3npHAs0W4rjHvFnG2w/lDO2M/UNp5634S4PRMFmVVMt6DQBj1cbffYVKFqffqesyCqNuvAQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1303.4", - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", - "@schematics/angular": "13.3.4", + "@angular-devkit/architect": "0.1303.7", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", + "@schematics/angular": "13.3.7", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -24370,25 +24773,25 @@ } }, "@angular/common": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.5.tgz", - "integrity": "sha512-teG+itdlw2sOMwYeXkeFe8h32SsNqN0qHHz/v6I9qKHgCLkC/or8A7NtsoCwYSTymIEJJ7DZ1w9VWhM7DSYd1w==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.10.tgz", + "integrity": "sha512-KWw91QzmCDZ6uq1Z58v7vQQ57Ux7A2UkPdIBOyvpOgtQPTvlvKsePkUVCC+dum+W9mOy4kq2falO5T7Gi7SJgw==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.5.tgz", - "integrity": "sha512-iSQlYevMk5glwZSXTXf2GytykqZWdK3Rr8heIvEPqd8n88MSB3w1KnDc1fnHLF950q/nUR9K+3r4wWPwc8J2IQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.10.tgz", + "integrity": "sha512-DEtdso89Q9lAGkSVpSf2GrMtGVTnCnenCwLhubYaeSaj4iA/CAnUfNlaYBf9E92ltuPd85Mg9bIJKaxYCRH8RQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.5.tgz", - "integrity": "sha512-H7A+MZcbB4g5fa6O4giYgrCG1h5whJfIxr4txDtDfolygzwRzqH1PSMfjW/jYyIpaH6XqXMSDHvbXRFGKstboA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.10.tgz", + "integrity": "sha512-cGFQyUOxOLVnehczdP4L7KXbKQTe/aQgbXmacQYgqcP/AnpJs7QfZbw1/k1wJtXrhzbGBh3JSWnpme74bnF3dQ==", "requires": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -24403,9 +24806,9 @@ }, "dependencies": { "magic-string": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", - "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", + "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", "requires": { "sourcemap-codec": "^1.4.8" } @@ -24413,9 +24816,9 @@ } }, "@angular/core": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.5.tgz", - "integrity": "sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.10.tgz", + "integrity": "sha512-7jH1a5wZdE6Ki2Dow7s6v1/5SfUcXsjAu3n523QSDlM078QG0p95npcqPseO9mNftG9MfRqBE7sl1Nb+ZK7eBg==", "requires": { "tslib": "^2.3.0" } @@ -24429,38 +24832,29 @@ } }, "@angular/forms": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.5.tgz", - "integrity": "sha512-jCxxAwf4HkDmKE76/yQmTsbqW3jsxiKyPy32Nh6Bt4r/ww8VDv+sv5YdYNuvvZcuuQ70K+/EPnKFpQgYttvS8A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.10.tgz", + "integrity": "sha512-2cREi8nvCdspYHk6KJ5xjIgq8Dgh/kfwPIVjpLQBZFNC03Q6GvOLVoVm8ye6ToOpQFjvjpjndqU93JXSLMANgA==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.5.tgz", - "integrity": "sha512-IJawCyu4Zwk6GNPDkbSkY6sFYaBHtaHMwhaiRojrqiKA0n2bDNULLcHfYGSyA7UvkX8m9Nt0M5GaF66BIwuZSw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.10.tgz", + "integrity": "sha512-TQwVIEFTWOlX9Jy2PhOT52Eo3ApNWSkjQavAuIU4uNQRCyoKMTywJ6MlQiQlMoWPH77Yn5EZyCwRoWFVWg3q0w==", "dev": true }, "@angular/localize": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.5.tgz", - "integrity": "sha512-0MmGvQSBZeKwsOBATWp7Y5rxyGW6OaszLtecKu32VVJSjoDN4M6uMHBMjVVe4IxbyJnbhlSPRSYL9hRFbOve0A==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.10.tgz", + "integrity": "sha512-DNSOLJd8SkYHWKWyBm/piYnjurYRsgXTmWoVXTrfEuALEHxz3cwnVUPvoiWwJVMKklFr76D61pDY4mz5muPxog==", "requires": { "@babel/core": "7.17.2", "glob": "7.2.0", "yargs": "^17.2.1" }, "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "@babel/core": { "version": "7.17.2", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.2.tgz", @@ -24484,15 +24878,25 @@ } }, "@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "requires": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", "jsesc": "^2.5.1" } }, + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -24501,33 +24905,33 @@ } }, "@angular/material": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.5.tgz", - "integrity": "sha512-4+FCb6Tbre5SwhZRKfnuh8K+/o+DuCGisJOuk7lxdFKDGDPjsPDWYVrBDal1N70mO09z/ApwNjpsIjuRv79wpg==", + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.8.tgz", + "integrity": "sha512-y+j4WphhDZXvqKwf/fNuR+QNkH13Qc0fp7//i98f8Gy3Za1NCCc5SfIoifQ7Xqwh2ZKbgnh6GTdtbT4zq+NjaQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.5.tgz", - "integrity": "sha512-DPV1J3h1ua4GI9PuXDr8IlzJoC/TR0A/onPTaE6IFOzs1r28vB+vWRRbZURXrTYeWzWVB/2R9tPOqFNoi3zlzA==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.10.tgz", + "integrity": "sha512-zi0FrA8zZRiHLBfKlfIxikG06wMF2KcSp6oqrIblrc1VrHgPRVRABz8vryH84lasDssjYdIS9AvbQnCCdgCzJA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.5.tgz", - "integrity": "sha512-Mko8/mRlcVsZJQ5zHfc/p7so/ZN16UMynTnksrD7cEgGxDuJosE8m+exqgoT03VCYaOjJtCFXSwdOb/8FOUDZQ==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.10.tgz", + "integrity": "sha512-hygsEjTaS+VDUrBZZiRJFo5J7AHCS/EcAc1IWvb69EnVqA9RwqM4hWbuy3y/cmLEeHLLmRldIlS6xRPt8fTNQg==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.5.tgz", - "integrity": "sha512-3yUNyBpUi0KUKP91a3dVQsr9Jfjs4wGxpiFYb3apc7lKT5R1LJqt2O0EchjOgvFyJ6TDOemdCAzKgvSRkDxpMw==", + "version": "13.3.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.10.tgz", + "integrity": "sha512-neGaeiHravXlCbNbyGJecwQyu/91Pj/E9/ohVFzBBE4V9BrNx9v7Ntc4ugqgpnrV2wtonPP7TQDqXxrPk4QVfg==", "requires": { "tslib": "^2.3.0" } @@ -24552,20 +24956,20 @@ "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==" }, "@babel/core": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", - "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", + "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.10", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helpers": "^7.18.2", + "@babel/parser": "^7.18.0", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.10", - "@babel/types": "^7.17.10", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -24573,23 +24977,24 @@ "semver": "^6.3.0" }, "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" } }, - "@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", "requires": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", - "jsesc": "^2.5.1" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, "semver": { @@ -24638,9 +25043,9 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", - "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", "requires": { "@babel/compat-data": "^7.17.10", "@babel/helper-validator-option": "^7.16.7", @@ -24656,9 +25061,9 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", - "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", @@ -24671,9 +25076,9 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", - "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", @@ -24705,12 +25110,9 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==" }, "@babel/helper-explode-assignable-expression": { "version": "7.16.7", @@ -24756,9 +25158,9 @@ } }, "@babel/helper-module-transforms": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", - "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", "requires": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", @@ -24766,8 +25168,8 @@ "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/traverse": "^7.18.0", + "@babel/types": "^7.18.0" } }, "@babel/helper-optimise-call-expression": { @@ -24780,9 +25182,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -24797,24 +25199,24 @@ } }, "@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" } }, "@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", "requires": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.18.2" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -24857,19 +25259,19 @@ } }, "@babel/helpers": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", - "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", "requires": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0" + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" } }, "@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", "requires": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", @@ -24877,28 +25279,28 @@ } }, "@babel/parser": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", - "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==" + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", + "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/plugin-proposal-optional-chaining": "^7.17.12" } }, "@babel/plugin-proposal-async-generator-functions": { @@ -24913,23 +25315,23 @@ } }, "@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", - "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.17.6", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, @@ -24944,42 +25346,42 @@ } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, @@ -24994,16 +25396,16 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", - "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.17.12" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -25017,46 +25419,46 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-syntax-async-generators": { @@ -25113,6 +25515,15 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", + "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -25204,21 +25615,21 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz", - "integrity": "sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", + "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-async-to-generator": { @@ -25242,46 +25653,46 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-destructuring": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", - "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-dotall-regex": { @@ -25295,12 +25706,12 @@ } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-exponentiation-operator": { @@ -25314,12 +25725,12 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-function-name": { @@ -25334,12 +25745,12 @@ } }, "@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-member-expression-literals": { @@ -25352,67 +25763,68 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", - "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", - "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz", + "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz", - "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.17.0" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", + "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-object-super": { @@ -25426,12 +25838,12 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-property-literals": { @@ -25444,21 +25856,22 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", - "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", "dev": true, "requires": { + "@babel/helper-plugin-utils": "^7.17.12", "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-runtime": { @@ -25493,12 +25906,12 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, @@ -25512,21 +25925,21 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.17.12" } }, "@babel/plugin-transform-unicode-escapes": { @@ -25549,37 +25962,38 @@ } }, "@babel/preset-env": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz", - "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", + "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", "dev": true, "requires": { "@babel/compat-data": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-plugin-utils": "^7.17.12", "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.17.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.18.0", "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.17.3", + "@babel/plugin-proposal-object-rest-spread": "^7.18.0", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.17.12", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -25589,40 +26003,40 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.17.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.18.0", "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.18.1", "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.17.9", - "@babel/plugin-transform-modules-systemjs": "^7.17.8", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10", - "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.18.0", + "@babel/plugin-transform-modules-commonjs": "^7.18.2", + "@babel/plugin-transform-modules-systemjs": "^7.18.0", + "@babel/plugin-transform-modules-umd": "^7.18.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.17.9", - "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.18.0", + "@babel/plugin-transform-reserved-words": "^7.17.12", "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.18.2", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.17.10", + "@babel/types": "^7.18.2", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", @@ -25630,6 +26044,28 @@ "semver": "^6.3.0" }, "dependencies": { + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -25684,38 +26120,48 @@ } }, "@babel/traverse": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", - "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", + "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", "requires": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-environment-visitor": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.10", - "@babel/types": "^7.17.10", + "@babel/parser": "^7.18.0", + "@babel/types": "^7.18.2", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "requires": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", "jsesc": "^2.5.1" } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } } } }, "@babel/types": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", - "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", "requires": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -25734,19 +26180,25 @@ "dev": true, "optional": true }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true - }, "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "requires": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } } }, "@csstools/postcss-progressive-custom-properties": { @@ -25758,6 +26210,13 @@ "postcss-value-parser": "^4.2.0" } }, + "@csstools/selector-specificity": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz", + "integrity": "sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw==", + "dev": true, + "requires": {} + }, "@cypress/request": { "version": "2.88.10", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", @@ -25823,19 +26282,19 @@ "dev": true }, "@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", + "espree": "^9.3.2", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { @@ -25862,9 +26321,9 @@ } }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -25999,16 +26458,16 @@ "dev": true }, "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.0.tgz", + "integrity": "sha512-tscn3dlJFGay47kb4qVruQg/XWlmvU0xp3EJOjzzY+sBaI+YgwKcvAmTcyYU7xEiLLIY5HCdWRooAL8dqkFlDA==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-message-util": "^28.1.0", + "jest-util": "^28.1.0", "slash": "^3.0.0" }, "dependencies": { @@ -26064,36 +26523,37 @@ } }, "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.0.tgz", + "integrity": "sha512-/2PTt0ywhjZ4NwNO4bUqD9IVJfmFVhVKGlhvSpmEfUCuxYf/3NHcKmRFI+I71lYzbTT3wMuYpETDCTHo81gC/g==", "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/reporters": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", + "jest-changed-files": "^28.0.2", + "jest-config": "^28.1.0", + "jest-haste-map": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.0", + "jest-resolve-dependencies": "^28.1.0", + "jest-runner": "^28.1.0", + "jest-runtime": "^28.1.0", + "jest-snapshot": "^28.1.0", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", + "jest-watcher": "^28.1.0", "micromatch": "^4.0.4", + "pretty-format": "^28.1.0", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" @@ -26139,6 +26599,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -26151,73 +26637,91 @@ } }, "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.0.tgz", + "integrity": "sha512-S44WGSxkRngzHslhV6RoAExekfF7Qhwa6R5+IYFa81mpcj0YgdBnRSmvHe3SNwOt64yXaE5GG8Y2xM28ii5ssA==", "dev": true, "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/fake-timers": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", - "jest-mock": "^27.5.1" + "jest-mock": "^28.1.0" + } + }, + "@jest/expect": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.0.tgz", + "integrity": "sha512-be9ETznPLaHOmeJqzYNIXv1ADEzENuQonIoobzThOYPuK/6GhrWNIJDVTgBLCrz3Am73PyEU2urQClZp0hLTtA==", + "dev": true, + "requires": { + "expect": "^28.1.0", + "jest-snapshot": "^28.1.0" + } + }, + "@jest/expect-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.0.tgz", + "integrity": "sha512-5BrG48dpC0sB80wpeIX5FU6kolDJI4K0n5BM9a5V38MGx0pyRvUBSS0u2aNTdDzmOrCjhOg8pGs6a20ivYkdmw==", + "dev": true, + "requires": { + "jest-get-type": "^28.0.2" } }, "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.0.tgz", + "integrity": "sha512-Xqsf/6VLeAAq78+GNPzI7FZQRf5cCHj1qgQxCjws9n8rKw8r1UYoeaALwBvyuzOkpU3c1I6emeMySPa96rxtIg==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", + "@jest/types": "^28.1.0", + "@sinonjs/fake-timers": "^9.1.1", "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-message-util": "^28.1.0", + "jest-mock": "^28.1.0", + "jest-util": "^28.1.0" } }, "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.0.tgz", + "integrity": "sha512-3m7sTg52OTQR6dPhsEQSxAvU+LOBbMivZBwOvKEZ+Rb+GyxVnXi9HKgOTYkx/S99T8yvh17U4tNNJPIEQmtwYw==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "@jest/environment": "^28.1.0", + "@jest/expect": "^28.1.0", + "@jest/types": "^28.1.0" } }, "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.0.tgz", + "integrity": "sha512-qxbFfqap/5QlSpIizH9c/bFCDKsQlM4uAKSOvZrP+nIdrjqre3FmKzpTtYyhsaVcOSNK7TTt2kjm+4BJIjysFA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", + "@jridgewell/trace-mapping": "^0.3.7", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", - "glob": "^7.1.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-util": "^28.1.0", + "jest-worker": "^28.1.0", "slash": "^3.0.0", - "source-map": "^0.6.0", "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" + "v8-to-istanbul": "^9.0.0" }, "dependencies": { "ansi-styles": { @@ -26260,12 +26764,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -26277,70 +26775,71 @@ } } }, + "@jest/schemas": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz", + "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.23.3" + } + }, "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz", + "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.7", "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "graceful-fs": "^4.2.9" } }, "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.0.tgz", + "integrity": "sha512-sBBFIyoPzrZho3N+80P35A5oAkSKlGfsEFfXFWuPGBsW40UAjCkGakZhn4UQK4iQlW2vgCDMRDOob9FGKV8YoQ==", "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/types": "^28.1.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.0.tgz", + "integrity": "sha512-tZCEiVWlWNTs/2iK9yi6o3AlMfbbYgV4uuZInSVdzZ7ftpHZhCMuhvk2HLYhCZzLgPFQ9MnM1YaxMnh3TILFiQ==", "dev": true, "requires": { - "@jest/test-result": "^27.5.1", + "@jest/test-result": "^28.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" + "jest-haste-map": "^28.1.0", + "slash": "^3.0.0" } }, "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.0.tgz", + "integrity": "sha512-omy2xe5WxlAfqmsTjTPxw+iXRTRnf+NtX0ToG+4S0tABeb4KsKmPUHq5UBuwunHg3tJRwgEQhEp0M/8oiatLEA==", "dev": true, "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/types": "^28.1.0", + "@jridgewell/trace-mapping": "^0.3.7", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^28.1.0", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "write-file-atomic": "^4.0.1" }, "dependencies": { "ansi-styles": { @@ -26383,12 +26882,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -26397,19 +26890,30 @@ "requires": { "has-flag": "^4.0.0" } + }, + "write-file-atomic": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", + "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } } } }, "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.0.tgz", + "integrity": "sha512-xmEggMPr317MIOjjDoZ4ejCSr9Lpbt/u34+dvc99t7DS8YirW5rwZEhzKPC2BMUFkUhI48qs6qLUSGw5FuL0GA==", "dev": true, "requires": { + "@jest/schemas": "^28.0.2", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", + "@types/yargs": "^17.0.8", "chalk": "^4.0.0" }, "dependencies": { @@ -26474,39 +26978,39 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", - "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==" }, "@jridgewell/set-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz", - "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==" }, "@jridgewell/sourcemap-codec": { - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz", - "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA==" + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, "@ngtools/webpack": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.4.tgz", - "integrity": "sha512-dNDNeAOwtpX5A7TTEsgDbkg4jTmAJHD96qLqcpJqfBg8nZ4mqn6E0HinX9HZKaCST1/75T6GsFo1Muc4MsHYgA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", + "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", "dev": true, "requires": {} }, @@ -26609,6 +27113,23 @@ "read-package-json-fast": "^2.0.1" }, "dependencies": { + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, "make-fetch-happen": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", @@ -26666,13 +27187,13 @@ } }, "@schematics/angular": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz", - "integrity": "sha512-Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==", + "version": "13.3.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.7.tgz", + "integrity": "sha512-OAny1e/yliku52xG7vfWs1hNYSgCNTPpMv9fS8zz9eF5/GrKv28WFSy20mUXqLZ91VsbGSs6X0mI6pdNnpVtJA==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.4", - "@angular-devkit/schematics": "13.3.4", + "@angular-devkit/core": "13.3.7", + "@angular-devkit/schematics": "13.3.7", "jsonc-parser": "3.0.0" } }, @@ -26697,6 +27218,12 @@ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true }, + "@sinclair/typebox": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", + "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==", + "dev": true + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -26713,9 +27240,9 @@ } }, "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" @@ -26751,9 +27278,9 @@ } }, "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, "@tsconfig/node10": { @@ -26860,9 +27387,9 @@ } }, "@types/d3": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.1.0.tgz", - "integrity": "sha512-gYWvgeGjEl+zmF8c+U1RNIKqe7sfQwIXeLXO5Os72TjDjCEtgpvGBvZ8dXlAuSS1m6B90Y1Uo6Bm36OGR/OtCA==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz", + "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==", "dev": true, "requires": { "@types/d3-array": "*", @@ -26898,9 +27425,9 @@ } }, "@types/d3-array": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.2.tgz", - "integrity": "sha512-5mjGjz6XOXKOCdTajXTZ/pMsg236RdiwKPrRPWAEf/2S/+PzwY+LLYShUpeysWaMvsdS7LArh6GdUefoxpchsQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.3.tgz", + "integrity": "sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==", "dev": true }, "@types/d3-axis": { @@ -26928,9 +27455,9 @@ "dev": true }, "@types/d3-color": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.0.2.tgz", - "integrity": "sha512-WVx6zBiz4sWlboCy7TCgjeyHpNjMsoF36yaagny1uXfbadc9f+5BeBf7U+lRmQqY3EHbGQpP8UdW8AC+cywSwQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==", "dev": true }, "@types/d3-contour": { @@ -26944,9 +27471,9 @@ } }, "@types/d3-delaunay": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.0.tgz", - "integrity": "sha512-iGm7ZaGLq11RK3e69VeMM6Oqj2SjKUB9Qhcyd1zIcqn2uE8w9GFB445yCY46NOQO3ByaNyktX1DK+Etz7ZaX+w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz", + "integrity": "sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==", "dev": true }, "@types/d3-dispatch": { @@ -27007,9 +27534,9 @@ } }, "@types/d3-hierarchy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.0.2.tgz", - "integrity": "sha512-+krnrWOZ+aQB6v+E+jEkmkAx9HvsNAD+1LCD0vlBY3t+HwjKnsBFbpVLx6WWzDzCIuiTWdAxXMEnGnVXpB09qQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.0.tgz", + "integrity": "sha512-g+sey7qrCa3UbsQlMZZBOHROkFqx7KZKvUpRzI/tAp/8erZWpYq7FgNKvYwebi2LaEiVs1klhUfd3WCThxmmWQ==", "dev": true }, "@types/d3-interpolate": { @@ -27247,9 +27774,9 @@ } }, "@types/jest": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz", - "integrity": "sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==", "dev": true, "requires": { "jest-matcher-utils": "^27.0.0", @@ -27262,6 +27789,17 @@ "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", "dev": true }, + "@types/jsdom": { + "version": "16.2.14", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz", + "integrity": "sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/parse5": "*", + "@types/tough-cookie": "*" + } + }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -27293,9 +27831,9 @@ "dev": true }, "@types/node": { - "version": "17.0.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", - "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==", "dev": true }, "@types/normalize-package-data": { @@ -27310,10 +27848,16 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", + "dev": true + }, "@types/prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", - "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, "@types/qs": { @@ -27386,6 +27930,12 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, "@types/ws": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", @@ -27402,9 +27952,9 @@ "dev": true }, "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", + "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -27427,107 +27977,151 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz", - "integrity": "sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz", + "integrity": "sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/type-utils": "5.22.0", - "@typescript-eslint/utils": "5.22.0", - "debug": "^4.3.2", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/type-utils": "5.27.0", + "@typescript-eslint/utils": "5.27.0", + "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", + "ignore": "^5.2.0", "regexpp": "^3.2.0", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } } }, "@typescript-eslint/experimental-utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.22.0.tgz", - "integrity": "sha512-rKxoCUtAHwEH6IcAoVpqipY6Th+YKW7WFspAKu0IFdbdKZpveFBeqxxE9Xn+GWikhq1o03V3VXbxIe+GdhggiQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.0.tgz", + "integrity": "sha512-ZOn342bYh19IYvkiorrqnzNoRAr91h3GiFSSfa4tlHV+R9GgR8SxCwAi8PKMyT8+pfwMxfQdNbwKsMurbF9hzg==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.22.0" + "@typescript-eslint/utils": "5.27.0" } }, "@typescript-eslint/parser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.22.0.tgz", - "integrity": "sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", - "debug": "^4.3.2" + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } } }, "@typescript-eslint/scope-manager": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz", - "integrity": "sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", "dev": true, "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0" + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" } }, "@typescript-eslint/type-utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz", - "integrity": "sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz", + "integrity": "sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.22.0", - "debug": "^4.3.2", + "@typescript-eslint/utils": "5.27.0", + "debug": "^4.3.4", "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } } }, "@typescript-eslint/types": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.22.0.tgz", - "integrity": "sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz", - "integrity": "sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/visitor-keys": "5.22.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } } }, "@typescript-eslint/utils": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.22.0.tgz", - "integrity": "sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.0.tgz", + "integrity": "sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.22.0", - "@typescript-eslint/types": "5.22.0", - "@typescript-eslint/typescript-estree": "5.22.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz", - "integrity": "sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.22.0", - "eslint-visitor-keys": "^3.0.0" + "@typescript-eslint/types": "5.27.0", + "eslint-visitor-keys": "^3.3.0" } }, "@webassemblyjs/ast": { @@ -27716,9 +28310,9 @@ } }, "ace-builds": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.14.tgz", - "integrity": "sha512-NBOQlm9+7RBqRqZwimpgquaLeTJFayqb9UEPtTkpC3TkkwDnlsT/TwsCC0svjt9kEZ6G9mH5AEOHSz6Q/HrzQQ==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.5.3.tgz", + "integrity": "sha512-WN5BKR2aTSuBmisO8jo3Fytk6sOmJGki82v/Boeic81IgYN8pFHNkXq2anDF0XkmfDWMqLbRoW9sjc/GtKzQbQ==" }, "acorn": { "version": "8.7.1", @@ -27941,7 +28535,7 @@ "aria-query": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "integrity": "sha512-majUxHgLehQTeSA+hClx+DY09OVUqG3GtezWkF1krgLGNdlDu9l9V8DaqNMWbq4Eddc8wsyDA0hpDUtnYxQEXw==", "dev": true, "requires": { "ast-types-flow": "0.0.7", @@ -27969,7 +28563,7 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true }, "asn1": { @@ -27984,13 +28578,13 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true }, "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true }, "astral-regex": { @@ -28008,7 +28602,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, "at-least-node": { @@ -28040,7 +28634,7 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true }, "aws4": { @@ -28068,16 +28662,15 @@ } }, "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.0.tgz", + "integrity": "sha512-zNKk0yhDZ6QUwfxh9k07GII6siNGMJWVUU49gmFj5gfdqDKLqa2RArXOF2CODp4Dr7dLxN2cvAV+667dGJ4b4w==", "dev": true, "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/transform": "^28.1.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", + "babel-preset-jest": "^28.0.2", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -28139,7 +28732,6 @@ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, - "peer": true, "requires": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.0", @@ -28152,7 +28744,6 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "peer": true, "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -28164,7 +28755,6 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, - "peer": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -28176,7 +28766,6 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "peer": true, "requires": { "semver": "^6.0.0" } @@ -28186,7 +28775,6 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "peer": true, "requires": { "find-up": "^4.0.0" } @@ -28195,8 +28783,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true + "dev": true } } }, @@ -28223,14 +28810,14 @@ } }, "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.0.2.tgz", + "integrity": "sha512-Kizhn/ZL+68ZQHxSnHyuvJv8IchXD62KQxV77TBDV/xoBFBOfgRAk97GNs6hXdTTCiVES9nB2I6+7MXXrk5llQ==", "dev": true, "requires": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", + "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" } }, @@ -28293,12 +28880,12 @@ } }, "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz", + "integrity": "sha512-sYzXIdgIXXroJTFeB3S6sNDWtlJ2dllCdTEsnZ65ACrMojj3hVNFRmnJ1HZtomGi+Be7aqpY/HJ92fr8OhKVkQ==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^27.5.1", + "babel-plugin-jest-hoist": "^28.0.2", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -28316,13 +28903,13 @@ "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "requires": { "tweetnacl": "^0.14.3" @@ -28417,7 +29004,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "qs": { @@ -28434,7 +29021,7 @@ "bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dev": true, "requires": { "array-flatten": "^2.1.0", @@ -28482,7 +29069,7 @@ "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, "boxen": { @@ -28636,7 +29223,7 @@ "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, "buffer-from": { @@ -28654,20 +29241,20 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", "dev": true, "peer": true }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", "dev": true }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true }, "bytesish": { @@ -28765,14 +29352,14 @@ } }, "caniuse-lite": { - "version": "1.0.30001335", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz", - "integrity": "sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==" + "version": "1.0.30001344", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", + "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==" }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, "chalk": { @@ -28800,7 +29387,7 @@ "check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", "dev": true }, "chokidar": { @@ -28831,9 +29418,9 @@ "dev": true }, "ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", + "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", "dev": true }, "circular-dependency-plugin": { @@ -28949,7 +29536,7 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true }, "clone-deep": { @@ -28975,7 +29562,7 @@ "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", "dev": true, "requires": { "mimic-response": "^1.0.0" @@ -28984,7 +29571,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "codelyzer": { @@ -29023,6 +29610,15 @@ "dev": true, "requires": {} }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -29060,7 +29656,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "color-support": { "version": "1.1.3", @@ -29109,7 +29705,7 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "compressible": { @@ -29148,7 +29744,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } @@ -29156,22 +29752,23 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "concurrently": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.1.0.tgz", - "integrity": "sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.2.1.tgz", + "integrity": "sha512-7cab/QyqipqghrVr9qZmoWbidu0nHsmxrpNqQ7r/67vfl1DWJElexehQnTH1p+87tDkihaAjM79xTZyBQh7HLw==", "dev": true, "requires": { "chalk": "^4.1.0", "date-fns": "^2.16.1", "lodash": "^4.17.21", "rxjs": "^6.6.3", + "shell-quote": "^1.7.3", "spawn-command": "^0.0.2-1", "supports-color": "^8.1.0", "tree-kill": "^1.2.2", - "yargs": "^16.2.0" + "yargs": "^17.3.1" }, "dependencies": { "ansi-styles": { @@ -29225,6 +29822,15 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -29234,20 +29840,11 @@ "has-flag": "^4.0.0" } }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -29307,7 +29904,7 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, "content-disposition": { @@ -29350,7 +29947,7 @@ "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "copy-anything": { @@ -29426,14 +30023,14 @@ } }, "core-js": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.4.tgz", - "integrity": "sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==" + "version": "3.22.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.7.tgz", + "integrity": "sha512-Jt8SReuDKVNZnZEzyEQT5eK6T2RRCXkfTq7Lo09kpm+fHjgGewSbNjV+Wt4yZMhPDdzz2x1ulI5z/w4nxpBseg==" }, "core-js-compat": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz", - "integrity": "sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==", + "version": "3.22.7", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.7.tgz", + "integrity": "sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA==", "dev": true, "requires": { "browserslist": "^4.20.3", @@ -29451,7 +30048,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, "cosmiconfig": { @@ -29544,6 +30141,11 @@ } } }, + "crop-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/crop-url/-/crop-url-4.0.1.tgz", + "integrity": "sha512-IO6+sIK5cy0jnG0k0/RvgGhlsCJo0xNLq7l4jIu2UedvpAJomOlVCyDtupqbffE5MYjHLJkba5lYnP/UqQJbpQ==" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -29630,7 +30232,7 @@ "css-rule-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz", - "integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=", + "integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==", "dev": true, "requires": { "css-tokenize": "^1.0.1", @@ -29695,7 +30297,7 @@ "css-tokenize": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz", - "integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=", + "integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -29731,7 +30333,7 @@ "cssauron": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "integrity": "sha512-Ht70DcFBh+/ekjVrYS2PlDMdSQEl3OFNmjK6lcn49HptBgilXf/Zwg4uFh9Xn0pX3Q8YOkSjIFOfK2osvdqpBw==", "dev": true, "requires": { "through": "X.X.X" @@ -29750,9 +30352,9 @@ "dev": true }, "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true }, "cssstyle": { @@ -29773,9 +30375,9 @@ } }, "cypress": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.3.1.tgz", - "integrity": "sha512-BODdPesxX6bkVUnH8BVsV8I/jn57zQtO1FEOUTiuG2us3kslW7g0tcuwiny7CKCmJUZz8S/D587ppC+s58a+5Q==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", + "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", "dev": true, "requires": { "@cypress/request": "^2.88.10", @@ -29810,22 +30412,22 @@ "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", + "semver": "^7.3.2", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", - "url": "^0.11.0", "yauzl": "^2.10.0" }, "dependencies": { "@types/node": { - "version": "14.18.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", - "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", + "version": "14.18.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", + "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==", "dev": true }, "ansi-styles": { @@ -29903,9 +30505,9 @@ } }, "cypress-fail-fast": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/cypress-fail-fast/-/cypress-fail-fast-3.4.1.tgz", - "integrity": "sha512-74UoLLRSNL9hbNqW4JVTEh7S1BKigrZmLmcxdntDmIDZrZFezb1A7BiSKSEXV8naLJ5xt8zK8YrEctpf0NZn3Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cypress-fail-fast/-/cypress-fail-fast-4.0.0.tgz", + "integrity": "sha512-/8Wjk4TETwPjv8iVThAoZFEYQxNpNqHuRE2Bofv7sCLSUywLGMTyq0DhlN8LJY9wY+D37GuJeoaXwiEeI8J0fQ==", "dev": true, "requires": { "chalk": "4.1.2" @@ -30234,21 +30836,33 @@ "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + } } }, "date-fns": { @@ -30258,9 +30872,9 @@ "dev": true }, "dayjs": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz", - "integrity": "sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", + "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==", "dev": true }, "debug": { @@ -30280,7 +30894,7 @@ "decamelize-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", "dev": true, "requires": { "decamelize": "^1.1.0", @@ -30290,13 +30904,13 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true } } @@ -30310,13 +30924,13 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "dev": true }, "decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", "dev": true, "requires": { "mimic-response": "^1.0.0" @@ -30325,7 +30939,7 @@ "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "deep-equal": { @@ -30403,7 +31017,7 @@ "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", "dev": true, "requires": { "clone": "^1.0.2" @@ -30432,9 +31046,9 @@ } }, "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, "requires": { "globby": "^11.0.1", @@ -30455,19 +31069,19 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true }, "dependency-graph": { @@ -30517,7 +31131,7 @@ "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true }, "dns-packet": { @@ -30532,7 +31146,7 @@ "dns-txt": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", "dev": true, "requires": { "buffer-indexof": "^1.0.0" @@ -30600,20 +31214,12 @@ "dev": true }, "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } + "webidl-conversions": "^7.0.0" } }, "domhandler": { @@ -30654,7 +31260,7 @@ "duplexer2": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==", "dev": true, "requires": { "readable-stream": "~1.1.9" @@ -30683,7 +31289,7 @@ "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==", "dev": true }, "eastasianwidth": { @@ -30695,7 +31301,7 @@ "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "requires": { "jsbn": "~0.1.0", @@ -30737,27 +31343,27 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "ejs": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz", - "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", "dev": true, "requires": { "jake": "^10.8.5" } }, "electron-to-chromium": { - "version": "1.4.132", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.132.tgz", - "integrity": "sha512-JYdZUw/1068NWN+SwXQ7w6Ue0bWYGihvSUNNQwurvcDV/SM7vSiGZ3NuFvFgoEiCs4kB8xs3cX2an3wB7d4TBw==" + "version": "1.4.142", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.142.tgz", + "integrity": "sha512-ea8Q1YX0JRp4GylOmX4gFHIizi0j9GfRW4EkaHnkZp0agRCBB4ZGeCv17IEzIvBkiYVwfoKVhKZJbTfqCRdQdg==" }, "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "dev": true }, "emoji-regex": { @@ -30774,7 +31380,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "encoding": { @@ -31051,13 +31657,13 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "escodegen": { "version": "2.0.0", @@ -31081,7 +31687,7 @@ "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "requires": { "prelude-ls": "~1.1.2", @@ -31127,12 +31733,12 @@ } }, "eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.2.2", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -31143,14 +31749,14 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", + "espree": "^9.3.2", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -31159,7 +31765,7 @@ "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "regexpp": "^3.2.0", @@ -31257,9 +31863,9 @@ } }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -31464,13 +32070,13 @@ "dev": true }, "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", "dev": true, "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } }, @@ -31529,7 +32135,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "eventemitter-asyncresource": { @@ -31557,12 +32163,9 @@ "dev": true }, "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "requires": { - "original": "^1.0.0" - } + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==" }, "execa": { "version": "4.1.0", @@ -31602,19 +32205,127 @@ "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.0.tgz", + "integrity": "sha512-qFXKl8Pmxk8TBGfaFKRtcQjfXEnKAs+dmlxdwvukJZorwrAabT7M3h8oLOG01I2utEhkmUTi17CHaPBovZsKdw==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "@jest/expect-utils": "^28.1.0", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-util": "^28.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "diff-sequences": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", + "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-diff": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", + "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^28.0.2", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + } + }, + "jest-matcher-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", + "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + } + }, + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "express": { @@ -31659,7 +32370,7 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "debug": { @@ -31680,7 +32391,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "qs": { @@ -31743,7 +32454,7 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true }, "fast-deep-equal": { @@ -31780,7 +32491,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastest-levenshtein": { @@ -31824,7 +32535,7 @@ "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "requires": { "pend": "~1.2.0" @@ -31854,9 +32565,9 @@ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, "filelist": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz", - "integrity": "sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, "requires": { "minimatch": "^5.0.1" @@ -31897,7 +32608,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } @@ -31940,15 +32651,15 @@ "dev": true }, "follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "dev": true }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true }, "form-data": { @@ -31977,7 +32688,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "fs-extra": { @@ -32010,7 +32721,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -32027,7 +32738,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", "dev": true }, "functions-have-names": { @@ -32106,16 +32817,16 @@ "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "git-describe": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/git-describe/-/git-describe-4.1.0.tgz", - "integrity": "sha512-NM7JSseVK4Z0r505+2TIrgPQKPvqbOowHP73IY5y69v/t/PmoMleJdij1vTO3qVm1qSvqb6342p1MYSxsnV8QA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-describe/-/git-describe-4.1.1.tgz", + "integrity": "sha512-JC8ganO5kO80G8+XE98TDDjnMXQN3Estk3qdJuG2EGRF/l6zuMTMcN+8OSfQZ5FWpqIRLB015anWX4aSRgnxAQ==", "dev": true, "requires": { "@types/semver": "^7.3.8", @@ -32135,7 +32846,7 @@ "gitignore-to-glob": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz", - "integrity": "sha1-WfMqs9m2bOUCmcPtJMsO9CoJTOs=", + "integrity": "sha512-mk74BdnK7lIwDHnotHddx1wsjMOFIThpLY3cPNniJ/2fA/tlLzHnFxIdR+4sLOu5KGgQJdij4kjJ2RoUNnCNMA==", "dev": true }, "glob": { @@ -32252,7 +32963,7 @@ "globjoin": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true }, "got": { @@ -32651,9 +33362,9 @@ "dev": true }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -32717,6 +33428,15 @@ "brace-expansion": "^1.1.7" } }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -32732,6 +33452,12 @@ "has-flag": "^4.0.0" } }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -32758,7 +33484,7 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true }, "har-validator": { @@ -32809,7 +33535,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-property-descriptors": { "version": "1.0.0", @@ -32838,7 +33564,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true }, "has-yarn": { @@ -32882,7 +33608,7 @@ "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -32894,7 +33620,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { @@ -32924,12 +33650,12 @@ } }, "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.5" + "whatwg-encoding": "^2.0.0" } }, "html-entities": { @@ -32959,7 +33685,7 @@ "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", "dev": true }, "http-errors": { @@ -33000,12 +33726,12 @@ } }, "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } @@ -33061,16 +33787,16 @@ "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, "requires": { "ms": "^2.0.0" } }, "husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", + "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", "dev": true }, "iconv-lite": { @@ -33133,14 +33859,14 @@ "image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, "optional": true }, "immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", "dev": true }, "import-fresh": { @@ -33191,7 +33917,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "indent-string": { @@ -33209,7 +33935,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -33288,15 +34014,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -33314,9 +34031,9 @@ "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, "ipaddr.js": { @@ -33338,7 +34055,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-binary-path": { @@ -33385,7 +34102,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { "version": "4.0.0", @@ -33426,7 +34143,7 @@ "is-lambda": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, "is-npm": { @@ -33461,7 +34178,7 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true }, "is-plain-object": { @@ -33504,7 +34221,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "is-unicode-supported": { @@ -33537,25 +34254,25 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true }, "istanbul-lib-coverage": { @@ -33740,9 +34457,9 @@ } }, "jasmine-core": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.0.tgz", - "integrity": "sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", + "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", "dev": true }, "jasmine-spec-reporter": { @@ -33755,23 +34472,22 @@ } }, "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.0.tgz", + "integrity": "sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==", "dev": true, "requires": { - "@jest/core": "^27.5.1", + "@jest/core": "^28.1.0", "import-local": "^3.0.2", - "jest-cli": "^27.5.1" + "jest-cli": "^28.1.0" } }, "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz", + "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==", "dev": true, "requires": { - "@jest/types": "^27.5.1", "execa": "^5.0.0", "throat": "^6.0.1" }, @@ -33808,27 +34524,27 @@ } }, "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.0.tgz", + "integrity": "sha512-rNYfqfLC0L0zQKRKsg4n4J+W1A2fbyGH7Ss/kDIocp9KXD9iaL111glsLu7+Z7FHuZxwzInMDXq+N1ZIBkI/TQ==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^28.1.0", + "@jest/expect": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", - "expect": "^27.5.1", "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", + "jest-each": "^28.1.0", + "jest-matcher-utils": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-runtime": "^28.1.0", + "jest-snapshot": "^28.1.0", + "jest-util": "^28.1.0", + "pretty-format": "^28.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" @@ -33868,12 +34584,68 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "diff-sequences": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", + "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jest-diff": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", + "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^28.0.2", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + } + }, + "jest-matcher-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", + "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" + } + }, + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -33886,23 +34658,23 @@ } }, "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.0.tgz", + "integrity": "sha512-fDJRt6WPRriHrBsvvgb93OxgajHHsJbk4jZxiPqmZbMDRcHskfJBBfTyjFko0jjfprP544hOktdSi9HVgl4VUQ==", "dev": true, "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/core": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/types": "^28.1.0", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-config": "^28.1.0", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", "prompts": "^2.0.1", - "yargs": "^16.2.0" + "yargs": "^17.3.1" }, "dependencies": { "ansi-styles": { @@ -33953,52 +34725,35 @@ "requires": { "has-flag": "^4.0.0" } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } } } }, "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.0.tgz", + "integrity": "sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==", "dev": true, "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^28.1.0", + "@jest/types": "^28.1.0", + "babel-jest": "^28.1.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", - "glob": "^7.1.1", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-circus": "^28.1.0", + "jest-environment-node": "^28.1.0", + "jest-get-type": "^28.0.2", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.0", + "jest-runner": "^28.1.0", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", + "pretty-format": "^28.1.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -34043,6 +34798,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -34106,6 +34887,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -34118,25 +34905,25 @@ } }, "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.0.2.tgz", + "integrity": "sha512-FH10WWw5NxLoeSdQlJwu+MTiv60aXV/t8KEwIRGEv74WARE1cXIqh1vGdy2CraHuWOOrnzTWj/azQKqW4fO7xg==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.0.tgz", + "integrity": "sha512-a/XX02xF5NTspceMpHujmOexvJ4GftpYXqr6HhhmKmExtMXsyIN/fvanQlt/BcgFoRKN4OCXxLQKth9/n6OPFg==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.0", + "pretty-format": "^28.1.0" }, "dependencies": { "ansi-styles": { @@ -34179,6 +34966,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -34191,147 +35004,97 @@ } }, "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.0.tgz", + "integrity": "sha512-8n6P4xiDjNVqTWv6W6vJPuQdLx+ZiA3dbYg7YJ+DPzR+9B61K6pMVJrSs2IxfGRG4J7pyAUA5shQ9G0KEun78w==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^28.1.0", + "@jest/fake-timers": "^28.1.0", + "@jest/types": "^28.1.0", + "@types/jsdom": "^16.2.4", "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" + "jest-mock": "^28.1.0", + "jest-util": "^28.1.0", + "jsdom": "^19.0.0" } }, "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.0.tgz", + "integrity": "sha512-gBLZNiyrPw9CSMlTXF1yJhaBgWDPVvH0Pq6bOEwGMXaYNzhzhw2kA/OijNF8egbCgDS0/veRv97249x2CX+udQ==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^28.1.0", + "@jest/fake-timers": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-mock": "^28.1.0", + "jest-util": "^28.1.0" } }, "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", "dev": true }, "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.0.tgz", + "integrity": "sha512-xyZ9sXV8PtKi6NCrJlmq53PyNVHzxmcfXNVvIRHpHmh1j/HChC4pwKgyjj7Z9us19JMw8PpQTJsFWOsIfT93Dw==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", + "@jest/types": "^28.1.0", + "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.0", + "jest-worker": "^28.1.0", "micromatch": "^4.0.4", "walker": "^1.0.7" } }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "jest-leak-detector": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.0.tgz", + "integrity": "sha512-uIJDQbxwEL2AMMs2xjhZl2hw8s77c3wrPaQ9v6tXJLGaaQ+4QrNJH5vuw7hA7w/uGT/iJ42a83opAqxGHeyRIA==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" }, "dependencies": { "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", "dev": true, "requires": { - "color-name": "~1.1.4" + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, "jest-matcher-utils": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", @@ -34384,6 +35147,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -34396,18 +35165,18 @@ } }, "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.0.tgz", + "integrity": "sha512-RpA8mpaJ/B2HphDMiDlrAZdDytkmwFqgjDZovM21F35lHGeUeCvYmm6W+sbQ0ydaLpg5bFAUuWG1cjqOl8vqrw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "pretty-format": "^28.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -34452,6 +35221,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -34464,12 +35259,12 @@ } }, "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.0.tgz", + "integrity": "sha512-H7BrhggNn77WhdL7O1apG0Q/iwl0Bdd5E1ydhCJzL3oBLh/UYxAwR3EJLsBZ9XA3ZU4PA3UNw4tQjduBTCTmLw==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/node": "*" } }, @@ -34481,199 +35276,63 @@ "requires": {} }, "jest-preset-angular": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-11.1.2.tgz", - "integrity": "sha512-qPvOP6wnLP8M01TDVSa3UC3PcDWxoj87T58mWEp5yWlWPrXBJ6rhnTEI+HPmZLyehwlK686+O/49hwFRVXFP0A==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-12.0.1.tgz", + "integrity": "sha512-/3tpZTOhBE2Qmdga9jRTGu3OxgRfAzg2xDxtVSvR1SZvFZLHRik6jw+NznuirXtchgcYGt4tBE0wPDTJvtUeDw==", "dev": true, "requires": { "bs-logger": "^0.2.6", - "esbuild": "0.14.11", - "esbuild-wasm": "0.14.11", - "jest-environment-jsdom": "^27.0.0", - "pretty-format": "^27.0.0", - "ts-jest": "^27.0.0" + "esbuild": ">=0.13.8", + "esbuild-wasm": ">=0.13.8", + "jest-environment-jsdom": "^28.0.0", + "pretty-format": "^28.0.0", + "ts-jest": "^28.0.0" }, "dependencies": { - "esbuild": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.11.tgz", - "integrity": "sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg==", - "dev": true, - "optional": true, - "requires": { - "esbuild-android-arm64": "0.14.11", - "esbuild-darwin-64": "0.14.11", - "esbuild-darwin-arm64": "0.14.11", - "esbuild-freebsd-64": "0.14.11", - "esbuild-freebsd-arm64": "0.14.11", - "esbuild-linux-32": "0.14.11", - "esbuild-linux-64": "0.14.11", - "esbuild-linux-arm": "0.14.11", - "esbuild-linux-arm64": "0.14.11", - "esbuild-linux-mips64le": "0.14.11", - "esbuild-linux-ppc64le": "0.14.11", - "esbuild-linux-s390x": "0.14.11", - "esbuild-netbsd-64": "0.14.11", - "esbuild-openbsd-64": "0.14.11", - "esbuild-sunos-64": "0.14.11", - "esbuild-windows-32": "0.14.11", - "esbuild-windows-64": "0.14.11", - "esbuild-windows-arm64": "0.14.11" - } - }, - "esbuild-android-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz", - "integrity": "sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz", - "integrity": "sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz", - "integrity": "sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz", - "integrity": "sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz", - "integrity": "sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz", - "integrity": "sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz", - "integrity": "sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz", - "integrity": "sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz", - "integrity": "sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz", - "integrity": "sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz", - "integrity": "sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz", - "integrity": "sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz", - "integrity": "sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz", - "integrity": "sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz", - "integrity": "sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg==", - "dev": true, - "optional": true - }, - "esbuild-wasm": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz", - "integrity": "sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg==", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, - "esbuild-windows-32": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz", - "integrity": "sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz", - "integrity": "sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg==", + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", "dev": true, - "optional": true + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } }, - "esbuild-windows-arm64": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz", - "integrity": "sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ==", - "dev": true, - "optional": true + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true } } }, "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", "dev": true }, "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.0.tgz", + "integrity": "sha512-vvfN7+tPNnnhDvISuzD1P+CRVP8cK0FHXRwPAcdDaQv4zgvwvag2n55/h5VjYcM5UJG7L4TwE5tZlzcI0X2Lhw==", "dev": true, "requires": { - "@jest/types": "^27.5.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", + "jest-haste-map": "^28.1.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-util": "^28.1.0", + "jest-validate": "^28.1.0", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -34731,42 +35390,41 @@ } }, "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.0.tgz", + "integrity": "sha512-Ue1VYoSZquPwEvng7Uefw8RmZR+me/1kr30H2jMINjGeHgeO/JgrR6wxj2ofkJ7KSAA11W3cOrhNCbj5Dqqd9g==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.0" } }, "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.0.tgz", + "integrity": "sha512-FBpmuh1HB2dsLklAlRdOxNTTHKFR6G1Qmd80pVDvwbZXTriqjWqjei5DKFC1UlM732KjYcE6yuCdiF0WUCOS2w==", "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^28.1.0", + "@jest/environment": "^28.1.0", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", + "jest-docblock": "^28.0.2", + "jest-environment-node": "^28.1.0", + "jest-haste-map": "^28.1.0", + "jest-leak-detector": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-resolve": "^28.1.0", + "jest-runtime": "^28.1.0", + "jest-util": "^28.1.0", + "jest-watcher": "^28.1.0", + "jest-worker": "^28.1.0", + "source-map-support": "0.5.13", "throat": "^6.0.1" }, "dependencies": { @@ -34810,6 +35468,22 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -34822,31 +35496,31 @@ } }, "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.0.tgz", + "integrity": "sha512-wNYDiwhdH/TV3agaIyVF0lsJ33MhyujOe+lNTUiolqKt8pchy1Hq4+tDMGbtD5P/oNLA3zYrpx73T9dMTOCAcg==", + "dev": true, + "requires": { + "@jest/environment": "^28.1.0", + "@jest/fake-timers": "^28.1.0", + "@jest/globals": "^28.1.0", + "@jest/source-map": "^28.0.2", + "@jest/test-result": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-mock": "^28.1.0", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.0", + "jest-snapshot": "^28.1.0", + "jest-util": "^28.1.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -34885,27 +35559,121 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-snapshot": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.0.tgz", + "integrity": "sha512-ex49M2ZrZsUyQLpLGxQtDbahvgBjlLPgklkqGM0hq/F7W/f8DyqZxVHjdy19QKBm4O93eDp+H5S23EiTbbUmHw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^28.1.0", + "@jest/transform": "^28.1.0", + "@jest/types": "^28.1.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^28.1.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.0", + "jest-matcher-utils": "^28.1.0", + "jest-message-util": "^28.1.0", + "jest-util": "^28.1.0", + "natural-compare": "^1.4.0", + "pretty-format": "^28.1.0", + "semver": "^7.3.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "diff-sequences": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", + "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", "dev": true }, "has-flag": { @@ -34914,101 +35682,54 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dev": true, - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "jest-diff": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", + "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "chalk": "^4.0.0", + "diff-sequences": "^28.0.2", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "jest-matcher-utils": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", + "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "chalk": "^4.0.0", + "jest-diff": "^28.1.0", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", "dev": true, "requires": { - "color-name": "~1.1.4" + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", "dev": true }, "supports-color": { @@ -35023,12 +35744,12 @@ } }, "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.0.tgz", + "integrity": "sha512-qYdCKD77k4Hwkose2YBEqQk7PzUf/NSE+rutzceduFveQREeH6b+89Dc9+wjX9dAwHcgdx4yedGA3FQlU/qCTA==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -35088,17 +35809,17 @@ } }, "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.0.tgz", + "integrity": "sha512-Lly7CJYih3vQBfjLeANGgBSBJ7pEa18cxpQfQEq2go2xyEzehnHfQTjoUia8xUv4x4J80XKFIDwJJThXtRFQXQ==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^28.1.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", + "jest-get-type": "^28.0.2", "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "pretty-format": "^28.1.0" }, "dependencies": { "ansi-styles": { @@ -35147,6 +35868,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "pretty-format": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", + "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.0.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -35159,17 +35906,18 @@ } }, "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.0.tgz", + "integrity": "sha512-tNHMtfLE8Njcr2IRS+5rXYA4BhU90gAOwI9frTGOqd+jX0P/Au/JfRSNqsf5nUTcWdbVYuLxS1KjnzILSoR5hA==", "dev": true, "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/test-result": "^28.1.0", + "@jest/types": "^28.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^27.5.1", + "emittery": "^0.10.2", + "jest-util": "^28.1.0", "string-length": "^4.0.1" }, "dependencies": { @@ -35225,9 +35973,9 @@ } }, "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.0.tgz", + "integrity": "sha512-ZHwM6mNwaWBR52Snff8ZvsCTqQsvhCxP/bT1I6T6DAnb6ygkshsyLQIMxFwHpYxht0HOoqt23JlC01viI7T03A==", "dev": true, "requires": { "@types/node": "*", @@ -35292,27 +36040,27 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", + "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", "dev": true, "requires": { "abab": "^2.0.5", - "acorn": "^8.2.4", + "acorn": "^8.5.0", "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", + "cssom": "^0.5.0", "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", + "domexception": "^4.0.0", "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", @@ -35321,19 +36069,19 @@ "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "w3c-xmlserializer": "^3.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", + "xml-name-validator": "^4.0.0" }, "dependencies": { "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -35374,7 +36122,7 @@ "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", "dev": true }, "json-parse-better-errors": { @@ -35404,13 +36152,13 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "json5": { @@ -35437,7 +36185,7 @@ "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, "jsprim": { @@ -35494,9 +36242,9 @@ "dev": true }, "known-css-properties": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz", - "integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", + "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", "dev": true }, "latest-version": { @@ -35511,13 +36259,13 @@ "lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", "dev": true }, "ldjson-stream": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz", - "integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=", + "integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==", "dev": true, "requires": { "split2": "^0.2.1", @@ -35607,9 +36355,9 @@ } }, "license-check-and-add": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.3.tgz", - "integrity": "sha512-2dFjAOviPmukS35Udy+D1fNnWeGbJaIfOM/fstsYlofnviyDJDSx1w++nStyxFffa2R9RIB0myH3Pvxv0q7jWA==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.5.tgz", + "integrity": "sha512-FySnMi3Kf/vO5jka8tcbVF1FhDFb8PWsQ8pg5Y7U/zkQgta+fIrJGcGHO58WFjfKlgvhneG1uQ00Fpxzhau3QA==", "dev": true, "requires": { "fs-extra": "^8.1.0", @@ -35639,7 +36387,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "emoji-regex": { @@ -35687,13 +36435,13 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "requires": { "graceful-fs": "^4.1.6" @@ -35807,9 +36555,9 @@ } }, "lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "dev": true }, "lines-and-columns": { @@ -35819,24 +36567,24 @@ "dev": true }, "lint-staged": { - "version": "12.4.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.1.tgz", - "integrity": "sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==", + "version": "12.4.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.3.tgz", + "integrity": "sha512-eH6SKOmdm/ZwCRMTZAmM3q3dPkpq6vco/BfrOw8iGun4Xs/thYegPD/MLIwKO+iPkzibkLJuQcRhRLXKvaKreg==", "dev": true, "requires": { "cli-truncate": "^3.1.0", "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", + "commander": "^9.3.0", + "debug": "^4.3.4", "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", "pidtree": "^0.5.0", "string-argv": "^0.3.1", - "supports-color": "^9.2.1", + "supports-color": "^9.2.2", "yaml": "^1.10.2" }, "dependencies": { @@ -35865,11 +36613,20 @@ "dev": true }, "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", + "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==", "dev": true }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, "execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -35933,15 +36690,6 @@ } } }, - "rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, "slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -36017,15 +36765,6 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, "slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -36069,13 +36808,13 @@ "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "lodash.merge": { @@ -36087,13 +36826,13 @@ "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, "log-symbols": { @@ -36277,13 +37016,13 @@ "dev": true }, "make-fetch-happen": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz", - "integrity": "sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew==", + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.6.tgz", + "integrity": "sha512-/iKDlRQF0fkxyB/w/duW2yRYrGwBcbJjC37ijgi0CmOZ32bzMc86BCSSAHWvuyRFCB408iBPziTSzazBSrKo3w==", "dev": true, "requires": { "agentkeepalive": "^4.2.1", - "cacache": "^16.0.2", + "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", @@ -36320,16 +37059,10 @@ "rimraf": "^3.0.2" } }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, "cacache": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz", - "integrity": "sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.0.tgz", + "integrity": "sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ==", "dev": true, "requires": { "@npmcli/fs": "^2.1.0", @@ -36353,40 +37086,28 @@ } }, "glob": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz", - "integrity": "sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "once": "^1.3.0" } }, "lru-cache": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz", - "integrity": "sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", + "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==", "dev": true }, "ssri": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz", - "integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "requires": { "minipass": "^3.1.1" @@ -36412,7 +37133,7 @@ "material-design-icons": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", - "integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78=" + "integrity": "sha512-t19Z+QZBwSZulxptEu05kIm+UyfIdJY1JDwI+nx02j269m6W414whiQz9qfvQIiLrdx71RQv+T48nHhuQXOCIQ==" }, "mathml-tag-names": { "version": "2.1.3", @@ -36423,13 +37144,13 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", + "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", "dev": true, "requires": { "fs-monkey": "1.0.3" @@ -36458,7 +37179,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "type-fest": { @@ -36472,7 +37193,7 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "merge-stream": { @@ -36490,7 +37211,7 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { @@ -36572,9 +37293,9 @@ "dev": true }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -36686,9 +37407,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multicast-dns": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", - "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "requires": { "dns-packet": "^5.2.2", @@ -36698,7 +37419,7 @@ "multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", "dev": true }, "multimatch": { @@ -36756,13 +37477,13 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", "dev": true }, "needle": { @@ -36810,9 +37531,9 @@ } }, "ngx-cookie-service": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.0.tgz", - "integrity": "sha512-WxuLrZROWf59DfPPstPsrS18nxtPvT+uJ4AEjFs57NqtTfYdRQXhVJ02fZ4WP4VPElI8o6qndNL7gi9tkEdg4Q==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", + "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", "requires": { "tslib": "^2.0.0" } @@ -36829,6 +37550,23 @@ "ngx-i18nsupport-lib": "^1.10.2", "request": "^2.85.0", "rxjs": "^6.0.0" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "ngx-i18nsupport-lib": { @@ -36906,9 +37644,9 @@ "dev": true }, "node-releases": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", - "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==" }, "nopt": { "version": "5.0.0", @@ -36941,12 +37679,6 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, - "normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, "normalize-url": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", @@ -37067,9 +37799,9 @@ } }, "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "requires": { "boolbase": "^1.0.0" @@ -37088,9 +37820,9 @@ "dev": true }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true }, "object-is": { @@ -37252,14 +37984,6 @@ } } }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "requires": { - "url-parse": "^1.4.3" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -37666,9 +38390,9 @@ } }, "postcss-color-functional-notation": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz", - "integrity": "sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz", + "integrity": "sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" @@ -37882,11 +38606,12 @@ } }, "postcss-nesting": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.4.tgz", - "integrity": "sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.7.tgz", + "integrity": "sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A==", "dev": true, "requires": { + "@csstools/selector-specificity": "1.0.0", "postcss-selector-parser": "^6.0.10" } }, @@ -37955,9 +38680,9 @@ } }, "postcss-pseudo-class-any-link": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz", - "integrity": "sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz", + "integrity": "sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.10" @@ -38196,12 +38921,6 @@ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -38564,7 +39283,7 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true } } @@ -38600,7 +39319,7 @@ "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -38807,18 +39526,11 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.1.0" } }, "rxjs-compat": { @@ -38903,9 +39615,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", - "integrity": "sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==", + "version": "1.52.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz", + "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -38914,9 +39626,9 @@ } }, "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.0.tgz", + "integrity": "sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q==", "dev": true, "requires": { "klona": "^2.0.4", @@ -39066,7 +39778,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } @@ -39121,7 +39833,7 @@ "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "requires": { "depd": "~1.1.2", @@ -39133,13 +39845,13 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "setprototypeof": { @@ -39204,6 +39916,12 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -39274,12 +39992,12 @@ } }, "sockjs-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", - "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", + "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", "requires": { "debug": "^3.2.7", - "eventsource": "^1.1.0", + "eventsource": "^2.0.2", "faye-websocket": "^0.11.4", "inherits": "^2.0.4", "url-parse": "^1.5.10" @@ -39306,9 +40024,9 @@ } }, "socks-proxy-agent": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", - "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dev": true, "requires": { "agent-base": "^6.0.2", @@ -39736,9 +40454,9 @@ "dev": true }, "stylelint": { - "version": "14.8.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz", - "integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==", + "version": "14.8.5", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.5.tgz", + "integrity": "sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ==", "dev": true, "requires": { "balanced-match": "^2.0.0", @@ -39759,14 +40477,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.24.0", + "known-css-properties": "^0.25.0", "mathml-tag-names": "^2.1.3", "meow": "^9.0.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "normalize-selector": "^0.2.0", "picocolors": "^1.0.0", - "postcss": "^8.4.12", + "postcss": "^8.4.14", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", @@ -39806,12 +40523,12 @@ "dev": true }, "postcss": { - "version": "8.4.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", - "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", "dev": true, "requires": { - "nanoid": "^3.3.3", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -39829,40 +40546,40 @@ } }, "stylelint-config-recommended": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", - "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", + "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", "dev": true, "requires": {} }, "stylelint-config-recommended-scss": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz", - "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-6.0.0.tgz", + "integrity": "sha512-6QOe2/OzXV2AP5FE12A7+qtKdZik7Saf42SMMl84ksVBBPpTdrV+9HaCbPYiRMiwELY9hXCVdH4wlJ+YJb5eig==", "dev": true, "requires": { "postcss-scss": "^4.0.2", - "stylelint-config-recommended": "^6.0.0", + "stylelint-config-recommended": "^7.0.0", "stylelint-scss": "^4.0.0" } }, "stylelint-config-standard": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz", - "integrity": "sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw==", + "version": "25.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", + "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", "dev": true, "requires": { - "stylelint-config-recommended": "^6.0.0" + "stylelint-config-recommended": "^7.0.0" } }, "stylelint-config-standard-scss": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-3.0.0.tgz", - "integrity": "sha512-zt3ZbzIbllN1iCmc94e4pDxqpkzeR6CJo5DDXzltshuXr+82B8ylHyMMARNnUYrZH80B7wgY7UkKTYCFM0UUyw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-4.0.0.tgz", + "integrity": "sha512-xizu8PTEyB6zYXBiVg6VtvUYn9m57x+6ZtaOdaxsfpbe5eagLPGNlbYnKfm/CfN69ArUpnwR6LjgsTHzlGbtXQ==", "dev": true, "requires": { - "stylelint-config-recommended-scss": "^5.0.2", - "stylelint-config-standard": "^24.0.0" + "stylelint-config-recommended-scss": "^6.0.0", + "stylelint-config-standard": "^25.0.0" } }, "stylelint-no-unsupported-browser-features": { @@ -40148,6 +40865,23 @@ "dev": true, "requires": {} }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -40170,6 +40904,15 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -40285,9 +41028,9 @@ "dev": true }, "tokenizr": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.5.tgz", - "integrity": "sha512-DKlmhWK8Kz7xf6Mvu+QhE0hU3BqpYTEK7CtL3Xz8GfzaANTd3qzdxG3KTygjXETMZGMmyXNZnKpl3ZLCtAsfQw==", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.6.tgz", + "integrity": "sha512-Q6sZDu52gtuYiwzBOlhLo6cD43JlQfPO+6sry95Ndo1BVQKsqbthzQ82AW00T0dHTLVSNpuKkO31nVNwXgFVBA==", "dev": true }, "tough-cookie": { @@ -40301,9 +41044,9 @@ } }, "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" @@ -40321,25 +41064,20 @@ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, - "truncate-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/truncate-url/-/truncate-url-1.0.0.tgz", - "integrity": "sha1-hiGabDV12bch04aRvwjISqWtqkI=" - }, "ts-jest": { - "version": "27.1.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", - "integrity": "sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==", + "version": "28.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.3.tgz", + "integrity": "sha512-HzgbEDQ2KgVtDmpXToqAcKTyGHdHsG23i/iUjfxji92G5eT09S1m9UHZd7csF0Bfgh9txM4JzwHnv7r1waFPlw==", "dev": true, "requires": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", - "jest-util": "^27.0.0", - "json5": "2.x", + "jest-util": "^28.0.0", + "json5": "^2.2.1", "lodash.memoize": "4.x", "make-error": "1.x", "semver": "7.x", - "yargs-parser": "20.x" + "yargs-parser": "^20.x" } }, "ts-loader": { @@ -40406,12 +41144,12 @@ } }, "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "requires": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -40422,7 +41160,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "dependencies": { @@ -40571,17 +41309,6 @@ "requires": { "@types/yargs": "^17.0.0", "yargs": "^17.0.0" - }, - "dependencies": { - "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } } }, "tunnel-agent": { @@ -40794,7 +41521,7 @@ "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", "dev": true }, "is-ci": { @@ -40826,24 +41553,6 @@ "punycode": "^2.1.0" } }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, "url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -40893,14 +41602,14 @@ "dev": true }, "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", + "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.7", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "convert-source-map": "^1.6.0" } }, "validate-npm-package-license": { @@ -40949,12 +41658,12 @@ } }, "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", "dev": true, "requires": { - "xml-name-validator": "^3.0.0" + "xml-name-validator": "^4.0.0" } }, "wait-on": { @@ -40968,17 +41677,6 @@ "lodash": "^4.17.21", "minimist": "^1.2.5", "rxjs": "^7.5.4" - }, - "dependencies": { - "rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - } } }, "walker": { @@ -41024,15 +41722,15 @@ "integrity": "sha512-TOMFWtQdxzjWp8qx4DAraTWTsdhxVSiWa6NkPFSaPtZ1diKUxTn4yTix73A1euG1WbSOMMPcY51cnjTIHrGtDA==" }, "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", "dev": true, "peer": true, "requires": { @@ -41045,13 +41743,13 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.9.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", @@ -41181,24 +41879,17 @@ } }, "webpack-dev-middleware": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", - "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "requires": { "colorette": "^2.0.10", - "memfs": "^3.4.1", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" } - }, - "ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", - "dev": true, - "requires": {} } } }, @@ -41243,29 +41934,39 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" }, "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { - "iconv-lite": "0.4.24" + "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", "dev": true, "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" } }, "which": { @@ -41364,9 +42065,9 @@ } }, "ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", "dev": true, "requires": {} }, @@ -41377,9 +42078,9 @@ "dev": true }, "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { @@ -41428,9 +42129,9 @@ "dev": true }, "yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", diff --git a/package.json b/package.json index 4b05f3e2fe0c..7bca49263e93 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kubernetes-dashboard", - "version": "2.5.1", + "version": "2.6.0", "type": "module", "license": "Apache-2.0", "repository": { @@ -66,21 +66,22 @@ "beautifyOutput": true }, "dependencies": { - "@angular/animations": "13.3.5", - "@angular/cdk": "13.3.5", - "@angular/common": "13.3.5", - "@angular/compiler": "13.3.5", - "@angular/core": "13.3.5", + "@angular/animations": "13.3.10", + "@angular/cdk": "13.3.8", + "@angular/common": "13.3.10", + "@angular/compiler": "13.3.10", + "@angular/core": "13.3.10", "@angular/flex-layout": "13.0.0-beta.38", - "@angular/forms": "13.3.5", - "@angular/localize": "13.3.5", - "@angular/material": "13.3.5", - "@angular/platform-browser": "13.3.5", - "@angular/platform-browser-dynamic": "13.3.5", - "@angular/router": "13.3.5", + "@angular/forms": "13.3.10", + "@angular/localize": "13.3.10", + "@angular/material": "13.3.8", + "@angular/platform-browser": "13.3.10", + "@angular/platform-browser-dynamic": "13.3.10", + "@angular/router": "13.3.10", "@swimlane/ngx-charts": "20.1.0", - "ace-builds": "1.4.14", - "core-js": "3.22.4", + "ace-builds": "1.5.3", + "core-js": "3.22.7", + "crop-url": "4.0.1", "d3": "6.7.0", "file-saver": "2.0.5", "js-beautify": "1.14.3", @@ -88,16 +89,15 @@ "jwt-decode": "3.1.2", "material-design-icons": "3.0.1", "ng-in-viewport": "13.0.1", - "ngx-cookie-service": "13.2.0", + "ngx-cookie-service": "13.2.1", "ngx-pipes": "3.0.0", "normalize.css": "8.0.1", "roboto-fontface": "0.10.0", - "rxjs": "6.6.7", + "rxjs": "7.5.5", "rxjs-compat": "6.6.7", - "sockjs-client": "1.6.0", + "sockjs-client": "1.6.1", "strip-ansi": "6.0.1", "systemjs": "6.12.1", - "truncate-url": "1.0.0", "tslib": "2.4.0", "web-animations-js": "2.3.2", "xterm": "4.18.0", @@ -105,64 +105,64 @@ "zone.js": "0.11.5" }, "devDependencies": { - "@angular-devkit/build-angular": "13.3.4", - "@angular/cli": "13.3.4", - "@angular/compiler-cli": "13.3.5", - "@angular/language-service": "13.3.5", - "@babel/core": "7.17.10", - "@babel/preset-env": "7.17.10", + "@angular-devkit/build-angular": "13.3.7", + "@angular/cli": "13.3.7", + "@angular/compiler-cli": "13.3.10", + "@angular/language-service": "13.3.10", + "@babel/core": "7.18.2", + "@babel/preset-env": "7.18.2", "@babel/register": "7.17.7", "@cypress/webpack-preprocessor": "5.11.1", - "@types/d3": "7.1.0", + "@types/d3": "7.4.0", "@types/d3-scale": "4.0.2", "@types/file-saver": "2.0.5", "@types/jasmine": "4.0.3", "@types/jasminewd2": "2.0.10", - "@types/jest": "27.5.0", + "@types/jest": "27.5.1", "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.182", - "@types/node": "17.0.31", - "@typescript-eslint/eslint-plugin": "5.22.0", - "@typescript-eslint/parser": "5.22.0", + "@types/node": "17.0.36", + "@typescript-eslint/eslint-plugin": "5.27.0", + "@typescript-eslint/parser": "5.27.0", "codelyzer": "6.0.2", - "concurrently": "7.1.0", - "cypress": "9.3.1", - "cypress-fail-fast": "3.4.1", - "del": "6.0.0", - "eslint": "8.14.0", + "concurrently": "7.2.1", + "cypress": "9.7.0", + "cypress-fail-fast": "4.0.0", + "del": "6.1.1", + "eslint": "8.16.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-prettier": "4.0.0", "eslint-plugin-rxjs": "5.0.2", - "git-describe": "4.1.0", + "git-describe": "4.1.1", "gts": "3.1.0", - "husky": "7.0.4", - "jasmine-core": "4.1.0", + "husky": "8.0.1", + "jasmine-core": "4.1.1", "jasmine-spec-reporter": "7.0.0", - "jest": "27.5.1", - "jest-preset-angular": "11.1.2", - "license-check-and-add": "4.0.3", - "lint-staged": "12.4.1", + "jest": "28.1.0", + "jest-preset-angular": "12.0.1", + "license-check-and-add": "4.0.5", + "lint-staged": "12.4.3", "lodash": "4.17.21", - "minimatch": "5.0.1", + "minimatch": "5.1.0", "minimist": "1.2.6", "ngx-i18nsupport": "0.17.1", "node-gyp": "9.0.0", "q": "1.5.1", "raw-loader": "4.0.2", "run-node": "2.0.0", - "sass": "1.51.0", - "sass-loader": "12.6.0", + "sass": "1.52.1", + "sass-loader": "13.0.0", "semver": "7.3.7", "source-map-explorer": "2.5.2", - "stylelint": "14.8.1", - "stylelint-config-standard-scss": "3.0.0", + "stylelint": "14.8.5", + "stylelint-config-standard-scss": "4.0.0", "stylelint-no-unsupported-browser-features": "5.0.3", "stylelint-order": "5.0.0", "tar": "6.1.11", "through2": "4.0.2", - "ts-jest": "27.1.4", + "ts-jest": "28.0.3", "ts-loader": "9.3.0", - "ts-node": "10.7.0", + "ts-node": "10.8.0", "typescript": "4.6.4", "wait-on": "6.0.1", "webpack-dev-server": "4.8.1" @@ -170,4 +170,4 @@ "overrides": { "colors": "1.4.0" } -} \ No newline at end of file +} diff --git a/src/app/frontend/common/components/chips/component.ts b/src/app/frontend/common/components/chips/component.ts index 0ca60673ea48..63bd029971fd 100644 --- a/src/app/frontend/common/components/chips/component.ts +++ b/src/app/frontend/common/components/chips/component.ts @@ -24,7 +24,7 @@ import { import {MatDialog, MatDialogConfig} from '@angular/material/dialog'; import {StringMap} from '@api/root.shared'; // @ts-ignore -import truncateUrl from 'truncate-url'; +import cropUrl from 'crop-url'; import {GlobalSettingsService} from '../../services/global/globalsettings'; import {ChipDialog} from './chipdialog/dialog'; @@ -99,7 +99,7 @@ export class ChipsComponent implements OnInit, OnChanges { } getTruncatedURL(url: string): string { - return truncateUrl(url, MAX_CHIP_VALUE_LENGTH); + return cropUrl(url, MAX_CHIP_VALUE_LENGTH); } isHref(value: string): boolean { diff --git a/src/app/frontend/common/components/namespace/component.ts b/src/app/frontend/common/components/namespace/component.ts index f9aebb69cf21..ccba3057813d 100644 --- a/src/app/frontend/common/components/namespace/component.ts +++ b/src/app/frontend/common/components/namespace/component.ts @@ -45,8 +45,8 @@ export class NamespaceSelectorComponent implements OnInit, OnDestroy { resourceNamespaceParam: string; usingFallbackNamespaces = false; - private readonly namespaceUpdate_ = new Subject(); - private readonly unsubscribe_ = new Subject(); + private readonly namespaceUpdate_ = new Subject(); + private readonly unsubscribe_ = new Subject(); private readonly endpoint_ = EndpointManager.resource(Resource.namespace); @ViewChild(MatSelect, {static: true}) private readonly select_: MatSelect; diff --git a/src/app/frontend/common/components/resourcelist/clusterrolebinding/component.ts b/src/app/frontend/common/components/resourcelist/clusterrolebinding/component.ts index 2bf34459ae65..52a54cdb5865 100644 --- a/src/app/frontend/common/components/resourcelist/clusterrolebinding/component.ts +++ b/src/app/frontend/common/components/resourcelist/clusterrolebinding/component.ts @@ -14,7 +14,7 @@ import {HttpParams} from '@angular/common/http'; import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Input} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {ResourceListBase} from '@common/resources/list'; import {NotificationsService} from '@common/services/global/notifications'; diff --git a/src/app/frontend/common/components/resourcelist/rolebinding/component.ts b/src/app/frontend/common/components/resourcelist/rolebinding/component.ts index 028b089dfdcc..ef5735402bde 100644 --- a/src/app/frontend/common/components/resourcelist/rolebinding/component.ts +++ b/src/app/frontend/common/components/resourcelist/rolebinding/component.ts @@ -15,7 +15,6 @@ import {HttpParams} from '@angular/common/http'; import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Input} from '@angular/core'; import {Role, RoleBinding, RoleBindingList} from '@api/root.api'; -import {Observable} from 'rxjs/Observable'; import {ResourceListBase} from '@common/resources/list'; import {NotificationsService} from '@common/services/global/notifications'; @@ -23,6 +22,7 @@ import {EndpointManager, Resource} from '@common/services/resource/endpoint'; import {NamespacedResourceService} from '@common/services/resource/resource'; import {MenuComponent} from '../../list/column/menu/component'; import {ListGroupIdentifier, ListIdentifier} from '../groupids'; +import {Observable} from 'rxjs'; @Component({ selector: 'kd-role-binding-list', diff --git a/src/app/frontend/common/resources/list.ts b/src/app/frontend/common/resources/list.ts index 02134ec2b1b8..45e3b0dc0bf8 100644 --- a/src/app/frontend/common/resources/list.ts +++ b/src/app/frontend/common/resources/list.ts @@ -31,7 +31,7 @@ import {MatTableDataSource} from '@angular/material/table'; import {Router} from '@angular/router'; import {Event as KdEvent, Resource, ResourceList} from '@api/root.api'; import {ActionColumn, ActionColumnDef, ColumnWhenCallback, ColumnWhenCondition, OnListChangeEvent} from '@api/root.ui'; -import {isObservable, merge, Observable, ObservableInput, Subject} from 'rxjs'; +import {isObservable, merge, Observable, Subject} from 'rxjs'; import {startWith, switchMap, takeUntil, tap} from 'rxjs/operators'; import {CardListFilterComponent} from '../components/list/filter/component'; @@ -68,7 +68,7 @@ export abstract class ResourceListBase> = []; private readonly data_ = new MatTableDataSource(); private stateName_ = ''; - private listUpdates_ = new Subject(); + private listUpdates_ = new Subject(); private loaded_ = false; private readonly dynamicColumns_: ColumnWhenCondition[] = []; private paramsService_: ParamsService; @@ -225,8 +225,8 @@ export abstract class ResourceListBase(): Observable { - const obsInput = [this.matPaginator_.page] as Array>; + private getObservableWithDataSelect_(): Observable { + const obsInput = [this.matPaginator_.page] as Array>; if (this.matSort_) { this.matSort_.sortChange.subscribe(() => (this.matPaginator_.pageIndex = 0)); @@ -238,7 +238,7 @@ export abstract class ResourceListBase); + return merge(...obsInput, this.listUpdates_); } private getDataSelectParams_(): HttpParams { diff --git a/src/app/frontend/common/services/global/pinner.ts b/src/app/frontend/common/services/global/pinner.ts index 695bcd3147aa..131a4acab5e0 100644 --- a/src/app/frontend/common/services/global/pinner.ts +++ b/src/app/frontend/common/services/global/pinner.ts @@ -22,7 +22,7 @@ import {VerberService} from './verber'; @Injectable() export class PinnerService { - onPinUpdate = new Subject(); + onPinUpdate = new Subject(); private isInitialized_ = false; private pinnedResources_: PinnedResource[] = []; private readonly endpoint_ = 'api/v1/settings/pinner'; diff --git a/src/app/frontend/resource/cluster/clusterrolebinding/detail/component.ts b/src/app/frontend/resource/cluster/clusterrolebinding/detail/component.ts index 33842b090328..97116b7eab32 100644 --- a/src/app/frontend/resource/cluster/clusterrolebinding/detail/component.ts +++ b/src/app/frontend/resource/cluster/clusterrolebinding/detail/component.ts @@ -15,7 +15,6 @@ import {Component, OnDestroy, OnInit} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {ClusterRoleBindingDetail} from '@api/root.api'; -import {Subscription} from 'rxjs/Subscription'; import {ActionbarService, ResourceMeta} from '@common/services/global/actionbar'; import {NotificationsService} from '@common/services/global/notifications'; @@ -23,7 +22,7 @@ import {EndpointManager, Resource} from '@common/services/resource/endpoint'; import {ResourceService} from '@common/services/resource/resource'; import {KdStateService} from '@common/services/global/state'; import {takeUntil} from 'rxjs/operators'; -import {Subject} from 'rxjs'; +import {Subject, Subscription} from 'rxjs'; @Component({ selector: 'kd-cluster-role-binding-detail', diff --git a/src/app/frontend/settings/global/component.ts b/src/app/frontend/settings/global/component.ts index a3727bb2c484..2926206a9d2a 100644 --- a/src/app/frontend/settings/global/component.ts +++ b/src/app/frontend/settings/global/component.ts @@ -18,8 +18,7 @@ import {FormBuilder, FormGroup} from '@angular/forms'; import {MatDialog} from '@angular/material/dialog'; import {GlobalSettings, NamespaceList} from '@api/root.api'; import _ from 'lodash'; -import {of, Subject} from 'rxjs'; -import {Observable} from 'rxjs/Observable'; +import {Observable, of, Subject} from 'rxjs'; import {catchError, take, takeUntil, tap} from 'rxjs/operators'; import {GlobalSettingsService} from '@common/services/global/globalsettings'; From 81d122f3da767b568ff57e2994c1bd9cbfc024ce Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Tue, 31 May 2022 22:19:26 +0200 Subject: [PATCH 080/162] Update dev pipeline --- Makefile | 35 ++++++++++++++-------- hack/docker.compose.yml | 39 +++++++++++++++++++++++++ hack/gateway/Makefile | 4 +-- hack/gateway/config/api_conf.d/api.conf | 2 +- hack/gateway/config/api_conf.d/web.conf | 2 +- hack/gateway/config/gateway.conf | 2 +- modules/web/Makefile | 17 +++++++---- modules/web/package.json | 2 +- 8 files changed, 80 insertions(+), 23 deletions(-) create mode 100644 hack/docker.compose.yml diff --git a/Makefile b/Makefile index 0bcff9143f74..5b5a4da74176 100644 --- a/Makefile +++ b/Makefile @@ -44,25 +44,36 @@ check-license: $(PRE) fix-license: $(PRE) @${GOPATH}/bin/license-eye header fix +# Starts development version of the application. +# +# URL: http://localhost:8080 +# +# Note: Make sure that the port 8080 is free on your localhost .PHONY: serve serve: $(PRE) @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve +# Starts development version of the application with HTTPS enabled. +# +# URL: https://localhost:8080 +# +# Note: Make sure that the port 8080 is free on your localhost .PHONY: serve-https serve-https: $(PRE) @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve-https +# Starts a prod version of the application. +# +# URL: https://localhost:4443 +# +# Note: Make sure that the port 4443 is free on your localhost .PHONY: run -run: build-docker - docker run --rm -p 8001:8001 --net dashboard --name dashboard-web -d dashboard-web --locale-config /public/locale_conf.json --auto-generate-certificates - docker run --rm -p 9000:9000 -v $(KUBECONFIG):/config --net dashboard --name dashboard-api -d dashboard-api --kubeconfig config --auto-generate-certificates - docker run --rm -p 443:443 --net dashboard --name gateway -d gateway +run: $(PRE) --ensure-compose-down compose + @docker compose -f hack/docker.compose.yml up -.PHONY: build-docker -build-docker: --ensure-docker-network build - @docker build -f hack/gateway/Dockerfile -t gateway . - @docker build -f modules/api/Dockerfile --build-arg BUILDPLATFORM=linux/amd64 -t dashboard-api . - @docker build -f modules/web/Dockerfile --build-arg BUILDPLATFORM=linux/amd64 -t dashboard-web . +.PHONY: compose +compose: --ensure-certificates build + @docker compose -f hack/docker.compose.yml build .PHONY: build build: @@ -72,9 +83,9 @@ build: --ensure-tools: @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY)/tools install -.PHONY: --ensure-docker-network ---ensure-docker-network: - @docker network create dashboard || true +.PHONY: --ensure-compose-down +--ensure-compose-down: + @docker compose -f hack/docker.compose.yml down .PHONY: --ensure-certificates --ensure-certificates: diff --git a/hack/docker.compose.yml b/hack/docker.compose.yml new file mode 100644 index 000000000000..0bc2f5e53003 --- /dev/null +++ b/hack/docker.compose.yml @@ -0,0 +1,39 @@ +version: "1.0" + +name: kubernetes-dashboard + +services: + web: + build: + context: .. + dockerfile: modules/web/Dockerfile + args: + - BUILDPLATFORM=linux/amd64 + command: + --locale-config /public/locale_conf.json + --auto-generate-certificates + ports: + - "8001:8001" + api: + build: + context: .. + dockerfile: modules/api/Dockerfile + args: + - BUILDPLATFORM=linux/amd64 + command: + --kubeconfig ${HOME}/.kube/config + --auto-generate-certificates + volumes: + - ${HOME}/.kube:${HOME}/.kube + ports: + - "9000:9000" + gateway: + build: + context: ../ + dockerfile: hack/gateway/Dockerfile + ports: + - "4443:4443" + +networks: + kubernetes-dashboard: + name: kubernetes-dashboard diff --git a/hack/gateway/Makefile b/hack/gateway/Makefile index d996b47d7dfa..3ab2bd3af03a 100644 --- a/hack/gateway/Makefile +++ b/hack/gateway/Makefile @@ -5,8 +5,8 @@ CERTIFICATES_DIRECTORY = $(GATEWAY_DIRECTORY)/certificates .PHONY: generate-certificates generate-certificates: --ensure-dir - @openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout $(CERTIFICATES_OUT_DIRECTORY)/private.key -out $(CERTIFICATES_OUT_DIRECTORY)/public.crt -config $(CERTIFICATES_DIRECTORY)/localhost.conf + @openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout $(CERTIFICATES_OUT_DIRECTORY)/private.key -out $(CERTIFICATES_OUT_DIRECTORY)/public.crt -config $(CERTIFICATES_DIRECTORY)/localhost.conf 2>/dev/null .PHONY: --ensure-dir --ensure-dir: - mkdir -p $(CERTIFICATES_OUT_DIRECTORY) + @mkdir -p $(CERTIFICATES_OUT_DIRECTORY) diff --git a/hack/gateway/config/api_conf.d/api.conf b/hack/gateway/config/api_conf.d/api.conf index 8d7d80d28895..0764914c7a59 100644 --- a/hack/gateway/config/api_conf.d/api.conf +++ b/hack/gateway/config/api_conf.d/api.conf @@ -1,3 +1,3 @@ location /api/v1 { - proxy_pass https://dashboard-api:9001; + proxy_pass https://api:9001; } diff --git a/hack/gateway/config/api_conf.d/web.conf b/hack/gateway/config/api_conf.d/web.conf index 08880e2fa534..cc9968aac57a 100644 --- a/hack/gateway/config/api_conf.d/web.conf +++ b/hack/gateway/config/api_conf.d/web.conf @@ -1,3 +1,3 @@ location / { - proxy_pass https://dashboard-web:8001; + proxy_pass https://web:8001; } diff --git a/hack/gateway/config/gateway.conf b/hack/gateway/config/gateway.conf index 3331a135a9e0..bc67fcdb609a 100644 --- a/hack/gateway/config/gateway.conf +++ b/hack/gateway/config/gateway.conf @@ -2,7 +2,7 @@ server { access_log /var/log/nginx/api_access.log main; # Each API may also log to a # separate file - listen 443 ssl; + listen 4443 ssl; server_name localhost; # TLS config diff --git a/modules/web/Makefile b/modules/web/Makefile index a2076e3a34fa..1a8ace639db6 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -8,7 +8,7 @@ PROXY_CONFIG ?= proxy.conf.json SSL_ENABLED ?= false # List of targets that should be always executed before other targets -PRE = --ensure-version +PRE = --ensure-version --npm-ci MAKEFLAGS += -j2 @@ -20,7 +20,7 @@ serve-https: $(PRE) --serve-go-https --serve-angular-https .PHONY: build build: $(PRE) - scripts/build.sh + @scripts/build.sh .PHONY: --serve-go --serve-go: @@ -33,15 +33,22 @@ build: $(PRE) --serve-go-https: AUTO_GENERATE_CERTIFICATES = true --serve-go-https: --serve-go -.PHONY: --serve-anulgar +.PHONY: --serve-angular --serve-angular: @npx ng serve --proxy-config $(PROXY_CONFIG) --ssl=$(SSL_ENABLED) -.PHONY: serve-anulgar-https +.PHONY: serve-angular-https --serve-angular-https: PROXY_CONFIG = proxy-https.conf.json --serve-angular-https: SSL_ENABLED = true --serve-angular-https: --serve-angular .PHONY: --ensure-version --ensure-version: - node ./scripts/version.mjs + @node ./scripts/version.mjs + +.PHONY: --npm-ci +--npm-ci: +ifeq ($(wildcard node_modules/.*),) + @echo "Installing dependencies" + @npm ci +endif diff --git a/modules/web/package.json b/modules/web/package.json index c53eef560758..a213202fcd17 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -9,7 +9,7 @@ }, "engines": { "node": ">=16.15.0", - "npm": ">=8.6.0" + "npm": ">=8.5.5" }, "scripts": { "start": "make serve", From 89f9dbcaecc39e62858a30372fb13ef57294f903 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 1 Jun 2022 15:18:25 +0200 Subject: [PATCH 081/162] Update run pipeline --- Makefile | 61 +++++++++++++++++++++++++++-------------- hack/docker.compose.yml | 42 ++++++++++++++++++++++++++-- 2 files changed, 79 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index 5b5a4da74176..f64526ff7bf0 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,14 @@ +# Unused SHELL = /bin/bash GOOS ?= $(shell go env GOOS) GOARCH ?= $(shell go env GOARCH) -GOPATH ?= $(shell go env GOPATH) -ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules -GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway -COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage -GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt -AIR_BINARY := $(shell which air) +#GOPATH ?= $(shell go env GOPATH) CODEGEN_VERSION := v0.23.6 CODEGEN_BIN := $(GOPATH)/pkg/mod/k8s.io/code-generator@$(CODEGEN_VERSION)/generate-groups.sh +GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt +COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage MAIN_PACKAGE = github.com/kubernetes/dashboard/src/app/backend -KUBECONFIG ?= $(HOME)/.kube/config -SIDECAR_HOST ?= http://localhost:8000 -TOKEN_TTL ?= 900 -AUTO_GENERATE_CERTS ?= false -BIND_ADDRESS ?= 127.0.0.1 -PORT ?= 8080 -ENABLE_INSECURE_LOGIN ?= false -ENABLE_SKIP_LOGIN ?= false -SYSTEM_BANNER ?= "Local test environment" -SYSTEM_BANNER_SEVERITY ?= INFO + PROD_BINARY = .dist/amd64/web/dashboard SERVE_DIRECTORY = .dist/web SERVE_BINARY = .dist/web/dashboard @@ -33,6 +21,19 @@ HEAD_VERSION = latest HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) ARCHITECTURES = amd64 arm64 arm ppc64le s390x +# New +ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules +GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway + +# Used by the run target to configure the application +KUBECONFIG ?= $(HOME)/.kube/config +WEB_SYSTEM_BANNER ?= "Local test environment" +WEB_SYSTEM_BANNER_SEVERITY ?= INFO +API_ENABLE_SKIP_LOGIN ?= true +API_SIDECAR_HOST ?= http://sidecar:8000 +API_TOKEN_TTL ?= 0 # Never expire + # List of targets that should be always executed before other targets PRE = --ensure-tools @@ -69,11 +70,23 @@ serve-https: $(PRE) # Note: Make sure that the port 4443 is free on your localhost .PHONY: run run: $(PRE) --ensure-compose-down compose - @docker compose -f hack/docker.compose.yml up + @KUBECONFIG=$(KUBECONFIG) \ + WEB_SYSTEM_BANNER=$(WEB_SYSTEM_BANNER) \ + WEB_SYSTEM_BANNER_SEVERITY=$(WEB_SYSTEM_BANNER_SEVERITY) \ + API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ + API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ + API_TOKEN_TTL=$(API_TOKEN_TTL) \ + docker compose -f hack/docker.compose.yml up .PHONY: compose compose: --ensure-certificates build - @docker compose -f hack/docker.compose.yml build + @KUBECONFIG=$(KUBECONFIG) \ + WEB_SYSTEM_BANNER=$(WEB_SYSTEM_BANNER) \ + WEB_SYSTEM_BANNER_SEVERITY=$(WEB_SYSTEM_BANNER_SEVERITY) \ + API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ + API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ + API_TOKEN_TTL=$(API_TOKEN_TTL) \ + docker compose -f hack/docker.compose.yml build .PHONY: build build: @@ -85,7 +98,13 @@ build: .PHONY: --ensure-compose-down --ensure-compose-down: - @docker compose -f hack/docker.compose.yml down + @KUBECONFIG=$(KUBECONFIG) \ + WEB_SYSTEM_BANNER=$(WEB_SYSTEM_BANNER) \ + WEB_SYSTEM_BANNER_SEVERITY=$(WEB_SYSTEM_BANNER_SEVERITY) \ + API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ + API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ + API_TOKEN_TTL=$(API_TOKEN_TTL) \ + docker compose -f hack/docker.compose.yml down .PHONY: --ensure-certificates --ensure-certificates: @@ -118,7 +137,7 @@ build: #.PHONY: prod #prod: build # $(PROD_BINARY) --kubeconfig=$(KUBECONFIG) \ -# --sidecar-host=$(SIDECAR_HOST) \ +# --sidecar-host=$(API_SIDECAR_HOST) \ # --auto-generate-certificates \ # --locale-config=dist/amd64/locale_conf.json \ # --bind-address=${BIND_ADDRESS} \ diff --git a/hack/docker.compose.yml b/hack/docker.compose.yml index 0bc2f5e53003..07a1d4f900e1 100644 --- a/hack/docker.compose.yml +++ b/hack/docker.compose.yml @@ -10,8 +10,14 @@ services: args: - BUILDPLATFORM=linux/amd64 command: - --locale-config /public/locale_conf.json + --locale-config=/public/locale_conf.json --auto-generate-certificates + --system-banner="${WEB_SYSTEM_BANNER:?}" + --system-banner-severity=${WEB_SYSTEM_BANNER_SEVERITY:?} + volumes: + - ${KUBECONFIG:?}:${KUBECONFIG:?} + tmpfs: + - /tmp ports: - "8001:8001" api: @@ -21,12 +27,42 @@ services: args: - BUILDPLATFORM=linux/amd64 command: - --kubeconfig ${HOME}/.kube/config + --kubeconfig=${KUBECONFIG:?} --auto-generate-certificates + --enable-skip-login=${API_ENABLE_SKIP_LOGIN:?} + --sidecar-host=${API_SIDECAR_HOST:?} + --token-ttl=${API_TOKEN_TTL:?} volumes: - - ${HOME}/.kube:${HOME}/.kube + - ${KUBECONFIG:?}:${KUBECONFIG:?} + tmpfs: + - /tmp ports: - "9000:9000" + metrics-scraper: + image: kubernetesui/metrics-scraper:v1.0.8 + command: + --kubeconfig=${KUBECONFIG:?} + --metric-resolution=5s + --metric-duration=10m + volumes: + - ${KUBECONFIG:?}:${KUBECONFIG:?} + tmpfs: + - /tmp + ports: + - "8000:8000" +# metrics-server: +# image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1 +# command: +# - --kubeconfig=${KUBECONFIG:?} +# - --cert-dir=/tmp +# - --secure-port=5443 +# - --metric-resolution=15s +# volumes: +# - ${KUBECONFIG:?}:${KUBECONFIG:?} +# tmpfs: +# - /tmp +# ports: +# - "5443:5443" gateway: build: context: ../ From d777edbc005857aaa98e87ba11c5eb40886045f1 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Mon, 6 Jun 2022 23:09:05 +0200 Subject: [PATCH 082/162] Cleanup the build and start adding the multi arch build targets for the release pipeline --- .gitignore | 22 +++---- Makefile | 14 ++-- modules/api/Dockerfile | 3 +- modules/api/Makefile | 65 +++++++++++++++++-- modules/api/go.mod | 2 +- .../{ => common}/certificates/api/types.go | 0 .../certificates/ecdsa/creator.go | 0 .../certificates/ecdsa/creator_test.go | 0 modules/{ => common}/certificates/go.mod | 0 modules/{ => common}/certificates/go.sum | 0 modules/{ => common}/certificates/manager.go | 0 modules/{ => common}/tools/Makefile | 0 modules/{ => common}/tools/go.mod | 0 modules/{ => common}/tools/go.sum | 0 modules/{ => common}/tools/main.go | 0 modules/go.work | 4 +- modules/web/Makefile | 4 +- modules/web/go.mod | 2 +- 18 files changed, 87 insertions(+), 29 deletions(-) rename modules/{ => common}/certificates/api/types.go (100%) rename modules/{ => common}/certificates/ecdsa/creator.go (100%) rename modules/{ => common}/certificates/ecdsa/creator_test.go (100%) rename modules/{ => common}/certificates/go.mod (100%) rename modules/{ => common}/certificates/go.sum (100%) rename modules/{ => common}/certificates/manager.go (100%) rename modules/{ => common}/tools/Makefile (100%) rename modules/{ => common}/tools/go.mod (100%) rename modules/{ => common}/tools/go.sum (100%) rename modules/{ => common}/tools/main.go (100%) diff --git a/.gitignore b/.gitignore index a16bfc8e6e7a..01ead29a53b5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,20 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. # + +# IDE .idea/ .vscode/ .DS_Store -charts/helm-chart/kubernetes-dashboard/charts -i18n/messages.new.xlf -_tmp/ -.tmp/ -.dist/ -.cached_tools/ -dist/ -coverage/ -cypress/screenshots -cypress/videos +# Build, deps and cache +.angular +node_modules +.dist +.coverage *.swp -**/*.crt -**/*.key + +# Helm deps +charts/helm-chart/kubernetes-dashboard/charts diff --git a/Makefile b/Makefile index f64526ff7bf0..2b5e1a8a4d45 100644 --- a/Makefile +++ b/Makefile @@ -21,10 +21,14 @@ HEAD_VERSION = latest HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) ARCHITECTURES = amd64 arm64 arm ppc64le s390x -# New +# Dirs and paths ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules +TOOLS_DIRECTORY := $(MODULES_DIRECTORY)/common/tools GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway +HACK_DIRECTORY := $(ROOT_DIRECTORY)/hack + +DOCKER_COMPOSE_PATH := $(HACK_DIRECTORY)/docker.compose.yaml # Used by the run target to configure the application KUBECONFIG ?= $(HOME)/.kube/config @@ -76,7 +80,7 @@ run: $(PRE) --ensure-compose-down compose API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ API_TOKEN_TTL=$(API_TOKEN_TTL) \ - docker compose -f hack/docker.compose.yml up + docker compose -f $(DOCKER_COMPOSE_PATH) up .PHONY: compose compose: --ensure-certificates build @@ -86,7 +90,7 @@ compose: --ensure-certificates build API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ API_TOKEN_TTL=$(API_TOKEN_TTL) \ - docker compose -f hack/docker.compose.yml build + docker compose -f $(DOCKER_COMPOSE_PATH) build .PHONY: build build: @@ -94,7 +98,7 @@ build: .PHONY: --ensure-tools --ensure-tools: - @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY)/tools install + @$(MAKE) --no-print-directory -C $(TOOLS_DIRECTORY) install .PHONY: --ensure-compose-down --ensure-compose-down: @@ -104,7 +108,7 @@ build: API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ API_TOKEN_TTL=$(API_TOKEN_TTL) \ - docker compose -f hack/docker.compose.yml down + docker compose -f $(DOCKER_COMPOSE_PATH) down .PHONY: --ensure-certificates --ensure-certificates: diff --git a/modules/api/Dockerfile b/modules/api/Dockerfile index f3eae0a79883..fcbf322dee15 100644 --- a/modules/api/Dockerfile +++ b/modules/api/Dockerfile @@ -28,8 +28,7 @@ FROM --platform=$BUILDPLATFORM scratch as final # Add all files from current working directory to the root of the image, i.e., copy dist directory # layout to the root directory. -# TODO: support multi-arch build -ADD .dist/api/ / +ADD .dist/api/$BUILDPLATFORM / # Copy nonroot user COPY --from=builder /etc/passwd /etc/passwd diff --git a/modules/api/Makefile b/modules/api/Makefile index 5d7761ac2962..7d1438a0463a 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -4,7 +4,32 @@ DIST_DIRECTORY = $(ROOT_DIRECTORY)/.dist SERVE_DIRECTORY = $(DIST_DIRECTORY)/api SERVE_BINARY = $(DIST_DIRECTORY)/api/dashboard-api MAIN_PACKAGE = k8s.io/dashboard/api -VERSION = v2.5.1 +VERSION = v1.0.0 + +RELEASE_IMAGE = kubernetesui/dashboard-api +RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) +RELEASE_IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):latest) + +######################################################################################################## +ARCHITECTURES = amd64 arm64 arm ppc64le s390x + +# BUILDARCH is the host machine architecture +BUILDARCH ?= $(shell uname -m) + +ifeq ($(BUILDARCH),x86_64) + BUILDARCH=amd64 +endif +ifeq ($(BUILDARCH),aarch64) + BUILDARCH=arm64 +endif +ifeq ($(BUILDARCH),armv7l) + BUILDARCH=armv7 +endif + +# ARCH is the target build architecture. Unless overridden during build, host architecture (BUILDARCH) will be used +ARCH ?= $(BUILDARCH) + +######################################################################################################## # API Arguments (overridable) KUBECONFIG ?= $(HOME)/.kube/config @@ -16,9 +41,18 @@ PORT ?= 8080 ENABLE_INSECURE_LOGIN ?= false ENABLE_SKIP_LOGIN ?= false +PRE := --ensure-dir-exists + .PHONY: build -build: - @CGO_ENABLED=0 go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(VERSION)" -gcflags="all=-N -l" -o $(SERVE_BINARY) $(MAIN_PACKAGE) +build: ARCHITECTURES = $(ARCH) +build: $(PRE) build-cross + +.PHONY: build-cross +build-cross: + @for ARCH in $(ARCHITECTURES) ; do \ + echo "Building dashboard-api for $$ARCH" ; \ + CGO_ENABLED=0 GOOS=linux GOARCH=$$ARCH go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(VERSION)" -gcflags="all=-N -l" -o $(DIST_DIRECTORY)/api/$$ARCH/dashboard-api $(MAIN_PACKAGE) ; \ + done .PHONY: run run: build @@ -30,9 +64,32 @@ run: build --enable-skip-login=$(ENABLE_SKIP_LOGIN) .PHONY: serve -serve: +serve: $(PRE) @air .PHONY: serve-https serve-https: AUTO_GENERATE_CERTS=true $(MAKE) serve + +.PHONY: deploy +deploy: --docker-buildx + docker manifest create --amend $(RELEASE_IMAGE):$(VERSION) $(RELEASE_IMAGE_NAMES) ; \ + docker manifest create --amend $(RELEASE_IMAGE):latest $(RELEASE_IMAGE_NAMES_LATEST) ; \ + docker manifest push $(RELEASE_IMAGE):$(VERSION) ; \ + docker manifest push $(RELEASE_IMAGE):latest + +.PHONY: --docker-buildx +--docker-buildx: build-cross + @for ARCH in $(ARCHITECTURES) ; do \ + docker buildx build \ + -t $(RELEASE_IMAGE)-$$ARCH:$(VERSION) \ + -t $(RELEASE_IMAGE)-$$ARCH:latest \ + --build-arg BUILDPLATFORM=linux/$$ARCH \ + --platform linux/$$ARCH \ + --push \ + $(SERVE_DIRECTORY)/$$ARCH ; \ + done ; \ + +.PHONY: --ensure-dir-exists +--ensure-dir-exists: + @mkdir -p $(SERVE_DIRECTORY) diff --git a/modules/api/go.mod b/modules/api/go.mod index 2ddb0ce9cc1c..b059317ef673 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -66,4 +66,4 @@ require ( sigs.k8s.io/yaml v1.2.0 // indirect ) -replace k8s.io/dashboard/certificates => ../certificates +replace k8s.io/dashboard/certificates => ./../common/certificates diff --git a/modules/certificates/api/types.go b/modules/common/certificates/api/types.go similarity index 100% rename from modules/certificates/api/types.go rename to modules/common/certificates/api/types.go diff --git a/modules/certificates/ecdsa/creator.go b/modules/common/certificates/ecdsa/creator.go similarity index 100% rename from modules/certificates/ecdsa/creator.go rename to modules/common/certificates/ecdsa/creator.go diff --git a/modules/certificates/ecdsa/creator_test.go b/modules/common/certificates/ecdsa/creator_test.go similarity index 100% rename from modules/certificates/ecdsa/creator_test.go rename to modules/common/certificates/ecdsa/creator_test.go diff --git a/modules/certificates/go.mod b/modules/common/certificates/go.mod similarity index 100% rename from modules/certificates/go.mod rename to modules/common/certificates/go.mod diff --git a/modules/certificates/go.sum b/modules/common/certificates/go.sum similarity index 100% rename from modules/certificates/go.sum rename to modules/common/certificates/go.sum diff --git a/modules/certificates/manager.go b/modules/common/certificates/manager.go similarity index 100% rename from modules/certificates/manager.go rename to modules/common/certificates/manager.go diff --git a/modules/tools/Makefile b/modules/common/tools/Makefile similarity index 100% rename from modules/tools/Makefile rename to modules/common/tools/Makefile diff --git a/modules/tools/go.mod b/modules/common/tools/go.mod similarity index 100% rename from modules/tools/go.mod rename to modules/common/tools/go.mod diff --git a/modules/tools/go.sum b/modules/common/tools/go.sum similarity index 100% rename from modules/tools/go.sum rename to modules/common/tools/go.sum diff --git a/modules/tools/main.go b/modules/common/tools/main.go similarity index 100% rename from modules/tools/main.go rename to modules/common/tools/main.go diff --git a/modules/go.work b/modules/go.work index 757fd092b7fb..d13827b93b27 100644 --- a/modules/go.work +++ b/modules/go.work @@ -2,7 +2,7 @@ go 1.18 use ( ./api // k8s.io/dashboard/api - ./certificates // k8s.io/dashboard/certificates - ./tools // k8s.io/dashboard/tools + ./common/certificates // k8s.io/dashboard/certificates + ./common/tools // k8s.io/dashboard/tools ./web // k8s.io/dashboard/web ) diff --git a/modules/web/Makefile b/modules/web/Makefile index 1a8ace639db6..ec118e893751 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -8,7 +8,7 @@ PROXY_CONFIG ?= proxy.conf.json SSL_ENABLED ?= false # List of targets that should be always executed before other targets -PRE = --ensure-version --npm-ci +PRE = --ensure-version MAKEFLAGS += -j2 @@ -43,7 +43,7 @@ build: $(PRE) --serve-angular-https: --serve-angular .PHONY: --ensure-version ---ensure-version: +--ensure-version: --npm-ci @node ./scripts/version.mjs .PHONY: --npm-ci diff --git a/modules/web/go.mod b/modules/web/go.mod index 8655bae7b50b..3328185e82ed 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -30,4 +30,4 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect ) -replace k8s.io/dashboard/certificates => ../certificates +replace k8s.io/dashboard/certificates => ./../common/certificates From 5a5f9f422000cd855c6ffd0d408c08a78f376b19 Mon Sep 17 00:00:00 2001 From: TheRealNoob Date: Wed, 8 Jun 2022 02:27:49 -0500 Subject: [PATCH 083/162] add serviceMonitor labels/annotations (#7120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add serviceMonitor labels/annotations * Update aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml Co-authored-by: Cédric de Saint Martin Co-authored-by: Cédric de Saint Martin --- aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml | 4 ++-- .../kubernetes-dashboard/templates/servicemonitor.yaml | 6 ++++++ aio/deploy/helm-chart/kubernetes-dashboard/values.yaml | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml index 1b29f83d5a3f..ad01aac8acbf 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml @@ -14,8 +14,8 @@ apiVersion: v2 name: kubernetes-dashboard -version: 5.5.2 -appVersion: 2.5.1 +version: 5.6.0 +appVersion: 2.6.0 description: General-purpose web UI for Kubernetes clusters keywords: - kubernetes diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml index 9ce87742b5a8..04efddd8b7b0 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/templates/servicemonitor.yaml @@ -23,10 +23,16 @@ metadata: {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} {{- end }} + {{- if .Values.serviceMonitor.labels }} + {{- include "common.tplvalues.render" ( dict "value" .Values.serviceMonitor.labels "context" $ ) | nindent 4 }} + {{- end }} annotations: {{- if .Values.commonAnnotations }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} + {{- if .Values.serviceMonitor.annotations }} + {{- include "common.tplvalues.render" ( dict "value" .Values.serviceMonitor.annotations "context" $ ) | nindent 4 }} + {{- end }} spec: endpoints: {{- if .Values.protocolHttp }} diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml index e6ee1db77481..146d59e53b52 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml @@ -345,3 +345,7 @@ podSecurityPolicy: serviceMonitor: # Whether or not to create a Prometheus Operator service monitor. enabled: false + ## Here labels can be added to the serviceMonitor + labels: {} + ## Here annotations can be added to the serviceMonitor + annotations: {} From 3821b4e531faa7c42a316df42e26ec449243ee0b Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 13:30:23 +0200 Subject: [PATCH 084/162] Update Helm chart (#7167) --- aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml | 2 +- aio/deploy/helm-chart/kubernetes-dashboard/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml index ad01aac8acbf..96115165db89 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/Chart.yaml @@ -14,7 +14,7 @@ apiVersion: v2 name: kubernetes-dashboard -version: 5.6.0 +version: 5.7.0 appVersion: 2.6.0 description: General-purpose web UI for Kubernetes clusters keywords: diff --git a/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml b/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml index 146d59e53b52..a4a8ca398b9b 100644 --- a/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml +++ b/aio/deploy/helm-chart/kubernetes-dashboard/values.yaml @@ -20,7 +20,7 @@ image: ## Repository for container repository: kubernetesui/dashboard - tag: v2.5.1 + tag: v2.6.0 pullPolicy: IfNotPresent pullSecrets: [] From 7c48623017b58d4cc598b852350bd12ee07a9108 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 14:02:52 +0200 Subject: [PATCH 085/162] Updates after merge --- modules/api/go.mod | 5 +- modules/api/go.sum | 9 +- modules/certificates/go.sum | 4 + modules/go.work.sum | 4 +- modules/tools/go.sum | 1 + modules/web/go.mod | 2 - modules/web/go.sum | 2 + modules/web/package-lock.json | 2609 +++++++++++++++++---------------- modules/web/package.json | 2 +- 9 files changed, 1376 insertions(+), 1262 deletions(-) diff --git a/modules/api/go.mod b/modules/api/go.mod index 0a14c4d6b36b..4c39d0ef2306 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -5,12 +5,11 @@ go 1.18 require ( github.com/docker/distribution v2.8.1+incompatible github.com/emicklei/go-restful/v3 v3.7.4 - github.com/golang/glog v1.0.0 github.com/opencontainers/go-digest v1.0.0 // indirect github.com/prometheus/client_golang v1.12.2 github.com/spf13/pflag v1.0.5 golang.org/x/net v0.0.0-20220526153639-5463443f8c37 - golang.org/x/text v0.3.7 + golang.org/x/text v0.3.7 // indirect gopkg.in/igm/sockjs-go.v2 v2.1.0 gopkg.in/square/go-jose.v2 v2.6.0 gopkg.in/yaml.v2 v2.4.0 @@ -35,7 +34,7 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/gnostic v0.6.9 // indirect - github.com/google/go-cmp v0.5.5 // indirect + github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/imdario/mergo v0.3.13 // indirect diff --git a/modules/api/go.sum b/modules/api/go.sum index 90eccf61804e..80db6f1fb0f3 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -78,7 +78,6 @@ github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx2 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= @@ -179,7 +178,6 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= 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= @@ -230,8 +228,9 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -454,8 +453,8 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -784,8 +783,8 @@ golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= diff --git a/modules/certificates/go.sum b/modules/certificates/go.sum index faf6b2c28e3d..cb9f862c3414 100644 --- a/modules/certificates/go.sum +++ b/modules/certificates/go.sum @@ -49,6 +49,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -104,6 +105,7 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -131,6 +133,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -176,6 +179,7 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= diff --git a/modules/go.work.sum b/modules/go.work.sum index ac8d8a2fae1f..096c4c3d2476 100644 --- a/modules/go.work.sum +++ b/modules/go.work.sum @@ -1,3 +1,3 @@ -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= diff --git a/modules/tools/go.sum b/modules/tools/go.sum index fcf4999f2ded..3c43944dc70e 100644 --- a/modules/tools/go.sum +++ b/modules/tools/go.sum @@ -565,6 +565,7 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= diff --git a/modules/web/go.mod b/modules/web/go.mod index 8655bae7b50b..94221c27f7c8 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -17,9 +17,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/stretchr/testify v1.7.1 // indirect golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect - golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/api v0.23.6 // indirect diff --git a/modules/web/go.sum b/modules/web/go.sum index b1d8d1201549..1198a6f22ff3 100644 --- a/modules/web/go.sum +++ b/modules/web/go.sum @@ -51,6 +51,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -133,6 +134,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index 52f9febb9f18..6d4c7a508945 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -89,7 +89,7 @@ "lodash": "4.17.21", "minimatch": "5.1.0", "minimist": "1.2.6", - "ngx-i18nsupport": "0.17.1", + "ng-extract-i18n-merge": "1.4.0", "node-gyp": "9.0.0", "q": "1.5.1", "raw-loader": "4.0.2", @@ -112,8 +112,8 @@ "webpack-dev-server": "4.8.1" }, "engines": { - "node": ">=16.14.2", - "npm": ">=8.5.0" + "node": ">=16.15.0", + "npm": ">=8.5.5" } }, "node_modules/@ampproject/remapping": { @@ -3059,9 +3059,9 @@ } }, "node_modules/@csstools/selector-specificity": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz", - "integrity": "sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.0.tgz", + "integrity": "sha512-rZ6vufeY/UjAgtyiJ4WvfF6XP6HizIyOfbZOg0RnecIwjrvH8Am3nN1BpKnnPZunYAkUcPPXDhwbxOtGop8cfQ==", "dev": true, "engines": { "node": "^12 || ^14 || >=16" @@ -3357,16 +3357,16 @@ } }, "node_modules/@jest/console": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.0.tgz", - "integrity": "sha512-tscn3dlJFGay47kb4qVruQg/XWlmvU0xp3EJOjzzY+sBaI+YgwKcvAmTcyYU7xEiLLIY5HCdWRooAL8dqkFlDA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz", + "integrity": "sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.0", - "jest-util": "^28.1.0", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1", "slash": "^3.0.0" }, "engines": { @@ -3444,16 +3444,16 @@ } }, "node_modules/@jest/core": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.0.tgz", - "integrity": "sha512-/2PTt0ywhjZ4NwNO4bUqD9IVJfmFVhVKGlhvSpmEfUCuxYf/3NHcKmRFI+I71lYzbTT3wMuYpETDCTHo81gC/g==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz", + "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", "dev": true, "dependencies": { - "@jest/console": "^28.1.0", - "@jest/reporters": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/reporters": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -3461,20 +3461,20 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^28.0.2", - "jest-config": "^28.1.0", - "jest-haste-map": "^28.1.0", - "jest-message-util": "^28.1.0", + "jest-config": "^28.1.1", + "jest-haste-map": "^28.1.1", + "jest-message-util": "^28.1.1", "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.0", - "jest-resolve-dependencies": "^28.1.0", - "jest-runner": "^28.1.0", - "jest-runtime": "^28.1.0", - "jest-snapshot": "^28.1.0", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", - "jest-watcher": "^28.1.0", + "jest-resolve": "^28.1.1", + "jest-resolve-dependencies": "^28.1.1", + "jest-runner": "^28.1.1", + "jest-runtime": "^28.1.1", + "jest-snapshot": "^28.1.1", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", + "jest-watcher": "^28.1.1", "micromatch": "^4.0.4", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" @@ -3550,9 +3550,9 @@ } }, "node_modules/@jest/core/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -3595,37 +3595,37 @@ } }, "node_modules/@jest/environment": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.0.tgz", - "integrity": "sha512-S44WGSxkRngzHslhV6RoAExekfF7Qhwa6R5+IYFa81mpcj0YgdBnRSmvHe3SNwOt64yXaE5GG8Y2xM28ii5ssA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz", + "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/fake-timers": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", - "jest-mock": "^28.1.0" + "jest-mock": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/expect": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.0.tgz", - "integrity": "sha512-be9ETznPLaHOmeJqzYNIXv1ADEzENuQonIoobzThOYPuK/6GhrWNIJDVTgBLCrz3Am73PyEU2urQClZp0hLTtA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz", + "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", "dev": true, "dependencies": { - "expect": "^28.1.0", - "jest-snapshot": "^28.1.0" + "expect": "^28.1.1", + "jest-snapshot": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.0.tgz", - "integrity": "sha512-5BrG48dpC0sB80wpeIX5FU6kolDJI4K0n5BM9a5V38MGx0pyRvUBSS0u2aNTdDzmOrCjhOg8pGs6a20ivYkdmw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz", + "integrity": "sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==", "dev": true, "dependencies": { "jest-get-type": "^28.0.2" @@ -3635,47 +3635,47 @@ } }, "node_modules/@jest/fake-timers": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.0.tgz", - "integrity": "sha512-Xqsf/6VLeAAq78+GNPzI7FZQRf5cCHj1qgQxCjws9n8rKw8r1UYoeaALwBvyuzOkpU3c1I6emeMySPa96rxtIg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz", + "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@sinonjs/fake-timers": "^9.1.1", "@types/node": "*", - "jest-message-util": "^28.1.0", - "jest-mock": "^28.1.0", - "jest-util": "^28.1.0" + "jest-message-util": "^28.1.1", + "jest-mock": "^28.1.1", + "jest-util": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/globals": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.0.tgz", - "integrity": "sha512-3m7sTg52OTQR6dPhsEQSxAvU+LOBbMivZBwOvKEZ+Rb+GyxVnXi9HKgOTYkx/S99T8yvh17U4tNNJPIEQmtwYw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz", + "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.0", - "@jest/expect": "^28.1.0", - "@jest/types": "^28.1.0" + "@jest/environment": "^28.1.1", + "@jest/expect": "^28.1.1", + "@jest/types": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/@jest/reporters": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.0.tgz", - "integrity": "sha512-qxbFfqap/5QlSpIizH9c/bFCDKsQlM4uAKSOvZrP+nIdrjqre3FmKzpTtYyhsaVcOSNK7TTt2kjm+4BJIjysFA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz", + "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@jridgewell/trace-mapping": "^0.3.7", "@types/node": "*", "chalk": "^4.0.0", @@ -3688,8 +3688,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-util": "^28.1.0", - "jest-worker": "^28.1.0", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1", + "jest-worker": "^28.1.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -3805,13 +3806,13 @@ } }, "node_modules/@jest/test-result": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.0.tgz", - "integrity": "sha512-sBBFIyoPzrZho3N+80P35A5oAkSKlGfsEFfXFWuPGBsW40UAjCkGakZhn4UQK4iQlW2vgCDMRDOob9FGKV8YoQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz", + "integrity": "sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==", "dev": true, "dependencies": { - "@jest/console": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/types": "^28.1.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -3820,14 +3821,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.0.tgz", - "integrity": "sha512-tZCEiVWlWNTs/2iK9yi6o3AlMfbbYgV4uuZInSVdzZ7ftpHZhCMuhvk2HLYhCZzLgPFQ9MnM1YaxMnh3TILFiQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz", + "integrity": "sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.0", + "@jest/test-result": "^28.1.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", + "jest-haste-map": "^28.1.1", "slash": "^3.0.0" }, "engines": { @@ -3835,22 +3836,22 @@ } }, "node_modules/@jest/transform": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.0.tgz", - "integrity": "sha512-omy2xe5WxlAfqmsTjTPxw+iXRTRnf+NtX0ToG+4S0tABeb4KsKmPUHq5UBuwunHg3tJRwgEQhEp0M/8oiatLEA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz", + "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@jridgewell/trace-mapping": "^0.3.7", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", + "jest-haste-map": "^28.1.1", "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.0", + "jest-util": "^28.1.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -3944,9 +3945,9 @@ } }, "node_modules/@jest/types": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.0.tgz", - "integrity": "sha512-xmEggMPr317MIOjjDoZ4ejCSr9Lpbt/u34+dvc99t7DS8YirW5rwZEhzKPC2BMUFkUhI48qs6qLUSGw5FuL0GA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", + "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -4302,6 +4303,20 @@ "node": ">= 10.12.0" } }, + "node_modules/@npmcli/run-script/node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/@schematics/angular": { "version": "13.3.7", "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.7.tgz", @@ -5083,12 +5098,6 @@ "@types/node": "*" } }, - "node_modules/@types/xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/@types/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-bVy7s0nvaR5D1mT1a8ZkByHWNOGb6Vn4yi5TWhEdmyKlAG+08SA7Md6+jH+tYmMLueAwNeWvHHpeKrr6S4c4BA==", - "dev": true - }, "node_modules/@types/yargs": { "version": "17.0.10", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", @@ -5165,12 +5174,12 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.0.tgz", - "integrity": "sha512-ZOn342bYh19IYvkiorrqnzNoRAr91h3GiFSSfa4tlHV+R9GgR8SxCwAi8PKMyT8+pfwMxfQdNbwKsMurbF9hzg==", + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.1.tgz", + "integrity": "sha512-Vd8uewIixGP93sEnmTRIH6jHZYRQRkGPDPpapACMvitJKX8335VHNyqKTE+mZ+m3E2c5VznTZfSsSsS5IF7vUA==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.27.0" + "@typescript-eslint/utils": "5.27.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5183,6 +5192,121 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz", + "integrity": "sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/visitor-keys": "5.27.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.1.tgz", + "integrity": "sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz", + "integrity": "sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/visitor-keys": "5.27.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.1.tgz", + "integrity": "sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.27.1", + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/typescript-estree": "5.27.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz", + "integrity": "sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/parser": { "version": "5.27.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", @@ -5962,9 +6086,9 @@ } }, "node_modules/async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true }, "node_modules/asynckit": { @@ -6061,15 +6185,15 @@ } }, "node_modules/babel-jest": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.0.tgz", - "integrity": "sha512-zNKk0yhDZ6QUwfxh9k07GII6siNGMJWVUU49gmFj5gfdqDKLqa2RArXOF2CODp4Dr7dLxN2cvAV+667dGJ4b4w==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz", + "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", "dev": true, "dependencies": { - "@jest/transform": "^28.1.0", + "@jest/transform": "^28.1.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.0.2", + "babel-preset-jest": "^28.1.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -6263,9 +6387,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.0.2.tgz", - "integrity": "sha512-Kizhn/ZL+68ZQHxSnHyuvJv8IchXD62KQxV77TBDV/xoBFBOfgRAk97GNs6hXdTTCiVES9nB2I6+7MXXrk5llQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz", + "integrity": "sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -6349,12 +6473,12 @@ } }, "node_modules/babel-preset-jest": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz", - "integrity": "sha512-sYzXIdgIXXroJTFeB3S6sNDWtlJ2dllCdTEsnZ65ACrMojj3hVNFRmnJ1HZtomGi+Be7aqpY/HJ92fr8OhKVkQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz", + "integrity": "sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^28.0.2", + "babel-plugin-jest-hoist": "^28.1.1", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { @@ -6542,15 +6666,15 @@ } }, "node_modules/bonjour-service": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", - "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", + "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", "dev": true, "dependencies": { "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.4" + "multicast-dns": "^7.2.5" } }, "node_modules/bonjour/node_modules/dns-packet": { @@ -6725,9 +6849,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.20.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", - "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "version": "4.20.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", + "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", "funding": [ { "type": "opencollective", @@ -6739,10 +6863,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001332", - "electron-to-chromium": "^1.4.118", + "caniuse-lite": "^1.0.30001349", + "electron-to-chromium": "^1.4.147", "escalade": "^3.1.1", - "node-releases": "^2.0.3", + "node-releases": "^2.0.5", "picocolors": "^1.0.0" }, "bin": { @@ -6975,9 +7099,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001344", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", - "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==", + "version": "1.0.30001350", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001350.tgz", + "integrity": "sha512-NZBql38Pzd+rAu5SPXv+qmTWGQuFsRiemHCJCAPvkoDxWV19/xqL2YHF32fDJ9SDLdLqfax8+S0CO3ncDCp9Iw==", "funding": [ { "type": "opencollective", @@ -7414,9 +7538,9 @@ "dev": true }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", + "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==", "dev": true }, "node_modules/colors": { @@ -7892,9 +8016,9 @@ } }, "node_modules/core-js-compat": { - "version": "3.22.7", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.7.tgz", - "integrity": "sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA==", + "version": "3.22.8", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.8.tgz", + "integrity": "sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg==", "dev": true, "dependencies": { "browserslist": "^4.20.3", @@ -8093,9 +8217,9 @@ } }, "node_modules/css-functions-list": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz", - "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", "dev": true, "engines": { "node": ">=12.22" @@ -8178,7 +8302,7 @@ "node_modules/css-rule-stream/node_modules/readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -8242,7 +8366,7 @@ "node_modules/css-tokenize/node_modules/readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -8472,9 +8596,9 @@ } }, "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", - "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==", + "version": "14.18.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz", + "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==", "dev": true }, "node_modules/cypress/node_modules/ansi-styles": { @@ -8913,9 +9037,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", - "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", + "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==", "dev": true }, "node_modules/debug": { @@ -9439,7 +9563,7 @@ "node_modules/duplexer2/node_modules/readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -9534,9 +9658,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.142", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.142.tgz", - "integrity": "sha512-ea8Q1YX0JRp4GylOmX4gFHIizi0j9GfRW4EkaHnkZp0agRCBB4ZGeCv17IEzIvBkiYVwfoKVhKZJbTfqCRdQdg==" + "version": "1.4.148", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.148.tgz", + "integrity": "sha512-8MJk1bcQUAYkuvCyWZxaldiwoDG0E0AMzBGA6cv3WfuvJySiPgfidEPBFCRRH3cZm6SVZwo/oRlK1ehi1QNEIQ==" }, "node_modules/emittery": { "version": "0.10.2", @@ -10128,7 +10252,7 @@ "node_modules/escodegen/node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -10819,16 +10943,16 @@ } }, "node_modules/expect": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.0.tgz", - "integrity": "sha512-qFXKl8Pmxk8TBGfaFKRtcQjfXEnKAs+dmlxdwvukJZorwrAabT7M3h8oLOG01I2utEhkmUTi17CHaPBovZsKdw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz", + "integrity": "sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==", "dev": true, "dependencies": { - "@jest/expect-utils": "^28.1.0", + "@jest/expect-utils": "^28.1.1", "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-util": "^28.1.0" + "jest-matcher-utils": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -10884,9 +11008,9 @@ "dev": true }, "node_modules/expect/node_modules/diff-sequences": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", - "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -10902,39 +11026,39 @@ } }, "node_modules/expect/node_modules/jest-diff": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", - "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", + "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^28.0.2", + "diff-sequences": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/expect/node_modules/jest-matcher-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", - "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", + "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/expect/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -12523,51 +12647,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/har-validator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/har-validator/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -12668,15 +12747,6 @@ "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -13940,27 +14010,27 @@ } }, "node_modules/jest-circus": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.0.tgz", - "integrity": "sha512-rNYfqfLC0L0zQKRKsg4n4J+W1A2fbyGH7Ss/kDIocp9KXD9iaL111glsLu7+Z7FHuZxwzInMDXq+N1ZIBkI/TQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz", + "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.0", - "@jest/expect": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/expect": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.0", - "jest-matcher-utils": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-runtime": "^28.1.0", - "jest-snapshot": "^28.1.0", - "jest-util": "^28.1.0", - "pretty-format": "^28.1.0", + "jest-each": "^28.1.1", + "jest-matcher-utils": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-runtime": "^28.1.1", + "jest-snapshot": "^28.1.1", + "jest-util": "^28.1.1", + "pretty-format": "^28.1.1", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" @@ -14019,9 +14089,9 @@ "dev": true }, "node_modules/jest-circus/node_modules/diff-sequences": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", - "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -14037,39 +14107,39 @@ } }, "node_modules/jest-circus/node_modules/jest-diff": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", - "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", + "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^28.0.2", + "diff-sequences": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", - "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", + "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-circus/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -14112,21 +14182,21 @@ } }, "node_modules/jest-cli": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.0.tgz", - "integrity": "sha512-fDJRt6WPRriHrBsvvgb93OxgajHHsJbk4jZxiPqmZbMDRcHskfJBBfTyjFko0jjfprP544hOktdSi9HVgl4VUQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz", + "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", "dev": true, "dependencies": { - "@jest/core": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/core": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/types": "^28.1.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.0", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", + "jest-config": "^28.1.1", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -14216,31 +14286,31 @@ } }, "node_modules/jest-config": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.0.tgz", - "integrity": "sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz", + "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.0", - "@jest/types": "^28.1.0", - "babel-jest": "^28.1.0", + "@jest/test-sequencer": "^28.1.1", + "@jest/types": "^28.1.1", + "babel-jest": "^28.1.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.0", - "jest-environment-node": "^28.1.0", + "jest-circus": "^28.1.1", + "jest-environment-node": "^28.1.1", "jest-get-type": "^28.0.2", "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.0", - "jest-runner": "^28.1.0", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", + "jest-resolve": "^28.1.1", + "jest-runner": "^28.1.1", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -14319,9 +14389,9 @@ } }, "node_modules/jest-config/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -14458,9 +14528,9 @@ } }, "node_modules/jest-docblock": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.0.2.tgz", - "integrity": "sha512-FH10WWw5NxLoeSdQlJwu+MTiv60aXV/t8KEwIRGEv74WARE1cXIqh1vGdy2CraHuWOOrnzTWj/azQKqW4fO7xg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", + "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" @@ -14470,16 +14540,16 @@ } }, "node_modules/jest-each": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.0.tgz", - "integrity": "sha512-a/XX02xF5NTspceMpHujmOexvJ4GftpYXqr6HhhmKmExtMXsyIN/fvanQlt/BcgFoRKN4OCXxLQKth9/n6OPFg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz", + "integrity": "sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "chalk": "^4.0.0", "jest-get-type": "^28.0.2", - "jest-util": "^28.1.0", - "pretty-format": "^28.1.0" + "jest-util": "^28.1.1", + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -14544,9 +14614,9 @@ } }, "node_modules/jest-each/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -14589,18 +14659,18 @@ } }, "node_modules/jest-environment-jsdom": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.0.tgz", - "integrity": "sha512-8n6P4xiDjNVqTWv6W6vJPuQdLx+ZiA3dbYg7YJ+DPzR+9B61K6pMVJrSs2IxfGRG4J7pyAUA5shQ9G0KEun78w==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.1.tgz", + "integrity": "sha512-41ZvgSoPNcKG5q3LuuOcAczdBxRq9DbZkPe24okN6ZCmiZdAfFtPg3z+lOtsT1fM6OAERApKT+3m0MRDQH2zIA==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.0", - "@jest/fake-timers": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/fake-timers": "^28.1.1", + "@jest/types": "^28.1.1", "@types/jsdom": "^16.2.4", "@types/node": "*", - "jest-mock": "^28.1.0", - "jest-util": "^28.1.0", + "jest-mock": "^28.1.1", + "jest-util": "^28.1.1", "jsdom": "^19.0.0" }, "engines": { @@ -14608,17 +14678,17 @@ } }, "node_modules/jest-environment-node": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.0.tgz", - "integrity": "sha512-gBLZNiyrPw9CSMlTXF1yJhaBgWDPVvH0Pq6bOEwGMXaYNzhzhw2kA/OijNF8egbCgDS0/veRv97249x2CX+udQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz", + "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.0", - "@jest/fake-timers": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/fake-timers": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", - "jest-mock": "^28.1.0", - "jest-util": "^28.1.0" + "jest-mock": "^28.1.1", + "jest-util": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -14634,22 +14704,22 @@ } }, "node_modules/jest-haste-map": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.0.tgz", - "integrity": "sha512-xyZ9sXV8PtKi6NCrJlmq53PyNVHzxmcfXNVvIRHpHmh1j/HChC4pwKgyjj7Z9us19JMw8PpQTJsFWOsIfT93Dw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz", + "integrity": "sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.0", - "jest-worker": "^28.1.0", + "jest-util": "^28.1.1", + "jest-worker": "^28.1.1", "micromatch": "^4.0.4", - "walker": "^1.0.7" + "walker": "^1.0.8" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -14659,13 +14729,13 @@ } }, "node_modules/jest-leak-detector": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.0.tgz", - "integrity": "sha512-uIJDQbxwEL2AMMs2xjhZl2hw8s77c3wrPaQ9v6tXJLGaaQ+4QrNJH5vuw7hA7w/uGT/iJ42a83opAqxGHeyRIA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz", + "integrity": "sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==", "dev": true, "dependencies": { "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -14684,9 +14754,9 @@ } }, "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -14799,18 +14869,18 @@ } }, "node_modules/jest-message-util": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.0.tgz", - "integrity": "sha512-RpA8mpaJ/B2HphDMiDlrAZdDytkmwFqgjDZovM21F35lHGeUeCvYmm6W+sbQ0ydaLpg5bFAUuWG1cjqOl8vqrw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz", + "integrity": "sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -14877,9 +14947,9 @@ } }, "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -14922,12 +14992,12 @@ } }, "node_modules/jest-mock": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.0.tgz", - "integrity": "sha512-H7BrhggNn77WhdL7O1apG0Q/iwl0Bdd5E1ydhCJzL3oBLh/UYxAwR3EJLsBZ9XA3ZU4PA3UNw4tQjduBTCTmLw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz", + "integrity": "sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/node": "*" }, "engines": { @@ -14991,9 +15061,9 @@ } }, "node_modules/jest-preset-angular/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -15021,17 +15091,17 @@ } }, "node_modules/jest-resolve": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.0.tgz", - "integrity": "sha512-vvfN7+tPNnnhDvISuzD1P+CRVP8cK0FHXRwPAcdDaQv4zgvwvag2n55/h5VjYcM5UJG7L4TwE5tZlzcI0X2Lhw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz", + "integrity": "sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", + "jest-haste-map": "^28.1.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -15041,13 +15111,13 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.0.tgz", - "integrity": "sha512-Ue1VYoSZquPwEvng7Uefw8RmZR+me/1kr30H2jMINjGeHgeO/JgrR6wxj2ofkJ7KSAA11W3cOrhNCbj5Dqqd9g==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", + "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", "dev": true, "dependencies": { "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.0" + "jest-snapshot": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -15124,30 +15194,30 @@ } }, "node_modules/jest-runner": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.0.tgz", - "integrity": "sha512-FBpmuh1HB2dsLklAlRdOxNTTHKFR6G1Qmd80pVDvwbZXTriqjWqjei5DKFC1UlM732KjYcE6yuCdiF0WUCOS2w==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz", + "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", "dev": true, "dependencies": { - "@jest/console": "^28.1.0", - "@jest/environment": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/environment": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.0.2", - "jest-environment-node": "^28.1.0", - "jest-haste-map": "^28.1.0", - "jest-leak-detector": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-resolve": "^28.1.0", - "jest-runtime": "^28.1.0", - "jest-util": "^28.1.0", - "jest-watcher": "^28.1.0", - "jest-worker": "^28.1.0", + "jest-docblock": "^28.1.1", + "jest-environment-node": "^28.1.1", + "jest-haste-map": "^28.1.1", + "jest-leak-detector": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-resolve": "^28.1.1", + "jest-runtime": "^28.1.1", + "jest-util": "^28.1.1", + "jest-watcher": "^28.1.1", + "jest-worker": "^28.1.1", "source-map-support": "0.5.13", "throat": "^6.0.1" }, @@ -15245,31 +15315,31 @@ } }, "node_modules/jest-runtime": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.0.tgz", - "integrity": "sha512-wNYDiwhdH/TV3agaIyVF0lsJ33MhyujOe+lNTUiolqKt8pchy1Hq4+tDMGbtD5P/oNLA3zYrpx73T9dMTOCAcg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz", + "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.0", - "@jest/fake-timers": "^28.1.0", - "@jest/globals": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/fake-timers": "^28.1.1", + "@jest/globals": "^28.1.1", "@jest/source-map": "^28.0.2", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-mock": "^28.1.0", + "jest-haste-map": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-mock": "^28.1.1", "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.0", - "jest-snapshot": "^28.1.0", - "jest-util": "^28.1.0", + "jest-resolve": "^28.1.1", + "jest-snapshot": "^28.1.1", + "jest-util": "^28.1.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -15392,9 +15462,9 @@ } }, "node_modules/jest-snapshot": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.0.tgz", - "integrity": "sha512-ex49M2ZrZsUyQLpLGxQtDbahvgBjlLPgklkqGM0hq/F7W/f8DyqZxVHjdy19QKBm4O93eDp+H5S23EiTbbUmHw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz", + "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", @@ -15402,23 +15472,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/expect-utils": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^28.1.0", + "expect": "^28.1.1", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.0", - "jest-matcher-utils": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-util": "^28.1.0", + "jest-haste-map": "^28.1.1", + "jest-matcher-utils": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "semver": "^7.3.5" }, "engines": { @@ -15475,9 +15545,9 @@ "dev": true }, "node_modules/jest-snapshot/node_modules/diff-sequences": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", - "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -15493,39 +15563,39 @@ } }, "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", - "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", + "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^28.0.2", + "diff-sequences": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", - "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", + "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -15568,12 +15638,12 @@ } }, "node_modules/jest-util": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.0.tgz", - "integrity": "sha512-qYdCKD77k4Hwkose2YBEqQk7PzUf/NSE+rutzceduFveQREeH6b+89Dc9+wjX9dAwHcgdx4yedGA3FQlU/qCTA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz", + "integrity": "sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -15655,17 +15725,17 @@ } }, "node_modules/jest-validate": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.0.tgz", - "integrity": "sha512-Lly7CJYih3vQBfjLeANGgBSBJ7pEa18cxpQfQEq2go2xyEzehnHfQTjoUia8xUv4x4J80XKFIDwJJThXtRFQXQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz", + "integrity": "sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==", "dev": true, "dependencies": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^28.0.2", "leven": "^3.1.0", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -15742,9 +15812,9 @@ } }, "node_modules/jest-validate/node_modules/pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "dependencies": { "@jest/schemas": "^28.0.2", @@ -15787,18 +15857,18 @@ } }, "node_modules/jest-watcher": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.0.tgz", - "integrity": "sha512-tNHMtfLE8Njcr2IRS+5rXYA4BhU90gAOwI9frTGOqd+jX0P/Au/JfRSNqsf5nUTcWdbVYuLxS1KjnzILSoR5hA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz", + "integrity": "sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/test-result": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^28.1.0", + "jest-util": "^28.1.1", "string-length": "^4.0.1" }, "engines": { @@ -15876,9 +15946,9 @@ } }, "node_modules/jest-worker": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.0.tgz", - "integrity": "sha512-ZHwM6mNwaWBR52Snff8ZvsCTqQsvhCxP/bT1I6T6DAnb6ygkshsyLQIMxFwHpYxht0HOoqt23JlC01viI7T03A==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", + "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -15945,6 +16015,15 @@ "node": ">=10" } }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -16252,7 +16331,7 @@ "node_modules/ldjson-stream/node_modules/readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -16497,7 +16576,7 @@ "node_modules/license-check-and-add/node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "engines": { "node": ">=4" @@ -17239,9 +17318,9 @@ "dev": true }, "node_modules/make-fetch-happen": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.6.tgz", - "integrity": "sha512-/iKDlRQF0fkxyB/w/duW2yRYrGwBcbJjC37ijgi0CmOZ32bzMc86BCSSAHWvuyRFCB408iBPziTSzazBSrKo3w==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz", + "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", @@ -17258,7 +17337,7 @@ "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.1.1", + "socks-proxy-agent": "^7.0.0", "ssri": "^9.0.0" }, "engines": { @@ -17292,9 +17371,9 @@ } }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.0.tgz", - "integrity": "sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", + "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", "dev": true, "dependencies": { "@npmcli/fs": "^2.1.0", @@ -17905,66 +17984,80 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/ng-in-viewport": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", - "integrity": "sha512-RLOiT5AY8ypFuNCdif1aGG5Fx2INoG2+1b+CGJLhk0lPMLFyCVhmnma3Mq4M7TnwO+plNmqAfbu60usZF2zZ3g==", + "node_modules/ng-extract-i18n-merge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-1.4.0.tgz", + "integrity": "sha512-Nj2Q4rycroY9E7BB99rAMbn3fSAZVwiUO5ssUVHfQPps5ysfwQ7zv/4aqNbH2Sy45tZqGjbBkiaaAh2TiD1Mcw==", + "dev": true, "dependencies": { - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@angular/common": ">=12.0.0", - "@angular/core": ">=12.0.0", - "rxjs": ">=6.5.3" + "@angular-devkit/architect": "^0.1301.0", + "@angular-devkit/core": "^13.0.0", + "@angular-devkit/schematics": "^13.0.0", + "@schematics/angular": "^13.0.0", + "xliff-simple-merge": "~0.12.0", + "xml_normalize": "~0.8.3", + "xmldoc": "~1.1.2" } }, - "node_modules/ngx-cookie-service": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", - "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", + "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/architect": { + "version": "0.1301.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz", + "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==", + "dev": true, "dependencies": { - "tslib": "^2.0.0" + "@angular-devkit/core": "13.1.4", + "rxjs": "6.6.7" }, - "peerDependencies": { - "@angular/common": "^13.0.0", - "@angular/core": "^13.0.0" + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/ngx-i18nsupport": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport/-/ngx-i18nsupport-0.17.1.tgz", - "integrity": "sha512-d8OCQs/XYBEI9qvztQyEkd8gEPFEBmyRg8UcriGQV8Ew1ujvrIieHxmX8YpDpFZKQ4ePextQGUSvjpGd2NauEQ==", + "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/core": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz", + "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==", "dev": true, "dependencies": { - "chalk": "^2.4.1", - "commander": "^2.15.1", - "he": "^1.1.1", - "ngx-i18nsupport-lib": "^1.10.2", - "request": "^2.85.0", - "rxjs": "^6.0.0" - }, - "bin": { - "xliffmerge": "dist/xliffmerge/xliffmerge" + "ajv": "8.8.2", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" }, "engines": { - "node": ">=6.9" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "node_modules/ngx-i18nsupport-lib": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport-lib/-/ngx-i18nsupport-lib-1.10.2.tgz", - "integrity": "sha512-Z81I2/HUtZ/7X7C3sioJj/Zr/M0iQs0aR5EhYsrWTzdEy7fZWFVYabzzZs+8h6lhQ/4yIl+3sVOCBkI9BiUUEQ==", + "node_modules/ng-extract-i18n-merge/node_modules/ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "dependencies": { - "@types/xmldom": "^0.1.29", - "tokenizr": "^1.3.4", - "xmldom": "^0.1.27" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=6.9" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ngx-i18nsupport/node_modules/rxjs": { + "node_modules/ng-extract-i18n-merge/node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", @@ -17976,12 +18069,37 @@ "npm": ">=2.0.0" } }, - "node_modules/ngx-i18nsupport/node_modules/tslib": { + "node_modules/ng-extract-i18n-merge/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/ng-in-viewport": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", + "integrity": "sha512-RLOiT5AY8ypFuNCdif1aGG5Fx2INoG2+1b+CGJLhk0lPMLFyCVhmnma3Mq4M7TnwO+plNmqAfbu60usZF2zZ3g==", + "dependencies": { + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "rxjs": ">=6.5.3" + } + }, + "node_modules/ngx-cookie-service": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", + "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "^13.0.0", + "@angular/core": "^13.0.0" + } + }, "node_modules/ngx-pipes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ngx-pipes/-/ngx-pipes-3.0.0.tgz", @@ -18063,7 +18181,7 @@ "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node_modules/node-releases": { @@ -18111,7 +18229,7 @@ "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -18281,15 +18399,6 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/object-inspect": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", @@ -18372,7 +18481,7 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } @@ -18522,7 +18631,7 @@ "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, "engines": { "node": ">=0.10.0" @@ -18531,7 +18640,7 @@ "node_modules/ospath": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", "dev": true }, "node_modules/p-cancelable": { @@ -18791,7 +18900,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } @@ -18814,7 +18923,7 @@ "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "node_modules/path-type": { @@ -18829,13 +18938,13 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, "node_modules/picocolors": { @@ -18869,7 +18978,7 @@ "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "engines": { "node": ">=0.10.0" @@ -18950,7 +19059,7 @@ "node_modules/pkg-dir/node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "engines": { "node": ">=4" @@ -19019,15 +19128,22 @@ } }, "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz", - "integrity": "sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz", + "integrity": "sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.2" + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.0.2" + "postcss": "^8.3" } }, "node_modules/postcss-color-functional-notation": { @@ -19080,15 +19196,22 @@ } }, "node_modules/postcss-custom-media": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz", - "integrity": "sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=10.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.1.0" + "postcss": "^8.3" } }, "node_modules/postcss-custom-properties": { @@ -19111,18 +19234,22 @@ } }, "node_modules/postcss-custom-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz", - "integrity": "sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=10.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.1.2" + "postcss": "^8.3" } }, "node_modules/postcss-dir-pseudo-class": { @@ -19332,7 +19459,7 @@ "node_modules/postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true }, "node_modules/postcss-modules-extract-imports": { @@ -19395,12 +19522,12 @@ } }, "node_modules/postcss-nesting": { - "version": "10.1.7", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.7.tgz", - "integrity": "sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A==", + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.8.tgz", + "integrity": "sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ==", "dev": true, "dependencies": { - "@csstools/selector-specificity": "1.0.0", + "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" }, "engines": { @@ -19528,7 +19655,7 @@ "node_modules/postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", "dev": true }, "node_modules/postcss-safe-parser": { @@ -19615,7 +19742,7 @@ "node_modules/prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", "dev": true, "engines": { "node": ">=4" @@ -19704,7 +19831,7 @@ "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "node_modules/promise-retry": { @@ -19736,7 +19863,7 @@ "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" }, "node_modules/proxy-addr": { "version": "2.0.7", @@ -19763,20 +19890,20 @@ "node_modules/proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", "dev": true }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true, "optional": true }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" }, "node_modules/psl": { "version": "1.8.0", @@ -19818,7 +19945,7 @@ "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true, "engines": { "node": ">=0.6.0", @@ -20032,7 +20159,7 @@ "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, "dependencies": { "pify": "^2.3.0" @@ -20307,91 +20434,19 @@ "jsesc": "bin/jsesc" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", "dev": true, "dependencies": { "throttleit": "^1.0.0" } }, - "node_modules/request/node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/request/node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { "node": ">=0.10.0" } @@ -20423,7 +20478,7 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { "version": "1.22.0", @@ -20514,7 +20569,7 @@ "node_modules/responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", "dev": true, "dependencies": { "lowercase-keys": "^1.0.0" @@ -20536,7 +20591,7 @@ "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, "engines": { "node": ">= 4" @@ -20628,7 +20683,7 @@ "node_modules/rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, "node_modules/rxjs": { "version": "7.5.5", @@ -20866,7 +20921,7 @@ "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, "node_modules/selfsigned": { @@ -20919,7 +20974,7 @@ "node_modules/semver-dsl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", - "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "integrity": "sha512-e8BOaTo007E3dMuQQTnPdalbKTABKNS7UxoBIDnwOqRa+QwMrCPjynB8zAlPF6xlqUfdLPPLIJ13hJNmhtq8Ng==", "dev": true, "dependencies": { "semver": "^5.3.0" @@ -21262,9 +21317,9 @@ } }, "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, "dependencies": { "agent-base": "^6.0.2", @@ -21581,7 +21636,7 @@ "node_modules/split2/node_modules/readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -22329,15 +22384,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.7", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", "terser": "^5.7.2" }, "engines": { @@ -22434,15 +22489,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -22588,12 +22634,6 @@ "node": ">=0.6" } }, - "node_modules/tokenizr": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.6.tgz", - "integrity": "sha512-Q6sZDu52gtuYiwzBOlhLo6cD43JlQfPO+6sry95Ndo1BVQKsqbthzQ82AW00T0dHTLVSNpuKkO31nVNwXgFVBA==", - "dev": true - }, "node_modules/tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -23480,9 +23520,9 @@ } }, "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -23525,9 +23565,9 @@ } }, "node_modules/webpack": { - "version": "5.72.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", - "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", "dev": true, "peer": true, "dependencies": { @@ -24020,6 +24060,51 @@ "node": ">=8" } }, + "node_modules/xliff-simple-merge": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/xliff-simple-merge/-/xliff-simple-merge-0.12.1.tgz", + "integrity": "sha512-D8I1BNoOngEbiHW4s/nIMFzIN1u5n3GUuPeu5cKod5M5kC73vzR8412wWKyYwXuK3dNbx02Y48bt0kXoBi+WMQ==", + "dev": true, + "dependencies": { + "commander": "~8.3.0", + "js-levenshtein": "~1.1.6", + "xmldoc": "~1.1.2" + }, + "bin": { + "xliff-simple-merge": "dist/src/index.js" + } + }, + "node_modules/xliff-simple-merge/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/xml_normalize": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/xml_normalize/-/xml_normalize-0.8.4.tgz", + "integrity": "sha512-I+PiD+W/fS7YOWb4THhQfvkzd1mCuTT3KoRt4PTxiWYbH1RY74w5ewcIas8ja9APC8Ho2izg8VcNnTTN35qM9A==", + "dev": true, + "dependencies": { + "commander": "~7.1.0", + "xmldoc": "~1.1.2" + }, + "bin": { + "xml_normalize": "dist/src/index.js" + } + }, + "node_modules/xml_normalize/node_modules/commander": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/xml-name-validator": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", @@ -24035,14 +24120,13 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "node_modules/xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", - "deprecated": "Deprecated due to CVE-2021-21366 resolved in 0.5.0", + "node_modules/xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", "dev": true, - "engines": { - "node": ">=0.1" + "dependencies": { + "sax": "^1.2.1" } }, "node_modules/xtend": { @@ -26211,9 +26295,9 @@ } }, "@csstools/selector-specificity": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz", - "integrity": "sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.0.tgz", + "integrity": "sha512-rZ6vufeY/UjAgtyiJ4WvfF6XP6HizIyOfbZOg0RnecIwjrvH8Am3nN1BpKnnPZunYAkUcPPXDhwbxOtGop8cfQ==", "dev": true, "requires": {} }, @@ -26458,16 +26542,16 @@ "dev": true }, "@jest/console": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.0.tgz", - "integrity": "sha512-tscn3dlJFGay47kb4qVruQg/XWlmvU0xp3EJOjzzY+sBaI+YgwKcvAmTcyYU7xEiLLIY5HCdWRooAL8dqkFlDA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz", + "integrity": "sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==", "dev": true, "requires": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.0", - "jest-util": "^28.1.0", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1", "slash": "^3.0.0" }, "dependencies": { @@ -26523,16 +26607,16 @@ } }, "@jest/core": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.0.tgz", - "integrity": "sha512-/2PTt0ywhjZ4NwNO4bUqD9IVJfmFVhVKGlhvSpmEfUCuxYf/3NHcKmRFI+I71lYzbTT3wMuYpETDCTHo81gC/g==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz", + "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", "dev": true, "requires": { - "@jest/console": "^28.1.0", - "@jest/reporters": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/reporters": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -26540,20 +26624,20 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^28.0.2", - "jest-config": "^28.1.0", - "jest-haste-map": "^28.1.0", - "jest-message-util": "^28.1.0", + "jest-config": "^28.1.1", + "jest-haste-map": "^28.1.1", + "jest-message-util": "^28.1.1", "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.0", - "jest-resolve-dependencies": "^28.1.0", - "jest-runner": "^28.1.0", - "jest-runtime": "^28.1.0", - "jest-snapshot": "^28.1.0", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", - "jest-watcher": "^28.1.0", + "jest-resolve": "^28.1.1", + "jest-resolve-dependencies": "^28.1.1", + "jest-runner": "^28.1.1", + "jest-runtime": "^28.1.1", + "jest-snapshot": "^28.1.1", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", + "jest-watcher": "^28.1.1", "micromatch": "^4.0.4", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" @@ -26600,9 +26684,9 @@ "dev": true }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -26637,72 +26721,72 @@ } }, "@jest/environment": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.0.tgz", - "integrity": "sha512-S44WGSxkRngzHslhV6RoAExekfF7Qhwa6R5+IYFa81mpcj0YgdBnRSmvHe3SNwOt64yXaE5GG8Y2xM28ii5ssA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz", + "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/fake-timers": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", - "jest-mock": "^28.1.0" + "jest-mock": "^28.1.1" } }, "@jest/expect": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.0.tgz", - "integrity": "sha512-be9ETznPLaHOmeJqzYNIXv1ADEzENuQonIoobzThOYPuK/6GhrWNIJDVTgBLCrz3Am73PyEU2urQClZp0hLTtA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz", + "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", "dev": true, "requires": { - "expect": "^28.1.0", - "jest-snapshot": "^28.1.0" + "expect": "^28.1.1", + "jest-snapshot": "^28.1.1" } }, "@jest/expect-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.0.tgz", - "integrity": "sha512-5BrG48dpC0sB80wpeIX5FU6kolDJI4K0n5BM9a5V38MGx0pyRvUBSS0u2aNTdDzmOrCjhOg8pGs6a20ivYkdmw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz", + "integrity": "sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==", "dev": true, "requires": { "jest-get-type": "^28.0.2" } }, "@jest/fake-timers": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.0.tgz", - "integrity": "sha512-Xqsf/6VLeAAq78+GNPzI7FZQRf5cCHj1qgQxCjws9n8rKw8r1UYoeaALwBvyuzOkpU3c1I6emeMySPa96rxtIg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz", + "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", "dev": true, "requires": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@sinonjs/fake-timers": "^9.1.1", "@types/node": "*", - "jest-message-util": "^28.1.0", - "jest-mock": "^28.1.0", - "jest-util": "^28.1.0" + "jest-message-util": "^28.1.1", + "jest-mock": "^28.1.1", + "jest-util": "^28.1.1" } }, "@jest/globals": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.0.tgz", - "integrity": "sha512-3m7sTg52OTQR6dPhsEQSxAvU+LOBbMivZBwOvKEZ+Rb+GyxVnXi9HKgOTYkx/S99T8yvh17U4tNNJPIEQmtwYw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz", + "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", "dev": true, "requires": { - "@jest/environment": "^28.1.0", - "@jest/expect": "^28.1.0", - "@jest/types": "^28.1.0" + "@jest/environment": "^28.1.1", + "@jest/expect": "^28.1.1", + "@jest/types": "^28.1.1" } }, "@jest/reporters": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.0.tgz", - "integrity": "sha512-qxbFfqap/5QlSpIizH9c/bFCDKsQlM4uAKSOvZrP+nIdrjqre3FmKzpTtYyhsaVcOSNK7TTt2kjm+4BJIjysFA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz", + "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@jridgewell/trace-mapping": "^0.3.7", "@types/node": "*", "chalk": "^4.0.0", @@ -26715,8 +26799,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-util": "^28.1.0", - "jest-worker": "^28.1.0", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1", + "jest-worker": "^28.1.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -26796,46 +26881,46 @@ } }, "@jest/test-result": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.0.tgz", - "integrity": "sha512-sBBFIyoPzrZho3N+80P35A5oAkSKlGfsEFfXFWuPGBsW40UAjCkGakZhn4UQK4iQlW2vgCDMRDOob9FGKV8YoQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz", + "integrity": "sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==", "dev": true, "requires": { - "@jest/console": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/types": "^28.1.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.0.tgz", - "integrity": "sha512-tZCEiVWlWNTs/2iK9yi6o3AlMfbbYgV4uuZInSVdzZ7ftpHZhCMuhvk2HLYhCZzLgPFQ9MnM1YaxMnh3TILFiQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz", + "integrity": "sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==", "dev": true, "requires": { - "@jest/test-result": "^28.1.0", + "@jest/test-result": "^28.1.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", + "jest-haste-map": "^28.1.1", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.0.tgz", - "integrity": "sha512-omy2xe5WxlAfqmsTjTPxw+iXRTRnf+NtX0ToG+4S0tABeb4KsKmPUHq5UBuwunHg3tJRwgEQhEp0M/8oiatLEA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz", + "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@jridgewell/trace-mapping": "^0.3.7", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", + "jest-haste-map": "^28.1.1", "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.0", + "jest-util": "^28.1.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -26904,9 +26989,9 @@ } }, "@jest/types": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.0.tgz", - "integrity": "sha512-xmEggMPr317MIOjjDoZ4ejCSr9Lpbt/u34+dvc99t7DS8YirW5rwZEhzKPC2BMUFkUhI48qs6qLUSGw5FuL0GA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", + "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -27183,6 +27268,17 @@ "tar": "^6.1.2", "which": "^2.0.2" } + }, + "socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } } } }, @@ -27945,12 +28041,6 @@ "@types/node": "*" } }, - "@types/xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/@types/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-bVy7s0nvaR5D1mT1a8ZkByHWNOGb6Vn4yi5TWhEdmyKlAG+08SA7Md6+jH+tYmMLueAwNeWvHHpeKrr6S4c4BA==", - "dev": true - }, "@types/yargs": { "version": "17.0.10", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", @@ -28005,12 +28095,78 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.0.tgz", - "integrity": "sha512-ZOn342bYh19IYvkiorrqnzNoRAr91h3GiFSSfa4tlHV+R9GgR8SxCwAi8PKMyT8+pfwMxfQdNbwKsMurbF9hzg==", + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.1.tgz", + "integrity": "sha512-Vd8uewIixGP93sEnmTRIH6jHZYRQRkGPDPpapACMvitJKX8335VHNyqKTE+mZ+m3E2c5VznTZfSsSsS5IF7vUA==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.27.0" + "@typescript-eslint/utils": "5.27.1" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz", + "integrity": "sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/visitor-keys": "5.27.1" + } + }, + "@typescript-eslint/types": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.1.tgz", + "integrity": "sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz", + "integrity": "sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/visitor-keys": "5.27.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.1.tgz", + "integrity": "sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.27.1", + "@typescript-eslint/types": "5.27.1", + "@typescript-eslint/typescript-estree": "5.27.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz", + "integrity": "sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } } }, "@typescript-eslint/parser": { @@ -28594,9 +28750,9 @@ "dev": true }, "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true }, "asynckit": { @@ -28662,15 +28818,15 @@ } }, "babel-jest": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.0.tgz", - "integrity": "sha512-zNKk0yhDZ6QUwfxh9k07GII6siNGMJWVUU49gmFj5gfdqDKLqa2RArXOF2CODp4Dr7dLxN2cvAV+667dGJ4b4w==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz", + "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", "dev": true, "requires": { - "@jest/transform": "^28.1.0", + "@jest/transform": "^28.1.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.0.2", + "babel-preset-jest": "^28.1.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -28810,9 +28966,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.0.2.tgz", - "integrity": "sha512-Kizhn/ZL+68ZQHxSnHyuvJv8IchXD62KQxV77TBDV/xoBFBOfgRAk97GNs6hXdTTCiVES9nB2I6+7MXXrk5llQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz", + "integrity": "sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -28880,12 +29036,12 @@ } }, "babel-preset-jest": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz", - "integrity": "sha512-sYzXIdgIXXroJTFeB3S6sNDWtlJ2dllCdTEsnZ65ACrMojj3hVNFRmnJ1HZtomGi+Be7aqpY/HJ92fr8OhKVkQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz", + "integrity": "sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^28.0.2", + "babel-plugin-jest-hoist": "^28.1.1", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -29055,15 +29211,15 @@ } }, "bonjour-service": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", - "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", + "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", "dev": true, "requires": { "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.4" + "multicast-dns": "^7.2.5" } }, "boolbase": { @@ -29175,14 +29331,14 @@ "dev": true }, "browserslist": { - "version": "4.20.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", - "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "version": "4.20.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", + "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", "requires": { - "caniuse-lite": "^1.0.30001332", - "electron-to-chromium": "^1.4.118", + "caniuse-lite": "^1.0.30001349", + "electron-to-chromium": "^1.4.147", "escalade": "^3.1.1", - "node-releases": "^2.0.3", + "node-releases": "^2.0.5", "picocolors": "^1.0.0" } }, @@ -29352,9 +29508,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001344", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", - "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==" + "version": "1.0.30001350", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001350.tgz", + "integrity": "sha512-NZBql38Pzd+rAu5SPXv+qmTWGQuFsRiemHCJCAPvkoDxWV19/xqL2YHF32fDJ9SDLdLqfax8+S0CO3ncDCp9Iw==" }, "caseless": { "version": "0.12.0", @@ -29671,9 +29827,9 @@ "dev": true }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", + "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==", "dev": true }, "colors": { @@ -30028,9 +30184,9 @@ "integrity": "sha512-Jt8SReuDKVNZnZEzyEQT5eK6T2RRCXkfTq7Lo09kpm+fHjgGewSbNjV+Wt4yZMhPDdzz2x1ulI5z/w4nxpBseg==" }, "core-js-compat": { - "version": "3.22.7", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.7.tgz", - "integrity": "sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA==", + "version": "3.22.8", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.8.tgz", + "integrity": "sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg==", "dev": true, "requires": { "browserslist": "^4.20.3", @@ -30192,9 +30348,9 @@ } }, "css-functions-list": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz", - "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", "dev": true }, "css-has-pseudo": { @@ -30244,7 +30400,7 @@ "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -30307,7 +30463,7 @@ "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -30425,9 +30581,9 @@ }, "dependencies": { "@types/node": { - "version": "14.18.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", - "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==", + "version": "14.18.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz", + "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==", "dev": true }, "ansi-styles": { @@ -30872,9 +31028,9 @@ "dev": true }, "dayjs": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", - "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", + "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==", "dev": true }, "debug": { @@ -31269,7 +31425,7 @@ "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -31356,9 +31512,9 @@ } }, "electron-to-chromium": { - "version": "1.4.142", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.142.tgz", - "integrity": "sha512-ea8Q1YX0JRp4GylOmX4gFHIizi0j9GfRW4EkaHnkZp0agRCBB4ZGeCv17IEzIvBkiYVwfoKVhKZJbTfqCRdQdg==" + "version": "1.4.148", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.148.tgz", + "integrity": "sha512-8MJk1bcQUAYkuvCyWZxaldiwoDG0E0AMzBGA6cv3WfuvJySiPgfidEPBFCRRH3cZm6SVZwo/oRlK1ehi1QNEIQ==" }, "emittery": { "version": "0.10.2", @@ -31711,7 +31867,7 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true }, "source-map": { @@ -32209,16 +32365,16 @@ "dev": true }, "expect": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.0.tgz", - "integrity": "sha512-qFXKl8Pmxk8TBGfaFKRtcQjfXEnKAs+dmlxdwvukJZorwrAabT7M3h8oLOG01I2utEhkmUTi17CHaPBovZsKdw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz", + "integrity": "sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==", "dev": true, "requires": { - "@jest/expect-utils": "^28.1.0", + "@jest/expect-utils": "^28.1.1", "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-util": "^28.1.0" + "jest-matcher-utils": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1" }, "dependencies": { "ansi-styles": { @@ -32256,9 +32412,9 @@ "dev": true }, "diff-sequences": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", - "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true }, "has-flag": { @@ -32268,33 +32424,33 @@ "dev": true }, "jest-diff": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", - "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", + "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^28.0.2", + "diff-sequences": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" } }, "jest-matcher-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", - "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", + "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" } }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -33481,42 +33637,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -33590,12 +33710,6 @@ "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, "hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -34524,27 +34638,27 @@ } }, "jest-circus": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.0.tgz", - "integrity": "sha512-rNYfqfLC0L0zQKRKsg4n4J+W1A2fbyGH7Ss/kDIocp9KXD9iaL111glsLu7+Z7FHuZxwzInMDXq+N1ZIBkI/TQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz", + "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", "dev": true, "requires": { - "@jest/environment": "^28.1.0", - "@jest/expect": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/expect": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.0", - "jest-matcher-utils": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-runtime": "^28.1.0", - "jest-snapshot": "^28.1.0", - "jest-util": "^28.1.0", - "pretty-format": "^28.1.0", + "jest-each": "^28.1.1", + "jest-matcher-utils": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-runtime": "^28.1.1", + "jest-snapshot": "^28.1.1", + "jest-util": "^28.1.1", + "pretty-format": "^28.1.1", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" @@ -34585,9 +34699,9 @@ "dev": true }, "diff-sequences": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", - "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true }, "has-flag": { @@ -34597,33 +34711,33 @@ "dev": true }, "jest-diff": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", - "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", + "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^28.0.2", + "diff-sequences": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" } }, "jest-matcher-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", - "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", + "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" } }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -34658,21 +34772,21 @@ } }, "jest-cli": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.0.tgz", - "integrity": "sha512-fDJRt6WPRriHrBsvvgb93OxgajHHsJbk4jZxiPqmZbMDRcHskfJBBfTyjFko0jjfprP544hOktdSi9HVgl4VUQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz", + "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", "dev": true, "requires": { - "@jest/core": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/core": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/types": "^28.1.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.0", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", + "jest-config": "^28.1.1", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -34729,31 +34843,31 @@ } }, "jest-config": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.0.tgz", - "integrity": "sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz", + "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.0", - "@jest/types": "^28.1.0", - "babel-jest": "^28.1.0", + "@jest/test-sequencer": "^28.1.1", + "@jest/types": "^28.1.1", + "babel-jest": "^28.1.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.0", - "jest-environment-node": "^28.1.0", + "jest-circus": "^28.1.1", + "jest-environment-node": "^28.1.1", "jest-get-type": "^28.0.2", "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.0", - "jest-runner": "^28.1.0", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", + "jest-resolve": "^28.1.1", + "jest-runner": "^28.1.1", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -34799,9 +34913,9 @@ "dev": true }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -34905,25 +35019,25 @@ } }, "jest-docblock": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.0.2.tgz", - "integrity": "sha512-FH10WWw5NxLoeSdQlJwu+MTiv60aXV/t8KEwIRGEv74WARE1cXIqh1vGdy2CraHuWOOrnzTWj/azQKqW4fO7xg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", + "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.0.tgz", - "integrity": "sha512-a/XX02xF5NTspceMpHujmOexvJ4GftpYXqr6HhhmKmExtMXsyIN/fvanQlt/BcgFoRKN4OCXxLQKth9/n6OPFg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz", + "integrity": "sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==", "dev": true, "requires": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "chalk": "^4.0.0", "jest-get-type": "^28.0.2", - "jest-util": "^28.1.0", - "pretty-format": "^28.1.0" + "jest-util": "^28.1.1", + "pretty-format": "^28.1.1" }, "dependencies": { "ansi-styles": { @@ -34967,9 +35081,9 @@ "dev": true }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -35004,33 +35118,33 @@ } }, "jest-environment-jsdom": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.0.tgz", - "integrity": "sha512-8n6P4xiDjNVqTWv6W6vJPuQdLx+ZiA3dbYg7YJ+DPzR+9B61K6pMVJrSs2IxfGRG4J7pyAUA5shQ9G0KEun78w==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.1.tgz", + "integrity": "sha512-41ZvgSoPNcKG5q3LuuOcAczdBxRq9DbZkPe24okN6ZCmiZdAfFtPg3z+lOtsT1fM6OAERApKT+3m0MRDQH2zIA==", "dev": true, "requires": { - "@jest/environment": "^28.1.0", - "@jest/fake-timers": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/fake-timers": "^28.1.1", + "@jest/types": "^28.1.1", "@types/jsdom": "^16.2.4", "@types/node": "*", - "jest-mock": "^28.1.0", - "jest-util": "^28.1.0", + "jest-mock": "^28.1.1", + "jest-util": "^28.1.1", "jsdom": "^19.0.0" } }, "jest-environment-node": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.0.tgz", - "integrity": "sha512-gBLZNiyrPw9CSMlTXF1yJhaBgWDPVvH0Pq6bOEwGMXaYNzhzhw2kA/OijNF8egbCgDS0/veRv97249x2CX+udQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz", + "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", "dev": true, "requires": { - "@jest/environment": "^28.1.0", - "@jest/fake-timers": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/fake-timers": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", - "jest-mock": "^28.1.0", - "jest-util": "^28.1.0" + "jest-mock": "^28.1.1", + "jest-util": "^28.1.1" } }, "jest-get-type": { @@ -35040,12 +35154,12 @@ "dev": true }, "jest-haste-map": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.0.tgz", - "integrity": "sha512-xyZ9sXV8PtKi6NCrJlmq53PyNVHzxmcfXNVvIRHpHmh1j/HChC4pwKgyjj7Z9us19JMw8PpQTJsFWOsIfT93Dw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz", + "integrity": "sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==", "dev": true, "requires": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", @@ -35053,20 +35167,20 @@ "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.0", - "jest-worker": "^28.1.0", + "jest-util": "^28.1.1", + "jest-worker": "^28.1.1", "micromatch": "^4.0.4", - "walker": "^1.0.7" + "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.0.tgz", - "integrity": "sha512-uIJDQbxwEL2AMMs2xjhZl2hw8s77c3wrPaQ9v6tXJLGaaQ+4QrNJH5vuw7hA7w/uGT/iJ42a83opAqxGHeyRIA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz", + "integrity": "sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==", "dev": true, "requires": { "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "dependencies": { "ansi-styles": { @@ -35076,9 +35190,9 @@ "dev": true }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -35165,18 +35279,18 @@ } }, "jest-message-util": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.0.tgz", - "integrity": "sha512-RpA8mpaJ/B2HphDMiDlrAZdDytkmwFqgjDZovM21F35lHGeUeCvYmm6W+sbQ0ydaLpg5bFAUuWG1cjqOl8vqrw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz", + "integrity": "sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -35222,9 +35336,9 @@ "dev": true }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -35259,12 +35373,12 @@ } }, "jest-mock": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.0.tgz", - "integrity": "sha512-H7BrhggNn77WhdL7O1apG0Q/iwl0Bdd5E1ydhCJzL3oBLh/UYxAwR3EJLsBZ9XA3ZU4PA3UNw4tQjduBTCTmLw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz", + "integrity": "sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==", "dev": true, "requires": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/node": "*" } }, @@ -35296,9 +35410,9 @@ "dev": true }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -35322,17 +35436,17 @@ "dev": true }, "jest-resolve": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.0.tgz", - "integrity": "sha512-vvfN7+tPNnnhDvISuzD1P+CRVP8cK0FHXRwPAcdDaQv4zgvwvag2n55/h5VjYcM5UJG7L4TwE5tZlzcI0X2Lhw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz", + "integrity": "sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", + "jest-haste-map": "^28.1.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.0", - "jest-validate": "^28.1.0", + "jest-util": "^28.1.1", + "jest-validate": "^28.1.1", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -35390,40 +35504,40 @@ } }, "jest-resolve-dependencies": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.0.tgz", - "integrity": "sha512-Ue1VYoSZquPwEvng7Uefw8RmZR+me/1kr30H2jMINjGeHgeO/JgrR6wxj2ofkJ7KSAA11W3cOrhNCbj5Dqqd9g==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", + "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", "dev": true, "requires": { "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.0" + "jest-snapshot": "^28.1.1" } }, "jest-runner": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.0.tgz", - "integrity": "sha512-FBpmuh1HB2dsLklAlRdOxNTTHKFR6G1Qmd80pVDvwbZXTriqjWqjei5DKFC1UlM732KjYcE6yuCdiF0WUCOS2w==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz", + "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", "dev": true, "requires": { - "@jest/console": "^28.1.0", - "@jest/environment": "^28.1.0", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/console": "^28.1.1", + "@jest/environment": "^28.1.1", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.0.2", - "jest-environment-node": "^28.1.0", - "jest-haste-map": "^28.1.0", - "jest-leak-detector": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-resolve": "^28.1.0", - "jest-runtime": "^28.1.0", - "jest-util": "^28.1.0", - "jest-watcher": "^28.1.0", - "jest-worker": "^28.1.0", + "jest-docblock": "^28.1.1", + "jest-environment-node": "^28.1.1", + "jest-haste-map": "^28.1.1", + "jest-leak-detector": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-resolve": "^28.1.1", + "jest-runtime": "^28.1.1", + "jest-util": "^28.1.1", + "jest-watcher": "^28.1.1", + "jest-worker": "^28.1.1", "source-map-support": "0.5.13", "throat": "^6.0.1" }, @@ -35496,31 +35610,31 @@ } }, "jest-runtime": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.0.tgz", - "integrity": "sha512-wNYDiwhdH/TV3agaIyVF0lsJ33MhyujOe+lNTUiolqKt8pchy1Hq4+tDMGbtD5P/oNLA3zYrpx73T9dMTOCAcg==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz", + "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", "dev": true, "requires": { - "@jest/environment": "^28.1.0", - "@jest/fake-timers": "^28.1.0", - "@jest/globals": "^28.1.0", + "@jest/environment": "^28.1.1", + "@jest/fake-timers": "^28.1.1", + "@jest/globals": "^28.1.1", "@jest/source-map": "^28.0.2", - "@jest/test-result": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/test-result": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-mock": "^28.1.0", + "jest-haste-map": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-mock": "^28.1.1", "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.0", - "jest-snapshot": "^28.1.0", - "jest-util": "^28.1.0", + "jest-resolve": "^28.1.1", + "jest-snapshot": "^28.1.1", + "jest-util": "^28.1.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -35606,9 +35720,9 @@ } }, "jest-snapshot": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.0.tgz", - "integrity": "sha512-ex49M2ZrZsUyQLpLGxQtDbahvgBjlLPgklkqGM0hq/F7W/f8DyqZxVHjdy19QKBm4O93eDp+H5S23EiTbbUmHw==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz", + "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -35616,23 +35730,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.0", - "@jest/transform": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/expect-utils": "^28.1.1", + "@jest/transform": "^28.1.1", + "@jest/types": "^28.1.1", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^28.1.0", + "expect": "^28.1.1", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.0", - "jest-matcher-utils": "^28.1.0", - "jest-message-util": "^28.1.0", - "jest-util": "^28.1.0", + "jest-haste-map": "^28.1.1", + "jest-matcher-utils": "^28.1.1", + "jest-message-util": "^28.1.1", + "jest-util": "^28.1.1", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.0", + "pretty-format": "^28.1.1", "semver": "^7.3.5" }, "dependencies": { @@ -35671,9 +35785,9 @@ "dev": true }, "diff-sequences": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.0.2.tgz", - "integrity": "sha512-YtEoNynLDFCRznv/XDalsKGSZDoj0U5kLnXvY0JSq3nBboRrZXjD81+eSiwi+nzcZDwedMmcowcxNwwgFW23mQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true }, "has-flag": { @@ -35683,33 +35797,33 @@ "dev": true }, "jest-diff": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.0.tgz", - "integrity": "sha512-8eFd3U3OkIKRtlasXfiAQfbovgFgRDb0Ngcs2E+FMeBZ4rUezqIaGjuyggJBp+llosQXNEWofk/Sz4Hr5gMUhA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", + "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^28.0.2", + "diff-sequences": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" } }, "jest-matcher-utils": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.0.tgz", - "integrity": "sha512-onnax0n2uTLRQFKAjC7TuaxibrPSvZgKTcSCnNUz/tOjJ9UhxNm7ZmPpoQavmTDUjXvUQ8KesWk2/VdrxIFzTQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", + "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^28.1.0", + "jest-diff": "^28.1.1", "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" } }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -35744,12 +35858,12 @@ } }, "jest-util": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.0.tgz", - "integrity": "sha512-qYdCKD77k4Hwkose2YBEqQk7PzUf/NSE+rutzceduFveQREeH6b+89Dc9+wjX9dAwHcgdx4yedGA3FQlU/qCTA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz", + "integrity": "sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==", "dev": true, "requires": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -35809,17 +35923,17 @@ } }, "jest-validate": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.0.tgz", - "integrity": "sha512-Lly7CJYih3vQBfjLeANGgBSBJ7pEa18cxpQfQEq2go2xyEzehnHfQTjoUia8xUv4x4J80XKFIDwJJThXtRFQXQ==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz", + "integrity": "sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==", "dev": true, "requires": { - "@jest/types": "^28.1.0", + "@jest/types": "^28.1.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^28.0.2", "leven": "^3.1.0", - "pretty-format": "^28.1.0" + "pretty-format": "^28.1.1" }, "dependencies": { "ansi-styles": { @@ -35869,9 +35983,9 @@ "dev": true }, "pretty-format": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.0.tgz", - "integrity": "sha512-79Z4wWOYCdvQkEoEuSlBhHJqWeZ8D8YRPiPctJFCtvuaClGpiwiQYSCUOE6IEKUbbFukKOTFIUAXE8N4EQTo1Q==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", + "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", "dev": true, "requires": { "@jest/schemas": "^28.0.2", @@ -35906,18 +36020,18 @@ } }, "jest-watcher": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.0.tgz", - "integrity": "sha512-tNHMtfLE8Njcr2IRS+5rXYA4BhU90gAOwI9frTGOqd+jX0P/Au/JfRSNqsf5nUTcWdbVYuLxS1KjnzILSoR5hA==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz", + "integrity": "sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==", "dev": true, "requires": { - "@jest/test-result": "^28.1.0", - "@jest/types": "^28.1.0", + "@jest/test-result": "^28.1.1", + "@jest/types": "^28.1.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^28.1.0", + "jest-util": "^28.1.1", "string-length": "^4.0.1" }, "dependencies": { @@ -35973,9 +36087,9 @@ } }, "jest-worker": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.0.tgz", - "integrity": "sha512-ZHwM6mNwaWBR52Snff8ZvsCTqQsvhCxP/bT1I6T6DAnb6ygkshsyLQIMxFwHpYxht0HOoqt23JlC01viI7T03A==", + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", + "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", "dev": true, "requires": { "@types/node": "*", @@ -36024,6 +36138,12 @@ "nopt": "^5.0.0" } }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -36275,7 +36395,7 @@ "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -36469,7 +36589,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true }, "string-width": { @@ -37016,9 +37136,9 @@ "dev": true }, "make-fetch-happen": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.6.tgz", - "integrity": "sha512-/iKDlRQF0fkxyB/w/duW2yRYrGwBcbJjC37ijgi0CmOZ32bzMc86BCSSAHWvuyRFCB408iBPziTSzazBSrKo3w==", + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz", + "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==", "dev": true, "requires": { "agentkeepalive": "^4.2.1", @@ -37035,7 +37155,7 @@ "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.1.1", + "socks-proxy-agent": "^7.0.0", "ssri": "^9.0.0" }, "dependencies": { @@ -37060,9 +37180,9 @@ } }, "cacache": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.0.tgz", - "integrity": "sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", + "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", "dev": true, "requires": { "@npmcli/fs": "^2.1.0", @@ -37522,36 +37642,57 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "ng-in-viewport": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", - "integrity": "sha512-RLOiT5AY8ypFuNCdif1aGG5Fx2INoG2+1b+CGJLhk0lPMLFyCVhmnma3Mq4M7TnwO+plNmqAfbu60usZF2zZ3g==", - "requires": { - "tslib": "^2.1.0" - } - }, - "ngx-cookie-service": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", - "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", - "requires": { - "tslib": "^2.0.0" - } - }, - "ngx-i18nsupport": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport/-/ngx-i18nsupport-0.17.1.tgz", - "integrity": "sha512-d8OCQs/XYBEI9qvztQyEkd8gEPFEBmyRg8UcriGQV8Ew1ujvrIieHxmX8YpDpFZKQ4ePextQGUSvjpGd2NauEQ==", + "ng-extract-i18n-merge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-1.4.0.tgz", + "integrity": "sha512-Nj2Q4rycroY9E7BB99rAMbn3fSAZVwiUO5ssUVHfQPps5ysfwQ7zv/4aqNbH2Sy45tZqGjbBkiaaAh2TiD1Mcw==", "dev": true, "requires": { - "chalk": "^2.4.1", - "commander": "^2.15.1", - "he": "^1.1.1", - "ngx-i18nsupport-lib": "^1.10.2", - "request": "^2.85.0", - "rxjs": "^6.0.0" + "@angular-devkit/architect": "^0.1301.0", + "@angular-devkit/core": "^13.0.0", + "@angular-devkit/schematics": "^13.0.0", + "@schematics/angular": "^13.0.0", + "xliff-simple-merge": "~0.12.0", + "xml_normalize": "~0.8.3", + "xmldoc": "~1.1.2" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.1301.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz", + "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.1.4", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz", + "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==", + "dev": true, + "requires": { + "ajv": "8.8.2", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -37569,15 +37710,20 @@ } } }, - "ngx-i18nsupport-lib": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/ngx-i18nsupport-lib/-/ngx-i18nsupport-lib-1.10.2.tgz", - "integrity": "sha512-Z81I2/HUtZ/7X7C3sioJj/Zr/M0iQs0aR5EhYsrWTzdEy7fZWFVYabzzZs+8h6lhQ/4yIl+3sVOCBkI9BiUUEQ==", - "dev": true, + "ng-in-viewport": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", + "integrity": "sha512-RLOiT5AY8ypFuNCdif1aGG5Fx2INoG2+1b+CGJLhk0lPMLFyCVhmnma3Mq4M7TnwO+plNmqAfbu60usZF2zZ3g==", + "requires": { + "tslib": "^2.1.0" + } + }, + "ngx-cookie-service": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", + "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", "requires": { - "@types/xmldom": "^0.1.29", - "tokenizr": "^1.3.4", - "xmldom": "^0.1.27" + "tslib": "^2.0.0" } }, "ngx-pipes": { @@ -37640,7 +37786,7 @@ "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-releases": { @@ -37676,7 +37822,7 @@ "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true }, "normalize-url": { @@ -37813,12 +37959,6 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, "object-inspect": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", @@ -37877,7 +38017,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -37987,13 +38127,13 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "ospath": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", "dev": true }, "p-cancelable": { @@ -38206,7 +38346,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -38223,7 +38363,7 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "path-type": { @@ -38235,13 +38375,13 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, "picocolors": { @@ -38263,7 +38403,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, "pirates": { @@ -38324,7 +38464,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true } } @@ -38381,12 +38521,12 @@ } }, "postcss-attribute-case-insensitive": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz", - "integrity": "sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz", + "integrity": "sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.2" + "postcss-selector-parser": "^6.0.10" } }, "postcss-color-functional-notation": { @@ -38417,11 +38557,13 @@ } }, "postcss-custom-media": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz", - "integrity": "sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", "dev": true, - "requires": {} + "requires": { + "postcss-value-parser": "^4.2.0" + } }, "postcss-custom-properties": { "version": "12.1.7", @@ -38433,9 +38575,9 @@ } }, "postcss-custom-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz", - "integrity": "sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.4" @@ -38566,7 +38708,7 @@ "postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true }, "postcss-modules-extract-imports": { @@ -38606,12 +38748,12 @@ } }, "postcss-nesting": { - "version": "10.1.7", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.7.tgz", - "integrity": "sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A==", + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.8.tgz", + "integrity": "sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ==", "dev": true, "requires": { - "@csstools/selector-specificity": "1.0.0", + "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" } }, @@ -38698,7 +38840,7 @@ "postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", "dev": true }, "postcss-safe-parser": { @@ -38756,7 +38898,7 @@ "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", "dev": true }, "prettier": { @@ -38814,7 +38956,7 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "promise-retry": { @@ -38840,7 +38982,7 @@ "proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" }, "proxy-addr": { "version": "2.0.7", @@ -38863,20 +39005,20 @@ "proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", "dev": true }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true, "optional": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" }, "psl": { "version": "1.8.0", @@ -38912,7 +39054,7 @@ "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true }, "qs": { @@ -39067,7 +39209,7 @@ "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, "requires": { "pify": "^2.3.0" @@ -39288,69 +39430,10 @@ } } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, "request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", "dev": true, "requires": { "throttleit": "^1.0.0" @@ -39359,7 +39442,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, "require-from-string": { "version": "2.0.2", @@ -39382,7 +39465,7 @@ "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "resolve": { "version": "1.22.0", @@ -39451,7 +39534,7 @@ "responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", "dev": true, "requires": { "lowercase-keys": "^1.0.0" @@ -39470,7 +39553,7 @@ "retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true }, "reusify": { @@ -39523,7 +39606,7 @@ "rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, "rxjs": { "version": "7.5.5", @@ -39691,7 +39774,7 @@ "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, "selfsigned": { @@ -39731,7 +39814,7 @@ "semver-dsl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", - "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "integrity": "sha512-e8BOaTo007E3dMuQQTnPdalbKTABKNS7UxoBIDnwOqRa+QwMrCPjynB8zAlPF6xlqUfdLPPLIJ13hJNmhtq8Ng==", "dev": true, "requires": { "semver": "^5.3.0" @@ -40024,9 +40107,9 @@ } }, "socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, "requires": { "agent-base": "^6.0.2", @@ -40280,7 +40363,7 @@ "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -40834,15 +40917,15 @@ } }, "terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.7", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", "terser": "^5.7.2" }, "dependencies": { @@ -40899,12 +40982,6 @@ "ajv-keywords": "^3.5.2" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -41027,12 +41104,6 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, - "tokenizr": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.6.6.tgz", - "integrity": "sha512-Q6sZDu52gtuYiwzBOlhLo6cD43JlQfPO+6sry95Ndo1BVQKsqbthzQ82AW00T0dHTLVSNpuKkO31nVNwXgFVBA==", - "dev": true - }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -41689,9 +41760,9 @@ } }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -41728,9 +41799,9 @@ "dev": true }, "webpack": { - "version": "5.72.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", - "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", "dev": true, "peer": true, "requires": { @@ -42077,6 +42148,43 @@ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "dev": true }, + "xliff-simple-merge": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/xliff-simple-merge/-/xliff-simple-merge-0.12.1.tgz", + "integrity": "sha512-D8I1BNoOngEbiHW4s/nIMFzIN1u5n3GUuPeu5cKod5M5kC73vzR8412wWKyYwXuK3dNbx02Y48bt0kXoBi+WMQ==", + "dev": true, + "requires": { + "commander": "~8.3.0", + "js-levenshtein": "~1.1.6", + "xmldoc": "~1.1.2" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + } + } + }, + "xml_normalize": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/xml_normalize/-/xml_normalize-0.8.4.tgz", + "integrity": "sha512-I+PiD+W/fS7YOWb4THhQfvkzd1mCuTT3KoRt4PTxiWYbH1RY74w5ewcIas8ja9APC8Ho2izg8VcNnTTN35qM9A==", + "dev": true, + "requires": { + "commander": "~7.1.0", + "xmldoc": "~1.1.2" + }, + "dependencies": { + "commander": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", + "dev": true + } + } + }, "xml-name-validator": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", @@ -42089,11 +42197,14 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", - "dev": true + "xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dev": true, + "requires": { + "sax": "^1.2.1" + } }, "xtend": { "version": "4.0.2", diff --git a/modules/web/package.json b/modules/web/package.json index ad72b2dbbd50..928f036e90a1 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -9,7 +9,7 @@ }, "engines": { "node": ">=16.15.0", - "npm": ">=8.6.0" + "npm": ">=8.5.5" }, "scripts": { "start": "make serve", From a0a966562a9ba4c5c071d3099983782766b6476f Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 14:32:28 +0200 Subject: [PATCH 086/162] Set correct working dir --- .github/workflows/ci-web.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index 022044f33287..fe903819e9b1 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -29,6 +29,9 @@ jobs: NG_CLI_ANALYTICS: ci NODE_OPTIONS: "--max-old-space-size=8192" TERM: xterm + defaults: + run: + working-directory: modules/web steps: - name: Checkout repository uses: actions/checkout@v3 @@ -48,7 +51,7 @@ jobs: - name: Install Dependencies shell: bash run: | - [ ! -d "node_modules" ] && npm ci || node modules/web/scripts/version.mjs + [ ! -d "node_modules" ] && npm ci || node scripts/version.mjs - name: Check Code shell: bash run: npm run check From 555850cca8d94fb7b62f8b5659f6a1384f4a26f8 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 14:34:51 +0200 Subject: [PATCH 087/162] Set correct working dir --- .github/workflows/ci-api.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 02e2ab123d41..ebfdc2ec1381 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -64,7 +64,7 @@ jobs: TERM: xterm defaults: run: - working-directory: ./api + working-directory: modules/api steps: - name: Checkout repository uses: actions/checkout@v3 From 51a7faea604bd18fc7a08c46ad85de5b8bfe7637 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 14:52:13 +0200 Subject: [PATCH 088/162] Update API tests --- .github/workflows/ci-api.yml | 12 ++++++------ Makefile | 12 ------------ modules/api/.gitignore | 3 ++- modules/api/Makefile | 9 +++++++++ 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index ebfdc2ec1381..f9733787a541 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -80,9 +80,9 @@ jobs: export GOPATH=$(go env GOPATH)/bin go mod download - name: Run Unit Tests - run: make coverage-backend - - name: Cleanup - run: make clean - - name: Upload Coverage - shell: bash - run: bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" + run: make coverage + - uses: codecov/codecov-action@v2 + with: + name: api-coverage + files: ./coverage.txt + fail_ci_if_error: true diff --git a/Makefile b/Makefile index 200a55567c09..a7bf1319eaf8 100644 --- a/Makefile +++ b/Makefile @@ -147,10 +147,6 @@ build: # --bind-address=${BIND_ADDRESS} \ # --port=${PORT} # -#.PHONY: test-backend -#test-backend: ensure-go -# go test $(MAIN_PACKAGE)/... -# #.PHONY: test-frontend #test-frontend: # npx jest -c aio/jest.config.js @@ -158,18 +154,10 @@ build: #.PHONY: test #test: test-backend test-frontend # -#.PHONY: coverage-backend -#coverage-backend: ensure-go -# $(shell mkdir -p $(COVERAGE_DIRECTORY)) \ -# go test -coverprofile=$(GO_COVERAGE_FILE) -covermode=atomic $(MAIN_PACKAGE)/... -# #.PHONY: coverage-frontend #coverage-frontend: # npx jest -c aio/jest.config.js --coverage -i # -#.PHONY: coverage -#coverage: coverage-backend coverage-frontend -# #.PHONY: check-i18n #check-i18n: fix-i18n # diff --git a/modules/api/.gitignore b/modules/api/.gitignore index c4f0e8789c1b..429063151734 100644 --- a/modules/api/.gitignore +++ b/modules/api/.gitignore @@ -11,7 +11,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# + codegen/ vendor/ .tmp/ +coverage.out diff --git a/modules/api/Makefile b/modules/api/Makefile index 7d1438a0463a..f0a6e6c86717 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -3,6 +3,7 @@ ROOT_DIRECTORY = $(API_DIRECTORY)/../.. DIST_DIRECTORY = $(ROOT_DIRECTORY)/.dist SERVE_DIRECTORY = $(DIST_DIRECTORY)/api SERVE_BINARY = $(DIST_DIRECTORY)/api/dashboard-api +COVERAGE_FILE = $(API_DIRECTORY)/coverage.out MAIN_PACKAGE = k8s.io/dashboard/api VERSION = v1.0.0 @@ -71,6 +72,14 @@ serve: $(PRE) serve-https: AUTO_GENERATE_CERTS=true $(MAKE) serve +.PHONY: test +test: + go test $(MAIN_PACKAGE)/... + +.PHONY: coverage +coverage: + go test -coverprofile=$(GO_COVERAGE_FILE) -covermode=atomic $(MAIN_PACKAGE)/... + .PHONY: deploy deploy: --docker-buildx docker manifest create --amend $(RELEASE_IMAGE):$(VERSION) $(RELEASE_IMAGE_NAMES) ; \ From 04f195d0dc14bdfc633905f7f9822d557e0b28fc Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 14:53:44 +0200 Subject: [PATCH 089/162] Fix file path --- .github/workflows/ci-api.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index f9733787a541..55ac8bdeadf2 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -84,5 +84,5 @@ jobs: - uses: codecov/codecov-action@v2 with: name: api-coverage - files: ./coverage.txt + files: ./coverage.out fail_ci_if_error: true From 04524262077589f9a424cec52704c830ba764cd2 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 15:01:27 +0200 Subject: [PATCH 090/162] Add cache --- .github/workflows/ci-api.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 55ac8bdeadf2..755bdeed2265 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -56,7 +56,7 @@ jobs: export GOPATH=$(go env GOPATH)/bin npm run check unit: - name: Unit Tests + name: Unit tests with coverage runs-on: ubuntu-latest env: NG_CLI_ANALYTICS: ci @@ -74,14 +74,16 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18 - - name: Install Dependencies + check-latest: true + cache: true + cache-dependency-path: modules/api/go.sum + - name: Install dependencies shell: bash - run: | - export GOPATH=$(go env GOPATH)/bin - go mod download - - name: Run Unit Tests + run: go mod download + - name: Run unit tests with coverage run: make coverage - - uses: codecov/codecov-action@v2 + - name: Upload coverage + uses: codecov/codecov-action@v2 with: name: api-coverage files: ./coverage.out From ab6a4e6bebfb88bbe5fc376a763b206459656bd2 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 15:09:04 +0200 Subject: [PATCH 091/162] Pipeline improvements --- .licenserc.yaml | 1 + Makefile | 57 ---------------------------------------- hack/docker.compose.yml | 14 ++++++++++ hack/gateway/Dockerfile | 14 ++++++++++ modules/web/package.json | 16 +++++------ 5 files changed, 37 insertions(+), 65 deletions(-) diff --git a/.licenserc.yaml b/.licenserc.yaml index 5863a7083395..31baa733797f 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -33,6 +33,7 @@ header: paths: - '**' paths-ignore: + - '**/*.conf' - '**/*.DS_Store' - '**/*.json' - '**/*.lock' diff --git a/Makefile b/Makefile index a7bf1319eaf8..f7ab4b0dc0ab 100644 --- a/Makefile +++ b/Makefile @@ -120,10 +120,6 @@ build: # go mod tidy # chmod +x $(CODEGEN_BIN) # -#.PHONY: clean -#clean: -# rm -rf .tmp -# #.PHONY: build-cross #build-cross: clean ensure-go # ./aio/scripts/build.sh -c @@ -147,17 +143,6 @@ build: # --bind-address=${BIND_ADDRESS} \ # --port=${PORT} # -#.PHONY: test-frontend -#test-frontend: -# npx jest -c aio/jest.config.js -# -#.PHONY: test -#test: test-backend test-frontend -# -#.PHONY: coverage-frontend -#coverage-frontend: -# npx jest -c aio/jest.config.js --coverage -i -# #.PHONY: check-i18n #check-i18n: fix-i18n # @@ -181,48 +166,6 @@ build: #fix-go: ensure-golangcilint # golangci-lint run -c .golangci.yml --fix ./src/app/backend/... # -#.PHONY: check-html -#check-html: -# ./aio/scripts/check-html.sh -# -#.PHONY: fix-html -#fix-html: -# npx html-beautify -f=./src/**/*.html -# -#.PHONY: check-scss -#check-scss: -# stylelint "src/**/*.scss" -# -#.PHONY: fix-scss -#fix-scss: -# stylelint "src/**/*.scss" --fix -# -#.PHONY: check-ts -#check-ts: -# gts lint -# -#.PHONY: fix-ts -#fix-ts: -# gts fix -# -#.PHONY: check-backend -#check-backend: check-license check-go check-codegen -# -#.PHONY: fix-backend -#fix-backend: fix-license fix-go fix-codegen -# -#.PHONY: check-frontend -#check-frontend: check-i18n check-license check-html check-scss check-ts -# -#.PHONY: fix-frontend -#fix-frontend: fix-i18n fix-license fix-html fix-scss fix-ts -# -#.PHONY: check -#check: check-i18n check-license check-go check-codegen check-html check-scss check-ts -# -#.PHONY: fix -#fix: fix-i18n fix-license fix-go fix-codegen fix-html fix-scss fix-ts -# #.PHONY: start-cluster #start-cluster: # ./aio/scripts/start-cluster.sh diff --git a/hack/docker.compose.yml b/hack/docker.compose.yml index 07a1d4f900e1..e1bb34022518 100644 --- a/hack/docker.compose.yml +++ b/hack/docker.compose.yml @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# version: "1.0" name: kubernetes-dashboard diff --git a/hack/gateway/Dockerfile b/hack/gateway/Dockerfile index 16b2b5b923db..e83a213696d7 100644 --- a/hack/gateway/Dockerfile +++ b/hack/gateway/Dockerfile @@ -1,3 +1,17 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# FROM nginx COPY hack/gateway/config /etc/nginx diff --git a/modules/web/package.json b/modules/web/package.json index 928f036e90a1..da790051e021 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -19,17 +19,17 @@ "build:prod": "make build", "start:e2e": "concurrently \"make serve-backend\" \"npm run start:frontend\"", "check": "make check", + "check:html": "./aio/scripts/check-html.sh", + "check:scss": "stylelint src/**/*.scss --fix", + "check:ts": "gts lint", "fix": "make fix", - "fix:backend": "make fix-backend", - "fix:frontend": "make fix-frontend", "fix:i18n": "ng run kubernetes-dashboard:extract-i18n-merge", - "fix:license": "make fix-license", "fix:go": "make fix-go", - "fix:codegen": "make fix-codegen", - "fix:html": "make fix-html", - "fix:scss": "make fix-scss", - "fix:ts": "make fix-ts", - "test": "make test", + "fix:html": "npx html-beautify -f=./src/**/*.html", + "fix:scss": "stylelint src/**/*.scss", + "fix:ts": "gts fix", + "test": "npx jest -c aio/jest.config.js", + "coverage": "npx jest -c aio/jest.config.js --coverage -i", "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "postinstall": "ngcc", From d87bf006d5d0026ed0a1365376e1f997bd4a66d4 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 15:23:10 +0200 Subject: [PATCH 092/162] Workflow and test updates --- .github/workflows/ci-global.yml | 8 ++++++++ .github/workflows/ci-web.yml | 18 +++++++++--------- .github/workflows/depsreview.yaml | 14 -------------- modules/web/.gitignore | 5 +++-- modules/web/jest.config.js | 4 ++-- modules/web/package.json | 4 ++-- 6 files changed, 24 insertions(+), 29 deletions(-) delete mode 100644 .github/workflows/depsreview.yaml diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index c55c64dedde2..bafafe0e967c 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -124,3 +124,11 @@ jobs: [ ! -d "node_modules" ] && npm ci && npm i cypress || node aio/scripts/version.mjs && go mod download - name: Run end-to-end tests run: make e2e + + dependency-review: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Review dependencies + uses: actions/dependency-review-action@v1 diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index fe903819e9b1..efa4d3ce292f 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -57,7 +57,7 @@ jobs: run: npm run check unit: - name: Unit Tests + name: Unit tests with coverage runs-on: ubuntu-latest env: NG_CLI_ANALYTICS: ci @@ -82,15 +82,15 @@ jobs: with: path: node_modules key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - name: Install Dependencies + - name: Install dependencies shell: bash run: | - [ ! -d "node_modules" ] && npm ci && node modules/web/scripts/version.mjs - - name: Run unit tests + [ ! -d "node_modules" ] && npm ci && node scripts/version.mjs + - name: Run unit tests with coverage run: make coverage-frontend - - name: Cleanup - run: make clean - name: Upload coverage - shell: bash - run: | - bash <(curl -s https://codecov.io/bash) -c -K || echo "Codecov upload failed" + uses: codecov/codecov-action@v2 + with: + name: api-coverage + files: ./coverage + fail_ci_if_error: true diff --git a/.github/workflows/depsreview.yaml b/.github/workflows/depsreview.yaml deleted file mode 100644 index f2605b7a7e2c..000000000000 --- a/.github/workflows/depsreview.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: 'Dependency Review' -on: [pull_request] - -permissions: - contents: read - -jobs: - dependency-review: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v3 - - name: 'Dependency Review' - uses: actions/dependency-review-action@v1 diff --git a/modules/web/.gitignore b/modules/web/.gitignore index 37233596036e..75e14e8f59f2 100644 --- a/modules/web/.gitignore +++ b/modules/web/.gitignore @@ -11,9 +11,10 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# + .angular/ .sass-cache/ +coverage/ node_modules/ -npm-debug.log src/environments/version.ts +npm-debug.log diff --git a/modules/web/jest.config.js b/modules/web/jest.config.js index 5deb3237d93a..23ff3dc15588 100644 --- a/modules/web/jest.config.js +++ b/modules/web/jest.config.js @@ -13,8 +13,8 @@ // limitations under the License. const config = { - rootDir: '../src', - coverageDirectory: '../../../coverage', + rootDir: './src', + coverageDirectory: '../coverage', preset: "jest-preset-angular/presets/defaults", setupFilesAfterEnv: ["/test.base.ts"], globals: { diff --git a/modules/web/package.json b/modules/web/package.json index da790051e021..388deece9ca8 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -28,8 +28,8 @@ "fix:html": "npx html-beautify -f=./src/**/*.html", "fix:scss": "stylelint src/**/*.scss", "fix:ts": "gts fix", - "test": "npx jest -c aio/jest.config.js", - "coverage": "npx jest -c aio/jest.config.js --coverage -i", + "test": "npx jest -c jest.config.js", + "coverage": "npx jest -c jest.config.js --coverage -i", "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "postinstall": "ngcc", From a71bde664cf13216c4d0e2538953808f48ced77d Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 8 Jun 2022 17:47:49 +0200 Subject: [PATCH 093/162] Rewrite client-gen support and update improve multiarch build --- Makefile | 43 ++++- ...docker.compose.yml => docker.compose.yaml} | 12 +- modules/api/Dockerfile | 9 +- modules/api/Makefile | 98 ++++++++-- modules/api/go.mod | 33 ++-- modules/api/go.sum | 130 ++++++++----- modules/api/hack/codegen-update.sh | 36 ---- modules/api/hack/codegen-verify.sh | 47 ----- modules/api/pkg/auth/manager_test.go | 15 +- modules/api/pkg/client/api/types.go | 2 +- modules/api/pkg/client/manager.go | 10 +- modules/api/pkg/plugin/apis/v1alpha1/types.go | 1 - .../clientset/{versioned => }/clientset.go | 36 ++-- .../api/pkg/plugin/client/clientset/doc.go | 20 ++ .../fake/clientset_generated.go | 34 ++-- .../pkg/plugin/client/clientset/fake/doc.go | 20 ++ .../{versioned => }/fake/register.go | 30 +-- .../pkg/plugin/client/clientset/scheme/doc.go | 20 ++ .../{versioned => }/scheme/register.go | 30 +-- .../typed/apis/v1alpha1/apis_client.go | 32 ++-- .../clientset/typed/apis/v1alpha1/doc.go | 20 ++ .../clientset/typed/apis/v1alpha1/fake/doc.go | 20 ++ .../apis/v1alpha1/fake/fake_apis_client.go | 40 ++++ .../typed/apis/v1alpha1/fake/fake_plugin.go | 30 +-- .../apis/v1alpha1/generated_expansion.go | 21 +++ .../typed/apis/v1alpha1/plugin.go | 32 ++-- .../plugin/client/clientset/versioned/doc.go | 18 -- .../client/clientset/versioned/fake/doc.go | 18 -- .../client/clientset/versioned/scheme/doc.go | 18 -- .../versioned/typed/apis/v1alpha1/doc.go | 18 -- .../versioned/typed/apis/v1alpha1/fake/doc.go | 18 -- .../apis/v1alpha1/fake/fake_apis_client.go | 38 ---- .../apis/v1alpha1/generated_expansion.go | 19 -- .../externalversions/apis/interface.go | 44 ----- .../apis/v1alpha1/interface.go | 43 ----- .../externalversions/apis/v1alpha1/plugin.go | 88 --------- .../informers/externalversions/factory.go | 178 ------------------ .../informers/externalversions/generic.go | 60 ------ .../internalinterfaces/factory_interfaces.go | 38 ---- .../apis/v1alpha1/expansion_generated.go | 25 --- .../client/listers/apis/v1alpha1/plugin.go | 97 ---------- modules/api/pkg/plugin/config.go | 1 + modules/api/pkg/plugin/config_test.go | 18 +- modules/api/pkg/plugin/detail.go | 3 +- modules/api/pkg/plugin/detail_test.go | 4 +- modules/api/pkg/plugin/handler.go | 1 + modules/api/pkg/plugin/list.go | 3 +- modules/api/pkg/plugin/list_test.go | 9 +- modules/common/certificates/go.mod | 10 +- modules/common/certificates/go.sum | 40 ++-- modules/common/tools/Makefile | 11 +- modules/common/tools/go.mod | 17 ++ modules/common/tools/go.sum | 64 +++++++ modules/common/tools/main.go | 9 +- modules/go.work.sum | 2 - modules/web/Dockerfile | 12 +- modules/web/go.mod | 4 +- modules/web/go.sum | 5 +- modules/web/scripts/build.sh | 2 +- 59 files changed, 675 insertions(+), 1081 deletions(-) rename hack/{docker.compose.yml => docker.compose.yaml} (90%) delete mode 100755 modules/api/hack/codegen-update.sh delete mode 100755 modules/api/hack/codegen-verify.sh rename modules/api/pkg/plugin/client/clientset/{versioned => }/clientset.go (80%) create mode 100644 modules/api/pkg/plugin/client/clientset/doc.go rename modules/api/pkg/plugin/client/clientset/{versioned => }/fake/clientset_generated.go (73%) create mode 100644 modules/api/pkg/plugin/client/clientset/fake/doc.go rename modules/api/pkg/plugin/client/clientset/{versioned => }/fake/register.go (68%) create mode 100644 modules/api/pkg/plugin/client/clientset/scheme/doc.go rename modules/api/pkg/plugin/client/clientset/{versioned => }/scheme/register.go (69%) rename modules/api/pkg/plugin/client/clientset/{versioned => }/typed/apis/v1alpha1/apis_client.go (79%) create mode 100644 modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/doc.go create mode 100644 modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/doc.go create mode 100644 modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/fake_apis_client.go rename modules/api/pkg/plugin/client/clientset/{versioned => }/typed/apis/v1alpha1/fake/fake_plugin.go (87%) create mode 100644 modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/generated_expansion.go rename modules/api/pkg/plugin/client/clientset/{versioned => }/typed/apis/v1alpha1/plugin.go (88%) delete mode 100644 modules/api/pkg/plugin/client/clientset/versioned/doc.go delete mode 100644 modules/api/pkg/plugin/client/clientset/versioned/fake/doc.go delete mode 100644 modules/api/pkg/plugin/client/clientset/versioned/scheme/doc.go delete mode 100644 modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go delete mode 100644 modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go delete mode 100644 modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go delete mode 100644 modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go delete mode 100644 modules/api/pkg/plugin/client/informers/externalversions/apis/interface.go delete mode 100644 modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go delete mode 100644 modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go delete mode 100644 modules/api/pkg/plugin/client/informers/externalversions/factory.go delete mode 100644 modules/api/pkg/plugin/client/informers/externalversions/generic.go delete mode 100644 modules/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go delete mode 100644 modules/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go delete mode 100644 modules/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go diff --git a/Makefile b/Makefile index 2b5e1a8a4d45..befbfa2bb8c2 100644 --- a/Makefile +++ b/Makefile @@ -27,9 +27,38 @@ MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules TOOLS_DIRECTORY := $(MODULES_DIRECTORY)/common/tools GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway HACK_DIRECTORY := $(ROOT_DIRECTORY)/hack +APP_NAME := kubernetes-dashboard DOCKER_COMPOSE_PATH := $(HACK_DIRECTORY)/docker.compose.yaml +# BUILDARCH is the host machine architecture +BUILDARCH ?= $(shell uname -m) + +# BUILDOS is the host machine OS +BUILDOS ?= $(shell uname -s) + +ifeq ($(BUILDARCH),x86_64) + BUILDARCH=amd64 +endif +ifeq ($(BUILDARCH),aarch64) + BUILDARCH=arm64 +endif +ifeq ($(BUILDARCH),armv7l) + BUILDARCH=armv7 +endif + +ifeq ($(BUILDOS),Linux) + BUILDOS=linux +endif +ifeq ($(BUILOS),Darwin) + BUILDOS=darwin +endif + +# ARCH is the target build architecture. Unless overridden during build, host architecture (BUILDARCH) will be used +ARCH ?= $(BUILDARCH) +# OS is the target build OS. Unless overridden during build, host OS (BUILDOS) will be used +OS ?= $(BUILDOS) + # Used by the run target to configure the application KUBECONFIG ?= $(HOME)/.kube/config WEB_SYSTEM_BANNER ?= "Local test environment" @@ -38,7 +67,7 @@ API_ENABLE_SKIP_LOGIN ?= true API_SIDECAR_HOST ?= http://sidecar:8000 API_TOKEN_TTL ?= 0 # Never expire -# List of targets that should be always executed before other targets +# List of targets that should be executed before other targets PRE = --ensure-tools .PHONY: check-license @@ -80,7 +109,9 @@ run: $(PRE) --ensure-compose-down compose API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ API_TOKEN_TTL=$(API_TOKEN_TTL) \ - docker compose -f $(DOCKER_COMPOSE_PATH) up + ARCH=$(ARCH) \ + OS=$(OS) \ + docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(APP_NAME) up .PHONY: compose compose: --ensure-certificates build @@ -90,7 +121,9 @@ compose: --ensure-certificates build API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ API_TOKEN_TTL=$(API_TOKEN_TTL) \ - docker compose -f $(DOCKER_COMPOSE_PATH) build + ARCH=$(ARCH) \ + OS=$(OS) \ + docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(APP_NAME) build .PHONY: build build: @@ -108,7 +141,9 @@ build: API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ API_TOKEN_TTL=$(API_TOKEN_TTL) \ - docker compose -f $(DOCKER_COMPOSE_PATH) down + ARCH=$(ARCH) \ + OS=$(OS) \ + docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(APP_NAME) down .PHONY: --ensure-certificates --ensure-certificates: diff --git a/hack/docker.compose.yml b/hack/docker.compose.yaml similarity index 90% rename from hack/docker.compose.yml rename to hack/docker.compose.yaml index 07a1d4f900e1..32160a1063c3 100644 --- a/hack/docker.compose.yml +++ b/hack/docker.compose.yaml @@ -1,14 +1,12 @@ -version: "1.0" - -name: kubernetes-dashboard - +version: "3.8" services: web: build: context: .. dockerfile: modules/web/Dockerfile args: - - BUILDPLATFORM=linux/amd64 + - TARGETPLATFORM=${OS:?}/${ARCH:?} + - TARGETARCH=${ARCH:?} command: --locale-config=/public/locale_conf.json --auto-generate-certificates @@ -25,7 +23,8 @@ services: context: .. dockerfile: modules/api/Dockerfile args: - - BUILDPLATFORM=linux/amd64 + - TARGETPLATFORM=${OS:?}/${ARCH:?} + - TARGETARCH=${ARCH:?} command: --kubeconfig=${KUBECONFIG:?} --auto-generate-certificates @@ -72,4 +71,3 @@ services: networks: kubernetes-dashboard: - name: kubernetes-dashboard diff --git a/modules/api/Dockerfile b/modules/api/Dockerfile index fcbf322dee15..cc20bd926afe 100644 --- a/modules/api/Dockerfile +++ b/modules/api/Dockerfile @@ -15,20 +15,21 @@ # Main Dockerfile of the project. It creates an image that serves the application. This image should # be built from the dist directory. -ARG BUILDPLATFORM +ARG TARGETPLATFORM -FROM --platform=$BUILDPLATFORM ubuntu:20.04 as builder +FROM --platform=$TARGETPLATFORM ubuntu:20.04 as builder # Create a nonroot user for final image RUN useradd -u 10001 nonroot # Scratch can be used as the base image because the backend is compiled to include all # its dependencies. -FROM --platform=$BUILDPLATFORM scratch as final +FROM --platform=$TARGETPLATFORM scratch as final +ARG TARGETARCH # Add all files from current working directory to the root of the image, i.e., copy dist directory # layout to the root directory. -ADD .dist/api/$BUILDPLATFORM / +ADD .dist/api/$TARGETARCH / # Copy nonroot user COPY --from=builder /etc/passwd /etc/passwd diff --git a/modules/api/Makefile b/modules/api/Makefile index 7d1438a0463a..bc821bbfaec0 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -1,21 +1,41 @@ +# Paths and directories API_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) ROOT_DIRECTORY = $(API_DIRECTORY)/../.. DIST_DIRECTORY = $(ROOT_DIRECTORY)/.dist SERVE_DIRECTORY = $(DIST_DIRECTORY)/api -SERVE_BINARY = $(DIST_DIRECTORY)/api/dashboard-api +SERVE_BINARY = $(SERVE_DIRECTORY)/$(APP_NAME) MAIN_PACKAGE = k8s.io/dashboard/api -VERSION = v1.0.0 -RELEASE_IMAGE = kubernetesui/dashboard-api +# Codegen configuration +BASE_DIR = $(API_DIRECTORY)/pkg/plugin +INPUT_BASE = $(MAIN_PACKAGE)/pkg/plugin +INPUT = "apis/v1alpha1" +CLIENTSET_NAME = clientset +OUTPUT_BASE = $(BASE_DIR) +OUTPUT_PACKAGE = $(INPUT_BASE)/client +VERIFY_ONLY = false +CODEGEN_EXTRA_ARGS = "" + +# Container deployment configuration +REGISTRY = kubernetesui +APP_NAME = dashboard-api +IMAGE = $(REGISTRY)/$(APP_NAME) + +RELEASE_VERSION = v1.0.0 RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) -RELEASE_IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):latest) -######################################################################################################## +DEV_VERSION = latest +DEV_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(DEV_VERSION)) + +# Build configuration ARCHITECTURES = amd64 arm64 arm ppc64le s390x # BUILDARCH is the host machine architecture BUILDARCH ?= $(shell uname -m) +# BUILDOS is the host machine OS +BUILDOS ?= $(shell uname -s) + ifeq ($(BUILDARCH),x86_64) BUILDARCH=amd64 endif @@ -26,10 +46,17 @@ ifeq ($(BUILDARCH),armv7l) BUILDARCH=armv7 endif +ifeq ($(BUILDOS),Linux) + BUILDOS=linux +endif +ifeq ($(BUILOS),Darwin) + BUILDOS=darwin +endif + # ARCH is the target build architecture. Unless overridden during build, host architecture (BUILDARCH) will be used ARCH ?= $(BUILDARCH) - -######################################################################################################## +# OS is the target build OS. Unless overridden during build, host OS (BUILDOS) will be used +OS ?= $(BUILDOS) # API Arguments (overridable) KUBECONFIG ?= $(HOME)/.kube/config @@ -41,7 +68,15 @@ PORT ?= 8080 ENABLE_INSECURE_LOGIN ?= false ENABLE_SKIP_LOGIN ?= false -PRE := --ensure-dir-exists +# List of targets that should be executed before other targets +PRE := --ensure-dist-exists + +.PHONY: codegen-update +codegen-update: --codegen-update-run --codegen-update-post + +.PHONY: codegen-verify +codegen-verify: VERIFY_ONLY = true +codegen-verify: --codegen-verify-pre --codegen-update-run --codegen-verify-post .PHONY: build build: ARCHITECTURES = $(ARCH) @@ -50,8 +85,8 @@ build: $(PRE) build-cross .PHONY: build-cross build-cross: @for ARCH in $(ARCHITECTURES) ; do \ - echo "Building dashboard-api for $$ARCH" ; \ - CGO_ENABLED=0 GOOS=linux GOARCH=$$ARCH go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(VERSION)" -gcflags="all=-N -l" -o $(DIST_DIRECTORY)/api/$$ARCH/dashboard-api $(MAIN_PACKAGE) ; \ + echo "Building dashboard-api for $(OS)/$$ARCH" ; \ + CGO_ENABLED=0 GOOS=$(OS) GOARCH=$$ARCH go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(DIST_DIRECTORY)/api/$$ARCH/dashboard-api $(MAIN_PACKAGE) ; \ done .PHONY: run @@ -73,23 +108,48 @@ serve-https: .PHONY: deploy deploy: --docker-buildx - docker manifest create --amend $(RELEASE_IMAGE):$(VERSION) $(RELEASE_IMAGE_NAMES) ; \ - docker manifest create --amend $(RELEASE_IMAGE):latest $(RELEASE_IMAGE_NAMES_LATEST) ; \ - docker manifest push $(RELEASE_IMAGE):$(VERSION) ; \ - docker manifest push $(RELEASE_IMAGE):latest + docker manifest create --amend $(IMAGE):$(RELEASE_VERSION) $(RELEASE_IMAGE_NAMES) ; \ + docker manifest create --amend $(IMAGE):$(DEV_VERSION) $(DEV_IMAGE_NAMES) ; \ + docker manifest push $(IMAGE):$(RELEASE_VERSION) ; \ + docker manifest push $(IMAGE):$(DEV_VERSION) .PHONY: --docker-buildx --docker-buildx: build-cross @for ARCH in $(ARCHITECTURES) ; do \ docker buildx build \ - -t $(RELEASE_IMAGE)-$$ARCH:$(VERSION) \ - -t $(RELEASE_IMAGE)-$$ARCH:latest \ - --build-arg BUILDPLATFORM=linux/$$ARCH \ + -t $(IMAGE)-$$ARCH:$(RELEASE_VERSION) \ + -t $(IMAGE)-$$ARCH:$(DEV_VERSION) \ --platform linux/$$ARCH \ --push \ $(SERVE_DIRECTORY)/$$ARCH ; \ done ; \ -.PHONY: --ensure-dir-exists ---ensure-dir-exists: +.PHONY: --ensure-dist-exists +--ensure-dist-exists: @mkdir -p $(SERVE_DIRECTORY) + +.PHONY: --codegen-update-run +--codegen-update-run: + @${GOPATH}/bin/client-gen \ + --input-base=$(INPUT_BASE) \ + --input=$(INPUT) \ + --clientset-name=$(CLIENTSET_NAME) \ + --output-base=$(OUTPUT_BASE) \ + --output-package=$(OUTPUT_PACKAGE) \ + --verify-only=$(VERIFY_ONLY) \ + $(CODEGEN_EXTRA_ARGS) + +.PHONY: --codegen-update-post +--codegen-update-post: + @rm -rf $(BASE_DIR)/client + @mv $(BASE_DIR)/$(OUTPUT_PACKAGE) $(BASE_DIR) + @rm -rf $(BASE_DIR)/k8s.io + +.PHONY: --codegen-verify-pre +--codegen-verify-pre: + @mkdir -p $(BASE_DIR)/$(OUTPUT_PACKAGE) + @cp -r $(BASE_DIR)/client $(BASE_DIR)/$(INPUT_BASE) + +.PHONY: --codegen-verify-post +--codegen-verify-post: + @rm -rf $(BASE_DIR)/k8s.io diff --git a/modules/api/go.mod b/modules/api/go.mod index b059317ef673..5dcc00582a46 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -13,55 +13,60 @@ require ( gopkg.in/igm/sockjs-go.v2 v2.1.0 gopkg.in/square/go-jose.v2 v2.4.1 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.23.6 - k8s.io/apiextensions-apiserver v0.23.6 - k8s.io/apimachinery v0.23.6 - k8s.io/client-go v0.23.6 + k8s.io/api v0.24.1 + k8s.io/apiextensions-apiserver v0.24.1 + k8s.io/apimachinery v0.24.1 + k8s.io/client-go v0.24.1 k8s.io/dashboard/certificates v0.0.0-00010101000000-000000000000 k8s.io/heapster v1.5.4 ) require ( + github.com/PuerkitoBio/purell v1.1.1 // indirect + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/emicklei/go-restful v2.9.5+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/go-logr/logr v1.2.0 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/jsonreference v0.19.5 // indirect + github.com/go-openapi/swag v0.19.14 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.7 // indirect + github.com/google/gnostic v0.5.7-v3refs // indirect github.com/google/gofuzz v1.1.0 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/gnostic v0.5.5 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/imdario/mergo v0.3.12 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/mailru/easyjson v0.7.6 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/onsi/ginkgo v1.16.4 // indirect github.com/onsi/gomega v1.18.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.32.1 // indirect github.com/prometheus/procfs v0.7.3 // indirect - github.com/stretchr/testify v1.7.1 // indirect golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect + golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.28.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + k8s.io/klog/v2 v2.60.1 // indirect + k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect + k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect + sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect sigs.k8s.io/yaml v1.2.0 // indirect ) diff --git a/modules/api/go.sum b/modules/api/go.sum index 600eaa3a3e35..68c6ae24e615 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -37,7 +37,6 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= @@ -51,7 +50,9 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -63,6 +64,8 @@ github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.m github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -72,14 +75,14 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -99,6 +102,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -113,6 +117,7 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.3.3 h1:2WxjFb4b+Eik8vJ1saz3jbhKnt4xaFVn3N9uU3WXfLE= github.com/emicklei/go-restful/v3 v3.3.3/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= @@ -133,6 +138,7 @@ github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoD github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -151,12 +157,16 @@ github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -199,8 +209,10 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= +github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= +github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -230,14 +242,11 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= @@ -273,9 +282,11 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -303,9 +314,9 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -324,7 +335,7 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -333,6 +344,7 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -341,22 +353,26 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWb github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -373,6 +389,7 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -383,19 +400,21 @@ github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -413,16 +432,13 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -442,13 +458,16 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= 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/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/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= 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= @@ -488,8 +507,10 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -525,6 +546,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -568,11 +590,14 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -584,10 +609,10 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -639,13 +664,13 @@ golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -659,12 +684,17 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= 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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -679,8 +709,8 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/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 h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -733,12 +763,13 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= +golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -765,7 +796,6 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -819,6 +849,7 @@ google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -855,6 +886,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -868,7 +900,6 @@ gopkg.in/igm/sockjs-go.v2 v2.1.0/go.mod h1:9l1o9p5TJvh2l+Q0EGE8USVB69QPfcvI7fR0H gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -899,35 +930,36 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.6 h1:yOK34wbYECH4RsJbQ9sfkFK3O7f/DUHRlzFehkqZyVw= -k8s.io/api v0.23.6/go.mod h1:1kFaYxGCFHYp3qd6a85DAj/yW8aVD6XLZMqJclkoi9g= -k8s.io/apiextensions-apiserver v0.23.6 h1:v58cQ6Z0/GK1IXYr+oW0fnYl52o9LTY0WgoWvI8uv5Q= -k8s.io/apiextensions-apiserver v0.23.6/go.mod h1:YVh17Mphv183THQJA5spNFp9XfoidFyL3WoDgZxQIZU= -k8s.io/apimachinery v0.23.6 h1:RH1UweWJkWNTlFx0D8uxOpaU1tjIOvVVWV/bu5b3/NQ= -k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= -k8s.io/apiserver v0.23.6/go.mod h1:5PU32F82tfErXPmf7FXhd/UcuLfh97tGepjKUgJ2atg= -k8s.io/client-go v0.23.6 h1:7h4SctDVQAQbkHQnR4Kzi7EyUyvla5G1pFWf4+Od7hQ= -k8s.io/client-go v0.23.6/go.mod h1:Umt5icFOMLV/+qbtZ3PR0D+JA6lvvb3syzodv4irpK4= -k8s.io/code-generator v0.23.6/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= -k8s.io/component-base v0.23.6/go.mod h1:FGMPeMrjYu0UZBSAFcfloVDplj9IvU+uRMTOdE23Fj0= +k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= +k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= +k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= +k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= +k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= +k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= +k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= +k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= +k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/heapster v1.5.4 h1:lH2GCZdqRmUKDoyqRgiXbRmIcevaPYTvkguOuYUl8gQ= k8s.io/heapster v1.5.4/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= diff --git a/modules/api/hack/codegen-update.sh b/modules/api/hack/codegen-update.sh deleted file mode 100755 index 755b04164493..000000000000 --- a/modules/api/hack/codegen-update.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -o errexit -set -o nounset -set -o pipefail - -CODEGEN_VERSION="v0.23.6" -CODEGEN_BIN="${GOPATH}/pkg/mod/k8s.io/code-generator@${CODEGEN_VERSION}/generate-groups.sh" -HACK_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) -SOURCE_DIR="${HACK_DIR}/../src" -CODEGEN_DIR="${HACK_DIR}/../codegen" - -"${CODEGEN_BIN}" "deepcopy,client,informer,lister" \ - github.com/kubernetes/dashboard/api/src/plugin/client github.com/kubernetes/dashboard/api/src/plugin apis:v1alpha1 \ - --go-header-file "${HACK_DIR}/../../aio/scripts/license-header.go.txt" --output-base "${CODEGEN_DIR}" - -rm -rf "${SOURCE_DIR}/plugin/client" - -mv "${CODEGEN_DIR}/github.com/kubernetes/dashboard/api/src/plugin/client" "${SOURCE_DIR}/plugin" -mv "${CODEGEN_DIR}/github.com/kubernetes/dashboard/api/src/plugin/apis/v1alpha1/zz_generated.deepcopy.go" "${SOURCE_DIR}/plugin/apis/v1alpha1" - -rm -rf "${CODEGEN_DIR}" diff --git a/modules/api/hack/codegen-verify.sh b/modules/api/hack/codegen-verify.sh deleted file mode 100755 index e878ef3fc61f..000000000000 --- a/modules/api/hack/codegen-verify.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -o errexit -set -o nounset -set -o pipefail - -DIFF_ROOT="../src" -TMP_DIFF_ROOT="../_tmp/src" -_tmp="../_tmp" - -cleanup() { - rm -rf "${_tmp}" -} - -cleanup -trap "cleanup" EXIT SIGINT - -mkdir -p "${TMP_DIFF_ROOT}" -cp -a "${DIFF_ROOT}"/* "${TMP_DIFF_ROOT}" - -"./codegen-update.sh" -echo "diffing ${DIFF_ROOT} against freshly generated codegen" -ret=0 -diff -Naupr "${DIFF_ROOT}" "${TMP_DIFF_ROOT}" || ret=$? -cp -a "${TMP_DIFF_ROOT}"/* "${DIFF_ROOT}" -if [[ $ret -eq 0 ]] -then - echo "${DIFF_ROOT} up to date." -else - echo "${DIFF_ROOT} is out of date. Please run codegen-update.sh" - exit 1 -fi - diff --git a/modules/api/pkg/auth/manager_test.go b/modules/api/pkg/auth/manager_test.go index d39c1320e954..039f1aa541df 100644 --- a/modules/api/pkg/auth/manager_test.go +++ b/modules/api/pkg/auth/manager_test.go @@ -19,20 +19,19 @@ import ( "testing" "time" - restful "github.com/emicklei/go-restful/v3" - - authApi "k8s.io/dashboard/api/pkg/auth/api" - "k8s.io/dashboard/api/pkg/client" - clientapi "k8s.io/dashboard/api/pkg/client/api" - "k8s.io/dashboard/api/pkg/errors" - - pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + "github.com/emicklei/go-restful/v3" v1 "k8s.io/api/authorization/v1" apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" + + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/client" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/errors" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset" ) func areErrorsEqual(err1, err2 error) bool { diff --git a/modules/api/pkg/client/api/types.go b/modules/api/pkg/client/api/types.go index bbd3d394faa2..d0e8f0303894 100644 --- a/modules/api/pkg/client/api/types.go +++ b/modules/api/pkg/client/api/types.go @@ -25,7 +25,7 @@ import ( "k8s.io/client-go/tools/clientcmd/api" authApi "k8s.io/dashboard/api/pkg/auth/api" - pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset" ) const ( diff --git a/modules/api/pkg/client/manager.go b/modules/api/pkg/client/manager.go index eb03aed06194..5435c0694a61 100644 --- a/modules/api/pkg/client/manager.go +++ b/modules/api/pkg/client/manager.go @@ -20,26 +20,24 @@ import ( "regexp" "strings" - v12 "k8s.io/api/authentication/v1" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - "github.com/emicklei/go-restful/v3" + v12 "k8s.io/api/authentication/v1" v1 "k8s.io/api/authorization/v1" apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + k8serrors "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" - pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" - "k8s.io/dashboard/api/pkg/resource/customresourcedefinition" - "k8s.io/dashboard/api/pkg/args" authApi "k8s.io/dashboard/api/pkg/auth/api" clientapi "k8s.io/dashboard/api/pkg/client/api" "k8s.io/dashboard/api/pkg/client/csrf" "k8s.io/dashboard/api/pkg/errors" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset" + "k8s.io/dashboard/api/pkg/resource/customresourcedefinition" ) // Dashboard UI default values for client configs. diff --git a/modules/api/pkg/plugin/apis/v1alpha1/types.go b/modules/api/pkg/plugin/apis/v1alpha1/types.go index 490b04dd022d..2af4d837d299 100644 --- a/modules/api/pkg/plugin/apis/v1alpha1/types.go +++ b/modules/api/pkg/plugin/apis/v1alpha1/types.go @@ -20,7 +20,6 @@ import ( ) // +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // Plugin holds the object information for Plugin kind, it also implements runtime.Object type Plugin struct { diff --git a/modules/api/pkg/plugin/client/clientset/versioned/clientset.go b/modules/api/pkg/plugin/client/clientset/clientset.go similarity index 80% rename from modules/api/pkg/plugin/client/clientset/versioned/clientset.go rename to modules/api/pkg/plugin/client/clientset/clientset.go index 71195a23a76f..0f08fe35886c 100644 --- a/modules/api/pkg/plugin/client/clientset/versioned/clientset.go +++ b/modules/api/pkg/plugin/client/clientset/clientset.go @@ -1,29 +1,31 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ // Code generated by client-gen. DO NOT EDIT. -package versioned +package clientset import ( "fmt" "net/http" - dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1" discovery "k8s.io/client-go/discovery" rest "k8s.io/client-go/rest" flowcontrol "k8s.io/client-go/util/flowcontrol" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/typed/apis/v1alpha1" ) type Interface interface { @@ -59,10 +61,6 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { func NewForConfig(c *rest.Config) (*Clientset, error) { configShallowCopy := *c - if configShallowCopy.UserAgent == "" { - configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent() - } - // share the transport between all clients httpClient, err := rest.HTTPClientFor(&configShallowCopy) if err != nil { diff --git a/modules/api/pkg/plugin/client/clientset/doc.go b/modules/api/pkg/plugin/client/clientset/doc.go new file mode 100644 index 000000000000..ee865e56d1dd --- /dev/null +++ b/modules/api/pkg/plugin/client/clientset/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package clientset diff --git a/modules/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go b/modules/api/pkg/plugin/client/clientset/fake/clientset_generated.go similarity index 73% rename from modules/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go rename to modules/api/pkg/plugin/client/clientset/fake/clientset_generated.go index 0b5becbdd967..cb96dc7f58fe 100644 --- a/modules/api/pkg/plugin/client/clientset/versioned/fake/clientset_generated.go +++ b/modules/api/pkg/plugin/client/clientset/fake/clientset_generated.go @@ -1,30 +1,32 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ // Code generated by client-gen. DO NOT EDIT. package fake import ( - clientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" - dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1" - fakedashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/discovery" fakediscovery "k8s.io/client-go/discovery/fake" "k8s.io/client-go/testing" + clientset "k8s.io/dashboard/api/pkg/plugin/client/clientset" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/typed/apis/v1alpha1" + fakedashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/modules/api/pkg/plugin/client/clientset/fake/doc.go b/modules/api/pkg/plugin/client/clientset/fake/doc.go new file mode 100644 index 000000000000..9b99e7167091 --- /dev/null +++ b/modules/api/pkg/plugin/client/clientset/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/modules/api/pkg/plugin/client/clientset/versioned/fake/register.go b/modules/api/pkg/plugin/client/clientset/fake/register.go similarity index 68% rename from modules/api/pkg/plugin/client/clientset/versioned/fake/register.go rename to modules/api/pkg/plugin/client/clientset/fake/register.go index cf4443c2c217..da6c365d6c8f 100644 --- a/modules/api/pkg/plugin/client/clientset/versioned/fake/register.go +++ b/modules/api/pkg/plugin/client/clientset/fake/register.go @@ -1,28 +1,30 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ // Code generated by client-gen. DO NOT EDIT. package fake import ( - dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" serializer "k8s.io/apimachinery/pkg/runtime/serializer" utilruntime "k8s.io/apimachinery/pkg/util/runtime" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" ) var scheme = runtime.NewScheme() diff --git a/modules/api/pkg/plugin/client/clientset/scheme/doc.go b/modules/api/pkg/plugin/client/clientset/scheme/doc.go new file mode 100644 index 000000000000..7dc3756168fa --- /dev/null +++ b/modules/api/pkg/plugin/client/clientset/scheme/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/modules/api/pkg/plugin/client/clientset/versioned/scheme/register.go b/modules/api/pkg/plugin/client/clientset/scheme/register.go similarity index 69% rename from modules/api/pkg/plugin/client/clientset/versioned/scheme/register.go rename to modules/api/pkg/plugin/client/clientset/scheme/register.go index e6d8fbfc85bb..45df318bdfb4 100644 --- a/modules/api/pkg/plugin/client/clientset/versioned/scheme/register.go +++ b/modules/api/pkg/plugin/client/clientset/scheme/register.go @@ -1,28 +1,30 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ // Code generated by client-gen. DO NOT EDIT. package scheme import ( - dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" serializer "k8s.io/apimachinery/pkg/runtime/serializer" utilruntime "k8s.io/apimachinery/pkg/util/runtime" + dashboardv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" ) var Scheme = runtime.NewScheme() diff --git a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/apis_client.go similarity index 79% rename from modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go rename to modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/apis_client.go index 404a14512225..1de5c6df3492 100644 --- a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go +++ b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/apis_client.go @@ -1,16 +1,18 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ // Code generated by client-gen. DO NOT EDIT. @@ -19,9 +21,9 @@ package v1alpha1 import ( "net/http" - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/scheme" rest "k8s.io/client-go/rest" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + "k8s.io/dashboard/api/pkg/plugin/client/clientset/scheme" ) type DashboardV1alpha1Interface interface { diff --git a/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/doc.go b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/doc.go new file mode 100644 index 000000000000..df51baa4d4c1 --- /dev/null +++ b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1alpha1 diff --git a/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/doc.go b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/doc.go new file mode 100644 index 000000000000..16f44399065e --- /dev/null +++ b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/fake_apis_client.go b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/fake_apis_client.go new file mode 100644 index 000000000000..fced05dbb750 --- /dev/null +++ b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/fake_apis_client.go @@ -0,0 +1,40 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/typed/apis/v1alpha1" +) + +type FakeDashboardV1alpha1 struct { + *testing.Fake +} + +func (c *FakeDashboardV1alpha1) Plugins(namespace string) v1alpha1.PluginInterface { + return &FakePlugins{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeDashboardV1alpha1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/fake_plugin.go similarity index 87% rename from modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go rename to modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/fake_plugin.go index 64503de6aa1b..44b9d72567a8 100644 --- a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_plugin.go +++ b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/fake/fake_plugin.go @@ -1,16 +1,18 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ // Code generated by client-gen. DO NOT EDIT. @@ -19,13 +21,13 @@ package fake import ( "context" - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" ) // FakePlugins implements PluginInterface diff --git a/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/generated_expansion.go b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/generated_expansion.go new file mode 100644 index 000000000000..05b0324bfa9e --- /dev/null +++ b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/generated_expansion.go @@ -0,0 +1,21 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +type PluginExpansion interface{} diff --git a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/plugin.go similarity index 88% rename from modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go rename to modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/plugin.go index af2e7a98f8bb..aeb51b7e2590 100644 --- a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/plugin.go +++ b/modules/api/pkg/plugin/client/clientset/typed/apis/v1alpha1/plugin.go @@ -1,16 +1,18 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ // Code generated by client-gen. DO NOT EDIT. @@ -20,12 +22,12 @@ import ( "context" "time" - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - scheme "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" rest "k8s.io/client-go/rest" + v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + scheme "k8s.io/dashboard/api/pkg/plugin/client/clientset/scheme" ) // PluginsGetter has a method to return a PluginInterface. diff --git a/modules/api/pkg/plugin/client/clientset/versioned/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/doc.go deleted file mode 100644 index 9e5158cd5df5..000000000000 --- a/modules/api/pkg/plugin/client/clientset/versioned/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by client-gen. DO NOT EDIT. - -// This package has the automatically generated clientset. -package versioned diff --git a/modules/api/pkg/plugin/client/clientset/versioned/fake/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/fake/doc.go deleted file mode 100644 index f746cb888575..000000000000 --- a/modules/api/pkg/plugin/client/clientset/versioned/fake/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by client-gen. DO NOT EDIT. - -// This package has the automatically generated fake clientset. -package fake diff --git a/modules/api/pkg/plugin/client/clientset/versioned/scheme/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/scheme/doc.go deleted file mode 100644 index 7c13e40fdda0..000000000000 --- a/modules/api/pkg/plugin/client/clientset/versioned/scheme/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by client-gen. DO NOT EDIT. - -// This package contains the scheme of the automatically generated clientset. -package scheme diff --git a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go deleted file mode 100644 index 42ba49ef275a..000000000000 --- a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by client-gen. DO NOT EDIT. - -// This package has the automatically generated typed clients. -package v1alpha1 diff --git a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go deleted file mode 100644 index 9d02b28e2b1c..000000000000 --- a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by client-gen. DO NOT EDIT. - -// Package fake has the automatically generated clients. -package fake diff --git a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go deleted file mode 100644 index 966313ef21ba..000000000000 --- a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1" - rest "k8s.io/client-go/rest" - testing "k8s.io/client-go/testing" -) - -type FakeDashboardV1alpha1 struct { - *testing.Fake -} - -func (c *FakeDashboardV1alpha1) Plugins(namespace string) v1alpha1.PluginInterface { - return &FakePlugins{c, namespace} -} - -// RESTClient returns a RESTClient that is used to communicate -// with API server by this client implementation. -func (c *FakeDashboardV1alpha1) RESTClient() rest.Interface { - var ret *rest.RESTClient - return ret -} diff --git a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go b/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go deleted file mode 100644 index 062e8e957bfd..000000000000 --- a/modules/api/pkg/plugin/client/clientset/versioned/typed/apis/v1alpha1/generated_expansion.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by client-gen. DO NOT EDIT. - -package v1alpha1 - -type PluginExpansion interface{} diff --git a/modules/api/pkg/plugin/client/informers/externalversions/apis/interface.go b/modules/api/pkg/plugin/client/informers/externalversions/apis/interface.go deleted file mode 100644 index efc6f600d889..000000000000 --- a/modules/api/pkg/plugin/client/informers/externalversions/apis/interface.go +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by informer-gen. DO NOT EDIT. - -package apis - -import ( - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1" - internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" -) - -// Interface provides access to each of this group's versions. -type Interface interface { - // V1alpha1 provides access to shared informers for resources in V1alpha1. - V1alpha1() v1alpha1.Interface -} - -type group struct { - factory internalinterfaces.SharedInformerFactory - namespace string - tweakListOptions internalinterfaces.TweakListOptionsFunc -} - -// New returns a new Interface. -func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { - return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} -} - -// V1alpha1 returns a new v1alpha1.Interface. -func (g *group) V1alpha1() v1alpha1.Interface { - return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions) -} diff --git a/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go b/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go deleted file mode 100644 index a6f2ef1f7dda..000000000000 --- a/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/interface.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by informer-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" -) - -// Interface provides access to all the informers in this group version. -type Interface interface { - // Plugins returns a PluginInformer. - Plugins() PluginInformer -} - -type version struct { - factory internalinterfaces.SharedInformerFactory - namespace string - tweakListOptions internalinterfaces.TweakListOptionsFunc -} - -// New returns a new Interface. -func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { - return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} -} - -// Plugins returns a PluginInformer. -func (v *version) Plugins() PluginInformer { - return &pluginInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} -} diff --git a/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go b/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go deleted file mode 100644 index 874e2ff539ab..000000000000 --- a/modules/api/pkg/plugin/client/informers/externalversions/apis/v1alpha1/plugin.go +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by informer-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - "context" - time "time" - - apisv1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - versioned "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" - internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/client/listers/apis/v1alpha1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" -) - -// PluginInformer provides access to a shared informer and lister for -// Plugins. -type PluginInformer interface { - Informer() cache.SharedIndexInformer - Lister() v1alpha1.PluginLister -} - -type pluginInformer struct { - factory internalinterfaces.SharedInformerFactory - tweakListOptions internalinterfaces.TweakListOptionsFunc - namespace string -} - -// NewPluginInformer constructs a new informer for Plugin type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewPluginInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredPluginInformer(client, namespace, resyncPeriod, indexers, nil) -} - -// NewFilteredPluginInformer constructs a new informer for Plugin type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewFilteredPluginInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( - &cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.DashboardV1alpha1().Plugins(namespace).List(context.TODO(), options) - }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.DashboardV1alpha1().Plugins(namespace).Watch(context.TODO(), options) - }, - }, - &apisv1alpha1.Plugin{}, - resyncPeriod, - indexers, - ) -} - -func (f *pluginInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredPluginInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) -} - -func (f *pluginInformer) Informer() cache.SharedIndexInformer { - return f.factory.InformerFor(&apisv1alpha1.Plugin{}, f.defaultInformer) -} - -func (f *pluginInformer) Lister() v1alpha1.PluginLister { - return v1alpha1.NewPluginLister(f.Informer().GetIndexer()) -} diff --git a/modules/api/pkg/plugin/client/informers/externalversions/factory.go b/modules/api/pkg/plugin/client/informers/externalversions/factory.go deleted file mode 100644 index aac6df05ee0f..000000000000 --- a/modules/api/pkg/plugin/client/informers/externalversions/factory.go +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by informer-gen. DO NOT EDIT. - -package externalversions - -import ( - reflect "reflect" - sync "sync" - time "time" - - versioned "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" - apis "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/apis" - internalinterfaces "k8s.io/dashboard/api/pkg/plugin/client/informers/externalversions/internalinterfaces" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - cache "k8s.io/client-go/tools/cache" -) - -// SharedInformerOption defines the functional option type for SharedInformerFactory. -type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory - -type sharedInformerFactory struct { - client versioned.Interface - namespace string - tweakListOptions internalinterfaces.TweakListOptionsFunc - lock sync.Mutex - defaultResync time.Duration - customResync map[reflect.Type]time.Duration - - informers map[reflect.Type]cache.SharedIndexInformer - // startedInformers is used for tracking which informers have been started. - // This allows Start() to be called multiple times safely. - startedInformers map[reflect.Type]bool -} - -// WithCustomResyncConfig sets a custom resync period for the specified informer types. -func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { - return func(factory *sharedInformerFactory) *sharedInformerFactory { - for k, v := range resyncConfig { - factory.customResync[reflect.TypeOf(k)] = v - } - return factory - } -} - -// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. -func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { - return func(factory *sharedInformerFactory) *sharedInformerFactory { - factory.tweakListOptions = tweakListOptions - return factory - } -} - -// WithNamespace limits the SharedInformerFactory to the specified namespace. -func WithNamespace(namespace string) SharedInformerOption { - return func(factory *sharedInformerFactory) *sharedInformerFactory { - factory.namespace = namespace - return factory - } -} - -// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. -func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { - return NewSharedInformerFactoryWithOptions(client, defaultResync) -} - -// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. -// Listers obtained via this SharedInformerFactory will be subject to the same filters -// as specified here. -// Deprecated: Please use NewSharedInformerFactoryWithOptions instead -func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { - return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) -} - -// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. -func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { - factory := &sharedInformerFactory{ - client: client, - namespace: v1.NamespaceAll, - defaultResync: defaultResync, - informers: make(map[reflect.Type]cache.SharedIndexInformer), - startedInformers: make(map[reflect.Type]bool), - customResync: make(map[reflect.Type]time.Duration), - } - - // Apply all options - for _, opt := range options { - factory = opt(factory) - } - - return factory -} - -// Start initializes all requested informers. -func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { - f.lock.Lock() - defer f.lock.Unlock() - - for informerType, informer := range f.informers { - if !f.startedInformers[informerType] { - go informer.Run(stopCh) - f.startedInformers[informerType] = true - } - } -} - -// WaitForCacheSync waits for all started informers' cache were synced. -func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { - informers := func() map[reflect.Type]cache.SharedIndexInformer { - f.lock.Lock() - defer f.lock.Unlock() - - informers := map[reflect.Type]cache.SharedIndexInformer{} - for informerType, informer := range f.informers { - if f.startedInformers[informerType] { - informers[informerType] = informer - } - } - return informers - }() - - res := map[reflect.Type]bool{} - for informType, informer := range informers { - res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) - } - return res -} - -// InternalInformerFor returns the SharedIndexInformer for obj using an internal -// client. -func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { - f.lock.Lock() - defer f.lock.Unlock() - - informerType := reflect.TypeOf(obj) - informer, exists := f.informers[informerType] - if exists { - return informer - } - - resyncPeriod, exists := f.customResync[informerType] - if !exists { - resyncPeriod = f.defaultResync - } - - informer = newFunc(f.client, resyncPeriod) - f.informers[informerType] = informer - - return informer -} - -// SharedInformerFactory provides shared informers for resources in all known -// API group versions. -type SharedInformerFactory interface { - internalinterfaces.SharedInformerFactory - ForResource(resource schema.GroupVersionResource) (GenericInformer, error) - WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool - - Dashboard() apis.Interface -} - -func (f *sharedInformerFactory) Dashboard() apis.Interface { - return apis.New(f, f.namespace, f.tweakListOptions) -} diff --git a/modules/api/pkg/plugin/client/informers/externalversions/generic.go b/modules/api/pkg/plugin/client/informers/externalversions/generic.go deleted file mode 100644 index b18766698f9c..000000000000 --- a/modules/api/pkg/plugin/client/informers/externalversions/generic.go +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by informer-gen. DO NOT EDIT. - -package externalversions - -import ( - "fmt" - - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - schema "k8s.io/apimachinery/pkg/runtime/schema" - cache "k8s.io/client-go/tools/cache" -) - -// GenericInformer is type of SharedIndexInformer which will locate and delegate to other -// sharedInformers based on type -type GenericInformer interface { - Informer() cache.SharedIndexInformer - Lister() cache.GenericLister -} - -type genericInformer struct { - informer cache.SharedIndexInformer - resource schema.GroupResource -} - -// Informer returns the SharedIndexInformer. -func (f *genericInformer) Informer() cache.SharedIndexInformer { - return f.informer -} - -// Lister returns the GenericLister. -func (f *genericInformer) Lister() cache.GenericLister { - return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) -} - -// ForResource gives generic access to a shared informer of the matching type -// TODO extend this to unknown resources with a client pool -func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { - switch resource { - // Group=dashboard.k8s.io, Version=v1alpha1 - case v1alpha1.SchemeGroupVersion.WithResource("plugins"): - return &genericInformer{resource: resource.GroupResource(), informer: f.Dashboard().V1alpha1().Plugins().Informer()}, nil - - } - - return nil, fmt.Errorf("no informer found for %v", resource) -} diff --git a/modules/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/modules/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go deleted file mode 100644 index e3798e7158e7..000000000000 --- a/modules/api/pkg/plugin/client/informers/externalversions/internalinterfaces/factory_interfaces.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by informer-gen. DO NOT EDIT. - -package internalinterfaces - -import ( - time "time" - - versioned "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - cache "k8s.io/client-go/tools/cache" -) - -// NewInformerFunc takes versioned.Interface and time.Duration to return a SharedIndexInformer. -type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer - -// SharedInformerFactory a small interface to allow for adding an informer without an import cycle -type SharedInformerFactory interface { - Start(stopCh <-chan struct{}) - InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer -} - -// TweakListOptionsFunc is a function that transforms a v1.ListOptions. -type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/modules/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go b/modules/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go deleted file mode 100644 index dd8a8221eb3b..000000000000 --- a/modules/api/pkg/plugin/client/listers/apis/v1alpha1/expansion_generated.go +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by lister-gen. DO NOT EDIT. - -package v1alpha1 - -// PluginListerExpansion allows custom methods to be added to -// PluginLister. -type PluginListerExpansion interface{} - -// PluginNamespaceListerExpansion allows custom methods to be added to -// PluginNamespaceLister. -type PluginNamespaceListerExpansion interface{} diff --git a/modules/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go b/modules/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go deleted file mode 100644 index 62b6b91ab5bc..000000000000 --- a/modules/api/pkg/plugin/client/listers/apis/v1alpha1/plugin.go +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by lister-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - v1alpha1 "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" -) - -// PluginLister helps list Plugins. -// All objects returned here must be treated as read-only. -type PluginLister interface { - // List lists all Plugins in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1alpha1.Plugin, err error) - // Plugins returns an object that can list and get Plugins. - Plugins(namespace string) PluginNamespaceLister - PluginListerExpansion -} - -// pluginLister implements the PluginLister interface. -type pluginLister struct { - indexer cache.Indexer -} - -// NewPluginLister returns a new PluginLister. -func NewPluginLister(indexer cache.Indexer) PluginLister { - return &pluginLister{indexer: indexer} -} - -// List lists all Plugins in the indexer. -func (s *pluginLister) List(selector labels.Selector) (ret []*v1alpha1.Plugin, err error) { - err = cache.ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(*v1alpha1.Plugin)) - }) - return ret, err -} - -// Plugins returns an object that can list and get Plugins. -func (s *pluginLister) Plugins(namespace string) PluginNamespaceLister { - return pluginNamespaceLister{indexer: s.indexer, namespace: namespace} -} - -// PluginNamespaceLister helps list and get Plugins. -// All objects returned here must be treated as read-only. -type PluginNamespaceLister interface { - // List lists all Plugins in the indexer for a given namespace. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1alpha1.Plugin, err error) - // Get retrieves the Plugin from the indexer for a given namespace and name. - // Objects returned here must be treated as read-only. - Get(name string) (*v1alpha1.Plugin, error) - PluginNamespaceListerExpansion -} - -// pluginNamespaceLister implements the PluginNamespaceLister -// interface. -type pluginNamespaceLister struct { - indexer cache.Indexer - namespace string -} - -// List lists all Plugins in the indexer for a given namespace. -func (s pluginNamespaceLister) List(selector labels.Selector) (ret []*v1alpha1.Plugin, err error) { - err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*v1alpha1.Plugin)) - }) - return ret, err -} - -// Get retrieves the Plugin from the indexer for a given namespace and name. -func (s pluginNamespaceLister) Get(name string) (*v1alpha1.Plugin, error) { - obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(v1alpha1.Resource("plugin"), name) - } - return obj.(*v1alpha1.Plugin), nil -} diff --git a/modules/api/pkg/plugin/config.go b/modules/api/pkg/plugin/config.go index 3e776620ae8b..4000d677073c 100644 --- a/modules/api/pkg/plugin/config.go +++ b/modules/api/pkg/plugin/config.go @@ -19,6 +19,7 @@ import ( "github.com/emicklei/go-restful/v3" apiErrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/dashboard/api/pkg/handler/parser" ) diff --git a/modules/api/pkg/plugin/config_test.go b/modules/api/pkg/plugin/config_test.go index 9d1ad75305a9..09c221a57c71 100644 --- a/modules/api/pkg/plugin/config_test.go +++ b/modules/api/pkg/plugin/config_test.go @@ -20,13 +20,7 @@ import ( "net/http/httptest" "testing" - "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - "github.com/emicklei/go-restful/v3" - authApi "k8s.io/dashboard/api/pkg/auth/api" - clientapi "k8s.io/dashboard/api/pkg/client/api" - "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" - fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/fake" v1 "k8s.io/api/authorization/v1" coreV1 "k8s.io/api/core/v1" "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" @@ -36,6 +30,12 @@ import ( "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" + + authApi "k8s.io/dashboard/api/pkg/auth/api" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset" + fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/fake" ) func Test_handleConfig(t *testing.T) { @@ -67,7 +67,7 @@ func Test_handleConfig(t *testing.T) { type fakeClientManager struct { k8sClient kubernetes.Interface - pluginClient versioned.Interface + pluginClient pluginclientset.Interface } func (cm *fakeClientManager) Client(req *restful.Request) (kubernetes.Interface, error) { @@ -85,7 +85,7 @@ func (cm *fakeClientManager) APIExtensionsClient(req *restful.Request) (clientse panic("implement me") } -func (cm *fakeClientManager) PluginClient(req *restful.Request) (versioned.Interface, error) { +func (cm *fakeClientManager) PluginClient(req *restful.Request) (pluginclientset.Interface, error) { if cm.pluginClient == nil { cm.pluginClient = fakePluginClientset.NewSimpleClientset() } @@ -96,7 +96,7 @@ func (cm *fakeClientManager) InsecureAPIExtensionsClient() clientset.Interface { panic("implement me") } -func (cm *fakeClientManager) InsecurePluginClient() versioned.Interface { +func (cm *fakeClientManager) InsecurePluginClient() pluginclientset.Interface { if cm.pluginClient == nil { cm.pluginClient = fakePluginClientset.NewSimpleClientset() } diff --git a/modules/api/pkg/plugin/detail.go b/modules/api/pkg/plugin/detail.go index 94691ced39b2..5aab3e2a34c7 100644 --- a/modules/api/pkg/plugin/detail.go +++ b/modules/api/pkg/plugin/detail.go @@ -19,7 +19,8 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset" ) // GetPluginSource has the logic to get the actual plugin source code from information in Plugin.Spec diff --git a/modules/api/pkg/plugin/detail_test.go b/modules/api/pkg/plugin/detail_test.go index 61910b37d485..35e0db488c78 100644 --- a/modules/api/pkg/plugin/detail_test.go +++ b/modules/api/pkg/plugin/detail_test.go @@ -22,13 +22,13 @@ import ( "testing" "github.com/emicklei/go-restful/v3" - coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" fakeK8sClient "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/fake" + fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/fake" ) var srcData = "randomPluginSourceCode" diff --git a/modules/api/pkg/plugin/handler.go b/modules/api/pkg/plugin/handler.go index 95b1915a9f23..dfb42573eac9 100644 --- a/modules/api/pkg/plugin/handler.go +++ b/modules/api/pkg/plugin/handler.go @@ -22,6 +22,7 @@ import ( "k8s.io/dashboard/api/pkg/handler/parser" "github.com/emicklei/go-restful/v3" + clientapi "k8s.io/dashboard/api/pkg/client/api" "k8s.io/dashboard/api/pkg/errors" ) diff --git a/modules/api/pkg/plugin/list.go b/modules/api/pkg/plugin/list.go index 824f8f2faee7..f1fe2ee90b01 100644 --- a/modules/api/pkg/plugin/list.go +++ b/modules/api/pkg/plugin/list.go @@ -19,10 +19,11 @@ import ( "fmt" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned" + pluginclientset "k8s.io/dashboard/api/pkg/plugin/client/clientset" "k8s.io/dashboard/api/pkg/resource/dataselect" ) diff --git a/modules/api/pkg/plugin/list_test.go b/modules/api/pkg/plugin/list_test.go index 8293e547ffe5..9594e201107c 100644 --- a/modules/api/pkg/plugin/list_test.go +++ b/modules/api/pkg/plugin/list_test.go @@ -21,14 +21,13 @@ import ( "testing" "github.com/emicklei/go-restful/v3" - - "k8s.io/dashboard/api/pkg/resource/dataselect" - - "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" - fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/versioned/fake" coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + "k8s.io/dashboard/api/pkg/plugin/apis/v1alpha1" + fakePluginClientset "k8s.io/dashboard/api/pkg/plugin/client/clientset/fake" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetPluginList(t *testing.T) { diff --git a/modules/common/certificates/go.mod b/modules/common/certificates/go.mod index 8911125f43b9..1ab395ee773a 100644 --- a/modules/common/certificates/go.mod +++ b/modules/common/certificates/go.mod @@ -3,8 +3,8 @@ module k8s.io/dashboard/certificates go 1.18 require ( - k8s.io/api v0.23.6 - k8s.io/apimachinery v0.23.6 + k8s.io/api v0.24.1 + k8s.io/apimachinery v0.24.1 ) require ( @@ -21,8 +21,8 @@ require ( golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + k8s.io/klog/v2 v2.60.1 // indirect + k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect + sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect ) diff --git a/modules/common/certificates/go.sum b/modules/common/certificates/go.sum index faf6b2c28e3d..3a324541b424 100644 --- a/modules/common/certificates/go.sum +++ b/modules/common/certificates/go.sum @@ -3,6 +3,7 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -43,18 +44,18 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -104,6 +105,7 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -129,8 +131,9 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -150,15 +153,15 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -176,6 +179,7 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -219,21 +223,21 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.23.6 h1:yOK34wbYECH4RsJbQ9sfkFK3O7f/DUHRlzFehkqZyVw= -k8s.io/api v0.23.6/go.mod h1:1kFaYxGCFHYp3qd6a85DAj/yW8aVD6XLZMqJclkoi9g= -k8s.io/apimachinery v0.23.6 h1:RH1UweWJkWNTlFx0D8uxOpaU1tjIOvVVWV/bu5b3/NQ= -k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= +k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= +k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= +k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= diff --git a/modules/common/tools/Makefile b/modules/common/tools/Makefile index bdafe4e0cfb1..912184bee233 100644 --- a/modules/common/tools/Makefile +++ b/modules/common/tools/Makefile @@ -1,6 +1,7 @@ LICENSE_EYE_BINARY := $(shell which license-eye) AIR_BINARY := $(shell which air) GOLANGCI_LINT_BINARY := $(shell which golangci-lint) +CLIENT_GEN_BINARY := $(shell which client-gen) GO_BINARY := $(shell which go) GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) @@ -9,7 +10,7 @@ MIN_GO_MAJOR_VERSION = 1 MIN_GO_MINOR_VERSION = 18 .PHONY: install -install: ensure-go install-license-eye install-air install-golangci-lint +install: ensure-go install-license-eye install-air install-golangci-lint install-client-gen .PHONY: ensure-go ensure-go: @@ -51,3 +52,11 @@ else @echo "[tools] golangci-lint already exists" endif +.PHONY: install-client-gen +install-client-gen: +ifndef CLIENT_GEN_BINARY + @echo "[tools] downloading client-gen..." + @go install k8s.io/code-generator +else + @echo "[tools] client-gen already exists" +endif diff --git a/modules/common/tools/go.mod b/modules/common/tools/go.mod index 5ec3b537c5a3..ef517a2565c1 100644 --- a/modules/common/tools/go.mod +++ b/modules/common/tools/go.mod @@ -6,6 +6,7 @@ require ( github.com/apache/skywalking-eyes v0.2.0 github.com/cosmtrek/air v1.29.0 github.com/golangci/golangci-lint v1.46.0 + k8s.io/code-generator v0.24.1 ) require ( @@ -17,6 +18,8 @@ require ( github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/OpenPeeDeeP/depguard v1.1.0 // indirect + github.com/PuerkitoBio/purell v1.1.1 // indirect + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect github.com/ashanbrown/forbidigo v1.3.0 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect @@ -34,6 +37,7 @@ require ( github.com/daixiang0/gci v0.3.3 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect + github.com/emicklei/go-restful v2.9.5+incompatible // indirect github.com/esimonov/ifshort v1.0.4 // indirect github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/color v1.13.0 // indirect @@ -42,6 +46,10 @@ require ( github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/fzipp/gocyclo v0.5.1 // indirect github.com/go-critic/go-critic v0.6.3 // indirect + github.com/go-logr/logr v1.2.0 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/jsonreference v0.19.5 // indirect + github.com/go-openapi/swag v0.19.14 // indirect github.com/go-toolsmith/astcast v1.0.0 // indirect github.com/go-toolsmith/astcopy v1.0.0 // indirect github.com/go-toolsmith/astequal v1.0.1 // indirect @@ -80,6 +88,8 @@ require ( github.com/jgautheron/goconst v1.5.1 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect github.com/julz/importas v0.1.0 // indirect github.com/kisielk/errcheck v1.6.0 // indirect github.com/kisielk/gotool v1.0.0 // indirect @@ -91,6 +101,7 @@ require ( github.com/leonklingele/grouper v1.1.0 // indirect github.com/lufeee/execinquery v1.0.0 // indirect github.com/magiconair/properties v1.8.6 // indirect + github.com/mailru/easyjson v0.7.6 // indirect github.com/maratori/testpackage v1.0.1 // indirect github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect github.com/mattn/go-colorable v0.1.12 // indirect @@ -101,6 +112,8 @@ require ( github.com/mgechev/revive v1.2.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect github.com/moricho/tparallel v0.2.1 // indirect github.com/nakabonne/nestif v0.3.1 // indirect github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect @@ -170,8 +183,12 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect honnef.co/go/tools v0.3.1 // indirect + k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 // indirect + k8s.io/klog/v2 v2.60.1 // indirect + k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect mvdan.cc/gofumpt v0.3.1 // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5 // indirect + sigs.k8s.io/yaml v1.2.0 // indirect ) diff --git a/modules/common/tools/go.sum b/modules/common/tools/go.sum index fcf4999f2ded..685df9f7258d 100644 --- a/modules/common/tools/go.sum +++ b/modules/common/tools/go.sum @@ -79,9 +79,14 @@ github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3Q github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard v1.1.0 h1:pjK9nLPS1FwQYGGpPxoMYpe7qACHOhAWQMQzV71i49o= github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -100,6 +105,7 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/ashanbrown/forbidigo v1.3.0 h1:VkYIwb/xxdireGAdJNZoo24O4lmnEWkactplBlWTShc= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= @@ -181,8 +187,12 @@ github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20 github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -215,6 +225,7 @@ github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmV github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= github.com/fzipp/gocyclo v0.5.1 h1:L66amyuYogbxl0j2U+vGqJXusPF2IkduvXLnYD5TFgw= github.com/fzipp/gocyclo v0.5.1/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-critic/go-critic v0.6.3 h1:abibh5XYBTASawfTQ0rA7dVtQT+6KzpGqb/J+DxRDaw= github.com/go-critic/go-critic v0.6.3/go.mod h1:c6b3ZP1MQ7o6lPR7Rv3lEf7pYQUmAcx8ABHgdZCQt/k= @@ -227,6 +238,19 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= @@ -321,6 +345,7 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -340,6 +365,8 @@ github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhA github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -477,12 +504,15 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= @@ -536,6 +566,10 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= @@ -565,6 +599,7 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= @@ -593,15 +628,18 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= @@ -625,14 +663,17 @@ github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXW github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -760,6 +801,7 @@ github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0H github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -785,6 +827,7 @@ github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YE github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -955,6 +998,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1073,6 +1117,7 @@ golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1197,6 +1242,7 @@ golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1238,6 +1284,7 @@ golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a h1:ofrrl6c6NG5/IOSx/R1cyiQxxjqlur0h/TvbUhkH0II= golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= @@ -1330,6 +1377,7 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1460,6 +1508,18 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.3.1 h1:1kJlrWJLkaGXgcaeosRXViwviqjI7nkBvU2+sZW0AYc= honnef.co/go/tools v0.3.1/go.mod h1:vlRD9XErLMGT+mDuofSr0mMMquscM/1nQqtRSsh6m70= +k8s.io/code-generator v0.24.1 h1:zS+dvmUNaOcvsQ4faV9hXNjsKG9/pQaLnts1Wma4RM8= +k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 h1:TT1WdmqqXareKxZ/oNXEUSwKlLiHzPMyB0t8BaFeBYI= +k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= mvdan.cc/gofumpt v0.3.1 h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8= mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= @@ -1471,4 +1531,8 @@ mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5/go.mod h1:b8RRCBm0eeiWR8cfN8 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/modules/common/tools/main.go b/modules/common/tools/main.go index ba1c0a34778f..9acf771b3629 100644 --- a/modules/common/tools/main.go +++ b/modules/common/tools/main.go @@ -16,6 +16,9 @@ package tools -import _ "github.com/apache/skywalking-eyes/cmd/license-eye" -import _ "github.com/cosmtrek/air" -import _ "github.com/golangci/golangci-lint/cmd/golangci-lint" +import ( + _ "github.com/apache/skywalking-eyes/cmd/license-eye" + _ "github.com/cosmtrek/air" + _ "github.com/golangci/golangci-lint/cmd/golangci-lint" + _ "k8s.io/code-generator" +) diff --git a/modules/go.work.sum b/modules/go.work.sum index ac8d8a2fae1f..901cdf599df4 100644 --- a/modules/go.work.sum +++ b/modules/go.work.sum @@ -1,3 +1 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= diff --git a/modules/web/Dockerfile b/modules/web/Dockerfile index 5fa523c20678..04ebbcb4e8ed 100644 --- a/modules/web/Dockerfile +++ b/modules/web/Dockerfile @@ -15,21 +15,21 @@ # Main Dockerfile of the project. It creates an image that serves the application. This image should # be built from the dist directory. -ARG BUILDPLATFORM +ARG TARGETPLATFORM -FROM --platform=$BUILDPLATFORM ubuntu:20.04 as builder +FROM --platform=$TARGETPLATFORM ubuntu:20.04 as builder # Create a nonroot user for final image RUN useradd -u 10001 nonroot # Scratch can be used as the base image because the backend is compiled to include all # its dependencies. -FROM --platform=$BUILDPLATFORM scratch as final +FROM --platform=$TARGETPLATFORM scratch as final +ARG TARGETARCH # Add all files from current working directory to the root of the image, i.e., copy dist directory # layout to the root directory. -# TODO: support multi-arch build -ADD .dist/web/amd64 / +ADD .dist/web/$TARGETARCH / # Copy nonroot user COPY --from=builder /etc/passwd /etc/passwd @@ -37,4 +37,4 @@ USER nonroot # The port that the application listens on. EXPOSE 8000 8001 -ENTRYPOINT ["/dashboard", "--insecure-bind-address=0.0.0.0", "--bind-address=0.0.0.0"] +ENTRYPOINT ["/dashboard-web", "--insecure-bind-address=0.0.0.0", "--bind-address=0.0.0.0"] diff --git a/modules/web/go.mod b/modules/web/go.mod index 3328185e82ed..03be8ddc64b8 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -17,14 +17,12 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/stretchr/testify v1.7.1 // indirect golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect - golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/api v0.23.6 // indirect k8s.io/apimachinery v0.23.6 // indirect - k8s.io/klog/v2 v2.30.0 // indirect + k8s.io/klog/v2 v2.60.1 // indirect k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect diff --git a/modules/web/go.sum b/modules/web/go.sum index b1d8d1201549..4370e2eb1a14 100644 --- a/modules/web/go.sum +++ b/modules/web/go.sum @@ -51,6 +51,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -133,6 +134,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -228,8 +230,9 @@ k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hr k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= diff --git a/modules/web/scripts/build.sh b/modules/web/scripts/build.sh index 35e268d3a071..8d02dd7a30a7 100755 --- a/modules/web/scripts/build.sh +++ b/modules/web/scripts/build.sh @@ -22,7 +22,7 @@ ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../../.. && pwd -P)" ANGULAR_DIST_DIR="${WEB_DIST_DIR}/angular" GO_MODULE_NAME="k8s.io/dashboard/web" -GO_BINARY_NAME="dashboard" +GO_BINARY_NAME="dashboard-web" function clean { rm -rf "${WEB_DIST_DIR}" From b5da2fbfa74e34ac29c89d45a4c4b3315666fef7 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 8 Jun 2022 17:58:31 +0200 Subject: [PATCH 094/162] Remove leftover i18n from root dir --- i18n/de/messages.de.xlf | 6565 --------------------------------------- i18n/ja/messages.ja.xlf | 6556 -------------------------------------- modules/go.work.sum | 2 +- 3 files changed, 1 insertion(+), 13122 deletions(-) delete mode 100644 i18n/de/messages.de.xlf delete mode 100644 i18n/ja/messages.ja.xlf diff --git a/i18n/de/messages.de.xlf b/i18n/de/messages.de.xlf deleted file mode 100644 index 5bff3251081a..000000000000 --- a/i18n/de/messages.de.xlf +++ /dev/null @@ -1,6565 +0,0 @@ - - - - - - Open notifications panel - Open notifications panel - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - Close notifications panel - - src/app/frontend/index.messages.ts - 22 - - - - Edit a resource - Ressource bearbeiten - - src/app/frontend/common/dialogs/editresource/template.html - 18 - - - - This action is equivalent to: - Diese Aktion ist äquivalent zu: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - - - - Update - Aktualisieren - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - - - - Restart a resource - Restart a resource - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - - - - This action is equivalent to: - This action is equivalent to: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - - - - Cancel - Abbrechen - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - - - - Delete a resource - Ressource löschen - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - - - - Are you sure you want to delete  in namespace ? - - Sind Sie sicher, dass Sie - - im Namespace - - löschen möchten? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - - - - Delete - Löschen - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - - - - Actions - Actions - - src/app/frontend/common/components/list/column/menu/template.html - 66 - - - - Size: B - Größe : B - - src/app/frontend/common/dialogs/download/template.html - 22 - - - - Preparing file to download... - Preparing file to download... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - - File is ready to download! - File is ready to download! - - src/app/frontend/common/dialogs/download/template.html - 29 - - - - Forbidden (403) - Verboten (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - - - - You do not have required permissions to access this resource. - Sie verfügen nicht über die notwendigen Berechtigungen, um auf dieses Ressource zuzugreifen. - - src/app/frontend/common/dialogs/download/template.html - 34 - - - - Save - Speichern - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - - - - Abort - Abbrechen - - src/app/frontend/common/dialogs/download/template.html - 48 - - - - Close - Schließen - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - - - - Logged in with auth header - Logged in with auth header - - src/app/frontend/chrome/userpanel/template.html - 45,46 - - - - Logged in with token - Logged in with token - - src/app/frontend/chrome/userpanel/template.html - 48,49 - - - - Default service account - Default service account - - src/app/frontend/chrome/userpanel/template.html - 51 - - - - Sign in - Sign in - - src/app/frontend/chrome/userpanel/template.html - 67 - - - - Sign out - Sign out - - src/app/frontend/chrome/userpanel/template.html - 71 - - - - Scale a resource - Ressource skalieren - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - - - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - - - - Desired replicas - Gewünschte Anzahl an Replikas - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - - - - Actual replicas - Tatsächliche Anzahl an Replikas - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - - - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - - - - Trigger a - auslösen - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - - - - will be triggered. - wird ausgelöst. - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - - - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - - - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - - - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - - - - Suffix '' not recognized. - Suffix '' not recognized. - - src/app/frontend/common/components/graph/helper.ts - 58 - - - - Workload Status - Status des Workloads - - src/app/frontend/common/components/workloadstatus/template.html - 20 - - - - Cron Jobs - Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - - - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - - - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - - - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - - - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - - - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - - - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - - - - Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - - - - Resource information - Ressourcen-Informationen - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - - - - Workloads - Workloads - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - - - - Config and Storage - Konfiguration und Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - - - - Create new resource - Neue Ressource erstellen - - src/app/frontend/chrome/template.html - 42 - - - - - - - src/app/frontend/chrome/notifications/template.html - 47 - - - - There are no notifications - There are no notifications - - src/app/frontend/chrome/notifications/template.html - 63,65 - - - - Cluster - Cluster - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - - - - Metadata - Metadata - - src/app/frontend/common/components/objectmeta/template.html - 19 - - - - Name:  - Name:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - - - - Namespace:  - Namespace:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - - - - Age:  - Alter:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - - - - Name - Name - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - - - - Namespace - Namespace - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - - - - Age - Alter - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - - - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - - - - Labels - Labels - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - - - - Annotations - Annotations - - src/app/frontend/common/components/objectmeta/template.html - 88 - - - - Show less - Weniger anzeigen - - src/app/frontend/common/components/chips/template.html - 55 - - - - Show all - Alles anzeigen - - src/app/frontend/common/components/chips/template.html - 57 - - - - Filter - Filter - - src/app/frontend/common/components/list/filter/template.html - 29 - - - - Filter objects by name - Objekte nach Namen filtern - - src/app/frontend/common/components/list/filter/template.html - 34 - - - - Logs from - Logs von - - src/app/frontend/logs/template.html - 24 - - - - Containers - Container - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - - - - Init Containers - Init-Container - - src/app/frontend/logs/template.html - 34 - - - - in - in - - src/app/frontend/logs/template.html - 43 - - - - Download logs - Logs herunterladen - - src/app/frontend/logs/template.html - 57 - - - - Invert colors - Farben umkehren - - src/app/frontend/logs/template.html - 131 - - - - Reduce font size - Textgröße reduzieren - - src/app/frontend/logs/template.html - 136 - - - - Show timestamps - Zeitstempel anzeigen - - src/app/frontend/logs/template.html - 141 - - - - Auto-refresh (every s.) - Automatisch aktualisieren (alle s.) - - src/app/frontend/logs/template.html - 146 - - - - Show previous logs - Zeige vorherige Logs - - src/app/frontend/logs/template.html - 151 - - - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - - - - Pod Selector - Pod-Selektor - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - - - - Policy Types - Policy-Typen - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - - - - Ingress Rules - Ingress-Regeln - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - - - - Egress Rules - Egress-Regeln - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - - - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - - - - Path - Path - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - - - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - - - - Path Type - Path Type - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - - - - Service Name - Service Name - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - - - - Service Port - Service Port - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - - - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - - - - Logs - Logs - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - - - - Error - Error - - src/app/frontend/index.messages.ts - 32 - - - - Exec - Ausführen - - src/app/frontend/common/components/list/column/menu/template.html - 27 - - - - Trigger - Auslösen - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - - - - Scale - Skalieren - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - - Unpin - Lösen - - src/app/frontend/common/components/list/column/menu/template.html - 41 - - - - Pin - Befestigen - - src/app/frontend/common/components/list/column/menu/template.html - 43 - - - - Restart - Restart - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - - - - Edit - Bearbeiten - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - - - - There is nothing to display here - Es gibt hier nichts anzuzeigen - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - - - - Network Policies - Network Policies - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - - - - Roles - Rollen - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - - - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - - - - Subjects - Subjects - - src/app/frontend/common/components/subject/template.html - 20 - - - - API Group - API Group - - src/app/frontend/common/components/subject/template.html - 63 - - - - Workloads - Workloads - - - src/app/frontend/chrome/nav/template.html - 27 - - - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - - - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - - - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - - - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - - - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - - - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - - - - Replication Controllers - Replication Controllers - - - src/app/frontend/chrome/nav/template.html - 56 - - - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - - - - Service - Service - - - src/app/frontend/chrome/nav/template.html - 67 - - - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - - - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - - - - Config and Storage - Konfiguration und Datenspeicherung - - - src/app/frontend/chrome/nav/template.html - 88 - - - - Config Maps - Config Maps - - - src/app/frontend/chrome/nav/template.html - 94 - - - - Persistent Volume Claims - Persistent Volume Claims - - - src/app/frontend/chrome/nav/template.html - 100 - - - - Secrets - Secrets - - - src/app/frontend/chrome/nav/template.html - 106 - - - - Storage Classes - Storage Classes - - - src/app/frontend/chrome/nav/template.html - 110 - - - - Cluster - Cluster - - - src/app/frontend/chrome/nav/template.html - 116 - - - - Cluster Role Bindings - Cluster Role Bindings - - - src/app/frontend/chrome/nav/template.html - 120 - - - - Cluster Roles - Cluster Roles - - - src/app/frontend/chrome/nav/template.html - 125 - - - - Events - Events - - src/app/frontend/chrome/nav/template.html - 130 - - - - Ingress Classes - Ingress Classes - - src/app/frontend/chrome/nav/template.html - 77 - - - - Namespaces - Namespaces - - - src/app/frontend/chrome/nav/template.html - 134 - - - - Network Policies - Network Policies - - - src/app/frontend/chrome/nav/template.html - 139 - - - - Nodes - Nodes - - - src/app/frontend/chrome/nav/template.html - 144 - - - - Persistent Volumes - Persistent Volumes - - - src/app/frontend/chrome/nav/template.html - 148 - - - - Role Bindings - Role Bindings - - - src/app/frontend/chrome/nav/template.html - 154 - - - - Roles - Roles - - - src/app/frontend/chrome/nav/template.html - 160 - - - - Service Accounts - Service Accounts - - - src/app/frontend/chrome/nav/template.html - 165 - - - - Custom Resource Definitions - Custom Resource Definitions - - - src/app/frontend/chrome/nav/template.html - 173 - - - - Plugins - Plugins - - - src/app/frontend/chrome/nav/template.html - 184 - - - - Settings - Einstellungen - - - src/app/frontend/chrome/nav/template.html - 192 - - - - About - Über - - - src/app/frontend/chrome/nav/template.html - 197 - - - - Resource Quotas - Ressourcen-Quotas - - src/app/frontend/common/components/quotas/template.html - 20 - - - - Status - Status - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - - - - Restarts - Neustarts - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - - - - Resource Limits - Ressourcenlimits - - src/app/frontend/common/components/limits/template.html - 20 - - - - Resource name - Ressourcenname - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - - - - Resource type - Ressourcentyp - - src/app/frontend/common/components/limits/template.html - 42 - - - - Default - Standard - - src/app/frontend/common/components/limits/template.html - 47 - - - - Default request - Standard-Request - - src/app/frontend/common/components/limits/template.html - 52 - - - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - - - - Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - - - - Endpoints open_in_new - Endpoints open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - - - - Host links are external links that will be open in a new tab. - Host links are external links that will be open in a new tab. - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - - - - Hosts open_in_new - Hosts open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - - - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - - - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - - - - Config And Storage - Config And Storage - - src/app/frontend/index.messages.ts - 51 - - - - Cluster IP - Cluster-IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - - - - Internal Endpoints - Interne Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - - - - External Endpoints - Externe Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - - - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - - - - Service Accounts - Service Accounts - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - - - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - Sie können eine containerisierte App deployen, einen anderen Namespace auswählen oder - die Dashboard-Tour starten - open_in_new - um mehr zu erfahren. - - - src/app/frontend/common/components/zerostate/template.html - 26 - - - - Items:  - Elemente:  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - - - - Host - Host - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - - - - Ports (Name, Port, Protocol) - Ports (Name, Port, Protokoll) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - - - - unset - nicht festgelegt - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - - - - Events - Ereignisse - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - - - - Overview - Overview - - src/app/frontend/index.messages.ts - 37 - - - - Node - Node - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - - - - Ready - Bereit - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - - - - Started - Started - - src/app/frontend/common/components/container/template.html - 50 - - - - Unsupported graph type . - Unsupported graph type . - - src/app/frontend/common/components/graph/component.ts - 95 - - - - Waiting for more data to display chart... - Waiting for more data to display chart... - - src/app/frontend/common/components/graph/template.html - 22 - - - - Source - Quelle - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - - - - Object - Object - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - - - - Sub-object - Sub-object - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - - - - Count - Anzahl - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - - - - First Seen - Zuerst gesehen - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - - - - Last Seen - Zuletzt gesehen - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - - - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - - - - Min Replicas - Min Replikas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - - - - Max Replicas - Max Replikas - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - - - - Reference - Referenz - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - - - - Horizontal Pod Autoscaler - Horizontal Pod Autoscaler - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - - - - Image:  - Image:  - - src/app/frontend/common/components/container/template.html - 19 - - - - Image - Image - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - - - - Environment variable - Umgebungsvariable - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - - - - bytes - bytes - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - - - - Commands - Commands - - src/app/frontend/common/components/container/template.html - 170 - - - - Arguments - Arguments - - src/app/frontend/common/components/container/template.html - 184 - - - - Mounts - Mounts - - src/app/frontend/common/components/container/template.html - 199 - - - - Security Context - Security Context - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - - - - Liveness Probe - Liveness Probe - - src/app/frontend/common/components/container/template.html - 226 - - - - Readiness Probe - Readiness Probe - - src/app/frontend/common/components/container/template.html - 236 - - - - Startup Probe - Startup Probe - - src/app/frontend/common/components/container/template.html - 246 - - - - Conditions - Bedingungen - - src/app/frontend/common/components/condition/template.html - 20 - - - - Type - Typ - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - - - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - - - - Volume - Volume - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - - - - Read Only - Read Only - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - - - - Mount Path - Mount Path - - src/app/frontend/common/components/volumemount/template.html - 45 - - - - Sub Path - Sub Path - - src/app/frontend/common/components/volumemount/template.html - 50 - - - - Source Type - Source Type - - src/app/frontend/common/components/volumemount/template.html - 55 - - - - Source Name - Source Name - - src/app/frontend/common/components/volumemount/template.html - 60 - - - - Preview Deployment - Preview Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - - - - Last probe time - Letzte Überprüfungszeit - - src/app/frontend/common/components/condition/template.html - 52 - - - - Last transition time - Letzte Transitions-Zeit - - src/app/frontend/common/components/condition/template.html - 60 - - - - Reason - Grund - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - - - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - - - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - - - - Storage Classes - Storage Classes - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - - - - Provisioner - Provisioner - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - - - - Parameters - Parameter - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - - - - SE Linux User - SE Linux User - - src/app/frontend/common/components/securitycontext/template.html - 23 - - - - SE Linux Role - SE Linux Role - - src/app/frontend/common/components/securitycontext/template.html - 28 - - - - SE Linux Type - SE Linux Type - - src/app/frontend/common/components/securitycontext/template.html - 33 - - - - SE Linux Level - SE Linux Level - - src/app/frontend/common/components/securitycontext/template.html - 38 - - - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name - - src/app/frontend/common/components/securitycontext/template.html - 44 - - - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - - - - Windows Run as User - Windows Run as User - - src/app/frontend/common/components/securitycontext/template.html - 54 - - - - Run as User - Run as User - - src/app/frontend/common/components/securitycontext/template.html - 60 - - - - Run as Group - Run as Group - - src/app/frontend/common/components/securitycontext/template.html - 65 - - - - Run as Non-Root - Run as Non-Root - - src/app/frontend/common/components/securitycontext/template.html - 70 - - - - Seccomp Profile Type - Seccomp Profile Type - - src/app/frontend/common/components/securitycontext/template.html - 76 - - - - Seccomp Localhost Profile - Seccomp Localhost Profile - - src/app/frontend/common/components/securitycontext/template.html - 81 - - - - Added Capabilities - Added Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 88 - - - - Dropped Capabilities - Dropped Capabilities - - src/app/frontend/common/components/securitycontext/template.html - 93 - - - - Privileged - Privileged - - src/app/frontend/common/components/securitycontext/template.html - 98 - - - - Read Only Filesystem - Read Only Filesystem - - src/app/frontend/common/components/securitycontext/template.html - 103 - - - - Allow Privilege Escalation - Allow Privilege Escalation - - src/app/frontend/common/components/securitycontext/template.html - 108 - - - - Proc Mount - Proc Mount - - src/app/frontend/common/components/securitycontext/template.html - 113 - - - - Filesystem Group - Filesystem Group - - src/app/frontend/common/components/securitycontext/template.html - 120 - - - - Filesystem Group Change Policy - Filesystem Group Change Policy - - src/app/frontend/common/components/securitycontext/template.html - 125 - - - - Supplemental Groups - Supplemental Groups - - src/app/frontend/common/components/securitycontext/template.html - 131 - - - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - - - - Schedule - Planung - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - - - - Suspend - Anhalten - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - - - - Active - Aktiv - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - - - - Last Schedule - Letzte Ausführung - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - - - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - - - - Controller - Controller - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - - - - Events - Events - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - - Created - Erstellungszeitpunkt - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - - - - Host - Host - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - - - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - - - - Plugins - Erweiterungen - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - - - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - - - - Dependencies - Abhängigkeiten - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - - - - Message - Nachricht - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - - - - Exit Code - Exit Code - - src/app/frontend/common/components/container/template.html - 84 - - - - Signal - Signal - - src/app/frontend/common/components/container/template.html - 90 - - - - Started At - Started At - - src/app/frontend/common/components/container/template.html - 98 - - - - Environment Variables - Environment Variables - - src/app/frontend/common/components/container/template.html - 106,108 - - - - Kind:  - Art:  - - src/app/frontend/common/components/creator/template.html - 29 - - - - Controlled by - Kontrolliert von - - src/app/frontend/common/components/creator/template.html - 42 - - - - Kind - Art - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - - - - CPU requests (cores) - CPU-Reservierung (Kerne) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - - - - CPU limits (cores) - CPU-Limits (Kerne) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - - - - Memory requests (bytes) - Speicherreservierung (Bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - - - - Memory limits (bytes) - Speicherlimit (Bytes) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - - - - Images - Images - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - - - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - - - - Settings - Settings - - src/app/frontend/index.messages.ts - 67 - - - - Group - Gruppe - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - - - - Full Name - Vollständiger Name - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - - - - Namespaced - Namespace-gebunden - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - - - - Objects - Objekte - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - - - - No resources found in the selected namespace. - Im ausgewählten Namespace wurden keine Ressourcen gefunden. - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - - - - Versions - Versionen - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - - - - Served - Ausgeliefert - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - - - - Storage - Speicher - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - - - - Namespaces - Namespace - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - - - - Phase - Phase - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - - - - Persistent Volumes - Persistent Volumes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - - - - Capacity - Kapazität - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - - - - Access Modes - Access Modes - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - - - - Reclaim Policy - Reclaim Policy - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - - - - Claim - Claim - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - - - - Storage Class - Storage Class - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - - - - Pods status - Status des Pods - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - - - - Running:  - Läuft:  - - src/app/frontend/common/components/podstatus/template.html - 26 - - - - Succeeded:  - Erfolgreich:  - - src/app/frontend/common/components/podstatus/template.html - 33 - - - - Pending:  - Ausstehend:  - - src/app/frontend/common/components/podstatus/template.html - 40 - - - - Failed:  - Fehlgeschlagen:  - - src/app/frontend/common/components/podstatus/template.html - 47 - - - - Desired:  - Gewünscht:  - - src/app/frontend/common/components/podstatus/template.html - 53 - - - - Running - Läuft - - src/app/frontend/common/components/podstatus/template.html - 63 - - - - Succeeded - Erfolgreich - - src/app/frontend/common/components/podstatus/template.html - 69 - - - - Pending - Ausstehend - - src/app/frontend/common/components/podstatus/template.html - 75 - - - - Failed - Fehlgeschlagen - - src/app/frontend/common/components/podstatus/template.html - 82 - - - - Initial Delay (Seconds) - Initial Delay (Seconds) - - src/app/frontend/common/components/probe/template.html - 26 - - - - Timeout (Seconds) - Timeout (Seconds) - - src/app/frontend/common/components/probe/template.html - 31 - - - - Probe Period (Seconds) - Probe Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 36 - - - - Success Threshold - Success Threshold - - src/app/frontend/common/components/probe/template.html - 41 - - - - Failure Threshold - Failure Threshold - - src/app/frontend/common/components/probe/template.html - 46 - - - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) - - src/app/frontend/common/components/probe/template.html - 51 - - - - Desired - Gewünscht - - src/app/frontend/common/components/podstatus/template.html - 88 - - - - CPU Usage (cores) - CPU-Nutzung (Kerne) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - - - - Memory Usage (bytes) - Speichernutzung (Bytes) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - - - - Namespace conflict - Namespace-Konflikt - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - - - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - - - - Do you want to stay on current page and change namespace from to ? - - Möchten Sie auf der aktuellen Seite verbleiben und den Namespace von zu ändern? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - - - - Yes - Ja - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - - - - No - Nein - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - - - - Select namespace... - Namespace auswählen... - - src/app/frontend/common/components/namespace/template.html - 24 - - - - All namespaces - Alle Namespaces - - src/app/frontend/common/components/namespace/template.html - 33 - - - - NAMESPACES - NAMESPACES - - src/app/frontend/common/components/namespace/template.html - 34 - - - - Rules - Regeln - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - - - - Resources - Ressourcen - - src/app/frontend/common/components/policyrule/template.html - 36 - - - - Non-resource URL - Nicht-Ressource URL - - src/app/frontend/common/components/policyrule/template.html - 46 - - - - Resource Names - Ressourcenname - - src/app/frontend/common/components/policyrule/template.html - 56 - - - - Verbs - Verben - - src/app/frontend/common/components/policyrule/template.html - 66 - - - - API Groups - API-Gruppen - - src/app/frontend/common/components/policyrule/template.html - 76 - - - - HTTP Healthcheck URI - HTTP Healthcheck URI - - src/app/frontend/common/components/probe/template.html - 58 - - - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - - - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - - - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - - - - Delete resource - Ressource löschen - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - - - - Edit resource - Ressource bearbeiten - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - - - - Scale resource - Ressource skalieren - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - - - - View logs - Logs ansehen - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - - - - Unpin resource - Unpin resource - - src/app/frontend/index.messages.ts - 24 - - - - Pin resource - Pin resource - - src/app/frontend/index.messages.ts - 23 - - - - Exec into pod - In Pod ausführen - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - - - - Trigger resource - Ressource triggern - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - - - - Search for - Search for - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - - - - Download logs file - Download logs file - - src/app/frontend/common/dialogs/download/template.html - 19 - - - - No resources found. - Es wurden keine Ressourcen gefunden. - - src/app/frontend/common/components/list/zerostate/template.html - 27 - - - - Read documentation - Dokumentation lesen - - src/app/frontend/about/actionbar/template.html - 24 - - - - Provide feedback - Feedback geben - - src/app/frontend/about/actionbar/template.html - 35 - - - - Resource Information - Ressource-Informationen - - src/app/frontend/crd/detail/template.html - 22 - - - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - - - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - - - - Subresources - Sub-Ressourcen - - src/app/frontend/crd/detail/template.html - 47 - - - - Accepted Names - Akzeptierte Namen - - src/app/frontend/crd/detail/template.html - 55 - - - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - - - - Singular - Singular - - src/app/frontend/crd/detail/template.html - 67 - - - - List Kind - Listen-Typ - - src/app/frontend/crd/detail/template.html - 77 - - - - Short Names - Abkürzungen - - src/app/frontend/crd/detail/template.html - 82 - - - - Categories - Kategorien - - src/app/frontend/crd/detail/template.html - 87 - - - - About - Über - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - - - - General-purpose web UI for Kubernetes clusters - Allgemeine Web-Benutzeroberfläche für Kubernetes-Cluster - - src/app/frontend/about/template.html - 30 - - - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Das Kubernetes-Dashboard wird ermöglicht durch die Dashboard - Community als - Open-Source-Projekt. - - - src/app/frontend/about/template.html - 37 - - - - Global settings - Global settings - - src/app/frontend/settings/global/template.html - 21 - - - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. - - src/app/frontend/settings/global/template.html - 23 - - - - Nodes - Nodes - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - - - - Search - Suchen - - src/app/frontend/chrome/search/template.html - 29 - - - - Remove all notifications - Alle Benachrichtigungen löschen - - src/app/frontend/chrome/notifications/template.html - 71 - - - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - - - - Minimize card - Minimize card - - src/app/frontend/index.messages.ts - 26 - - - - Unknown - Unknown - - src/app/frontend/index.messages.ts - 27 - - - - Expand card - Expand card - - src/app/frontend/index.messages.ts - 25 - - - - Role Reference - Role-Referenzen - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - - - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - - - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - - - - Basic - Basic - - src/app/frontend/login/template.html - 36 - - - - Token - Token - - src/app/frontend/login/template.html - 38 - - - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - Bitte wählen Sie eine Kubeconfig-Datei, die verwendet werden kann, um auf das Cluster zuzugreifen. Um mehr über die Konfigurationsoption und die allgemeine Benutzung der Kubeconfig-Datei zu erfahren, konsultieren Sie den Abschnitt Zugang zu mehreren Clustern konfigurieren. - - - src/app/frontend/login/template.html - 44 - - - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - Sellen Sie sicher, dass die Unterstützung für Basic Authentication für das Cluster aktiviert ist. Um mehr über die Konfiguration von Basic Authentication zu erfahren, konsultieren Sie die Abschnitte Authentifizierung und ABAC-Modus. - - - src/app/frontend/login/template.html - 51 - - - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - Jeder Service Account verfügt über ein Secret mit einem gültigen Bearer Token, welches verwendet werden kann, um sich am Dashboard anzumelden. Um mehr über die Konfiguration und Nutzung von Bearer Tokens zu erfahren, konsultieren Sie den Abschnitt Authentifizierung. - - - src/app/frontend/login/template.html - 58 - - - - Enter token - Token eingeben - - src/app/frontend/login/template.html - 74 - - - - Username - Benutzername - - src/app/frontend/login/template.html - 87 - - - - Password - Kennwort - - src/app/frontend/login/template.html - 98 - - - - Choose kubeconfig file - Kubeconfig-Datei auswählen - - src/app/frontend/login/template.html - 107 - - - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - Unsicherer Zugriff erkannt. Anmeldung nicht verfügbar. Greifen Sie auf das Dashboard gesichert per HTTPS zu oder nutzen Sie localhost. Mehr dazu können Sie - - hier - lesen. - - - src/app/frontend/login/template.html - 117 - - - - Sign in - - Anmelden - - - src/app/frontend/login/template.html - 133 - - - - Skip - - Überspringen - - - src/app/frontend/login/template.html - 142 - - - - Create from input - Aus Texteingabe erzeugen - - src/app/frontend/create/template.html - 20 - - - - Create from file - Aus Datei erzeugen - - src/app/frontend/create/template.html - 24 - - - - Create from form - Aus Formular erzeugen - - src/app/frontend/create/template.html - 28 - - - - Shell in in - - Shell in - - - - - - in - - - src/app/frontend/shell/template.html - 22 - - - - Create a new namespace - Neuen Namespace erzeugen - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - - - - The new namespace will be added to the cluster. - Der Namespace wird dem Cluster hinzugefügt. - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - - - - Namespace name - Namespace-Name - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - - - - Name is required. - Ein Name wird benötigt. - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - - - - Create a new image pull secret - Neues Image Pull Secert erzeugen - - src/app/frontend/create/from/form/createsecret/template.html - 18 - - - - The new secret will be added to the cluster - Das neue Secret wird dem Cluster hinzugefügt - - src/app/frontend/create/from/form/createsecret/template.html - 21 - - - - Secret name - Secret-Name - - src/app/frontend/create/from/form/createsecret/template.html - 29 - - - - Name must be up to characters long. - Der Name darf bis zu Zeichen lang sein. - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - - - - Name must be alphanumeric and may contain dashes. - Der Name muss aus alphanumerischen Zeichen bestehen und darf Bindestriche enthalten. - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - - - - Go to namespace - Go to namespace - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - - - - A namespace with the specified name will be added to the cluster. - Ein Namespace mit dem angegeben Namen wird dem Cluster hinzugefügt. - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - - - - Create - Create - - src/app/frontend/create/from/form/createnamespace/template.html - 67,69 - - - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - - - - Create - Erzeugen - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - - - - Name must be up to characters long. - Der Name darf bis zu Zeichen lang sein. - - src/app/frontend/create/from/form/createsecret/template.html - 39 - - - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - Der Name muss im Format der DNS Domain Name Syntax sein (z.B. new.image-pull.secret). - - src/app/frontend/create/from/form/createsecret/template.html - 41 - - - - A secret with the specified name will be added to the cluster in the namespace. - Ein Secret mit dem angegebenen Namen wird dem Cluster im Namespace hinzugefügt. - - src/app/frontend/create/from/form/createsecret/template.html - 46 - - - - Data is required. - Daten werden benötigt. - - src/app/frontend/create/from/form/createsecret/template.html - 66 - - - - Data must be Base64 encoded. - Daten müssen Base64-codiert sein. - - src/app/frontend/create/from/form/createsecret/template.html - 68 - - - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - Legen Sie die Daten fest, die das Secret beinhalten soll. Der Wert entspricht dem Base64-kodierten Inhalt einer .dockercfg-Datei. - - src/app/frontend/create/from/form/createsecret/template.html - 71 - - - - App name - Applikationsname - - src/app/frontend/create/from/form/template.html - 23 - - - - Deployment or service with this name already exists within namespace. - Ein Deployment oder Service mit dem angegebenen Namen existiert bereits in diesem Namespace. - - src/app/frontend/create/from/form/template.html - 35 - - - - Application name is required. - Ein Applikationsname wird benötigt. - - src/app/frontend/create/from/form/template.html - 39 - - - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - Ein Applikationsname muss mit einem Kleinbuchstaben beginnen und darf ausschließlich Kleinbuchstaben, Ziffern und '-' zwischen Wörtern enthalten. - - src/app/frontend/create/from/form/template.html - 41 - - - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - Ein 'app'-Label mit dem angegeben Wert wird dem Deployment oder Service, der bereitgestellt wird angefügt. - - src/app/frontend/create/from/form/template.html - 48 - - - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - - - - Container image - Container-Image - - src/app/frontend/create/from/form/template.html - 63 - - - - Container image is required - Ein Container-Image muss angegeben werden - - src/app/frontend/create/from/form/template.html - 68 - - - - Container image is invalid: - Das angegebene Container-Image ist ungültig: - - - src/app/frontend/create/from/form/template.html - 70 - - - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - Geben Sie die URL eines öffentlichen Images in einer beliebigen Registry oder ein privates Image, welches auf Docker Hub oder der Google Container Registry zu finden ist. - - src/app/frontend/create/from/form/template.html - 76 - - - - Number of pods - Anzahl Pods - - src/app/frontend/create/from/form/template.html - 93 - - - - Number of pods is required - Anzahl Pods wird benötigt - - src/app/frontend/create/from/form/template.html - 99 - - - - Number of pods must be a positive integer - Anzahl Pods muss ein positiver ganzzahliger Wert sein - - src/app/frontend/create/from/form/template.html - 101 - - - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - - Die Einstellung einer hohen Anzahl Pods kann zu Performance-Problemen des Clusters und der grafischen Oberfläche des Dashboards führen. - - - src/app/frontend/create/from/form/template.html - 104 - - - - A Deployment will be created to maintain the desired number of pods across your cluster. - Ein Deployment, welches die gewünschte Anzahl Pods über das Cluster verteilt sicherstellt, wird erzeugt. - - src/app/frontend/create/from/form/template.html - 109 - - - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - Wahlweise kann ein interner oder externer Service definiert werden, der einen eingehenden Port auf einen Ziel-Port des Containers abbildet. - - src/app/frontend/create/from/form/template.html - 129 - - - - Description - Beschreibung - - src/app/frontend/create/from/form/template.html - 172 - - - - The description will be added as an annotation to the Deployment and displayed in the application's details. - - Die Beschreibung wird als Annotation an das Deployment angefügt und in den Applikationsdetails angezeigt. - - - src/app/frontend/create/from/form/template.html - 175 - - - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - Die angegebenen Labels werden auf die erstellten Deployments, den Service (falls vorhanden) und die Pods angewendet. Zu den gängigen Labels gehören Release, Environment, Ebene, Partition und Track. - - src/app/frontend/create/from/form/template.html - 188 - - - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - - - - Create a new namespace... - - Neuen Namespace erzeugen... - - - src/app/frontend/create/from/form/template.html - 151 - - - - Namespaces let you partition resources into logically named groups. - Namespaces ermöglichen es, Ressourcen in logisch benannte Gruppen zu unterteilen. - - src/app/frontend/create/from/form/template.html - 155 - - - - Create a new secret... - - Neues Secret erzeugen... - - - src/app/frontend/create/from/form/template.html - 209 - - - - Image Pull Secret - Image Pull Secret - - src/app/frontend/create/from/form/template.html - 204 - - - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - Das agegebene Image könnte Pull Secret Anmeldeinformationen benötigen, falls es privat ist. Sie können ein bestehendes Secret wählen oder ein Neues erzeugen. - - src/app/frontend/create/from/form/template.html - 213 - - - - CPU requirement (cores) - CPU-Anforderung (Kerne) - - src/app/frontend/create/from/form/template.html - 230 - - - - CPU requirement must be given as a positive number. - CPU-Anforderung muss als postive Ganzzahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 236 - - - - CPU requirement must be given as a valid number. - CPU-Anforderung muss als gültive Zahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 240 - - - - Memory requirement (MiB) - Speicheranforderung (MiB) - - src/app/frontend/create/from/form/template.html - 248 - - - - Memory requirement must be given as a positive number. - Speicheranforderung muss als postive Zahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 254 - - - - Memory requirement must be given as a valid number. - Speicheranforderung muss als gültige Zahl angegeben werden. - - src/app/frontend/create/from/form/template.html - 258 - - - - You can specify minimum CPU and memory requirements for the container. - Sie können die Minimalanforderungen an CPU und Speicher für den Container angeben. - - src/app/frontend/create/from/form/template.html - 264 - - - - Run command - Kommando ausführen - - src/app/frontend/create/from/form/template.html - 279 - - - - Run command arguments - Parameters des auszuführenden Kommandos - - src/app/frontend/create/from/form/template.html - 285 - - - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - Standardmäßig führen Ihre Container das Standard Einstiegspunktkommand des ausgewählten Images aus. Sie können die Befehlsoptionen verwenden, um die Standardeinstellung zu überschreiben. - - src/app/frontend/create/from/form/template.html - 291 - - - - Run as privileged - Als priviligiert ausführen - - src/app/frontend/create/from/form/template.html - 307 - - - - Processes in privileged containers are equivalent to processes running as root on the host. - Prozesse in privilegierten Containern entsprechen Prozessen, die als root auf dem Host ausgeführt werden. - - src/app/frontend/create/from/form/template.html - 310 - - - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - Umgebungsvariablen zur Verwendung im Container. Werte können mithilfe der Syntax $(VAR_NAME) auf andere Variablen verweisen. - - src/app/frontend/create/from/form/template.html - 324 - - - - Deploy - - Deploy - - src/app/frontend/create/from/form/template.html - 343 - - - - Preview - - Preview - - - src/app/frontend/create/from/form/template.html - 352,354 - - - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {Erweiterte Optionen ausblenden} other {Erweiterte Optionen anzeigen}} - - src/app/frontend/create/from/form/template.html - 367 - - - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - - - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im Namespace, der in der Datei referenziert wird, erstellt werden soll. - - src/app/frontend/create/from/input/template.html - 19 - - - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. - - src/app/frontend/create/from/input/template.html - 23 - - - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - - - - Upload - - Hochladen - - src/app/frontend/create/from/input/template.html - 40 - - - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - Geben Sie den YAML- oder JSON-Datei an, welche die Ressource beschreibt, die im Namespace, welcher in der Datei referenziert wird, erzeugt werden soll. - - src/app/frontend/create/from/file/template.html - 19 - - - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - YAML- oder JSON-Datei auswählen, welche die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. - - src/app/frontend/create/from/file/template.html - 23 - - - - Learn more open_in_new - Mehr erfahren - - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - - - - Choose YAML or JSON file - YAML- oder JSON-Datei auswählen - - src/app/frontend/create/from/file/template.html - 35 - - - - Upload - - Upload - - - src/app/frontend/create/from/file/template.html - 43,44 - - - - Cancel - - Cancel - - - src/app/frontend/create/from/file/template.html - 50,51 - - - - Environment variables - Umgebungsvariablen - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - - - - Variable name must be a valid C identifier. - Der Variablenname muss ein gültiger C Bezeichner sein. - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - - - - Value - Wert - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - - - - iSCSI Qualified Name - iSCSI Qualified Name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - - - - iSCSI target lun number - iSCSI target lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - - - - Target portal - Target portal - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - - - - Server - Server - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - - - - Keyring - Keyring - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - - - - Monitors - Monitors - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - - - - Pool - Pool - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - - - - Secret reference name - Secret reference name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - - - - User - User - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - - - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - - - - Port - Port - - src/app/frontend/create/from/form/portmappings/template.html - 48 - - - - Port must be an integer. - Post muss ein ganzzahliger Wert sein. - - src/app/frontend/create/from/form/portmappings/template.html - 52 - - - - Port cannot be empty. - Port kann nicht weggelassen werden. - - src/app/frontend/create/from/form/portmappings/template.html - 54 - - - - Port must be greater than 0. - Port muss größer als 0 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 56 - - - - Port must be less than 65536. - Port muss kleiner als 65536 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 58 - - - - Target port - Ziel-Port - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - - Target port must be an integer. - Ziel-Port muss ein ganzzahliger Wert sein. - - src/app/frontend/create/from/form/portmappings/template.html - 77 - - - - Target port cannot be empty. - Ziel-Port kann nicht weggelassen werden. - - src/app/frontend/create/from/form/portmappings/template.html - 81 - - - - Target port must be greater than 0. - Ziel-Port muss größer als 0 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 85 - - - - Target port must be less than 65536. - Ziel-Port muss kleiner als 65536 sein. - - src/app/frontend/create/from/form/portmappings/template.html - 89 - - - - Protocol - Protokoll - - src/app/frontend/create/from/form/portmappings/template.html - 102 - - - - Protocol is required. - Das Protokoll muss angegeben werden. - - src/app/frontend/create/from/form/portmappings/template.html - 114 - - - - Invalid protocol. - Ungültiges Protokoll. - - src/app/frontend/create/from/form/portmappings/template.html - 116 - - - - Running: - Running: - - src/app/frontend/overview/helper.ts - 32 - - - - Suspended: - Suspended: - - src/app/frontend/overview/helper.ts - 40 - - - - Failed: - Failed: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - - - - Pending: - Pending: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - - - - Succeeded: - Succeeded: - - src/app/frontend/overview/helper.ts - 55 - - - - key - Key - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - - - - is not unique - - ist nicht eindeutig - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - - - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - Das Prefix ist kein gültiger DNS Subdomain-Prefix (z.B. meine-domain.com). - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - - - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - Label Key Namen dürfen ausschließlich aus alphanumerischen Zeichen, getrennt durch '-', '_' oder '.' enthalten, wahlweise mit einem DNS Subdomain Namen und '/' als Präfix. - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - - - - Prefix should not exceed 253 characters. - Das Präfix sollte nicht länger als 253 Zeichen sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - - - - Label Key name should not exceed 63 characters. - Der Label Key Name sollte nicht länger als 63 Zeichen sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - - - - value - Wert - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - - - - Label value must be alphanumeric separated by '.' , '-' or '_'. - Der Label Wert muss alphanumerisch und durch '.', '-' oder '_' getrennt sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - - - - Label Value must not exceed 253 characters. - Der Label Wert sollte nicht länger als 254 Zeichen sein. - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - - - - Pod CIDR - CIDR des Pods - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - - - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - - - - Unschedulable - Nicht planbar - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - - - - Addresses - Adressen - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - - - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - - - - System information - Systeminformation - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - - - - Machine ID - Maschinen-ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - - - - System UUID - UUID des Systems - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - - - - Boot ID - Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - - Kernel version - Kernel-Version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - - - - OS Image - Betriebssystem - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - - - - Container runtime version - Version der Container-Laufzeitumgebung - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - - - - kubelet version - Kubelet-Version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - - - - kube-proxy version - kube-proxy-Version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - - - - Operating system - Betriebssystem - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - - - - Architecture - Architektur - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - - - - Allocation - Zuordnung - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - - - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - - - - Memory - Speicher - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - - - - Reclaim policy - Reclaim Policy - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - - - - Storage class - Storage Class - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - - - - Mount Option(s) - Mount Option(s) - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - - - - Access modes - Zugriffsarten - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - - - - Quantity - Anzahl - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - - - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - - - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - - - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - - - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - - - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - - - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - - - - Dataset name - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - - - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - - - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - - - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - - - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - - - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - - - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - - - - Parameter - Parameter - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - - - - Data - Daten - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - - - - There is no data to display. - Keine Daten zum anzeigen vorhanden. - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - - - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - - - - Session Affinity - Sitzungsaffinität - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - - - - Selector - Selektor - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - - - - Ingress Class Name - Ingress Class Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - - - - Default Backend - Default Backend - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - - - - Service Name - Service Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - - - - Service Port Name - Service Port Name - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - - - - Service Port Number - Service Port Number - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - - - - Old Replica Sets - Alte Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - - - - Schedule:  - Planung:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - - - - Active Jobs:  - Aktive Jobs :  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - - - - Suspend:  - Anhalten:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - - - - Active Jobs - Aktive Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - - - - Last schedule - Letzte Planung - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - - - - Concurrency policy - Parallelitätsrichtlinie - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - - - - Starting deadline seconds - Starting deadline in Sekunden - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - - - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - - - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - - - - Inactive Jobs - Inaktive Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - - - - Init images - Init Images - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - - - - Strategy:  - Strategie:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - - - - Min ready seconds:  - Minimale Sekunden in Bereitschaft:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - - - - Revision history limit:  - Revisionsverlaufslimit:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - - - - Strategy - Strategie - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - - - - Min ready seconds - Minimale Sekunden in Bereitschaft - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - - - - Revision history limit - Revisionsverlaufslimit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - - - - Rolling update strategy - Strategie für Rolling Updates - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - - - - Max surge:  - Maximaler Anstieg:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - - - - Max unavailable:  - Maximal nicht verfügbar:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - - - - Max surge - Maximaler Anstieg - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - - - - Max unavailable - Maximal nicht verfügbar - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - - - - Updated:  - Aktualisiert:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - - - - Total:  - Gesamt :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - - - - Available:  - Verfügbar :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - - - - Unavailable:  - Nicht verfügbar :  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - - - - Updated - Aktualisiert - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - - - - Total - Gesamt - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - - - - Available - Verfügbar - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - - - - Unavailable - Nicht verfügbar - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - - - - New Replica Set - Neues Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - - - - Pods:  - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - - - - Completions:  - Abschlüsse:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - - - - Parallelism:  - Parallelität:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - - - - Completions - Abschlüsse - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - - - - Parallelism - Parallelität - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - - - - Status:  - Status:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - - - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - - - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - - - - QoS Class - QoS Class - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - - - - Service Account - Service Account - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - - - - Image Pull Secrets - Image Pull Secrets - - src/app/frontend/resource/workloads/pod/detail/component.ts - 84 - - - - Label Selector - Label Selektor - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - - - - Settings have changed since last reload - Einstellungen wurden seit dem letzten Neuladen verändert - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - - - - Do you want to save them anyways? - Wollen Sie sie trotzdem speichern? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - - - - Refresh - Aktualisieren - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - - - - Default namespace - Default namespace - - src/app/frontend/settings/global/namespace/template.html - 18 - - - - Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. - - src/app/frontend/settings/global/namespace/template.html - 20 - - - - Namespace fallback list - Namespace fallback list - - src/app/frontend/settings/global/namespace/template.html - 40 - - - - List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. - - src/app/frontend/settings/global/namespace/template.html - 42 - - - - Add namespaces... - Add namespaces... - - src/app/frontend/settings/global/namespace/template.html - 60 - - - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - - - - Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - - - - No namespaces selected - No namespaces selected - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - - - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - - - - Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - - - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47,49 - - - - Cluster name - Name des Clusters - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - - - - Cluster name appears in the browser window title if it is set. - Der Name des Clusters taucht im Titel des Browser-Fensters auf, wenn er festgelegt wurde. - - src/app/frontend/settings/global/template.html - 28 - - - - Items per page - Elemente pro Seite - - src/app/frontend/settings/global/template.html - 42 - - - - Max number of items that can be displayed on every list view. - Maximale Anzahl an Einträgen, die in jeder Listenansicht zeitgleich sichtbar sind. - - src/app/frontend/settings/global/template.html - 44 - - - - Labels limit - Labels-Limit - - src/app/frontend/settings/global/template.html - 58 - - - - Max number of labels that are displayed by default on most views. - Maximale Anzahl an Labels, die standardmäßig in den meisten Ansichten zu sehen sind. - - src/app/frontend/settings/global/template.html - 60 - - - - Logs auto-refresh time interval - Intervall der automatischen Aktualisierung der Logs - - src/app/frontend/settings/global/template.html - 74 - - - - Number of seconds between every auto-refresh of logs. - Anzahl Sekunden zwischen den automatischen Aktualisierungen der Logs. - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - Intervall der automatischen Aktualisierung von Ressourcen - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - Anzahl Sekunden zwischen der automatischen Aktualisierung jeder Ressource. Ein Wert von 0 deaktiviert die automatische Aktualisierung. - - src/app/frontend/settings/global/template.html - 94 - - - - Disable access denied notification - Zugriff verweigert Benachrichtigungen deaktivieren - - src/app/frontend/settings/global/template.html - 110 - - - - Hides all access denied warnings in the notification panel. - Verbirgt alle Zugriff verweigert Benachrichtigungen im Benachrichtigungsbereich. - - src/app/frontend/settings/global/template.html - 112 - - - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - - - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - - src/app/frontend/settings/local/template.html - 21 - - - - Theme - Theme - - src/app/frontend/settings/local/template.html - 26 - - - - Choose color theme of the dashboard - Choose color theme of the dashboard - - src/app/frontend/settings/local/template.html - 28 - - - - Language - Sprache - - src/app/frontend/settings/local/template.html - 41 - - - - Change the language of the dashboard - Ändern Sie die Sprache des Dashboards - - src/app/frontend/settings/local/template.html - 43 - - - - - diff --git a/i18n/ja/messages.ja.xlf b/i18n/ja/messages.ja.xlf deleted file mode 100644 index 5659cceda554..000000000000 --- a/i18n/ja/messages.ja.xlf +++ /dev/null @@ -1,6556 +0,0 @@ - - - - - - Open notifications panel - 通知パネルを開く - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - 通知パネルを閉じる - - src/app/frontend/index.messages.ts - 22 - - - - Pin resource - リソースにピンを設定 - - src/app/frontend/index.messages.ts - 23 - - - - Unpin resource - リソースのピンを解除 - - src/app/frontend/index.messages.ts - 24 - - - - Expand card - カードを最大化 - - src/app/frontend/index.messages.ts - 25 - - - - Minimize card - カードを最小化 - - src/app/frontend/index.messages.ts - 26 - - - - Unknown - 不明 - - src/app/frontend/index.messages.ts - 27 - - - - This action is equivalent to: - この操作は次と同等です: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - - - - Update - 更新 - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - - - - Cancel - キャンセル - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - - - - This action is equivalent to: - この操作は次と同等です: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - - - - Are you sure you want to delete  in namespace ? - - -  ネームスペース の - - を本当に削除しますか - - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - - - - Restart a resource - リソースの再起動 - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - - - - Size: B - サイズ: B - - src/app/frontend/common/dialogs/download/template.html - 22 - - - - Preparing file to download... - ダウンロードファイル準備中... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - - File is ready to download! - ファイルをダウンロードできます! - - src/app/frontend/common/dialogs/download/template.html - 29 - - - - Forbidden (403) - Forbidden (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - - - - You do not have required permissions to access this resource. - このリソースへのアクセスに必要な権限がありません。 - - src/app/frontend/common/dialogs/download/template.html - 34 - - - - Save - 保存 - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - - - - Abort - 中止 - - src/app/frontend/common/dialogs/download/template.html - 48 - - - - will be updated to reflect the desired replicas count. - は、目標のレプリカ数になるように更新されます。 - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - - - - Close - 閉じる - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - - - - Logged in with auth header - 認証ヘッダーでログインしました - - src/app/frontend/chrome/userpanel/template.html - 45,46 - - - - Logged in with token - トークンでログインしました - - src/app/frontend/chrome/userpanel/template.html - 48,49 - - - - Default service account - デフォルトサービスアカウント - - src/app/frontend/chrome/userpanel/template.html - 51 - - - - Sign in - サインイン - - src/app/frontend/chrome/userpanel/template.html - 67 - - - - Sign out - サインアウト - - src/app/frontend/chrome/userpanel/template.html - 71 - - - - Desired replicas - 目標のレプリカ数 - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - - - - Actual replicas - 現在のレプリカ数 - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - - - - Scale - スケール - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - - Trigger a - のトリガー - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - - - - in namespace will be restarted. - - - ネームスペース - - - - の - - - - - - - - - が再起動されます。 - - - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - - - - Scale a resource - リソースをスケールする - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - - - - will be triggered. - がトリガーされます。 - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - - - - Trigger - トリガー - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - - - - Delete resource - リソースを削除する - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - - - - Edit resource - リソースを編集する - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - - - - Scale resource - リソースをスケールする - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - - - - View logs - ログを表示する - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - - - - Exec into pod - ポッドで実行する - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - - - - Endpoints - エンドポイント - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - - - - Trigger resource - リソースをトリガーする - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - - - - Status:  - 状態: - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - - - - IP:  - IP: - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - - - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - - - - QoS Class - QoS クラス - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - - - - Service Account - サービスアカウント - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - - - - Node - ノード - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - - - - Status - 状態 - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - - - - Started - 起動 - - src/app/frontend/common/components/container/template.html - 50 - - - - Image Pull Secrets - イメージ取得用シークレット - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - - - - Init containers - 初期化コンテナー - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - - - - Reclaim policy - 再要求ポリシー - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - - - - Storage class - ストレージクラス - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - - - - Mount Option(s) - マウントオプション - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - - - - Access modes - アクセスモード - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - - - - Restarts - 再起動 - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - - - - Containers - コンテナー - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - - - - Filter - フィルター - - src/app/frontend/common/components/list/filter/template.html - 29 - - - - Filter objects by name - 名前による絞り込み - - src/app/frontend/common/components/list/filter/template.html - 34 - - - - Download logs file - ログファイルのダウンロード - - src/app/frontend/common/dialogs/download/template.html - 19 - - - - Show less - 少なく表示 - - src/app/frontend/common/components/chips/template.html - 55 - - - - Show all - すべて表示 - - src/app/frontend/common/components/chips/template.html - 57 - - - - There is nothing to display here - ここに表示するものはありません - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - - - - No resources found. - リソースはありません。 - - src/app/frontend/common/components/list/zerostate/template.html - 27 - - - - Conditions - 条件 - - src/app/frontend/common/components/condition/template.html - 20 - - - - Logs - ログ - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - - - - Error - エラー - - src/app/frontend/index.messages.ts - 32 - - - - Exec - 実行 - - src/app/frontend/common/components/list/column/menu/template.html - 27 - - - - Unpin - ピンの解除 - - src/app/frontend/common/components/list/column/menu/template.html - 41 - - - - Pin - ピンの設定 - - src/app/frontend/common/components/list/column/menu/template.html - 43 - - - - Metadata - メタデータ - - src/app/frontend/common/components/objectmeta/template.html - 19 - - - - Restart - 再起動 - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - - - - Items:  - 項目: - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - - - - Name - 名前 - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - - - - Namespace - ネームスペース - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - - - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - - - - Labels - ラベル - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - - - - Annotations - アノテーション - - src/app/frontend/common/components/objectmeta/template.html - 88 - - - - Pods status - ポッド状態 - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - - - - Schedule - スケジュール - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - - - - Suspend - 休止 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - - - - Active - 稼働中 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - - - - Last Schedule - 最後のスケジュール - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - - - - Deployments - デプロイメント - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - - - - Ingress Classes - イングレスクラス - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - - - - Controller - コントローラー - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - - - - Events - イベント - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - - - - Overview - 概要 - - src/app/frontend/index.messages.ts - 37 - - - - Created - 作成日時 - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 144 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - - - - Age - 経過時間 - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - - - - Host - ホスト - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - - - - Dependencies - 依存関係 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - - - - Image:  - イメージ:  - - src/app/frontend/common/components/container/template.html - 19 - - - - Image - イメージ - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - - - - Environment Variables - 環境変数 - - src/app/frontend/common/components/container/template.html - 106 - - - - Environment variable - 環境変数 - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - - - - bytes - バイト - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - - - - Commands - コマンド - - src/app/frontend/common/components/container/template.html - 170 - - - - Arguments - 引数 - - src/app/frontend/common/components/container/template.html - 184 - - - - Mounts - マウント - - src/app/frontend/common/components/container/template.html - 199 - - - - Security Context - セキュリティコンテキスト - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - - - - Liveness Probe - 生存プローブ - - src/app/frontend/common/components/container/template.html - 226 - - - - Readiness Probe - 準備プローブ - - src/app/frontend/common/components/container/template.html - 236 - - - - Startup Probe - 起動プローブ - - src/app/frontend/common/components/container/template.html - 246 - - - - Unsupported graph type . - は無効なグラフタイプです。 - - src/app/frontend/common/components/graph/component.ts - 95 - - - - Waiting for more data to display chart... - チャートのデータが完全に表示されるまでもうしばらくお待ちください... - - src/app/frontend/common/components/graph/template.html - 22 - - - - Type - 種別 - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - - - - Last probe time - 最終探査時刻 - - src/app/frontend/common/components/condition/template.html - 52 - - - - Last transition time - 最終遷移時刻 - - src/app/frontend/common/components/condition/template.html - 60 - - - - Resource Limits - リソース上限 - - src/app/frontend/common/components/limits/template.html - 20 - - - - Reason - 理由 - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - - - - Message - メッセージ - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - - - - Exit Code - 終了コード - - src/app/frontend/common/components/container/template.html - 84 - - - - Signal - シグナル - - src/app/frontend/common/components/container/template.html - 90 - - - - Started At - 起動中 - - src/app/frontend/common/components/container/template.html - 98 - - - - Name:  - 名前:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - - - - Kind:  - 種類:  - - src/app/frontend/common/components/creator/template.html - 29 - - - - Age:  - 経過時間:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - - - - Kind - 種類 - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - - - - Pods - ポッド - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 132 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 164 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - - - - Cron Jobs - Cron ジョブ - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - - - - Images - イメージ - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - - - - Group - グループ - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - - - - Full Name - フルネーム - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - - - - Namespaced - ネームスペース - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - - - - Versions - バージョン - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - - - - Served - 提供済み - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - - - - Storage - ストレージ - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - - - - Daemon Sets - デーモンセット - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - - - - Host - ホスト - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - - - - Ports (Name, Port, Protocol) - ポート (名前, ポート, プロトコル) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - - - - unset - なし - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - - - - Ready - 準備完了 - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - - - - Source - ソース - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - - - - Object - オブジェクト - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - - - - Sub-object - サブオブジェクト - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - - - - Count - 回数 - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - - - - First Seen - 初回 - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - - - - Last Seen - 直近 - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - - - - Horizontal Pod Autoscalers - 水平ポッドオートスケーラー - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - - - - Min Replicas - 最小レプリカ数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - - - - Max Replicas - 最大レプリカ数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - - - - Reference - リファレンス - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - - - - Horizontal Pod Autoscaler - 水平ポッドオートスケーラー - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - - - - Endpoint links are external links that will be open in a new tab. - エンドポイントのリンクが外部リンクの場合は、新しいタブで開きます。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - - - - Endpoints open_in_new - エンドポイント open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - - - - Host links are external links that will be open in a new tab. - ホストのリンクが外部リンクの場合は、新しいタブで開きます。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - - - - Hosts open_in_new - ホスト open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - - - - Controlled by - 制御 - - src/app/frontend/common/components/creator/template.html - 42 - - - - Jobs - ジョブ - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - - - - Namespaces - ネームスペース - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - - - - Phase - フェーズ - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - - - - Network Policies - ネットワークポリシー - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - - - - Ingresses - イングレス - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - - - - CPU requests (cores) - CPU 要件 (コア数) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - - - - CPU limits (cores) - CPU 上限 (コア数) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - - - - Memory requests (bytes) - メモリー要件 (バイト) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - - - - Memory limits (bytes) - メモリー上限 (バイト) - - src/app/frontend/common/components/resourcelist/node/template.html - 121 - - - - Persistent Volumes - 永続ボリューム - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - - - - Select namespace... - ネームスペースの選択... - - src/app/frontend/common/components/namespace/template.html - 24 - - - - All namespaces - すべてのネームスペース - - src/app/frontend/common/components/namespace/template.html - 33 - - - - Search for - を検索 - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - - - - NAMESPACES - ネームスペース - - src/app/frontend/common/components/namespace/template.html - 34 - - - - Do you want to stay on current page and change namespace from to ? - - 現在のページで、ネームスペースを から に変更しますか? - - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - - - - Yes - はい - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - - - - No - いいえ - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - - - - Initial Delay (Seconds) - 初期遅延(秒) - - src/app/frontend/common/components/probe/template.html - 26 - - - - Timeout (Seconds) - タイムアウト(秒) - - src/app/frontend/common/components/probe/template.html - 31 - - - - Probe Period (Seconds) - 探査期間(秒) - - src/app/frontend/common/components/probe/template.html - 36 - - - - Success Threshold - 成功閾値 - - src/app/frontend/common/components/probe/template.html - 41 - - - - Failure Threshold - 失敗閾値 - - src/app/frontend/common/components/probe/template.html - 46 - - - - Termination Grace Period (Seconds) - 終了猶予期間(秒) - - src/app/frontend/common/components/probe/template.html - 51 - - - - HTTP Healthcheck URI - HTTP ヘルスチェック URI - - src/app/frontend/common/components/probe/template.html - 58 - - - - HTTP Headers - HTTP ヘッダー - - src/app/frontend/common/components/probe/template.html - 68 - - - - TCP Socket - TCP ソケット - - src/app/frontend/common/components/probe/template.html - 81 - - - - Exec Commands - 実行コマンド - - src/app/frontend/common/components/probe/template.html - 90 - - - - Objects - オブジェクト - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - - - - No resources found in the selected namespace. - 指定されたネームスペースにリソースはありません。 - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - - - - Nodes - ノード - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - - - - Namespace:  - ネームスペース:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - - - - Running:  - 稼働中:  - - src/app/frontend/common/components/podstatus/template.html - 26 - - - - Succeeded:  - 成功:  - - src/app/frontend/common/components/podstatus/template.html - 33 - - - - Pending:  - 待機中:  - - src/app/frontend/common/components/podstatus/template.html - 40 - - - - Failed:  - 失敗:  - - src/app/frontend/common/components/podstatus/template.html - 47 - - - - Desired - 要求中 - - src/app/frontend/common/components/podstatus/template.html - 88 - - - - Running - 稼働中 - - src/app/frontend/common/components/podstatus/template.html - 63 - - - - Succeeded - 成功 - - src/app/frontend/common/components/podstatus/template.html - 69 - - - - Pending - 待機中 - - src/app/frontend/common/components/podstatus/template.html - 75 - - - - Failed - 失敗 - - src/app/frontend/common/components/podstatus/template.html - 82 - - - - Rules - ルール - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - - - - Desired:  - 要求中:  - - src/app/frontend/common/components/podstatus/template.html - 53 - - - - CPU Usage (cores) - CPU 使用量 (コア数) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - - - - Memory Usage (bytes) - メモリー使用量 (バイト) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - - - - Capacity - 容量 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - - - - Access Modes - アクセスモード - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - - - - Reclaim Policy - 再要求ポリシー - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - - - - Claim - 要求 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - - - - Storage Class - ストレージクラス - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - - - - Persistent Volume Claims - 永続ボリューム要求 - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - - - - Volume - ボリューム - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - - - - Plugins - プラグイン - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - - - - Shell - シェル - - src/app/frontend/index.messages.ts - 35 - - - - Read Only - 読み取り専用 - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - - - - Mount Path - マウントパス - - src/app/frontend/common/components/volumemount/template.html - 45 - - - - Sub Path - サブパス - - src/app/frontend/common/components/volumemount/template.html - 50 - - - - Source Type - ソース種別 - - src/app/frontend/common/components/volumemount/template.html - 55 - - - - Source Name - ソース名 - - src/app/frontend/common/components/volumemount/template.html - 60 - - - - Preview Deployment - デプロイメントのプレビュー - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - - - - Resources - リソース - - src/app/frontend/common/components/policyrule/template.html - 36 - - - - Non-resource URL - 非リソース URL - - src/app/frontend/common/components/policyrule/template.html - 46 - - - - Resource Names - リソース名 - - src/app/frontend/common/components/policyrule/template.html - 56 - - - - Verbs - 動詞 - - src/app/frontend/common/components/policyrule/template.html - 66 - - - - API Groups - API グループ - - src/app/frontend/common/components/policyrule/template.html - 76 - - - - Resource Quotas - リソースクォータ - - src/app/frontend/common/components/quotas/template.html - 20 - - - - Cluster Roles - クラスターロール - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - - - - Cluster Role Bindings - クラスターロールバインディング - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - - - - Config Maps - コンフィグマップ - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - - - - Custom Resource Definitions - カスタムリソース定義 - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - - - - Settings - 設定 - - src/app/frontend/index.messages.ts - 67 - - - - Resource name - リソース名 - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - - - - Resource type - リソース種別 - - src/app/frontend/common/components/limits/template.html - 42 - - - - Default - デフォルト - - src/app/frontend/common/components/limits/template.html - 47 - - - - Default request - デフォルト要件 - - src/app/frontend/common/components/limits/template.html - 52 - - - - Edit - 編集 - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - - - - Actions - 操作 - - src/app/frontend/common/components/list/column/menu/template.html - 66 - - - - Replica Sets - レプリカセット - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - - - - Replication Controllers - レプリケーションコントローラー - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - - - - Workload Status - ワークロード状態 - - src/app/frontend/common/components/workloadstatus/template.html - 20 - - - - Stateful Sets - ステートフルセット - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - - - - Roles - ロール - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - - - - Role Bindings - ロールバインディング - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - - - - Services - サービス - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - - - - Config And Storage - 設定とストレージ - - src/app/frontend/index.messages.ts - 51 - - - - Provisioner - プロビジョナー - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - - - - Parameters - パラメーター - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - - - - Subjects - 対象 - - src/app/frontend/common/components/subject/template.html - 20 - - - - Cluster IP - クラスター IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - - - - Internal Endpoints - 内部エンドポイント - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - - - - External Endpoints - 外部エンドポイント - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - - - - Service Accounts - サービスアカウント - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - - - - Storage Classes - ストレージクラス - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - - - - Global settings are stored in config map, so all of them are applied for every instance of the app. - グローバル設定はコンフィグマップに保存されるので、アプリのすべてのインスタンスに適用されます。 - - src/app/frontend/settings/global/template.html - 23 - - - - Secrets - シークレット - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - - - - Cluster - クラスター - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - - - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - - コンテナー化されたアプリをデプロイ、他のネームスペースを選択、 - もっと詳しく知るためにダッシュボードツアーを見学 - open_in_new - できます。 - - - src/app/frontend/common/components/zerostate/template.html - 26 - - - - SE Linux User - SE Linux ユーザー - - src/app/frontend/common/components/securitycontext/template.html - 23 - - - - SE Linux Role - SE Linux ロール - - src/app/frontend/common/components/securitycontext/template.html - 28 - - - - SE Linux Type - SE Linux タイプ - - src/app/frontend/common/components/securitycontext/template.html - 33 - - - - SE Linux Level - SE Linux レベル - - src/app/frontend/common/components/securitycontext/template.html - 38 - - - - Windows GMSA Credential Spec Name - Windows GMSA クレデンシャル仕様名 - - src/app/frontend/common/components/securitycontext/template.html - 44 - - - - Windows GMSA Credential Spec - Windows GMSA クレデンシャル仕様 - - src/app/frontend/common/components/securitycontext/template.html - 49 - - - - Windows Run as User - Windows 実行ユーザー - - src/app/frontend/common/components/securitycontext/template.html - 54 - - - - Run as User - ユーザーとして実行 - - src/app/frontend/common/components/securitycontext/template.html - 60 - - - - Run as Group - グループとして実行 - - src/app/frontend/common/components/securitycontext/template.html - 65 - - - - Run as Non-Root - 非 root ユーザーとして実行 - - src/app/frontend/common/components/securitycontext/template.html - 70 - - - - Seccomp Profile Type - Seccomp プロファイルタイプ - - src/app/frontend/common/components/securitycontext/template.html - 76 - - - - Seccomp Localhost Profile - Seccomp ローカルホストプロファイル - - src/app/frontend/common/components/securitycontext/template.html - 81 - - - - Added Capabilities - 追加機能 - - src/app/frontend/common/components/securitycontext/template.html - 88 - - - - Dropped Capabilities - 廃棄機能 - - src/app/frontend/common/components/securitycontext/template.html - 93 - - - - Privileged - 特権 - - src/app/frontend/common/components/securitycontext/template.html - 98 - - - - Read Only Filesystem - 読み取り専用ファイルシステム - - src/app/frontend/common/components/securitycontext/template.html - 103 - - - - Allow Privilege Escalation - 特権昇格許可 - - src/app/frontend/common/components/securitycontext/template.html - 108 - - - - Proc Mount - Proc マウント - - src/app/frontend/common/components/securitycontext/template.html - 113 - - - - Filesystem Group - ファイルシステムグループ - - src/app/frontend/common/components/securitycontext/template.html - 120 - - - - Filesystem Group Change Policy - ファイルシステムグループポリシー変更 - - src/app/frontend/common/components/securitycontext/template.html - 125 - - - - Supplemental Groups - 補足グループ - - src/app/frontend/common/components/securitycontext/template.html - 131 - - - - Sysctls - Sysctl 引数 - - src/app/frontend/common/components/securitycontext/template.html - 139 - - - - API Group - API グループ - - src/app/frontend/common/components/subject/template.html - 63 - - - - Workloads - ワークロード - - - src/app/frontend/chrome/nav/template.html - 27 - - - - Cron Jobs - Cron ジョブ - - - src/app/frontend/chrome/nav/template.html - 32 - - - - Daemon Sets - デーモンセット - - - src/app/frontend/chrome/nav/template.html - 36 - - - - Deployments - デプロイメント - - - src/app/frontend/chrome/nav/template.html - 40 - - - - Jobs - ジョブ - - - src/app/frontend/chrome/nav/template.html - 44 - - - - Pods - ポッド - - - src/app/frontend/chrome/nav/template.html - 48 - - - - Replica Sets - レプリカセット - - - src/app/frontend/chrome/nav/template.html - 52 - - - - Replication Controllers - レプリケーションコントローラー - - - src/app/frontend/chrome/nav/template.html - 56 - - - - Stateful Sets - ステートフルセット - - - src/app/frontend/chrome/nav/template.html - 61 - - - - Service - サービス - - - src/app/frontend/chrome/nav/template.html - 67 - - - - Ingresses - イングレス - - - src/app/frontend/chrome/nav/template.html - 73 - - - - Services - サービス - - - src/app/frontend/chrome/nav/template.html - 82 - - - - Config and Storage - 設定とストレージ - - - src/app/frontend/chrome/nav/template.html - 88 - - - - Config Maps - コンフィグマップ - - - src/app/frontend/chrome/nav/template.html - 94 - - - - Persistent Volume Claims - 永続ボリューム要求 - - - src/app/frontend/chrome/nav/template.html - 100 - - - - Secrets - シークレット - - - src/app/frontend/chrome/nav/template.html - 106 - - - - Storage Classes - ストレージクラス - - - src/app/frontend/chrome/nav/template.html - 110 - - - - Cluster - クラスター - - - src/app/frontend/chrome/nav/template.html - 116 - - - - Cluster Role Bindings - クラスターロールバインディング - - - src/app/frontend/chrome/nav/template.html - 120 - - - - Cluster Roles - クラスターロール - - - src/app/frontend/chrome/nav/template.html - 125 - - - - Events - イベント - - src/app/frontend/chrome/nav/template.html - 130 - - - - Ingress Classes - イングレスクラス - - src/app/frontend/chrome/nav/template.html - 77 - - - - Namespaces - ネームスペース - - - src/app/frontend/chrome/nav/template.html - 134 - - - - Network Policies - ネットワークポリシー - - - src/app/frontend/chrome/nav/template.html - 139 - - - - Nodes - ノード - - - src/app/frontend/chrome/nav/template.html - 144 - - - - Persistent Volumes - 永続ボリューム - - - src/app/frontend/chrome/nav/template.html - 148 - - - - Role Bindings - ロールバインディング - - - src/app/frontend/chrome/nav/template.html - 154 - - - - Roles - ロール - - - src/app/frontend/chrome/nav/template.html - 160 - - - - Service Accounts - サービスアカウント - - - src/app/frontend/chrome/nav/template.html - 165 - - - - Custom Resource Definitions - カスタムリソース定義 - - - src/app/frontend/chrome/nav/template.html - 173 - - - - Plugins - プラグイン - - - src/app/frontend/chrome/nav/template.html - 184 - - - - Edit a resource - リソースを編集する - - src/app/frontend/common/dialogs/editresource/template.html - 18 - - - - Settings - 設定 - - - src/app/frontend/chrome/nav/template.html - 192 - - - - About - Kubernetes Dashboard について - - - src/app/frontend/chrome/nav/template.html - 197 - - - - Create new resource - 新しいリソースの作成 - - src/app/frontend/chrome/template.html - 42 - - - - - - - src/app/frontend/chrome/notifications/template.html - 47 - - - - There are no notifications - 通知はありません - - src/app/frontend/chrome/notifications/template.html - 63 - - - - Search - 検索 - - src/app/frontend/chrome/search/template.html - 29 - - - - Kubernetes Dashboard - Kubernetes Dashboard - - src/app/frontend/login/template.html - 23 - - - - Remove all notifications - すべての通知を削除 - - src/app/frontend/chrome/notifications/template.html - 71 - - - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - - - - Delete a resource - リソースを削除する - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - - - - Delete - 削除 - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - - - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - - - - Basic - ベーシック - - src/app/frontend/login/template.html - 36 - - - - Token - トークン - - src/app/frontend/login/template.html - 38 - - - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - - クラスターにアクセスするために作成した kubeconfig ファイルを選択してください。kubeconfig ファイルの設定方法や使用方法についてもっと知るためには、 Configure Access to Multiple Clusters セクションを参照してください。 - - - src/app/frontend/login/template.html - 44 - - - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - - ベーシック認証がそのクラスターで有効になっていることを確認してください。ベーシック認証の設定方法についてもっと知るためには、 AuthenticatingABAC Mode セクションを参照してください。 - - - src/app/frontend/login/template.html - 51 - - - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - - すべてのサービスアカウントには、ダッシュボードのログインに使用できる有効なベアラートークンを持つシークレットがあります。ベアラートークンの設定方法や使用方法についてもっと知るためには、 Authentication セクションを参照してください。 - - - src/app/frontend/login/template.html - 58 - - - - Enter token - トークンを入力 - - src/app/frontend/login/template.html - 74 - - - - Username - ユーザー名 - - src/app/frontend/login/template.html - 87 - - - - Password - パスワード - - src/app/frontend/login/template.html - 98 - - - - Choose kubeconfig file - kubeconfig ファイルの選択 - - src/app/frontend/login/template.html - 107 - - - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - - 安全でないアクセスを検知しました。サインインは無効になります。HTTPS 経由、あるいは localhost を使用してダッシュボードに安全にアクセスしてください。詳細は、 - - ここ - を参照してください。 - - - src/app/frontend/login/template.html - 117 - - - - Sign in - サインイン - - src/app/frontend/login/template.html - 133 - - - - Skip - スキップ - - src/app/frontend/login/template.html - 142 - - - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - - Kubernetes Dashboard は、ダッシュボード - コミュニティー によって、 - オープンソースプロジェクトとして実現されています。 - - - src/app/frontend/about/template.html - 37 - - - - Workloads - ワークロード - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - - - - Read documentation - ドキュメントを読む - - src/app/frontend/about/actionbar/template.html - 24 - - - - Provide feedback - フィードバックを提供する - - src/app/frontend/about/actionbar/template.html - 35 - - - - Resource information - リソース情報 - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - - - - Create from input - 入力して作成 - - src/app/frontend/create/template.html - 20 - - - - Create from file - ファイルから作成 - - src/app/frontend/create/template.html - 24 - - - - Create from form - フォームから作成 - - src/app/frontend/create/template.html - 28 - - - - About - Kubernetes Dashboard について - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - - - - General-purpose web UI for Kubernetes clusters - Kubernetes クラスター用の汎用 Web ベース UI - - src/app/frontend/about/template.html - 30 - - - - The new namespace will be added to the cluster. - 新しいネームスペースがクラスターに追加されます。 - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - - - - Namespace name - ネームスペース名 - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - - - - Name is required. - 名前は必須です。 - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - - - - Name must be up to characters long. - - 名前は 文字までです。 - - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - - - - Name must be alphanumeric and may contain dashes. - 名前にはアルファベットと数字、およびダッシュが使用できます。 - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - - - - Create a new image pull secret - 新しいイメージ取得用シークレットを作成 - - src/app/frontend/create/from/form/createsecret/template.html - 18 - - - - Go to namespace - ネームスペースへ移動 - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - - - - Suffix '' not recognized. - サフィックス '' が認識できません。 - - src/app/frontend/common/components/graph/helper.ts - 58 - - - - Rolling update strategy - ローリングアップデートストラテジー - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - - - - A namespace with the specified name will be added to the cluster. - 指定された名前のネームスペースがクラスターに追加されます。 - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - - - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - - - - The new secret will be added to the cluster - 新しいシークレットがクラスターに追加されます。 - - src/app/frontend/create/from/form/createsecret/template.html - 21 - - - - Secret name - シークレット名 - - src/app/frontend/create/from/form/createsecret/template.html - 29 - - - - Name must be up to characters long. - - 名前は 文字までです。 - - - src/app/frontend/create/from/form/createsecret/template.html - 39 - - - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名前は DNS ドメイン名の構文に従う必要があります (例 new.image-pull.secret)。 - - src/app/frontend/create/from/form/createsecret/template.html - 41 - - - - A secret with the specified name will be added to the cluster in the namespace. - 指定された名前のシークレットがネームスペースのクラスターに追加されます。 - - src/app/frontend/create/from/form/createsecret/template.html - 46 - - - - Data is required. - データが必要です。 - - src/app/frontend/create/from/form/createsecret/template.html - 66 - - - - Data must be Base64 encoded. - データは Base64 エンコードされている必要があります。 - - src/app/frontend/create/from/form/createsecret/template.html - 68 - - - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - シークレットを保持しているデータを指定します。その値は .dockercfg ファイルの内容を Base64 エンコードしたものです。 - - src/app/frontend/create/from/form/createsecret/template.html - 71 - - - - Create - 作成 - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - - - - Create - 作成 - - src/app/frontend/create/from/form/createnamespace/template.html - 67 - - - - App name - アプリ名 - - src/app/frontend/create/from/form/template.html - 23 - - - - Deployment or service with this name already exists within namespace. - ネームスペース内にこの名前のデプロイメントあるいはサービスが既に存在します。 - - src/app/frontend/create/from/form/template.html - 35 - - - - Application name is required. - アプリケーション名は必須です。 - - src/app/frontend/create/from/form/template.html - 39 - - - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - アプリケーション名は小文字で始まり、小文字、数字、および '-' からなる必要があります。 - - src/app/frontend/create/from/form/template.html - 41 - - - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - この値の 'app' ラベルがデプロイメントおよびサービスに追加されます。 - - src/app/frontend/create/from/form/template.html - 48 - - - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - - - - Container image - コンテナーイメージ - - src/app/frontend/create/from/form/template.html - 63 - - - - Container image is required - コンテナーイメージは必須です - - src/app/frontend/create/from/form/template.html - 68 - - - - Container image is invalid: - - コンテナーイメージが無効です: - - - src/app/frontend/create/from/form/template.html - 70 - - - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - レジストリー上のパブリックイメージ、または Docker Hub や Google Container Registry でホストされているプライベートイメージの URL を入力します。 - - src/app/frontend/create/from/form/template.html - 76 - - - - Number of pods - ポッド数 - - src/app/frontend/create/from/form/template.html - 93 - - - - Number of pods is required - ポッド数は必須です - - src/app/frontend/create/from/form/template.html - 99 - - - - Number of pods must be a positive integer - ポッド数は正の整数で指定してください - - src/app/frontend/create/from/form/template.html - 101 - - - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 大きなポッド数を設定すると、クラスターやダッシュボードの性能問題を引き起こす可能性があります。 - - src/app/frontend/create/from/form/template.html - 104 - - - - A Deployment will be created to maintain the desired number of pods across your cluster. - デプロイメントを作成して、クラスター内に必要な数のポッドを維持できます。 - - src/app/frontend/create/from/form/template.html - 109 - - - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - オプションで、内部または外部のサービスを定義して、コンテナーから参照されるターゲットポートに受信ポートをマッピングできます。 - - src/app/frontend/create/from/form/template.html - 129 - - - - Description - 説明 - - src/app/frontend/create/from/form/template.html - 172 - - - - The description will be added as an annotation to the Deployment and displayed in the application's details. - 説明はデプロイメントのアノテーションとして追加され、アプリケーションの詳細に表示されます。 - - src/app/frontend/create/from/form/template.html - 175 - - - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 指定されたラベルは作成されたデプロイメント、サービス(もしあれば)、およびポッドに適用されます。一般的なラベルには、リリース、環境、層、パーティション、トラックなどが含まれます。 - - src/app/frontend/create/from/form/template.html - 188 - - - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - - - - Create a new namespace... - 新しいネームスペースの作成... - - src/app/frontend/create/from/form/template.html - 151 - - - - Namespaces let you partition resources into logically named groups. - ネームスペースは、リソースを論理的に命名されたグループに分けます。 - - src/app/frontend/create/from/form/template.html - 155 - - - - Create a new secret... - 新しいシークレットの作成... - - src/app/frontend/create/from/form/template.html - 209 - - - - Image Pull Secret - イメージ取得用シークレット - - src/app/frontend/create/from/form/template.html - 204 - - - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 指定されたイメージがプライベートの場合、取得用シークレットクレデンシャルを要求できます。既存のシークレットを選択するか、新しく作成できます。 - - src/app/frontend/create/from/form/template.html - 213 - - - - CPU requirement (cores) - CPU 要件 (コア数) - - src/app/frontend/create/from/form/template.html - 230 - - - - CPU requirement must be given as a positive number. - CPU 要件は正の整数で指定してください。 - - src/app/frontend/create/from/form/template.html - 236 - - - - CPU requirement must be given as a valid number. - CPU 要件は有効な数で指定してください。 - - src/app/frontend/create/from/form/template.html - 240 - - - - Memory requirement (MiB) - メモリー要件 (MiB) - - src/app/frontend/create/from/form/template.html - 248 - - - - Memory requirement must be given as a positive number. - メモリー要件は正の整数で指定してください。 - - src/app/frontend/create/from/form/template.html - 254 - - - - Memory requirement must be given as a valid number. - メモリー要件は有効な数で指定してください。 - - src/app/frontend/create/from/form/template.html - 258 - - - - You can specify minimum CPU and memory requirements for the container. - コンテナーの CPU およびメモリーの下限を指定できます。 - - src/app/frontend/create/from/form/template.html - 264 - - - - Run command - 実行コマンド - - src/app/frontend/create/from/form/template.html - 279 - - - - Run command arguments - 実行コマンドの引数 - - src/app/frontend/create/from/form/template.html - 285 - - - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - デフォルトでは、コンテナーは選択されたイメージの ENTRYPOINT のコマンドを実行します。コマンドオプションを使用して、このデフォルトの動作を上書きできます。 - - src/app/frontend/create/from/form/template.html - 291 - - - - Run as privileged - 特権コンテナーとして実行 - - src/app/frontend/create/from/form/template.html - 307 - - - - Processes in privileged containers are equivalent to processes running as root on the host. - 特権コンテナー内のプロセスは、ホスト上で root として実行されているプロセスと同等です。 - - src/app/frontend/create/from/form/template.html - 310 - - - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - コンテナーで使用できる環境変数です。値は、$(VAR_NAME) 構文を使用して、他の変数を参照できます。 - - src/app/frontend/create/from/form/template.html - 324 - - - - Deploy - - デプロイ - - src/app/frontend/create/from/form/template.html - 343 - - - - Preview - - プレビュー - - - src/app/frontend/create/from/form/template.html - 352,354 - - - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {高度な設定を隠す} other {高度な設定を表示}} - - src/app/frontend/create/from/form/template.html - 367 - - - - - - - - - - src/app/frontend/create/from/form/template.html - 366 - - - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - ファイルに指定されたネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 - - src/app/frontend/create/from/input/template.html - 19 - - - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 現在選択されているネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 - - src/app/frontend/create/from/input/template.html - 23 - - - - Global settings - グローバル設定 - - src/app/frontend/settings/global/template.html - 21 - - - - Learn more open_in_new - - もっと詳しく open_in_new - - - src/app/frontend/create/from/input/template.html - 29 - - - - Upload - - アップロード - - src/app/frontend/create/from/input/template.html - 40 - - - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - ファイルに指定されたネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 - - src/app/frontend/create/from/file/template.html - 19 - - - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 現在選択されているネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 - - src/app/frontend/create/from/file/template.html - 23 - - - - Learn more open_in_new - - もっと詳しく - open_in_new - - - src/app/frontend/create/from/file/template.html - 29 - - - - Choose YAML or JSON file - YAML または JSON ファイルを選択してください - - src/app/frontend/create/from/file/template.html - 35 - - - - Upload - - アップロード - - - src/app/frontend/create/from/file/template.html - 43,44 - - - - Cancel - - キャンセル - - - src/app/frontend/create/from/file/template.html - 50,51 - - - - Variable name must be a valid C identifier. - 変数名は、有効な C 識別子で指定してください。 - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - - - - Running: - 稼働中: - - src/app/frontend/overview/helper.ts - 32 - - - - Suspended: - 休止中: - - src/app/frontend/overview/helper.ts - 40 - - - - Failed: - 失敗: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - - - - Pending: - 待機中: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - - - - Succeeded: - 成功: - - src/app/frontend/overview/helper.ts - 55 - - - - Value - - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - - - - iSCSI Qualified Name - iSCSI 修飾名 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - - - - iSCSI target lun number - iSCSI ターゲット lun 番号 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - - - - Target portal - ターゲットポータル - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - - - - Server - サーバー - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - - - - Keyring - キーリング - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - - - - Monitors - モニター - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - - - - Pool - プール - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - - - - Secret reference name - シークレットリファレンス名 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - - - - User - ユーザー - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - - - - Ingress Class Name - イングレスクラス名 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - - - - Default Backend - デフォルトバックエンド - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - - - - Service Name - サービス名 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - - - - Service Port Name - サービスポート名 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - - - - Service Port Number - サービスポート番号 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - - - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - - - - Label Selector - ラベルセレクター - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - - - - Init images - 初期イメージ - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - - - - Service - サービス - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - - - - Config and Storage - Config and Storage - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - - - - Port - ポート - - src/app/frontend/create/from/form/portmappings/template.html - 48 - - - - Port must be an integer. - ポートは整数で指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 52 - - - - Port cannot be empty. - ポートは必須です。 - - src/app/frontend/create/from/form/portmappings/template.html - 54 - - - - Port must be greater than 0. - ポートは 0 より大きい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 56 - - - - Port must be less than 65536. - ポートは 65536 より小さい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 58 - - - - Target port - ターゲットポート - - src/app/frontend/create/from/form/portmappings/template.html - 71 - - - - Target port must be an integer. - ターゲットポートは整数で指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 77 - - - - Target port cannot be empty. - ターゲットポートは必須です。 - - src/app/frontend/create/from/form/portmappings/template.html - 81 - - - - Target port must be greater than 0. - ターゲットポートは 0 より大きい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 85 - - - - Target port must be less than 65536. - ターゲットポートは 65536 より小さい数を指定してください。 - - src/app/frontend/create/from/form/portmappings/template.html - 89 - - - - Protocol - プロトコル - - src/app/frontend/create/from/form/portmappings/template.html - 102 - - - - Protocol is required. - プロトコルは必須です。 - - src/app/frontend/create/from/form/portmappings/template.html - 114 - - - - Invalid protocol. - 無効なプロトコルです。 - - src/app/frontend/create/from/form/portmappings/template.html - 116 - - - - Create a new namespace - Create a new namespace - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - - - - key - キー - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - - - - is not unique - - は一意ではありません - - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - - - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - プレフィックスが有効な DNS サブドメインのプレフィックス (例 my-domain.com) ではありません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - - - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - ラベルのキー名は、'-'、'_'、あるいは '.' で区切られたアルファベットと数字からなる必要があり、オプションで DNS サブドメイン、あるいは '/' でプレフィックスできます。 - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - - - - Prefix should not exceed 253 characters. - プレフィックスは 253 文字を超えてはいけません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - - - - Label Key name should not exceed 63 characters. - ラベルのキー名は 63 文字を超えてはいけません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - - - - value - - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - - - - Label value must be alphanumeric separated by '.' , '-' or '_'. - ラベルの値は '.'、'-'、あるいは '_' で区切られたアルファベットと数字からなる必要があります。 - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - - - - Label Value must not exceed 253 characters. - ラベルの値は 253 文字を超えてはいけません。 - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - - - - Logs from - ログ - - src/app/frontend/logs/template.html - 24 - - - - Init Containers - 初期化コンテナー - - src/app/frontend/logs/template.html - 34 - - - - in - in - - src/app/frontend/logs/template.html - 43 - - - - Download logs - ログのダウンロード - - src/app/frontend/logs/template.html - 57 - - - - Invert colors - 色の反転 - - src/app/frontend/logs/template.html - 131 - - - - Reduce font size - フォントサイズの縮小 - - src/app/frontend/logs/template.html - 136 - - - - Show timestamps - タイムスタンプの表示 - - src/app/frontend/logs/template.html - 141 - - - - Auto-refresh (every s.) - 自動更新 ( 秒毎) - - src/app/frontend/logs/template.html - 146 - - - - Show previous logs - 以前のログを表示 - - src/app/frontend/logs/template.html - 151 - - - - Logs from to UTC - ログ UTC から まで - - - src/app/frontend/logs/template.html - 94 - - - - Path - パス - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - - - - Key - キー - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - - - - Path Type - パス種別 - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - - - - Service Name - サービス名 - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - - - - Service Port - サービスポート - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - - - - TLS Secret - TLS 鍵 - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - - - - Namespace conflict - Namespace conflict - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - - - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - - - - Quantity - 数量 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - - - - Volume Name - Volume Name - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - - - - Session Affinity - Session Affinity - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - - - - Selector - Selector - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - - - - Filesystem type - Filesystem type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - - - - Partition - Partition - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - - - - Read only - Read only - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - - - - Volume ID - Volume ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - - - - Lun number - Lun number - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - - - - Target World Wide Names - Target World Wide Names - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - - - - Dataset name - Dataset name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - - - - Persistent disk name - Persistent disk name - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - - - - Path - Path - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - - - - Driver - Driver - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - - - - Volume Handle - Volume Handle - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - - - - File System Type - File System Type - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - - - - Volume Attributes - Volume Attributes - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - - - - Parameter - パラメーター - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - - - - Data - Data - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - - - - There is no data to display. - 表示するデータがありません。 - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - - - - Settings have changed since last reload - Settings have changed since last reload - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - - - - Schedule:  - スケジュール:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - - - - Active Jobs:  - 稼働中のジョブ:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - - - - Suspend:  - 休止中:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - - - - Last schedule - Last schedule - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - - - - Concurrency policy - Concurrency policy - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - - - - Starting deadline seconds - Starting deadline seconds - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - - - - Role Reference - Role Reference - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - - - - System information - System information - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - - - - Allocation - Allocation - - src/app/frontend/resource/cluster/node/detail/template.html - 130 - - - - Pod CIDR - Pod CIDR - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - - - - Provider ID - Provider ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - - - - Unschedulable - Unschedulable - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - - - - Addresses - Addresses - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - - - - Taints - Taints - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - - - - Machine ID - Machine ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - - - - System UUID - System UUID - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - - - - Boot ID - Boot ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - - Kernel version - Kernel version - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - - - - OS Image - OS Image - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - - - - Container runtime version - Container runtime version - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - - - - kubelet version - kubelet version - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - - - - kube-proxy version - kube-proxy version - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - - - - Operating system - Operating system - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - - - - Architecture - Architecture - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - - - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 138 - - - - Memory - Memory - - src/app/frontend/resource/cluster/node/detail/template.html - 151 - - - - Pod Selector - Pod Selector - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - - - - Policy Types - Policy Types - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - - - - Ingress Rules - Ingress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - - - - Egress Rules - Egress Rules - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - - - - Active Jobs - 稼働中のジョブ - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - - - - Image Pull Secrets - イメージ取得用シークレット - - src/app/frontend/resource/cluster/serviceaccount/detail/component.ts - 57 - - - - Inactive Jobs - 非稼働のジョブ - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - - - - Strategy:  - ストラテジー:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - - - - Min ready seconds:  - 最小準備秒数:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - - - - Revision history limit:  - 改版履歴上限:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - - - - Strategy - Strategy - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - - - - Min ready seconds - Min ready seconds - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - - - - Revision history limit - Revision history limit - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - - - - Max surge:  - 最大サージ:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - - - - Max unavailable:  - 最大利用不可:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - - - - Max surge - Max surge - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - - - - Max unavailable - Max unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - - - - Updated:  - 更新済み:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - - - - Total:  - 合計:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - - - - Available:  - 利用可能:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - - - - Unavailable:  - 利用不可:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - - - - Updated - Updated - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - - - - Total - Total - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - - - - Available - Available - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - - - - Unavailable - Unavailable - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - - - - New Replica Set - New Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - - - - Environment variables - Environment variables - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - - - - Pods:  - ポッド:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - - - - Old Replica Sets - 古いレプリカセット - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - - - - Completions:  - 完了:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - - - - Parallelism:  - 並列:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - - - - Completions - Completions - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - - - - Parallelism - Parallelism - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - - - - Do you want to save them anyways? - ともあれ保存しますか? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - - - - Refresh - Refresh - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - - - - Resource Information - Resource Information - - src/app/frontend/crd/detail/template.html - 22 - - - - Accepted Names - Accepted Names - - src/app/frontend/crd/detail/template.html - 55 - - - - Scope - Scope - - src/app/frontend/crd/detail/template.html - 35 - - - - Version - Version - - src/app/frontend/crd/detail/template.html - 29 - - - - Subresources - Subresources - - src/app/frontend/crd/detail/template.html - 47 - - - - Plural - Plural - - src/app/frontend/crd/detail/template.html - 62 - - - - List Kind - List Kind - - src/app/frontend/crd/detail/template.html - 77 - - - - Singular - Singular - - src/app/frontend/crd/detail/template.html - 67 - - - - Short Names - Short Names - - src/app/frontend/crd/detail/template.html - 82 - - - - Categories - Categories - - src/app/frontend/crd/detail/template.html - 87 - - - - Default namespace - デフォルトのネームスペース - - src/app/frontend/settings/global/namespace/template.html - 18 - - - - Namespace that should be selected by default after logging in. - ログイン後にデフォルトで指定されるネームスペース。 - - src/app/frontend/settings/global/namespace/template.html - 20 - - - - Namespace fallback list - 無条件表示ネームスペース一覧 - - src/app/frontend/settings/global/namespace/template.html - 40 - - - - List of namespaces that should be presented to user without namespace list privileges. - ネームスペース一覧表示権限がないユーザーに表示されるべきネームスペースの一覧です。 - - src/app/frontend/settings/global/namespace/template.html - 42 - - - - Add namespaces... - ネームスペースの追加... - - src/app/frontend/settings/global/namespace/template.html - 60 - - - - Can't find plugin "" - Can't find plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - - - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - - - - Remove namespaces from the list and confirm to save the changes. - 一覧からネームスペースを削除し、保存ボタンを押して確定してください。 - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - - - - No namespaces selected - ネームスペースが選択されていません - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - - - - Provide a namespace name that should be added to the namespace fallback list - 無条件表示ネームスペース一覧に追加するネームスペースを指定してください。 - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - - - - Add - Add - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47 - - - - Edit Namespace List - Edit Namespace List - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - - - - Cluster name - クラスター名 - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - - - - Cluster name appears in the browser window title if it is set. - クラスター名が設定されていると、ブラウザーのウィンドウタイトルに表示されます。 - - src/app/frontend/settings/global/template.html - 28 - - - - Items per page - ページ毎の項目数 - - src/app/frontend/settings/global/template.html - 42 - - - - Max number of items that can be displayed on every list view. - 一覧表示のビューで表示する項目の最大数です。 - - src/app/frontend/settings/global/template.html - 44 - - - - Labels limit - ラベル数上限 - - src/app/frontend/settings/global/template.html - 58 - - - - Max number of labels that are displayed by default on most views. - ほとんどのビューでデフォルトで表示するラベルの最大数です。 - - src/app/frontend/settings/global/template.html - 60 - - - - Logs auto-refresh time interval - ログの自動更新間隔 - - src/app/frontend/settings/global/template.html - 74 - - - - Number of seconds between every auto-refresh of logs. - ログの自動更新間隔の秒数。 - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - リソースの自動更新間隔 - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - リソースの自動更新間隔の秒数。無効にするには 0 を設定します。 - - src/app/frontend/settings/global/template.html - 94 - - - - Disable access denied notification - アクセス拒否通知の無効化 - - src/app/frontend/settings/global/template.html - 110 - - - - Hides all access denied warnings in the notification panel. - 通知パネルのすべてのアクセス拒否警告を隠す。 - - src/app/frontend/settings/global/template.html - 112 - - - - Reload - Reload - - src/app/frontend/settings/global/template.html - 132 - - - - Local settings - Local settings - - src/app/frontend/settings/local/template.html - 19 - - - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - ローカル設定はブラウザのクッキーに保存されるので、複数のデバイス間で同期されません。変更は自動的に適用されます。 - - src/app/frontend/settings/local/template.html - 21 - - - - Theme - テーマ - - src/app/frontend/settings/local/template.html - 26 - - - - Choose color theme of the dashboard - ダッシュボードのカラーテーマを選択してください。 - - src/app/frontend/settings/local/template.html - 28 - - - - Language - 言語 - - src/app/frontend/settings/local/template.html - 41 - - - - Change the language of the dashboard - ダッシュボードの言語を選択してください。 - - src/app/frontend/settings/local/template.html - 43 - - - - Add Namespace - Add Namespace - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - - - - Shell in in - - の - - - - - - のシェル - - - src/app/frontend/shell/template.html - 22 - - - - - diff --git a/modules/go.work.sum b/modules/go.work.sum index 096c4c3d2476..fa307b008511 100644 --- a/modules/go.work.sum +++ b/modules/go.work.sum @@ -1,3 +1,3 @@ -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= From f2e3c24f5b2ad58f31d38ca1d9e7d9170a9a767c Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 19:51:12 +0200 Subject: [PATCH 095/162] Update web scripts --- .github/workflows/ci-global.yml | 76 ++++++++++++++++----------------- Makefile | 7 --- modules/web/.npmrc | 7 --- modules/web/package-lock.json | 24 +++++------ modules/web/package.json | 18 ++++---- 5 files changed, 58 insertions(+), 74 deletions(-) delete mode 100644 modules/web/.npmrc diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index bafafe0e967c..ef453e05c5a7 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -48,44 +48,6 @@ jobs: with: version: v1.46.0 - license-check: - name: License check - runs-on: ubuntu-latest - env: - TERM: xterm - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Check licenses - uses: apache/skywalking-eyes@main - - codeql: - permissions: - actions: read - contents: read - security-events: write - name: CodeQL - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - language: [ 'go', 'typescript' ] - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Initialize - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - name: Analyze - uses: github/codeql-action/analyze@v2 - e2e-tests: name: End-to-end tests runs-on: ubuntu-latest @@ -125,6 +87,44 @@ jobs: - name: Run end-to-end tests run: make e2e + license-check: + name: License check + runs-on: ubuntu-latest + env: + TERM: xterm + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Check licenses + uses: apache/skywalking-eyes@main + + codeql: + permissions: + actions: read + contents: read + security-events: write + name: CodeQL + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + language: [ 'go', 'typescript' ] + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + - name: Autobuild CodeQL + uses: github/codeql-action/autobuild@v2 + - name: Analyze CodeQL + uses: github/codeql-action/analyze@v2 + dependency-review: runs-on: ubuntu-latest steps: diff --git a/Makefile b/Makefile index ee432628cf30..f253759eb3ab 100644 --- a/Makefile +++ b/Makefile @@ -178,13 +178,6 @@ build: # --bind-address=${BIND_ADDRESS} \ # --port=${PORT} # -#.PHONY: check-i18n -#check-i18n: fix-i18n -# -#.PHONY: fix-i18n -#fix-i18n: -# ./aio/scripts/pre-commit-i18n.sh -# #.PHONY: check-codegen #check-codegen: ensure-codegen # ./aio/scripts/verify-codegen.sh diff --git a/modules/web/.npmrc b/modules/web/.npmrc deleted file mode 100644 index 7996bf838514..000000000000 --- a/modules/web/.npmrc +++ /dev/null @@ -1,7 +0,0 @@ -# This file defines default variables values used by npm scripts. -# Read more at at: https://docs.npmjs.com/files/npmrc -# Config variables can be overridden by running: -# npm run --= - -# General configuration -engine-strict = true diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index 6d4c7a508945..7ea891bbd38e 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -11671,14 +11671,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -21055,7 +21055,7 @@ "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, "dependencies": { "accepts": "~1.3.4", @@ -21139,7 +21139,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "node_modules/setprototypeof": { @@ -32930,14 +32930,14 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" } }, "get-package-type": { @@ -39892,7 +39892,7 @@ "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, "requires": { "accepts": "~1.3.4", @@ -39966,7 +39966,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "setprototypeof": { diff --git a/modules/web/package.json b/modules/web/package.json index 388deece9ca8..f58731a53cad 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -11,6 +11,7 @@ "node": ">=16.15.0", "npm": ">=8.5.5" }, + "engineStrict": true, "scripts": { "start": "make serve", "start:https": "make serve-https", @@ -18,16 +19,16 @@ "start:prod:https": "npm run ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", "build:prod": "make build", "start:e2e": "concurrently \"make serve-backend\" \"npm run start:frontend\"", - "check": "make check", - "check:html": "./aio/scripts/check-html.sh", - "check:scss": "stylelint src/**/*.scss --fix", - "check:ts": "gts lint", - "fix": "make fix", + "fix": "npm run fix:i18n && npm run fix:html && npm run fix:scss && npm run fix:ts", "fix:i18n": "ng run kubernetes-dashboard:extract-i18n-merge", - "fix:go": "make fix-go", "fix:html": "npx html-beautify -f=./src/**/*.html", "fix:scss": "stylelint src/**/*.scss", "fix:ts": "gts fix", + "check": "npm run check:i18n && npm run check:html && npm run check:scss && npm run check:ts", + "check:i18n": "npm run fix:i18n", + "check:html": "./scripts/check-html.sh", + "check:scss": "stylelint src/**/*.scss --fix", + "check:ts": "gts lint", "test": "npx jest -c jest.config.js", "coverage": "npx jest -c jest.config.js --coverage -i", "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", @@ -42,9 +43,6 @@ "src/**/*.scss": [ "stylelint --fix" ], - "src/**/*.go": [ - "make fix-go" - ], "src/**/*.html": [ "./aio/scripts/pre-commit-i18n.sh" ] @@ -68,7 +66,6 @@ "crop-url": "4.0.1", "d3": "6.7.0", "file-saver": "2.0.5", - "js-beautify": "1.14.3", "js-yaml": "4.1.0", "jwt-decode": "3.1.2", "material-design-icons": "3.0.1", @@ -124,6 +121,7 @@ "jasmine-spec-reporter": "7.0.0", "jest": "28.1.0", "jest-preset-angular": "12.0.1", + "js-beautify": "1.14.3", "license-check-and-add": "4.0.5", "lint-staged": "12.4.3", "lodash": "4.17.21", From d12f3d80e3165e0500b250e2579ac39fa07a174b Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 20:11:48 +0200 Subject: [PATCH 096/162] Update workflows --- .github/workflows/ci-api.yml | 23 +++++++++-------------- .github/workflows/ci-global.yml | 21 --------------------- 2 files changed, 9 insertions(+), 35 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 755bdeed2265..afa97946576d 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -18,24 +18,17 @@ on: branches: [ master ] paths-ignore: - '**/*.md' - - 'aio/**' - - 'docs/**' - - 'web/**' pull_request: branches: [ master ] paths-ignore: - '**/*.md' - - 'aio/**' - - 'docs/**' - - 'web/**' permissions: contents: read jobs: - check: - name: Static Check + static: + name: Static check runs-on: ubuntu-latest env: - NG_CLI_ANALYTICS: ci GOPROXY: "https://proxy.golang.org" TERM: xterm defaults: @@ -50,11 +43,13 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18 - - name: Check Code - shell: bash - run: | - export GOPATH=$(go env GOPATH)/bin - npm run check + - name: Lint Go + uses: golangci/golangci-lint-action@v3 + with: + version: v1.46.0 + - name: Verify codegen + run: make codegen-verify + unit: name: Unit tests with coverage runs-on: ubuntu-latest diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index ef453e05c5a7..8fae1c1db4fe 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -27,27 +27,6 @@ on: permissions: contents: read jobs: - - lint-go: - name: Lint Go - runs-on: ubuntu-latest - env: - GOPROXY: "https://proxy.golang.org" - TERM: xterm - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Setup Go - uses: actions/setup-go@v3 - with: - go-version: 1.18 - - name: Lint Go - uses: golangci/golangci-lint-action@v3 - with: - version: v1.46.0 - e2e-tests: name: End-to-end tests runs-on: ubuntu-latest From fb2ce6040df994556ab758cd51ae336fff616c6c Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 20:16:52 +0200 Subject: [PATCH 097/162] Update API workflow --- .github/workflows/ci-api.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index afa97946576d..afbd9df61d90 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -47,6 +47,7 @@ jobs: uses: golangci/golangci-lint-action@v3 with: version: v1.46.0 + working-directory: modules/api - name: Verify codegen run: make codegen-verify From 53774be07c95db70218cd0d135a2f699cef0b0df Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 20:32:08 +0200 Subject: [PATCH 098/162] Fix dependencies --- .github/workflows/ci-api.yml | 4 +-- .github/workflows/ci-global.yml | 5 +++ modules/web/package-lock.json | 54 ++++++++++++++++++++++++--------- modules/web/package.json | 3 -- 4 files changed, 46 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index afbd9df61d90..3fcb2607bfe1 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -43,13 +43,13 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18 + - name: Verify codegen + run: make codegen-verify - name: Lint Go uses: golangci/golangci-lint-action@v3 with: version: v1.46.0 working-directory: modules/api - - name: Verify codegen - run: make codegen-verify unit: name: Unit tests with coverage diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 8fae1c1db4fe..b601a6890580 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -105,6 +105,11 @@ jobs: uses: github/codeql-action/analyze@v2 dependency-review: + permissions: + actions: read + contents: read + security-events: write + name: Dependency review runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index 7ea891bbd38e..cfb23e1fe26b 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -28,7 +28,6 @@ "crop-url": "4.0.1", "d3": "6.7.0", "file-saver": "2.0.5", - "js-beautify": "1.14.3", "js-yaml": "4.1.0", "jwt-decode": "3.1.2", "material-design-icons": "3.0.1", @@ -68,7 +67,7 @@ "@types/node": "17.0.36", "@typescript-eslint/eslint-plugin": "5.27.0", "@typescript-eslint/parser": "5.27.0", - "codelyzer": "6.0.2", + "codelyzer": "^6.0.2", "concurrently": "7.2.1", "cypress": "9.7.0", "cypress-fail-fast": "4.0.0", @@ -84,6 +83,7 @@ "jasmine-spec-reporter": "7.0.0", "jest": "28.1.0", "jest-preset-angular": "12.0.1", + "js-beautify": "1.14.3", "license-check-and-add": "4.0.5", "lint-staged": "12.4.3", "lodash": "4.17.21", @@ -5682,7 +5682,8 @@ "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true }, "node_modules/accepts": { "version": "1.3.8", @@ -7764,6 +7765,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, "dependencies": { "ini": "^1.3.4", "proto-list": "~1.2.1" @@ -7772,7 +7774,8 @@ "node_modules/config-chain/node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, "node_modules/configstore": { "version": "5.0.1", @@ -9604,6 +9607,7 @@ "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, "dependencies": { "commander": "^2.19.0", "lru-cache": "^4.1.5", @@ -9618,6 +9622,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -9627,6 +9632,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, "bin": { "semver": "bin/semver" } @@ -9634,7 +9640,8 @@ "node_modules/editorconfig/node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "node_modules/ee-first": { "version": "1.1.1", @@ -16000,6 +16007,7 @@ "version": "1.14.3", "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", + "dev": true, "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^0.15.3", @@ -18193,6 +18201,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, "dependencies": { "abbrev": "1" }, @@ -19863,7 +19872,8 @@ "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true }, "node_modules/proxy-addr": { "version": "2.0.7", @@ -19903,7 +19913,8 @@ "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true }, "node_modules/psl": { "version": "1.8.0", @@ -21204,7 +21215,8 @@ "node_modules/sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true }, "node_modules/signal-exit": { "version": "3.0.7", @@ -28453,7 +28465,8 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true }, "accepts": { "version": "1.3.8", @@ -30008,6 +30021,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, "requires": { "ini": "^1.3.4", "proto-list": "~1.2.1" @@ -30016,7 +30030,8 @@ "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true } } }, @@ -31468,6 +31483,7 @@ "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, "requires": { "commander": "^2.19.0", "lru-cache": "^4.1.5", @@ -31479,6 +31495,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -31487,12 +31504,14 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true } } }, @@ -36131,6 +36150,7 @@ "version": "1.14.3", "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", + "dev": true, "requires": { "config-chain": "^1.1.13", "editorconfig": "^0.15.3", @@ -37798,6 +37818,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, "requires": { "abbrev": "1" } @@ -38982,7 +39003,8 @@ "proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true }, "proxy-addr": { "version": "2.0.7", @@ -39018,7 +39040,8 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true }, "psl": { "version": "1.8.0", @@ -40019,7 +40042,8 @@ "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true }, "signal-exit": { "version": "3.0.7", diff --git a/modules/web/package.json b/modules/web/package.json index f58731a53cad..52eb676b9dcf 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -148,8 +148,5 @@ "typescript": "4.6.4", "wait-on": "6.0.1", "webpack-dev-server": "4.8.1" - }, - "overrides": { - "colors": "1.4.0" } } From 313db99dc9616168b81b4a420473ae312dc16100 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Wed, 8 Jun 2022 20:53:41 +0200 Subject: [PATCH 099/162] Restore overrides --- modules/web/package-lock.json | 2 +- modules/web/package.json | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json index cfb23e1fe26b..cf61d6b79453 100644 --- a/modules/web/package-lock.json +++ b/modules/web/package-lock.json @@ -67,7 +67,7 @@ "@types/node": "17.0.36", "@typescript-eslint/eslint-plugin": "5.27.0", "@typescript-eslint/parser": "5.27.0", - "codelyzer": "^6.0.2", + "codelyzer": "6.0.2", "concurrently": "7.2.1", "cypress": "9.7.0", "cypress-fail-fast": "4.0.0", diff --git a/modules/web/package.json b/modules/web/package.json index 52eb676b9dcf..f58731a53cad 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -148,5 +148,8 @@ "typescript": "4.6.4", "wait-on": "6.0.1", "webpack-dev-server": "4.8.1" + }, + "overrides": { + "colors": "1.4.0" } } From bc68b5645f4e28aeae500a896d34d30e67fa1c47 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Tue, 28 Jun 2022 23:30:37 +0200 Subject: [PATCH 100/162] Update dev pipeline --- Makefile | 157 ++++++++---------- hack/docker/Dockerfile | 39 +++++ hack/docker/docker.compose.yaml | 87 ++++++++++ hack/partials/api.mk | 33 ++++ hack/partials/build.mk | 27 +++ hack/partials/config.mk | 29 ++++ hack/partials/deploy.mk | 20 +++ hack/partials/web.mk | 17 ++ modules/Makefile | 36 +--- modules/api/Makefile | 101 ++--------- modules/api/pkg/client/api/common_test.go | 4 +- modules/api/pkg/client/csrf/manager_test.go | 3 +- modules/api/pkg/errors/handler_test.go | 14 +- modules/api/pkg/errors/localizer_test.go | 16 +- .../pkg/plugin/client/clientset/clientset.go | 4 + .../api/pkg/resource/cronjob/detail_test.go | 10 +- .../api/pkg/resource/cronjob/events_test.go | 4 +- modules/api/pkg/resource/cronjob/jobs_test.go | 8 +- modules/api/pkg/resource/cronjob/list_test.go | 14 +- modules/api/pkg/resource/pod/list_test.go | 13 +- modules/api/pkg/sync/poll/secret_test.go | 6 +- modules/api/pkg/sync/poll/watcher_test.go | 4 +- modules/common/tools/Makefile | 2 +- modules/common/tools/go.mod | 4 +- modules/common/tools/go.sum | 7 +- modules/go.work.sum | 1 + 26 files changed, 404 insertions(+), 256 deletions(-) create mode 100644 hack/docker/Dockerfile create mode 100644 hack/docker/docker.compose.yaml create mode 100644 hack/partials/api.mk create mode 100644 hack/partials/build.mk create mode 100644 hack/partials/config.mk create mode 100644 hack/partials/deploy.mk create mode 100644 hack/partials/web.mk diff --git a/Makefile b/Makefile index f253759eb3ab..b38c04797cc8 100644 --- a/Makefile +++ b/Makefile @@ -1,71 +1,50 @@ +ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(ROOT_DIRECTORY)/hack/partials/config.mk +include $(ROOT_DIRECTORY)/hack/partials/build.mk +include $(ROOT_DIRECTORY)/hack/partials/api.mk +include $(ROOT_DIRECTORY)/hack/partials/web.mk + # Unused -SHELL = /bin/bash -GOOS ?= $(shell go env GOOS) -GOARCH ?= $(shell go env GOARCH) +#SHELL = /bin/bash +#GOOS ?= $(shell go env GOOS) +#GOARCH ?= $(shell go env GOARCH) #GOPATH ?= $(shell go env GOPATH) -CODEGEN_VERSION := v0.23.6 -CODEGEN_BIN := $(GOPATH)/pkg/mod/k8s.io/code-generator@$(CODEGEN_VERSION)/generate-groups.sh -GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt -COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage -MAIN_PACKAGE = github.com/kubernetes/dashboard/src/app/backend - -PROD_BINARY = .dist/amd64/web/dashboard -SERVE_DIRECTORY = .dist/web -SERVE_BINARY = .dist/web/dashboard -RELEASE_IMAGE = kubernetesui/dashboard -RELEASE_VERSION = v2.6.0 -RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) -RELEASE_IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):latest) -HEAD_IMAGE = kubernetesdashboarddev/dashboard -HEAD_VERSION = latest -HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) -ARCHITECTURES = amd64 arm64 arm ppc64le s390x +#CODEGEN_VERSION := v0.23.6 +#CODEGEN_BIN := $(GOPATH)/pkg/mod/k8s.io/code-generator@$(CODEGEN_VERSION)/generate-groups.sh +#GO_COVERAGE_FILE = $(ROOT_DIRECTORY)/coverage/go.txt +#COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage +#MAIN_PACKAGE = github.com/kubernetes/dashboard/src/app/backend + +#PROD_BINARY = .dist/amd64/web/dashboard +#SERVE_DIRECTORY = .dist/web +#SERVE_BINARY = .dist/web/dashboard +#RELEASE_IMAGE = kubernetesui/dashboard +#RELEASE_VERSION = v2.6.0 +#RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) +#RELEASE_IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):latest) +#HEAD_IMAGE = kubernetesdashboarddev/dashboard +#HEAD_VERSION = latest +#HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) +#ARCHITECTURES = amd64 arm64 arm ppc64le s390x # Dirs and paths -ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules -TOOLS_DIRECTORY := $(MODULES_DIRECTORY)/common/tools -GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway -HACK_DIRECTORY := $(ROOT_DIRECTORY)/hack -APP_NAME := kubernetes-dashboard - -DOCKER_COMPOSE_PATH := $(HACK_DIRECTORY)/docker.compose.yaml - -# BUILDARCH is the host machine architecture -BUILDARCH ?= $(shell uname -m) - -# BUILDOS is the host machine OS -BUILDOS ?= $(shell uname -s) - -ifeq ($(BUILDARCH),x86_64) - BUILDARCH=amd64 -endif -ifeq ($(BUILDARCH),aarch64) - BUILDARCH=arm64 -endif -ifeq ($(BUILDARCH),armv7l) - BUILDARCH=armv7 -endif - -ifeq ($(BUILDOS),Linux) - BUILDOS=linux -endif -ifeq ($(BUILOS),Darwin) - BUILDOS=darwin -endif - -# ARCH is the target build architecture. Unless overridden during build, host architecture (BUILDARCH) will be used -ARCH ?= $(BUILDARCH) -# OS is the target build OS. Unless overridden during build, host OS (BUILDOS) will be used -OS ?= $(BUILDOS) + +#MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules +#TOOLS_DIRECTORY := $(MODULES_DIRECTORY)/common/tools +#GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway +#HACK_DIRECTORY := $(ROOT_DIRECTORY)/hack +#APP_NAME := kubernetes-dashboard + +#DOCKER_COMPOSE_PATH := $(HACK_DIRECTORY)/docker.compose.yaml # Used by the run target to configure the application -KUBECONFIG ?= $(HOME)/.kube/config -WEB_SYSTEM_BANNER ?= "Local test environment" -WEB_SYSTEM_BANNER_SEVERITY ?= INFO -API_ENABLE_SKIP_LOGIN ?= true -API_SIDECAR_HOST ?= http://sidecar:8000 -API_TOKEN_TTL ?= 0 # Never expire +#KUBECONFIG ?= $(HOME)/.kube/config +#WEB_SYSTEM_BANNER ?= "Local test environment" +#WEB_SYSTEM_BANNER_SEVERITY ?= INFO +#API_ENABLE_SKIP_LOGIN ?= true +#API_SIDECAR_HOST ?= http://sidecar:8000 +#API_TOKEN_TTL ?= 0 # Never expire # List of targets that should be executed before other targets PRE = --ensure-tools @@ -85,7 +64,7 @@ fix-license: $(PRE) # Note: Make sure that the port 8080 is free on your localhost .PHONY: serve serve: $(PRE) - @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) TARGET=serve # Starts development version of the application with HTTPS enabled. # @@ -94,7 +73,7 @@ serve: $(PRE) # Note: Make sure that the port 8080 is free on your localhost .PHONY: serve-https serve-https: $(PRE) - @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) serve-https + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) TARGET=serve-https # Starts a prod version of the application. # @@ -102,32 +81,32 @@ serve-https: $(PRE) # # Note: Make sure that the port 4443 is free on your localhost .PHONY: run -run: $(PRE) --ensure-compose-down compose +run: $(PRE) --ensure-compose-down --compose @KUBECONFIG=$(KUBECONFIG) \ - WEB_SYSTEM_BANNER=$(WEB_SYSTEM_BANNER) \ - WEB_SYSTEM_BANNER_SEVERITY=$(WEB_SYSTEM_BANNER_SEVERITY) \ - API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ - API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ - API_TOKEN_TTL=$(API_TOKEN_TTL) \ + SYSTEM_BANNER=$(SYSTEM_BANNER) \ + SYSTEM_BANNER_SEVERITY=$(SYSTEM_BANNER_SEVERITY) \ + ENABLE_SKIP_LOGIN=$(ENABLE_SKIP_LOGIN) \ + SIDECAR_HOST=$(SIDECAR_HOST) \ + TOKEN_TTL=$(TOKEN_TTL) \ ARCH=$(ARCH) \ OS=$(OS) \ - docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(APP_NAME) up + docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(PROJECT_NAME) up -.PHONY: compose -compose: --ensure-certificates build +.PHONY: build +build: + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) TARGET=build + +.PHONY: --compose +--compose: --ensure-certificates build @KUBECONFIG=$(KUBECONFIG) \ - WEB_SYSTEM_BANNER=$(WEB_SYSTEM_BANNER) \ - WEB_SYSTEM_BANNER_SEVERITY=$(WEB_SYSTEM_BANNER_SEVERITY) \ - API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ - API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ - API_TOKEN_TTL=$(API_TOKEN_TTL) \ + SYSTEM_BANNER=$(SYSTEM_BANNER) \ + SYSTEM_BANNER_SEVERITY=$(SYSTEM_BANNER_SEVERITY) \ + ENABLE_SKIP_LOGIN=$(ENABLE_SKIP_LOGIN) \ + SIDECAR_HOST=$(SIDECAR_HOST) \ + TOKEN_TTL=$(TOKEN_TTL) \ ARCH=$(ARCH) \ OS=$(OS) \ - docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(APP_NAME) build - -.PHONY: build -build: - @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) build + docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(PROJECT_NAME) build .PHONY: --ensure-tools --ensure-tools: @@ -136,14 +115,14 @@ build: .PHONY: --ensure-compose-down --ensure-compose-down: @KUBECONFIG=$(KUBECONFIG) \ - WEB_SYSTEM_BANNER=$(WEB_SYSTEM_BANNER) \ - WEB_SYSTEM_BANNER_SEVERITY=$(WEB_SYSTEM_BANNER_SEVERITY) \ - API_ENABLE_SKIP_LOGIN=$(API_ENABLE_SKIP_LOGIN) \ - API_SIDECAR_HOST=$(API_SIDECAR_HOST) \ - API_TOKEN_TTL=$(API_TOKEN_TTL) \ + SYSTEM_BANNER=$(SYSTEM_BANNER) \ + SYSTEM_BANNER_SEVERITY=$(SYSTEM_BANNER_SEVERITY) \ + ENABLE_SKIP_LOGIN=$(ENABLE_SKIP_LOGIN) \ + SIDECAR_HOST=$(SIDECAR_HOST) \ + TOKEN_TTL=$(TOKEN_TTL) \ ARCH=$(ARCH) \ OS=$(OS) \ - docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(APP_NAME) down + docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(PROJECT_NAME) down .PHONY: --ensure-certificates --ensure-certificates: diff --git a/hack/docker/Dockerfile b/hack/docker/Dockerfile new file mode 100644 index 000000000000..9dd40d931858 --- /dev/null +++ b/hack/docker/Dockerfile @@ -0,0 +1,39 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main Dockerfile of the project. It creates an image that serves the application. This image should +# be built from the dist directory. + +ARG BUILDPLATFORM + +FROM --platform=$BUILDPLATFORM ubuntu:20.04 as builder + +# Create a nonroot user for final image +RUN useradd -u 10001 nonroot + +# Scratch can be used as the base image because the backend is compiled to include all +# its dependencies. +FROM --platform=$BUILDPLATFORM scratch as final + +# Add all files from current working directory to the root of the image, i.e., copy dist directory +# layout to the root directory. +ADD . / + +# Copy nonroot user +COPY --from=builder /etc/passwd /etc/passwd +USER nonroot + +# The port that the application listens on. +EXPOSE 9090 8443 +ENTRYPOINT ["/dashboard", "--insecure-bind-address=0.0.0.0", "--bind-address=0.0.0.0"] diff --git a/hack/docker/docker.compose.yaml b/hack/docker/docker.compose.yaml new file mode 100644 index 000000000000..be69ba11e459 --- /dev/null +++ b/hack/docker/docker.compose.yaml @@ -0,0 +1,87 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: "3.8" +services: + web: + build: + context: ../.. + dockerfile: modules/web/Dockerfile + args: + - TARGETPLATFORM=${OS:?}/${ARCH:?} + - TARGETARCH=${ARCH:?} + command: + --locale-config=/public/locale_conf.json + --auto-generate-certificates + --system-banner="${SYSTEM_BANNER:?}" + --system-banner-severity=${SYSTEM_BANNER_SEVERITY:?} + volumes: + - ${KUBECONFIG:?}:${KUBECONFIG:?} + tmpfs: + - /tmp + ports: + - "8001:8001" + api: + build: + context: ../.. + dockerfile: modules/api/Dockerfile + args: + - TARGETPLATFORM=${OS:?}/${ARCH:?} + - TARGETARCH=${ARCH:?} + command: + --kubeconfig=${KUBECONFIG:?} + --auto-generate-certificates + --enable-skip-login=${ENABLE_SKIP_LOGIN:?} + --sidecar-host=${SIDECAR_HOST:?} + --token-ttl=${TOKEN_TTL:?} + volumes: + - ${KUBECONFIG:?}:${KUBECONFIG:?} + tmpfs: + - /tmp + ports: + - "9000:9000" + metrics-scraper: + image: kubernetesui/metrics-scraper:v1.0.8 + command: + --kubeconfig=${KUBECONFIG:?} + --metric-resolution=5s + --metric-duration=10m + volumes: + - ${KUBECONFIG:?}:${KUBECONFIG:?} + tmpfs: + - /tmp + ports: + - "8000:8000" +# metrics-server: +# image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1 +# command: +# - --kubeconfig=${KUBECONFIG:?} +# - --cert-dir=/tmp +# - --secure-port=5443 +# - --metric-resolution=15s +# volumes: +# - ${KUBECONFIG:?}:${KUBECONFIG:?} +# tmpfs: +# - /tmp +# ports: +# - "5443:5443" + gateway: + build: + context: ../.. + dockerfile: hack/gateway/Dockerfile + ports: + - "4443:4443" + +networks: + kubernetes-dashboard: diff --git a/hack/partials/api.mk b/hack/partials/api.mk new file mode 100644 index 000000000000..38765603d401 --- /dev/null +++ b/hack/partials/api.mk @@ -0,0 +1,33 @@ +### Application details +APP_NAME := dashboard-api +APP_VERSION := v1.0.0 +PACKAGE_NAME := k8s.io/dashboard/api +# Docker image details +IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME)-$(arch):$(APP_VERSION)) +# Images versioned as latest are build based on the master branch +IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME)-$(arch):latest) + +### Dirs and paths +SERVE_DIRECTORY = $(DIST_DIRECTORY)/api +SERVE_BINARY = $(SERVE_DIRECTORY)/$(ARCH)/$(APP_NAME) +COVERAGE_FILE = $(API_DIRECTORY)/coverage.out + +### Codegen configuration +BASE_DIR = $(API_DIRECTORY)/pkg/plugin +INPUT_BASE = $(PACKAGE_NAME)/pkg/plugin +INPUT = "apis/v1alpha1" +CLIENTSET_NAME = clientset +OUTPUT_BASE = $(BASE_DIR) +OUTPUT_PACKAGE = $(INPUT_BASE)/client +VERIFY_ONLY = false +CODEGEN_EXTRA_ARGS = "" + +### API Arguments (overridable) +KUBECONFIG ?= $(HOME)/.kube/config +SIDECAR_HOST ?= http://sidecar:8000 +TOKEN_TTL ?= 0 # Never expire +AUTO_GENERATE_CERTIFICATES ?= false +BIND_ADDRESS ?= 127.0.0.1 +PORT ?= 8080 +ENABLE_INSECURE_LOGIN ?= false +ENABLE_SKIP_LOGIN ?= true diff --git a/hack/partials/build.mk b/hack/partials/build.mk new file mode 100644 index 000000000000..2bfb6ca67589 --- /dev/null +++ b/hack/partials/build.mk @@ -0,0 +1,27 @@ +# BUILDARCH is the host machine architecture +BUILDARCH ?= $(shell uname -m) + +# BUILDOS is the host machine OS +BUILDOS ?= $(shell uname -s) + +ifeq ($(BUILDARCH),x86_64) + BUILDARCH=amd64 +endif +ifeq ($(BUILDARCH),aarch64) + BUILDARCH=arm64 +endif +ifeq ($(BUILDARCH),armv7l) + BUILDARCH=armv7 +endif + +ifeq ($(BUILDOS),Linux) + BUILDOS=linux +endif +ifeq ($(BUILOS),Darwin) + BUILDOS=darwin +endif + +# ARCH is the target build architecture. Unless overridden during build, host architecture (BUILDARCH) will be used +ARCH ?= $(BUILDARCH) +# OS is the target build OS. Unless overridden during build, host OS (BUILDOS) will be used +OS ?= $(BUILDOS) diff --git a/hack/partials/config.mk b/hack/partials/config.mk new file mode 100644 index 000000000000..15cc298a4c5d --- /dev/null +++ b/hack/partials/config.mk @@ -0,0 +1,29 @@ +### Common application/container details +PROJECT_NAME := dashboard +# Supported architectures +ARCHITECTURES := amd64 arm64 arm ppc64le s390x +# Docker image details +IMAGE_REPOSITORY := kubernetesui + +### Dirs and paths +# Base paths +PARTIALS_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +# Modules +MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules +API_DIRECTORY := $(MODULES_DIRECTORY)/api +TOOLS_DIRECTORY := $(MODULES_DIRECTORY)/common/tools +GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway +# Docker files +DOCKER_DIRECTORY := $(ROOT_DIRECTORY)/hack/docker +DOCKER_COMPOSE_PATH := $(DOCKER_DIRECTORY)/docker.compose.yaml +# Build +DIST_DIRECTORY := $(ROOT_DIRECTORY)/.dist + +### GOPATH check +ifndef GOPATH +$(error $$GOPATH environment variable not set) +endif + +ifeq (,$(findstring $(GOPATH)/bin,$(PATH))) +$(error $$GOPATH/bin directory is not in your $$PATH) +endif diff --git a/hack/partials/deploy.mk b/hack/partials/deploy.mk new file mode 100644 index 000000000000..a9847b657c6c --- /dev/null +++ b/hack/partials/deploy.mk @@ -0,0 +1,20 @@ +IMAGE := $(IMAGE_REPOSITORY)/$(APP_NAME) + +.PHONY: deploy +deploy: --docker-buildx + docker manifest create --amend $(IMAGE):$(APP_VERSION) $(IMAGE_NAMES) ; \ + docker manifest create --amend $(IMAGE):latest $(IMAGE_NAMES_LATEST) ; \ + docker manifest push $(IMAGE):$(RELEASE_VERSION) ; \ + docker manifest push $(IMAGE):latest + +.PHONY: --docker-buildx +--docker-buildx: build-cross + @for ARCH in $(ARCHITECTURES) ; do \ + docker buildx build \ + -t $(IMAGE)-$$ARCH:$(APP_VERSION) \ + -t $(IMAGE)-$$ARCH:latest \ + --platform linux/$$ARCH \ + --push \ + $(SERVE_DIRECTORY)/$$ARCH ; \ + done ; \ + diff --git a/hack/partials/web.mk b/hack/partials/web.mk new file mode 100644 index 000000000000..f6c5dab9c8ff --- /dev/null +++ b/hack/partials/web.mk @@ -0,0 +1,17 @@ +### Application details +APP_NAME := dashboard-web +APP_VERSION := v1.0.0 +PACKAGE_NAME := k8s.io/dashboard/web +# Docker image details +IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME)-$(arch):$(APP_VERSION)) +# Images versioned as latest are build based on the master branch +IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME)-$(arch):latest) + +### Dirs and paths +SERVE_DIRECTORY = $(DIST_DIRECTORY)/web +SERVE_BINARY = $(SERVE_DIRECTORY)/$(ARCH)/$(APP_NAME) + +# Web UI Arguments (overridable) +SYSTEM_BANNER ?= "Local test environment" +SYSTEM_BANNER_SEVERITY ?= INFO +AUTO_GENERATE_CERTIFICATES ?= false diff --git a/modules/Makefile b/modules/Makefile index 75824c996c14..ef9a56a55f2b 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -1,38 +1,12 @@ MODULES_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) API_DIRECTORY = $(MODULES_DIRECTORY)/api WEB_DIRECTORY = $(MODULES_DIRECTORY)/web +MODULES := $(API_DIRECTORY) $(WEB_DIRECTORY) MAKEFLAGS += -j2 -.PHONY: serve -serve: --serve-api --serve-web +.PHONY: --run $(MODULES) +--run: $(MODULES) -.PHONY: serve-https -serve-https: --serve-api-https --serve-web-https - -.PHONY: build -build: --build-api --build-web - -.PHONY: --serve-api ---serve-api: - @$(MAKE) --no-print-directory -C $(API_DIRECTORY) serve - -.PHONY: --serve-web ---serve-web: - @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) serve - -.PHONY: --serve-api-https ---serve-api-https: - @$(MAKE) --no-print-directory -C $(API_DIRECTORY) serve-https - -.PHONY: --serve-web-https ---serve-web-https: - @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) serve-https - -.PHONY: --build-api ---build-api: - @$(MAKE) --no-print-directory -C $(API_DIRECTORY) build - -.PHONY: --build-web ---build-web: - @$(MAKE) --no-print-directory -C $(WEB_DIRECTORY) build +$(MODULES): + @$(MAKE) --directory=$@ $(TARGET) diff --git a/modules/api/Makefile b/modules/api/Makefile index 68b64260d908..48a62ab967a9 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -1,73 +1,10 @@ # Paths and directories -API_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -ROOT_DIRECTORY = $(API_DIRECTORY)/../.. -DIST_DIRECTORY = $(ROOT_DIRECTORY)/.dist -SERVE_DIRECTORY = $(DIST_DIRECTORY)/api -SERVE_BINARY = $(SERVE_DIRECTORY)/$(APP_NAME) -COVERAGE_FILE = $(API_DIRECTORY)/coverage.out -MAIN_PACKAGE = k8s.io/dashboard/api - -# Codegen configuration -BASE_DIR = $(API_DIRECTORY)/pkg/plugin -INPUT_BASE = $(MAIN_PACKAGE)/pkg/plugin -INPUT = "apis/v1alpha1" -CLIENTSET_NAME = clientset -OUTPUT_BASE = $(BASE_DIR) -OUTPUT_PACKAGE = $(INPUT_BASE)/client -VERIFY_ONLY = false -CODEGEN_EXTRA_ARGS = "" - -# Container deployment configuration -REGISTRY = kubernetesui -APP_NAME = dashboard-api -IMAGE = $(REGISTRY)/$(APP_NAME) - -RELEASE_VERSION = v1.0.0 -RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) - -DEV_VERSION = latest -DEV_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(DEV_VERSION)) - -# Build configuration -ARCHITECTURES = amd64 arm64 arm ppc64le s390x - -# BUILDARCH is the host machine architecture -BUILDARCH ?= $(shell uname -m) - -# BUILDOS is the host machine OS -BUILDOS ?= $(shell uname -s) - -ifeq ($(BUILDARCH),x86_64) - BUILDARCH=amd64 -endif -ifeq ($(BUILDARCH),aarch64) - BUILDARCH=arm64 -endif -ifeq ($(BUILDARCH),armv7l) - BUILDARCH=armv7 -endif - -ifeq ($(BUILDOS),Linux) - BUILDOS=linux -endif -ifeq ($(BUILOS),Darwin) - BUILDOS=darwin -endif - -# ARCH is the target build architecture. Unless overridden during build, host architecture (BUILDARCH) will be used -ARCH ?= $(BUILDARCH) -# OS is the target build OS. Unless overridden during build, host OS (BUILDOS) will be used -OS ?= $(BUILDOS) - -# API Arguments (overridable) -KUBECONFIG ?= $(HOME)/.kube/config -SIDECAR_HOST ?= http://localhost:7000 -TOKEN_TTL ?= 3600 # 1 hour -AUTO_GENERATE_CERTS ?= false -BIND_ADDRESS ?= 127.0.0.1 -PORT ?= 8080 -ENABLE_INSECURE_LOGIN ?= false -ENABLE_SKIP_LOGIN ?= false +ROOT_DIRECTORY = $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))/../.. + +include $(ROOT_DIRECTORY)/hack/partials/config.mk +include $(ROOT_DIRECTORY)/hack/partials/build.mk +include $(ROOT_DIRECTORY)/hack/partials/api.mk +include $(ROOT_DIRECTORY)/hack/partials/deploy.mk # List of targets that should be executed before other targets PRE := --ensure-dist-exists @@ -87,7 +24,7 @@ build: $(PRE) build-cross build-cross: @for ARCH in $(ARCHITECTURES) ; do \ echo "Building dashboard-api for $(OS)/$$ARCH" ; \ - CGO_ENABLED=0 GOOS=$(OS) GOARCH=$$ARCH go build -ldflags "-X $(MAIN_PACKAGE)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(DIST_DIRECTORY)/api/$$ARCH/dashboard-api $(MAIN_PACKAGE) ; \ + CGO_ENABLED=0 GOOS=$(OS) GOARCH=$$ARCH go build -ldflags "-X $(PACKAGE_NAME)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(DIST_DIRECTORY)/api/$$ARCH/dashboard-api $(PACKAGE_NAME) ; \ done .PHONY: run @@ -95,7 +32,7 @@ run: build @$(SERVE_BINARY) --kubeconfig=$(KUBECONFIG) \ --sidecar-host=$(SIDECAR_HOST) \ --token-ttl=$(TOKEN_TTL) \ - --auto-generate-certificates=$(AUTO_GENERATE_CERTS) \ + --auto-generate-certificates=$(AUTO_GENERATE_CERTIFICATES) \ --enable-insecure-login=$(ENABLE_INSECURE_LOGIN) \ --enable-skip-login=$(ENABLE_SKIP_LOGIN) @@ -109,29 +46,11 @@ serve-https: .PHONY: test test: - go test $(MAIN_PACKAGE)/... + go test $(PACKAGE_NAME)/... .PHONY: coverage coverage: - go test -coverprofile=$(GO_COVERAGE_FILE) -covermode=atomic $(MAIN_PACKAGE)/... - -.PHONY: deploy -deploy: --docker-buildx - docker manifest create --amend $(IMAGE):$(RELEASE_VERSION) $(RELEASE_IMAGE_NAMES) ; \ - docker manifest create --amend $(IMAGE):$(DEV_VERSION) $(DEV_IMAGE_NAMES) ; \ - docker manifest push $(IMAGE):$(RELEASE_VERSION) ; \ - docker manifest push $(IMAGE):$(DEV_VERSION) - -.PHONY: --docker-buildx ---docker-buildx: build-cross - @for ARCH in $(ARCHITECTURES) ; do \ - docker buildx build \ - -t $(IMAGE)-$$ARCH:$(RELEASE_VERSION) \ - -t $(IMAGE)-$$ARCH:$(DEV_VERSION) \ - --platform linux/$$ARCH \ - --push \ - $(SERVE_DIRECTORY)/$$ARCH ; \ - done ; \ + go test -coverprofile=$(GO_COVERAGE_FILE) -covermode=atomic $(PACKAGE_NAME)/... .PHONY: --ensure-dist-exists --ensure-dist-exists: diff --git a/modules/api/pkg/client/api/common_test.go b/modules/api/pkg/client/api/common_test.go index 14684a7baa2a..ba46b20b2c8e 100644 --- a/modules/api/pkg/client/api/common_test.go +++ b/modules/api/pkg/client/api/common_test.go @@ -19,6 +19,8 @@ import ( "testing" v1 "k8s.io/api/authorization/v1" + + "k8s.io/dashboard/api/pkg/client/api" ) func TestToSelfSubjectAccessReview(t *testing.T) { @@ -37,7 +39,7 @@ func TestToSelfSubjectAccessReview(t *testing.T) { }, } - got := ToSelfSubjectAccessReview(ns, name, resourceName, verb) + got := api.ToSelfSubjectAccessReview(ns, name, resourceName, verb) if !reflect.DeepEqual(got, expected) { t.Fatalf("Expected to get %+v but got %+v", expected, got) } diff --git a/modules/api/pkg/client/csrf/manager_test.go b/modules/api/pkg/client/csrf/manager_test.go index a4276b653543..cd4b92a50d71 100644 --- a/modules/api/pkg/client/csrf/manager_test.go +++ b/modules/api/pkg/client/csrf/manager_test.go @@ -22,6 +22,7 @@ import ( "k8s.io/client-go/kubernetes/fake" "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/client/csrf" ) func TestCsrfTokenManager_Token(t *testing.T) { @@ -50,7 +51,7 @@ func TestCsrfTokenManager_Token(t *testing.T) { }() client := fake.NewSimpleClientset(c.csrfSecret) - manager := NewCsrfTokenManager(client) + manager := csrf.NewCsrfTokenManager(client) if (len(manager.Token()) == 0) == c.wantToken { t.Errorf("Expected token to exist: %v", c.wantToken) diff --git a/modules/api/pkg/errors/handler_test.go b/modules/api/pkg/errors/handler_test.go index ad002f4b34cf..30cb12dbcd35 100644 --- a/modules/api/pkg/errors/handler_test.go +++ b/modules/api/pkg/errors/handler_test.go @@ -17,6 +17,8 @@ package errors_test import ( "reflect" "testing" + + "k8s.io/dashboard/api/pkg/errors" ) func TestHandleHTTPError(t *testing.T) { @@ -29,28 +31,28 @@ func TestHandleHTTPError(t *testing.T) { 500, }, { - NewInvalid("some unknown error"), + errors.NewInvalid("some unknown error"), 500, }, { - NewInvalid(MsgDeployNamespaceMismatchError), + errors.NewInvalid(errors.MsgDeployNamespaceMismatchError), 500, }, { - NewInvalid(MsgLoginUnauthorizedError), + errors.NewInvalid(errors.MsgLoginUnauthorizedError), 401, }, { - NewInvalid(MsgTokenExpiredError), + errors.NewInvalid(errors.MsgTokenExpiredError), 401, }, { - NewInvalid(MsgEncryptionKeyChanged), + errors.NewInvalid(errors.MsgEncryptionKeyChanged), 401, }, } for _, c := range cases { - actual := HandleHTTPError(c.err) + actual := errors.HandleHTTPError(c.err) if !reflect.DeepEqual(actual, c.expected) { t.Errorf("HandleHTTPError(%+v) == %+v, expected %+v", c.err, actual, c.expected) } diff --git a/modules/api/pkg/errors/localizer_test.go b/modules/api/pkg/errors/localizer_test.go index db56d5957dcf..ec0da8a5273a 100644 --- a/modules/api/pkg/errors/localizer_test.go +++ b/modules/api/pkg/errors/localizer_test.go @@ -16,6 +16,8 @@ package errors_test import ( "testing" + + "k8s.io/dashboard/api/pkg/errors" ) func TestLocalizeError(t *testing.T) { @@ -28,20 +30,20 @@ func TestLocalizeError(t *testing.T) { nil, }, { - NewInternal("some unknown error"), - NewInternal("some unknown error"), + errors.NewInternal("some unknown error"), + errors.NewInternal("some unknown error"), }, { - NewInvalid("does not match the namespace"), - NewInvalid("MSG_DEPLOY_NAMESPACE_MISMATCH_ERROR"), + errors.NewInvalid("does not match the namespace"), + errors.NewInvalid("MSG_DEPLOY_NAMESPACE_MISMATCH_ERROR"), }, { - NewInvalid("empty namespace may not be set"), - NewInvalid("MSG_DEPLOY_EMPTY_NAMESPACE_ERROR"), + errors.NewInvalid("empty namespace may not be set"), + errors.NewInvalid("MSG_DEPLOY_EMPTY_NAMESPACE_ERROR"), }, } for _, c := range cases { - actual := LocalizeError(c.err) + actual := errors.LocalizeError(c.err) if !areErrorsEqual(actual, c.expected) { t.Errorf("LocalizeError(%+v) == %+v, expected %+v", c.err, actual, c.expected) } diff --git a/modules/api/pkg/plugin/client/clientset/clientset.go b/modules/api/pkg/plugin/client/clientset/clientset.go index 0f08fe35886c..9a0994f06522 100644 --- a/modules/api/pkg/plugin/client/clientset/clientset.go +++ b/modules/api/pkg/plugin/client/clientset/clientset.go @@ -61,6 +61,10 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { func NewForConfig(c *rest.Config) (*Clientset, error) { configShallowCopy := *c + if configShallowCopy.UserAgent == "" { + configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent() + } + // share the transport between all clients httpClient, err := rest.HTTPClientFor(&configShallowCopy) if err != nil { diff --git a/modules/api/pkg/resource/cronjob/detail_test.go b/modules/api/pkg/resource/cronjob/detail_test.go index 797c771a41d3..d1ce82259b04 100644 --- a/modules/api/pkg/resource/cronjob/detail_test.go +++ b/modules/api/pkg/resource/cronjob/detail_test.go @@ -21,7 +21,9 @@ import ( batch "k8s.io/api/batch/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/cronjob" "k8s.io/dashboard/api/pkg/resource/dataselect" ) @@ -30,7 +32,7 @@ func TestGetCronJobDetail(t *testing.T) { namespace, name string expectedActions []string raw *batch.CronJob - expected *CronJobDetail + expected *cronjob.CronJobDetail }{ { namespace, @@ -46,8 +48,8 @@ func TestGetCronJobDetail(t *testing.T) { Suspend: &suspend, }, }, - &CronJobDetail{ - CronJob: CronJob{ + &cronjob.CronJobDetail{ + CronJob: cronjob.CronJob{ ObjectMeta: api.ObjectMeta{ Name: name, Namespace: namespace, @@ -64,7 +66,7 @@ func TestGetCronJobDetail(t *testing.T) { for _, c := range cases { fakeClient := fake.NewSimpleClientset(c.raw) dataselect.DefaultDataSelectWithMetrics.MetricQuery = dataselect.NoMetrics - actual, _ := GetCronJobDetail(fakeClient, c.namespace, c.name) + actual, _ := cronjob.GetCronJobDetail(fakeClient, c.namespace, c.name) actions := fakeClient.Actions() if len(actions) != len(c.expectedActions) { diff --git a/modules/api/pkg/resource/cronjob/events_test.go b/modules/api/pkg/resource/cronjob/events_test.go index 044f63386bd3..a4a7ab0d7118 100644 --- a/modules/api/pkg/resource/cronjob/events_test.go +++ b/modules/api/pkg/resource/cronjob/events_test.go @@ -21,8 +21,10 @@ import ( v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" "k8s.io/dashboard/api/pkg/resource/dataselect" ) @@ -68,7 +70,7 @@ func TestGetJobEvents(t *testing.T) { for _, c := range cases { fakeClient := fake.NewSimpleClientset(c.eventList) - actual, _ := GetCronJobEvents(fakeClient, dataselect.NoDataSelect, c.namespace, c.name) + actual, _ := cronjob.GetCronJobEvents(fakeClient, dataselect.NoDataSelect, c.namespace, c.name) actions := fakeClient.Actions() if len(actions) != len(c.expectedActions) { diff --git a/modules/api/pkg/resource/cronjob/jobs_test.go b/modules/api/pkg/resource/cronjob/jobs_test.go index cef762a91363..47bad2efbd12 100644 --- a/modules/api/pkg/resource/cronjob/jobs_test.go +++ b/modules/api/pkg/resource/cronjob/jobs_test.go @@ -23,12 +23,14 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + + "k8s.io/dashboard/api/pkg/resource/cronjob" ) func TestTriggerCronJobWithInvalidName(t *testing.T) { client := fake.NewSimpleClientset() - err := TriggerCronJob(client, namespace, "invalidName") + err := cronjob.TriggerCronJob(client, namespace, "invalidName") if !errors.IsNotFound(err) { t.Error("TriggerCronJob should return error when invalid name is passed") } @@ -49,7 +51,7 @@ func TestTriggerCronJobWithLongName(t *testing.T) { }} client := fake.NewSimpleClientset(&cron) - err := TriggerCronJob(client, namespace, longName) + err := cronjob.TriggerCronJob(client, namespace, longName) if err != nil { t.Error(err) } @@ -77,7 +79,7 @@ func TestTriggerCronJob(t *testing.T) { client := fake.NewSimpleClientset(&cron) - err := TriggerCronJob(client, namespace, name) + err := cronjob.TriggerCronJob(client, namespace, name) if err != nil { t.Error(err) } diff --git a/modules/api/pkg/resource/cronjob/list_test.go b/modules/api/pkg/resource/cronjob/list_test.go index 355dba34c0e4..79eea2d68f3f 100644 --- a/modules/api/pkg/resource/cronjob/list_test.go +++ b/modules/api/pkg/resource/cronjob/list_test.go @@ -20,9 +20,11 @@ import ( batch "k8s.io/api/batch/v1beta1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" "k8s.io/dashboard/api/pkg/resource/dataselect" ) @@ -30,17 +32,17 @@ func TestGetCronJobListFromChannels(t *testing.T) { cases := []struct { raw batch.CronJobList rawError error - expected *CronJobList + expected *cronjob.CronJobList expectedError error }{ { batch.CronJobList{}, nil, - &CronJobList{ + &cronjob.CronJobList{ ListMeta: api.ListMeta{}, CumulativeMetrics: make([]metricapi.Metric, 0), Status: common.ResourceStatus{}, - Items: []CronJob{}, + Items: []cronjob.CronJob{}, Errors: []error{}, }, nil, @@ -71,11 +73,11 @@ func TestGetCronJobListFromChannels(t *testing.T) { }, }, nil, - &CronJobList{ + &cronjob.CronJobList{ ListMeta: api.ListMeta{TotalItems: 2}, CumulativeMetrics: make([]metricapi.Metric, 0), Status: common.ResourceStatus{Failed: 2}, - Items: []CronJob{{ + Items: []cronjob.CronJob{{ ObjectMeta: api.ObjectMeta{ Name: name, Namespace: namespace, @@ -109,7 +111,7 @@ func TestGetCronJobListFromChannels(t *testing.T) { channels.CronJobList.Error <- c.rawError channels.CronJobList.List <- &c.raw - actual, err := GetCronJobListFromChannels(channels, dataselect.NoDataSelect, nil) + actual, err := cronjob.GetCronJobListFromChannels(channels, dataselect.NoDataSelect, nil) if !reflect.DeepEqual(actual, c.expected) { t.Errorf("GetCronJobListFromChannels() ==\n %#v\nExpected: %#v", actual, c.expected) } diff --git a/modules/api/pkg/resource/pod/list_test.go b/modules/api/pkg/resource/pod/list_test.go index badefc8b0b77..217c75e7e556 100644 --- a/modules/api/pkg/resource/pod/list_test.go +++ b/modules/api/pkg/resource/pod/list_test.go @@ -27,6 +27,7 @@ import ( metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/pod" ) func TestGetPodListFromChannels(t *testing.T) { @@ -34,16 +35,16 @@ func TestGetPodListFromChannels(t *testing.T) { k8sPod v1.PodList k8sPodError error pods *v1.PodList - expected *PodList + expected *pod.PodList expectedError error }{ { v1.PodList{}, nil, &v1.PodList{}, - &PodList{ + &pod.PodList{ ListMeta: api.ListMeta{}, - Pods: []Pod{}, + Pods: []pod.Pod{}, CumulativeMetrics: make([]metricapi.Metric, 0), Errors: []error{}, }, @@ -90,11 +91,11 @@ func TestGetPodListFromChannels(t *testing.T) { }, nil, &v1.PodList{}, - &PodList{ + &pod.PodList{ ListMeta: api.ListMeta{TotalItems: 1}, CumulativeMetrics: make([]metricapi.Metric, 0), Status: common.ResourceStatus{Pending: 1}, - Pods: []Pod{{ + Pods: []pod.Pod{{ ObjectMeta: api.ObjectMeta{ Name: "pod-name", Namespace: "pod-namespace", @@ -129,7 +130,7 @@ func TestGetPodListFromChannels(t *testing.T) { channels.EventList.List <- &v1.EventList{} channels.EventList.Error <- nil - actual, err := GetPodListFromChannels(channels, dataselect.NoDataSelect, nil) + actual, err := pod.GetPodListFromChannels(channels, dataselect.NoDataSelect, nil) if !reflect.DeepEqual(actual, c.expected) { t.Errorf("GetPodListFromChannels() ==\n %#v\nExpected: %#v", actual, c.expected) } diff --git a/modules/api/pkg/sync/poll/secret_test.go b/modules/api/pkg/sync/poll/secret_test.go index 2cc82f85c83c..9db1812288b3 100644 --- a/modules/api/pkg/sync/poll/secret_test.go +++ b/modules/api/pkg/sync/poll/secret_test.go @@ -22,10 +22,12 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes/fake" + + "k8s.io/dashboard/api/pkg/sync/poll" ) func TestNewSecretPoller(t *testing.T) { - poller := NewSecretPoller("test-secret", "test-ns", nil) + poller := poll.NewSecretPoller("test-secret", "test-ns", nil) if poller == nil { t.Fatal("Expected poller not to be nil.") @@ -43,7 +45,7 @@ func TestNewSecretPoller_Poll(t *testing.T) { }, } client := fake.NewSimpleClientset(event) - poller := NewSecretPoller(sName, nsName, client) + poller := poll.NewSecretPoller(sName, nsName, client) watcher := poller.Poll(1 * time.Second) select { diff --git a/modules/api/pkg/sync/poll/watcher_test.go b/modules/api/pkg/sync/poll/watcher_test.go index acad68e7c1ce..eb5d9c9aa090 100644 --- a/modules/api/pkg/sync/poll/watcher_test.go +++ b/modules/api/pkg/sync/poll/watcher_test.go @@ -16,10 +16,12 @@ package poll_test import ( "testing" + + "k8s.io/dashboard/api/pkg/sync/poll" ) func TestNewPollWatcher(t *testing.T) { - watcher := NewPollWatcher() + watcher := poll.NewPollWatcher() if watcher == nil { t.Fatal("Expected watcher not to be nil.") diff --git a/modules/common/tools/Makefile b/modules/common/tools/Makefile index 912184bee233..c6a5e35508aa 100644 --- a/modules/common/tools/Makefile +++ b/modules/common/tools/Makefile @@ -56,7 +56,7 @@ endif install-client-gen: ifndef CLIENT_GEN_BINARY @echo "[tools] downloading client-gen..." - @go install k8s.io/code-generator + @go install k8s.io/code-generator/cmd/client-gen else @echo "[tools] client-gen already exists" endif diff --git a/modules/common/tools/go.mod b/modules/common/tools/go.mod index ef517a2565c1..30e18c7713e6 100644 --- a/modules/common/tools/go.mod +++ b/modules/common/tools/go.mod @@ -6,7 +6,7 @@ require ( github.com/apache/skywalking-eyes v0.2.0 github.com/cosmtrek/air v1.29.0 github.com/golangci/golangci-lint v1.46.0 - k8s.io/code-generator v0.24.1 + k8s.io/code-generator v0.24.2 ) require ( @@ -107,7 +107,7 @@ require ( github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.2.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect diff --git a/modules/common/tools/go.sum b/modules/common/tools/go.sum index 685df9f7258d..df86a3a35ce5 100644 --- a/modules/common/tools/go.sum +++ b/modules/common/tools/go.sum @@ -597,9 +597,8 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= @@ -1508,8 +1507,8 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.3.1 h1:1kJlrWJLkaGXgcaeosRXViwviqjI7nkBvU2+sZW0AYc= honnef.co/go/tools v0.3.1/go.mod h1:vlRD9XErLMGT+mDuofSr0mMMquscM/1nQqtRSsh6m70= -k8s.io/code-generator v0.24.1 h1:zS+dvmUNaOcvsQ4faV9hXNjsKG9/pQaLnts1Wma4RM8= -k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/code-generator v0.24.2 h1:EGeRWzJrpwi6T6CvoNl0spM6fnAnOdCr0rz7H4NU1rk= +k8s.io/code-generator v0.24.2/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 h1:TT1WdmqqXareKxZ/oNXEUSwKlLiHzPMyB0t8BaFeBYI= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/modules/go.work.sum b/modules/go.work.sum index fa307b008511..357445ee5ea8 100644 --- a/modules/go.work.sum +++ b/modules/go.work.sum @@ -1,3 +1,4 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5 h1:FR+oGxGfbQu1d+jglI3rCkjAjUnhRSZcUxr+DqlDLNo= From 9928bffa735fe7ba36b90b2bba9a4a326a14dae3 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Tue, 28 Jun 2022 23:31:52 +0200 Subject: [PATCH 101/162] Cleanup --- Makefile | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/Makefile b/Makefile index b38c04797cc8..7c37f8efd151 100644 --- a/Makefile +++ b/Makefile @@ -16,36 +16,6 @@ include $(ROOT_DIRECTORY)/hack/partials/web.mk #COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage #MAIN_PACKAGE = github.com/kubernetes/dashboard/src/app/backend -#PROD_BINARY = .dist/amd64/web/dashboard -#SERVE_DIRECTORY = .dist/web -#SERVE_BINARY = .dist/web/dashboard -#RELEASE_IMAGE = kubernetesui/dashboard -#RELEASE_VERSION = v2.6.0 -#RELEASE_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):$(RELEASE_VERSION)) -#RELEASE_IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(RELEASE_IMAGE)-$(arch):latest) -#HEAD_IMAGE = kubernetesdashboarddev/dashboard -#HEAD_VERSION = latest -#HEAD_IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(HEAD_IMAGE)-$(arch):$(HEAD_VERSION)) -#ARCHITECTURES = amd64 arm64 arm ppc64le s390x - -# Dirs and paths - -#MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules -#TOOLS_DIRECTORY := $(MODULES_DIRECTORY)/common/tools -#GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway -#HACK_DIRECTORY := $(ROOT_DIRECTORY)/hack -#APP_NAME := kubernetes-dashboard - -#DOCKER_COMPOSE_PATH := $(HACK_DIRECTORY)/docker.compose.yaml - -# Used by the run target to configure the application -#KUBECONFIG ?= $(HOME)/.kube/config -#WEB_SYSTEM_BANNER ?= "Local test environment" -#WEB_SYSTEM_BANNER_SEVERITY ?= INFO -#API_ENABLE_SKIP_LOGIN ?= true -#API_SIDECAR_HOST ?= http://sidecar:8000 -#API_TOKEN_TTL ?= 0 # Never expire - # List of targets that should be executed before other targets PRE = --ensure-tools From f5858dbad1a115e094bd03257f7a5dfc2fb64396 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 29 Jun 2022 17:58:11 +0200 Subject: [PATCH 102/162] Refactor partial makefiles and web frontend build --- Makefile | 9 +- hack/Dockerfile | 39 ------ hack/docker.compose.yaml | 87 ------------ hack/{partials => include}/build.mk | 0 hack/{partials => include}/config.mk | 4 +- hack/{partials => include}/deploy.mk | 0 modules/api/Makefile | 14 +- .../api/hack/include/config.mk | 4 +- modules/web/Makefile | 89 +++++++++--- modules/web/{scripts => hack}/check-html.sh | 0 .../web/hack/include/config.mk | 9 +- modules/web/{scripts => hack}/version.mjs | 0 modules/web/package.json | 6 +- modules/web/scripts/build.sh | 127 ------------------ 14 files changed, 93 insertions(+), 295 deletions(-) delete mode 100644 hack/Dockerfile delete mode 100644 hack/docker.compose.yaml rename hack/{partials => include}/build.mk (100%) rename hack/{partials => include}/config.mk (91%) rename hack/{partials => include}/deploy.mk (100%) rename hack/partials/api.mk => modules/api/hack/include/config.mk (90%) rename modules/web/{scripts => hack}/check-html.sh (100%) rename hack/partials/web.mk => modules/web/hack/include/config.mk (70%) rename modules/web/{scripts => hack}/version.mjs (100%) delete mode 100755 modules/web/scripts/build.sh diff --git a/Makefile b/Makefile index 7c37f8efd151..ecdc831c7766 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,10 @@ ROOT_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -include $(ROOT_DIRECTORY)/hack/partials/config.mk -include $(ROOT_DIRECTORY)/hack/partials/build.mk -include $(ROOT_DIRECTORY)/hack/partials/api.mk -include $(ROOT_DIRECTORY)/hack/partials/web.mk +include $(ROOT_DIRECTORY)/hack/include/config.mk +include $(ROOT_DIRECTORY)/hack/include/build.mk + +include $(API_DIRECTORY)/hack/include/config.mk +include $(WEB_DIRECTORY)/hack/include/config.mk # Unused #SHELL = /bin/bash diff --git a/hack/Dockerfile b/hack/Dockerfile deleted file mode 100644 index 9dd40d931858..000000000000 --- a/hack/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Main Dockerfile of the project. It creates an image that serves the application. This image should -# be built from the dist directory. - -ARG BUILDPLATFORM - -FROM --platform=$BUILDPLATFORM ubuntu:20.04 as builder - -# Create a nonroot user for final image -RUN useradd -u 10001 nonroot - -# Scratch can be used as the base image because the backend is compiled to include all -# its dependencies. -FROM --platform=$BUILDPLATFORM scratch as final - -# Add all files from current working directory to the root of the image, i.e., copy dist directory -# layout to the root directory. -ADD . / - -# Copy nonroot user -COPY --from=builder /etc/passwd /etc/passwd -USER nonroot - -# The port that the application listens on. -EXPOSE 9090 8443 -ENTRYPOINT ["/dashboard", "--insecure-bind-address=0.0.0.0", "--bind-address=0.0.0.0"] diff --git a/hack/docker.compose.yaml b/hack/docker.compose.yaml deleted file mode 100644 index ad6e42b8c762..000000000000 --- a/hack/docker.compose.yaml +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: "3.8" -services: - web: - build: - context: .. - dockerfile: modules/web/Dockerfile - args: - - TARGETPLATFORM=${OS:?}/${ARCH:?} - - TARGETARCH=${ARCH:?} - command: - --locale-config=/public/locale_conf.json - --auto-generate-certificates - --system-banner="${WEB_SYSTEM_BANNER:?}" - --system-banner-severity=${WEB_SYSTEM_BANNER_SEVERITY:?} - volumes: - - ${KUBECONFIG:?}:${KUBECONFIG:?} - tmpfs: - - /tmp - ports: - - "8001:8001" - api: - build: - context: .. - dockerfile: modules/api/Dockerfile - args: - - TARGETPLATFORM=${OS:?}/${ARCH:?} - - TARGETARCH=${ARCH:?} - command: - --kubeconfig=${KUBECONFIG:?} - --auto-generate-certificates - --enable-skip-login=${API_ENABLE_SKIP_LOGIN:?} - --sidecar-host=${API_SIDECAR_HOST:?} - --token-ttl=${API_TOKEN_TTL:?} - volumes: - - ${KUBECONFIG:?}:${KUBECONFIG:?} - tmpfs: - - /tmp - ports: - - "9000:9000" - metrics-scraper: - image: kubernetesui/metrics-scraper:v1.0.8 - command: - --kubeconfig=${KUBECONFIG:?} - --metric-resolution=5s - --metric-duration=10m - volumes: - - ${KUBECONFIG:?}:${KUBECONFIG:?} - tmpfs: - - /tmp - ports: - - "8000:8000" -# metrics-server: -# image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1 -# command: -# - --kubeconfig=${KUBECONFIG:?} -# - --cert-dir=/tmp -# - --secure-port=5443 -# - --metric-resolution=15s -# volumes: -# - ${KUBECONFIG:?}:${KUBECONFIG:?} -# tmpfs: -# - /tmp -# ports: -# - "5443:5443" - gateway: - build: - context: ../ - dockerfile: hack/gateway/Dockerfile - ports: - - "4443:4443" - -networks: - kubernetes-dashboard: diff --git a/hack/partials/build.mk b/hack/include/build.mk similarity index 100% rename from hack/partials/build.mk rename to hack/include/build.mk diff --git a/hack/partials/config.mk b/hack/include/config.mk similarity index 91% rename from hack/partials/config.mk rename to hack/include/config.mk index 15cc298a4c5d..f5288be44faf 100644 --- a/hack/partials/config.mk +++ b/hack/include/config.mk @@ -2,7 +2,7 @@ PROJECT_NAME := dashboard # Supported architectures ARCHITECTURES := amd64 arm64 arm ppc64le s390x -# Docker image details +# Container registry details IMAGE_REPOSITORY := kubernetesui ### Dirs and paths @@ -11,7 +11,9 @@ PARTIALS_DIRECTORY := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) # Modules MODULES_DIRECTORY := $(ROOT_DIRECTORY)/modules API_DIRECTORY := $(MODULES_DIRECTORY)/api +WEB_DIRECTORY := $(MODULES_DIRECTORY)/web TOOLS_DIRECTORY := $(MODULES_DIRECTORY)/common/tools +# Gateway GATEWAY_DIRECTORY := $(ROOT_DIRECTORY)/hack/gateway # Docker files DOCKER_DIRECTORY := $(ROOT_DIRECTORY)/hack/docker diff --git a/hack/partials/deploy.mk b/hack/include/deploy.mk similarity index 100% rename from hack/partials/deploy.mk rename to hack/include/deploy.mk diff --git a/modules/api/Makefile b/modules/api/Makefile index 48a62ab967a9..e5515892904d 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -1,11 +1,11 @@ -# Paths and directories ROOT_DIRECTORY = $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))/../.. include $(ROOT_DIRECTORY)/hack/partials/config.mk include $(ROOT_DIRECTORY)/hack/partials/build.mk -include $(ROOT_DIRECTORY)/hack/partials/api.mk include $(ROOT_DIRECTORY)/hack/partials/deploy.mk +include hack/include/config.mk + # List of targets that should be executed before other targets PRE := --ensure-dist-exists @@ -18,18 +18,18 @@ codegen-verify: --codegen-verify-pre --codegen-update-run --codegen-verify-post .PHONY: build build: ARCHITECTURES = $(ARCH) -build: $(PRE) build-cross +build: build-cross .PHONY: build-cross -build-cross: +build-cross: $(PRE) @for ARCH in $(ARCHITECTURES) ; do \ echo "Building dashboard-api for $(OS)/$$ARCH" ; \ - CGO_ENABLED=0 GOOS=$(OS) GOARCH=$$ARCH go build -ldflags "-X $(PACKAGE_NAME)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(DIST_DIRECTORY)/api/$$ARCH/dashboard-api $(PACKAGE_NAME) ; \ + CGO_ENABLED=0 GOOS=$(OS) GOARCH=$$ARCH go build -ldflags "-X $(PACKAGE_NAME)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(API_DIST_DIRECTORY)/$$ARCH/$(APP_NAME) $(PACKAGE_NAME) ; \ done .PHONY: run run: build - @$(SERVE_BINARY) --kubeconfig=$(KUBECONFIG) \ + @$(API_DIST_BINARY) --kubeconfig=$(KUBECONFIG) \ --sidecar-host=$(SIDECAR_HOST) \ --token-ttl=$(TOKEN_TTL) \ --auto-generate-certificates=$(AUTO_GENERATE_CERTIFICATES) \ @@ -54,7 +54,7 @@ coverage: .PHONY: --ensure-dist-exists --ensure-dist-exists: - @mkdir -p $(SERVE_DIRECTORY) + @mkdir -p $(API_DIST_DIRECTORY) .PHONY: --codegen-update-run --codegen-update-run: diff --git a/hack/partials/api.mk b/modules/api/hack/include/config.mk similarity index 90% rename from hack/partials/api.mk rename to modules/api/hack/include/config.mk index 38765603d401..4a2d2fafa96c 100644 --- a/hack/partials/api.mk +++ b/modules/api/hack/include/config.mk @@ -8,8 +8,8 @@ IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME) IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME)-$(arch):latest) ### Dirs and paths -SERVE_DIRECTORY = $(DIST_DIRECTORY)/api -SERVE_BINARY = $(SERVE_DIRECTORY)/$(ARCH)/$(APP_NAME) +API_DIST_DIRECTORY = $(DIST_DIRECTORY)/api +API_DIST_BINARY = $(SERVE_DIRECTORY)/$(ARCH)/$(APP_NAME) COVERAGE_FILE = $(API_DIRECTORY)/coverage.out ### Codegen configuration diff --git a/modules/web/Makefile b/modules/web/Makefile index ec118e893751..d17778634526 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -1,11 +1,9 @@ -# Web UI Arguments (overridable) -SYSTEM_BANNER ?= "Local test environment" -SYSTEM_BANNER_SEVERITY ?= INFO -AUTO_GENERATE_CERTIFICATES ?= false +ROOT_DIRECTORY = $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))/../.. -# Angular Serve Arguments -PROXY_CONFIG ?= proxy.conf.json -SSL_ENABLED ?= false +include $(ROOT_DIRECTORY)/hack/include/config.mk +include $(ROOT_DIRECTORY)/hack/include/build.mk + +include hack/include/config.mk # List of targets that should be always executed before other targets PRE = --ensure-version @@ -16,11 +14,17 @@ MAKEFLAGS += -j2 serve: $(PRE) --serve-go --serve-angular .PHONY: serve-https -serve-https: $(PRE) --serve-go-https --serve-angular-https +serve-https: AUTO_GENERATE_CERTIFICATES = true +serve-https: PROXY_CONFIG = proxy-https.conf.json +serve-https: SSL_ENABLED = true +serve-https: $(PRE) --serve-go --serve-angular + +.PHONY .NOTPARALLEL: build +build: ARCHITECTURES = $(ARCH) +build: $(PRE) build-cross -.PHONY: build -build: $(PRE) - @scripts/build.sh +.PHONY .NOTPARALLEL: build-cross +build-cross: --clean --build-go --build-angular .PHONY: --serve-go --serve-go: @@ -29,22 +33,13 @@ build: $(PRE) --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ --auto-generate-certificates=$(AUTO_GENERATE_CERTIFICATES) -.PHONY: --serve-go-https ---serve-go-https: AUTO_GENERATE_CERTIFICATES = true ---serve-go-https: --serve-go - .PHONY: --serve-angular --serve-angular: - @npx ng serve --proxy-config $(PROXY_CONFIG) --ssl=$(SSL_ENABLED) - -.PHONY: serve-angular-https ---serve-angular-https: PROXY_CONFIG = proxy-https.conf.json ---serve-angular-https: SSL_ENABLED = true ---serve-angular-https: --serve-angular + @npx ng serve --proxy-config=$(PROXY_CONFIG) --ssl=$(SSL_ENABLED) .PHONY: --ensure-version --ensure-version: --npm-ci - @node ./scripts/version.mjs + @node ./hack/version.mjs .PHONY: --npm-ci --npm-ci: @@ -52,3 +47,53 @@ ifeq ($(wildcard node_modules/.*),) @echo "Installing dependencies" @npm ci endif + +.PHONY: --build-go +--build-go: + @for ARCH in $(ARCHITECTURES) ; do \ + echo "Building dashboard-web API for $(OS)/$$ARCH" ; \ + CGO_ENABLED=0 GOOS=$(OS) GOARCH=$$ARCH go build -ldflags "-X $(PACKAGE_NAME)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(WEB_DIST_DIRECTORY)/$$ARCH/$(APP_NAME) $(PACKAGE_NAME) ; \ + done ; \ + +.PHONY .NOTPARALLEL: --build-angular +--build-angular: --ng-build --fix-locale-caching --copy-angular + +.PHONY: --copy-angular +--copy-angular: LANGUAGES = $(shell ls $(WEB_DIST_ANGULAR_DIRECTORY)) +--copy-angular: + @echo "Copying frontend to the dashboard-web API" ; \ + for arch in $(ARCHITECTURES) ; do \ + for language in $(LANGUAGES) ; do \ + outDir=$(WEB_DIST_DIRECTORY)/$${arch}/public ; \ + mkdir -p $${outDir} ; \ + cp -r $(WEB_DIST_ANGULAR_DIRECTORY)/$${language} $${outDir} ; \ + done ; \ + done ; \ + rm -rf $(WEB_DIST_ANGULAR_DIRECTORY) + +# Avoid locale caching due to the same output file naming +# We'll add language code prefix to the generated main javascript file. +.PHONY: --fix-locale-caching +--fix-locale-caching: LANGUAGES = $(shell ls $(WEB_DIST_ANGULAR_DIRECTORY)) +--fix-locale-caching: + @echo "Patching locale caching" ; \ + for language in $(LANGUAGES) ; do \ + localeDir=$(WEB_DIST_ANGULAR_DIRECTORY)/$${language} ; \ + filename=$$(find $${localeDir} -name 'main.*.js' -exec basename {} \;) ; \ + mv "$${localeDir}/$${filename}" "$${localeDir}/$${language}.$${filename}" ; \ + perl -i -pe"s/$${filename}/$${language}.$${filename}/" "$${localeDir}/index.html" ; \ + done ; \ + cp "$(WEB_DIRECTORY)/i18n/locale_conf.json" "$(WEB_DIST_ANGULAR_DIRECTORY)" ; \ + +.PHONY: --ng-build +--ng-build: + @echo "Building localized frontend" ; \ + npx ng build \ + --configuration production \ + --localize \ + --outputPath="$(WEB_DIST_ANGULAR_DIRECTORY)" + +.PHONY: --clean +--clean: + @rm -rf $(WEB_DIST_DIRECTORY) + @mkdir -p $(WEB_DIST_ANGULAR_DIRECTORY) diff --git a/modules/web/scripts/check-html.sh b/modules/web/hack/check-html.sh similarity index 100% rename from modules/web/scripts/check-html.sh rename to modules/web/hack/check-html.sh diff --git a/hack/partials/web.mk b/modules/web/hack/include/config.mk similarity index 70% rename from hack/partials/web.mk rename to modules/web/hack/include/config.mk index f6c5dab9c8ff..763a983a2453 100644 --- a/hack/partials/web.mk +++ b/modules/web/hack/include/config.mk @@ -8,8 +8,13 @@ IMAGE_NAMES += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME) IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(APP_NAME)-$(arch):latest) ### Dirs and paths -SERVE_DIRECTORY = $(DIST_DIRECTORY)/web -SERVE_BINARY = $(SERVE_DIRECTORY)/$(ARCH)/$(APP_NAME) +WEB_DIST_DIRECTORY = $(DIST_DIRECTORY)/web +WEB_DIST_ANGULAR_DIRECTORY = $(WEB_DIST_DIRECTORY)/angular +WEB_DIST_BINARY = $(SERVE_DIRECTORY)/$(ARCH)/$(APP_NAME) + +# Angular Serve Arguments +PROXY_CONFIG ?= proxy.conf.json +SSL_ENABLED ?= false # Web UI Arguments (overridable) SYSTEM_BANNER ?= "Local test environment" diff --git a/modules/web/scripts/version.mjs b/modules/web/hack/version.mjs similarity index 100% rename from modules/web/scripts/version.mjs rename to modules/web/hack/version.mjs diff --git a/modules/web/package.json b/modules/web/package.json index f58731a53cad..15cfd7a26f04 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -26,7 +26,7 @@ "fix:ts": "gts fix", "check": "npm run check:i18n && npm run check:html && npm run check:scss && npm run check:ts", "check:i18n": "npm run fix:i18n", - "check:html": "./scripts/check-html.sh", + "check:html": "./hack/check-html.sh", "check:scss": "stylelint src/**/*.scss --fix", "check:ts": "gts lint", "test": "npx jest -c jest.config.js", @@ -43,9 +43,7 @@ "src/**/*.scss": [ "stylelint --fix" ], - "src/**/*.html": [ - "./aio/scripts/pre-commit-i18n.sh" - ] + "src/**/*.html": [] }, "dependencies": { "@angular/animations": "13.3.10", diff --git a/modules/web/scripts/build.sh b/modules/web/scripts/build.sh deleted file mode 100755 index 8d02dd7a30a7..000000000000 --- a/modules/web/scripts/build.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Exit on error. -set -e - -# Import config. -ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../../.. && pwd -P)" -. "${ROOT_DIR}/hack/scripts/conf.sh" - -ANGULAR_DIST_DIR="${WEB_DIST_DIR}/angular" -GO_MODULE_NAME="k8s.io/dashboard/web" -GO_BINARY_NAME="dashboard-web" - -function clean { - rm -rf "${WEB_DIST_DIR}" -} - -function build::frontend { - say "Building localized frontend" - mkdir -p "${ANGULAR_DIST_DIR}" - - npx ng build \ - --configuration production \ - --localize \ - --outputPath="${ANGULAR_DIST_DIR}" - - # Avoid locale caching due to the same output file naming - # We'll add language code prefix to the generated main javascript file. - languages=($(ls "${ANGULAR_DIST_DIR}")) - for language in "${languages[@]}"; do - localeDir=${ANGULAR_DIST_DIR}/${language} - filename=("$(find "${localeDir}" -name 'main.*.js' -exec basename {} \;)") - - mv "${localeDir}/${filename}" "${localeDir}/${language}.${filename}" - perl -i -pe"s/${filename}/${language}.${filename}/" "${localeDir}/index.html" - done - - cp "${WEB_DIR}/i18n/locale_conf.json" "${ANGULAR_DIST_DIR}" -} - -function build::backend { - say "Building backend" - CGO_ENABLED=0 go build -ldflags "-X ${GO_MODULE_NAME}/client.Version=${RELEASE_VERSION})" -gcflags="all=-N -l" -o ${WEB_DIST_DIR}/${DEFAULT_ARCHITECTURE}/${GO_BINARY_NAME} ${GO_MODULE_NAME} -} - -function build::backend::cross { - say "Building backends for all supported architectures" - languages=($(ls ${ANGULAR_DIST_DIR})) - for arch in "${ARCHITECTURES[@]}"; do - for language in "${languages[@]}"; do - OUT_DIR=${DIST_DIR}/${arch}/public - mkdir -p ${OUT_DIR} - cp -r ${WEB_DIST_DIR}/${language} ${OUT_DIR} - done - done -} - -function copy::frontend { - say "Copying frontend to backend dist dir" - languages=($(ls ${ANGULAR_DIST_DIR})) - for arch in "${ARCHITECTURES[@]}"; do - for language in "${languages[@]}"; do - OUT_DIR=${WEB_DIST_DIR}/${arch}/public - mkdir -p ${OUT_DIR} - cp -r ${ANGULAR_DIST_DIR}/${language} ${OUT_DIR} - done - done -} - -function copy::supported-locales { - say "Copying locales file to backend dist dirs" - for arch in "${ARCHITECTURES[@]}"; do - OUT_DIR=${DIST_DIR}/${arch} - cp ${I18N_DIR}/locale_conf.json ${OUT_DIR} - done -} - -function copy::dockerfile { - say "Copying Dockerfile to backend dist dirs" - for arch in "${ARCHITECTURES[@]}"; do - OUT_DIR=${DIST_DIR}/${arch} - cp ${AIO_DIR}/Dockerfile ${OUT_DIR} - done -} - -function parse::args { - POSITIONAL=() - while [[ $# -gt 0 ]]; do - key="$1" - case ${key} in - -c|--cross) - CROSS=true - shift - ;; - --frontend-only) - FRONTEND_ONLY=true - shift - ;; - esac - done - set -- "${POSITIONAL[@]}" # Restore positional parameters. -} - -# Execute script. -START=$(date +%s) - -clean -build::frontend -build::backend -copy::frontend - -END=$(date +%s) -TOOK=$(echo "${END} - ${START}" | bc) -say "Build finished successfully after ${TOOK}s" From 202e194084b5a8451e4ccd0d7415c4016d19ced0 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 29 Jun 2022 18:34:45 +0200 Subject: [PATCH 103/162] Fix top level build --- Makefile | 8 ++++++-- modules/api/Makefile | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index ecdc831c7766..09b7e2fae249 100644 --- a/Makefile +++ b/Makefile @@ -64,8 +64,12 @@ run: $(PRE) --ensure-compose-down --compose docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(PROJECT_NAME) up .PHONY: build -build: - @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) TARGET=build +build: TARGET := build +build: build-cross + +.PHONY: build-cross +build-cross: + @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) TARGET=$(or $(TARGET),build-cross) .PHONY: --compose --compose: --ensure-certificates build diff --git a/modules/api/Makefile b/modules/api/Makefile index e5515892904d..e4c4397ee447 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -1,8 +1,8 @@ ROOT_DIRECTORY = $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))/../.. -include $(ROOT_DIRECTORY)/hack/partials/config.mk -include $(ROOT_DIRECTORY)/hack/partials/build.mk -include $(ROOT_DIRECTORY)/hack/partials/deploy.mk +include $(ROOT_DIRECTORY)/hack/include/config.mk +include $(ROOT_DIRECTORY)/hack/include/build.mk +include $(ROOT_DIRECTORY)/hack/include/deploy.mk include hack/include/config.mk From 54553e5f7cbae3c722c960e362bce297a2205923 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Fri, 22 Jul 2022 16:08:53 +0200 Subject: [PATCH 104/162] Update dashboard-arguments.md --- docs/common/dashboard-arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/common/dashboard-arguments.md b/docs/common/dashboard-arguments.md index 818b90ccc224..4e2b1f9701c0 100644 --- a/docs/common/dashboard-arguments.md +++ b/docs/common/dashboard-arguments.md @@ -29,7 +29,7 @@ Dashboard container accepts multiple arguments that can be used to customize it | disable-settings-authorizer | false | When enabled, Dashboard settings page will not require user to be logged in and authorized to access settings page. | | locale-config | ./locale_conf.json | File containing the configuration of locales. | | system-banner | - | When non-empty displays message to Dashboard users. Accepts simple HTML tags. | -| system-banner-severity | INFO | Severity of system banner. Should be one of 'INFO\ |WARNING\|ERROR'. | +| system-banner-severity | INFO | Severity of system banner. Should be one of `INFO\|WARNING\|ERROR`. | ---- _Copyright 2019 [The Kubernetes Dashboard Authors](https://github.com/kubernetes/dashboard/graphs/contributors)_ From 1aff7676e75e0c2b9e352900ce2fabc623850393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=84=8F=E7=90=A6=E8=A1=8C?= <31980412+lixd@users.noreply.github.com> Date: Sat, 23 Jul 2022 13:12:56 -0400 Subject: [PATCH 105/162] fix: close sizeChan to avoid memory leak. (#7244) --- src/app/backend/handler/terminal.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/app/backend/handler/terminal.go b/src/app/backend/handler/terminal.go index a3e18981b081..9fc066e3745b 100755 --- a/src/app/backend/handler/terminal.go +++ b/src/app/backend/handler/terminal.go @@ -48,7 +48,6 @@ type TerminalSession struct { bound chan error sockJSSession sockjs.Session sizeChan chan remotecommand.TerminalSize - doneChan chan struct{} } // TerminalMessage is the messaging protocol between ShellController and TerminalSession. @@ -65,15 +64,14 @@ type TerminalMessage struct { Rows, Cols uint16 } -// TerminalSize handles pty->process resize events +// Next handles pty->process resize events // Called in a loop from remotecommand as long as the process is running func (t TerminalSession) Next() *remotecommand.TerminalSize { - select { - case size := <-t.sizeChan: - return &size - case <-t.doneChan: + size := <-t.sizeChan + if size.Height == 0 && size.Width == 0 { return nil } + return &size } // Read handles pty->process messages (stdin, resize) @@ -161,11 +159,12 @@ func (sm *SessionMap) Set(sessionId string, session TerminalSession) { func (sm *SessionMap) Close(sessionId string, status uint32, reason string) { sm.Lock.Lock() defer sm.Lock.Unlock() - err := sm.Sessions[sessionId].sockJSSession.Close(status, reason) + ses := sm.Sessions[sessionId] + err := ses.sockJSSession.Close(status, reason) if err != nil { log.Println(err) } - + close(ses.sizeChan) delete(sm.Sessions, sessionId) } From 020ce89cb369ce6c6b9115a659c0b1a6feb94b99 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Sat, 23 Jul 2022 22:46:57 +0200 Subject: [PATCH 106/162] Use batch/v1 API & Add /health endpoint & Fix CronJob OwnerRef (#7301) * Use batch/v1 instead of batch/v1beta1, add OwnerReference to Job when triggering CronJob, add simple /health endpoint * Add license * Fix test and run go mod tidy * Update go.mod --- go.mod | 1 - go.sum | 2 - src/app/backend/dashboard.go | 10 +- src/app/backend/handler/apihandler.go | 14 +- src/app/backend/health/api/types.go | 19 + src/app/backend/health/handler.go | 36 ++ src/app/backend/health/manager.go | 40 ++ src/app/backend/integration/api/types.go | 3 +- src/app/backend/integration/manager_test.go | 15 +- .../integration/metric/heapster/client.go | 255 --------- .../metric/heapster/client_test.go | 497 ------------------ .../integration/metric/heapster/common.go | 89 ---- .../integration/metric/heapster/model.go | 46 -- .../integration/metric/heapster/restclient.go | 84 --- .../integration/metric/heapster/selector.go | 137 ----- .../metric/heapster/selector_test.go | 133 ----- src/app/backend/integration/metric/manager.go | 19 +- .../integration/metric/manager_test.go | 19 - .../resource/common/resourcechannels.go | 9 +- src/app/backend/resource/cronjob/common.go | 17 +- src/app/backend/resource/cronjob/detail.go | 6 +- .../backend/resource/cronjob/detail_test.go | 7 +- src/app/backend/resource/cronjob/events.go | 3 +- .../backend/resource/cronjob/events_test.go | 7 +- src/app/backend/resource/cronjob/jobs.go | 30 +- src/app/backend/resource/cronjob/jobs_test.go | 5 +- src/app/backend/resource/cronjob/list.go | 11 +- src/app/backend/resource/cronjob/list_test.go | 5 +- src/app/backend/resource/job/list.go | 7 +- 29 files changed, 177 insertions(+), 1349 deletions(-) create mode 100644 src/app/backend/health/api/types.go create mode 100644 src/app/backend/health/handler.go create mode 100644 src/app/backend/health/manager.go delete mode 100644 src/app/backend/integration/metric/heapster/client.go delete mode 100644 src/app/backend/integration/metric/heapster/client_test.go delete mode 100644 src/app/backend/integration/metric/heapster/common.go delete mode 100644 src/app/backend/integration/metric/heapster/model.go delete mode 100644 src/app/backend/integration/metric/heapster/restclient.go delete mode 100644 src/app/backend/integration/metric/heapster/selector.go delete mode 100644 src/app/backend/integration/metric/heapster/selector_test.go diff --git a/go.mod b/go.mod index 4db4c1c04de8..5c8630d9f301 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,6 @@ require ( k8s.io/apiextensions-apiserver v0.24.1 k8s.io/apimachinery v0.24.1 k8s.io/client-go v0.24.1 - k8s.io/heapster v1.5.4 ) require ( diff --git a/go.sum b/go.sum index 90eccf61804e..343a46ceda61 100644 --- a/go.sum +++ b/go.sum @@ -956,8 +956,6 @@ k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/heapster v1.5.4 h1:lH2GCZdqRmUKDoyqRgiXbRmIcevaPYTvkguOuYUl8gQ= -k8s.io/heapster v1.5.4/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= diff --git a/src/app/backend/dashboard.go b/src/app/backend/dashboard.go index a9c926f31102..42c3a92ce8df 100644 --- a/src/app/backend/dashboard.go +++ b/src/app/backend/dashboard.go @@ -37,6 +37,7 @@ import ( "github.com/kubernetes/dashboard/src/app/backend/client" clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" "github.com/kubernetes/dashboard/src/app/backend/handler" + "github.com/kubernetes/dashboard/src/app/backend/health" "github.com/kubernetes/dashboard/src/app/backend/integration" integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" "github.com/kubernetes/dashboard/src/app/backend/settings" @@ -110,6 +111,9 @@ func main() { systemBannerManager := systembanner.NewSystemBannerManager(args.Holder.GetSystemBanner(), args.Holder.GetSystemBannerSeverity()) + // Init health manager + healthManager := health.NewHealthManager(clientManager) + // Init integrations integrationManager := integration.NewIntegrationManager(clientManager) @@ -117,9 +121,6 @@ func main() { case "sidecar": integrationManager.Metric().ConfigureSidecar(args.Holder.GetSidecarHost()). EnableWithRetry(integrationapi.SidecarIntegrationID, time.Duration(args.Holder.GetMetricClientCheckPeriod())) - case "heapster": - integrationManager.Metric().ConfigureHeapster(args.Holder.GetHeapsterHost()). - EnableWithRetry(integrationapi.HeapsterIntegrationID, time.Duration(args.Holder.GetMetricClientCheckPeriod())) case "none": log.Print("no metrics provider selected, will not check metrics.") default: @@ -139,6 +140,8 @@ func main() { handleFatalInitError(err) } + healthHandler := health.NewHealthHandler(healthManager) + var servingCerts []tls.Certificate if args.Holder.GetAutoGenerateCertificates() { log.Println("Auto-generating certificates") @@ -161,6 +164,7 @@ func main() { // Run a HTTP server that serves static public files from './public' and handles API calls. http.Handle("/", handler.MakeGzipHandler(handler.CreateLocaleHandler())) + http.Handle("/health", handler.AppHandler(healthHandler.Install)) http.Handle("/api/", apiHandler) http.Handle("/config", handler.AppHandler(handler.ConfigHandler)) http.Handle("/api/sockjs/", handler.CreateAttachHandler("/api/sockjs")) diff --git a/src/app/backend/handler/apihandler.go b/src/app/backend/handler/apihandler.go index f320273e7729..281f1c19a2ce 100644 --- a/src/app/backend/handler/apihandler.go +++ b/src/app/backend/handler/apihandler.go @@ -20,17 +20,9 @@ import ( "strconv" "strings" - v1 "k8s.io/api/core/v1" - - "github.com/kubernetes/dashboard/src/app/backend/resource/networkpolicy" - - "github.com/kubernetes/dashboard/src/app/backend/handler/parser" - "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" - - "github.com/kubernetes/dashboard/src/app/backend/plugin" - "github.com/emicklei/go-restful/v3" "golang.org/x/net/xsrftoken" + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/tools/remotecommand" @@ -39,7 +31,9 @@ import ( authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" "github.com/kubernetes/dashboard/src/app/backend/errors" + "github.com/kubernetes/dashboard/src/app/backend/handler/parser" "github.com/kubernetes/dashboard/src/app/backend/integration" + "github.com/kubernetes/dashboard/src/app/backend/plugin" "github.com/kubernetes/dashboard/src/app/backend/resource/clusterrole" "github.com/kubernetes/dashboard/src/app/backend/resource/clusterrolebinding" "github.com/kubernetes/dashboard/src/app/backend/resource/common" @@ -48,6 +42,7 @@ import ( "github.com/kubernetes/dashboard/src/app/backend/resource/controller" "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition" + "github.com/kubernetes/dashboard/src/app/backend/resource/customresourcedefinition/types" "github.com/kubernetes/dashboard/src/app/backend/resource/daemonset" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" "github.com/kubernetes/dashboard/src/app/backend/resource/deployment" @@ -58,6 +53,7 @@ import ( "github.com/kubernetes/dashboard/src/app/backend/resource/job" "github.com/kubernetes/dashboard/src/app/backend/resource/logs" ns "github.com/kubernetes/dashboard/src/app/backend/resource/namespace" + "github.com/kubernetes/dashboard/src/app/backend/resource/networkpolicy" "github.com/kubernetes/dashboard/src/app/backend/resource/node" "github.com/kubernetes/dashboard/src/app/backend/resource/persistentvolume" "github.com/kubernetes/dashboard/src/app/backend/resource/persistentvolumeclaim" diff --git a/src/app/backend/health/api/types.go b/src/app/backend/health/api/types.go new file mode 100644 index 000000000000..b514aadb128a --- /dev/null +++ b/src/app/backend/health/api/types.go @@ -0,0 +1,19 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package api + +type Health struct { + Running bool `json:"running"` +} diff --git a/src/app/backend/health/handler.go b/src/app/backend/health/handler.go new file mode 100644 index 000000000000..98852cb75fed --- /dev/null +++ b/src/app/backend/health/handler.go @@ -0,0 +1,36 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package health + +import ( + "encoding/json" + "net/http" +) + +// HealthHandler manages all endpoints related to system banner management. +type HealthHandler struct { + manager HealthManager +} + +// Install creates new endpoints for system banner management. +func (self *HealthHandler) Install(w http.ResponseWriter, _ *http.Request) (int, error) { + w.Header().Set("Content-Type", "application/json") + return http.StatusOK, json.NewEncoder(w).Encode(self.manager.Get()) +} + +// NewHealthHandler creates HealthHandler. +func NewHealthHandler(manager HealthManager) HealthHandler { + return HealthHandler{manager: manager} +} diff --git a/src/app/backend/health/manager.go b/src/app/backend/health/manager.go new file mode 100644 index 000000000000..e353ab90d7ce --- /dev/null +++ b/src/app/backend/health/manager.go @@ -0,0 +1,40 @@ +// Copyright 2017 The Kubernetes Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package health + +import ( + client "github.com/kubernetes/dashboard/src/app/backend/client/api" + health "github.com/kubernetes/dashboard/src/app/backend/health/api" +) + +// HealthManager is a structure containing all system banner manager members. +type HealthManager struct { + client client.ClientManager +} + +// NewHealthManager creates new settings manager. +func NewHealthManager(client client.ClientManager) HealthManager { + return HealthManager{ + client: client, + } +} + +// Get implements HealthManager interface. Check it for more information. +func (sbm *HealthManager) Get() health.Health { + _, err := sbm.client.InsecureClient().Discovery().ServerVersion() + return health.Health{ + Running: err == nil, + } +} diff --git a/src/app/backend/integration/api/types.go b/src/app/backend/integration/api/types.go index 289f54954ad3..727859b46145 100644 --- a/src/app/backend/integration/api/types.go +++ b/src/app/backend/integration/api/types.go @@ -22,8 +22,7 @@ type IntegrationID string // Integration app IDs should be registered in this block. const ( - HeapsterIntegrationID IntegrationID = "heapster" - SidecarIntegrationID IntegrationID = "sidecar" + SidecarIntegrationID IntegrationID = "sidecar" ) // Integration represents application integrated into the dashboard. Every application diff --git a/src/app/backend/integration/manager_test.go b/src/app/backend/integration/manager_test.go index fc0cfb64bc98..f79a567ff0dd 100644 --- a/src/app/backend/integration/manager_test.go +++ b/src/app/backend/integration/manager_test.go @@ -45,19 +45,12 @@ func TestIntegrationManager_GetState(t *testing.T) { cases := []struct { info string apiServerHost string - heapsterHost string + sidecarHost string expected *api.IntegrationState expectedErr error }{ { - "Server provided and using in-cluster heapster", - "http://127.0.0.1:8080", "", &api.IntegrationState{ - Connected: false, - Error: errors.NewInvalid("Get http://127.0.0.1:8080/api/v1/namespaces/kube-system/services/heapster/proxy/healthz: dial tcp 127.0.0.1:8080: connect: connection refused"), - }, nil, - }, - { - "Server provided and using external heapster", + "Server provided and using external sidecar", "http://127.0.0.1:8080", "http://127.0.0.1:8081", &api.IntegrationState{ Connected: false, Error: errors.NewInvalid("Get http://127.0.0.1:8081/healthz: dial tcp 127.0.0.1:8081: connect: connection refused"), @@ -68,9 +61,9 @@ func TestIntegrationManager_GetState(t *testing.T) { for _, c := range cases { cManager := client.NewClientManager("", c.apiServerHost) iManager := NewIntegrationManager(cManager) - iManager.Metric().ConfigureHeapster(c.heapsterHost) + iManager.Metric().ConfigureSidecar(c.sidecarHost) - state, err := iManager.GetState(api.HeapsterIntegrationID) + state, err := iManager.GetState(api.SidecarIntegrationID) if !areErrorsEqual(err, c.expectedErr) { t.Errorf("Test Case: %s. Expected error to be: %v, but got %v.", c.info, c.expectedErr, err) diff --git a/src/app/backend/integration/metric/heapster/client.go b/src/app/backend/integration/metric/heapster/client.go deleted file mode 100644 index cbe60324d501..000000000000 --- a/src/app/backend/integration/metric/heapster/client.go +++ /dev/null @@ -1,255 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package heapster - -import ( - "context" - "encoding/json" - "fmt" - "log" - "strings" - - "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/rest" - heapster "k8s.io/heapster/metrics/api/v1/types" - - "github.com/kubernetes/dashboard/src/app/backend/client" - "github.com/kubernetes/dashboard/src/app/backend/errors" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/common" -) - -// Heapster client implements MetricClient and Integration interfaces. -type heapsterClient struct { - client HeapsterRESTClient -} - -// Implement Integration interface. - -// HealthCheck implements integration app interface. See Integration interface for more information. -func (self heapsterClient) HealthCheck() error { - if self.client == nil { - return errors.NewInvalid("Heapster not configured") - } - - return self.client.HealthCheck() -} - -// ID implements integration app interface. See Integration interface for more information. -func (self heapsterClient) ID() integrationapi.IntegrationID { - return integrationapi.HeapsterIntegrationID -} - -// Implement MetricClient interface - -// DownloadMetrics implements metric client interface. See MetricClient for more information. -func (self heapsterClient) DownloadMetrics(selectors []metricapi.ResourceSelector, - metricNames []string, cachedResources *metricapi.CachedResources) metricapi.MetricPromises { - result := metricapi.MetricPromises{} - for _, metricName := range metricNames { - collectedMetrics := self.DownloadMetric(selectors, metricName, cachedResources) - result = append(result, collectedMetrics...) - } - return result -} - -// DownloadMetric implements metric client interface. See MetricClient for more information. -func (self heapsterClient) DownloadMetric(selectors []metricapi.ResourceSelector, - metricName string, cachedResources *metricapi.CachedResources) metricapi.MetricPromises { - heapsterSelectors := getHeapsterSelectors(selectors, cachedResources) - - // Downloads metric in the fastest possible way by first compressing HeapsterSelectors and later unpacking the result to separate boxes. - compressedSelectors, reverseMapping := compress(heapsterSelectors) - return self.downloadMetric(heapsterSelectors, compressedSelectors, reverseMapping, metricName) -} - -// AggregateMetrics implements metric client interface. See MetricClient for more information. -func (self heapsterClient) AggregateMetrics(metrics metricapi.MetricPromises, metricName string, - aggregations metricapi.AggregationModes) metricapi.MetricPromises { - return common.AggregateMetricPromises(metrics, metricName, aggregations, nil) -} - -func (self heapsterClient) downloadMetric(heapsterSelectors []heapsterSelector, - compressedSelectors []heapsterSelector, reverseMapping map[string][]int, - metricName string) metricapi.MetricPromises { - // collect all the required data (as promises) - unassignedResourcePromisesList := make([]metricapi.MetricPromises, len(compressedSelectors)) - for selectorId, compressedSelector := range compressedSelectors { - unassignedResourcePromisesList[selectorId] = - self.downloadMetricForEachTargetResource(compressedSelector, metricName) - } - // prepare final result - result := metricapi.NewMetricPromises(len(heapsterSelectors)) - // unpack downloaded data - this is threading safe because there is only one thread running. - - // unpack the data selector by selector. - for selectorId, selector := range compressedSelectors { - unassignedResourcePromises := unassignedResourcePromisesList[selectorId] - // now unpack the resources and push errors in case of error. - unassignedResources, err := unassignedResourcePromises.GetMetrics() - if err != nil { - for _, originalMappingIndex := range reverseMapping[selector.Path] { - result[originalMappingIndex].Error <- err - result[originalMappingIndex].Metric <- nil - } - continue - } - unassignedResourceMap := map[types.UID]metricapi.Metric{} - for _, unassignedMetric := range unassignedResources { - unassignedResourceMap[unassignedMetric. - Label[selector.TargetResourceType][0]] = unassignedMetric - } - - // now, if everything went ok, unpack the metrics into original selectors - for _, originalMappingIndex := range reverseMapping[selector.Path] { - // find out what resources this selector needs - requestedResources := []metricapi.Metric{} - for _, requestedResourceUID := range heapsterSelectors[originalMappingIndex]. - Label[selector.TargetResourceType] { - requestedResources = append(requestedResources, - unassignedResourceMap[requestedResourceUID]) - } - - // aggregate the data for this resource - aggregatedMetric := common.AggregateData(requestedResources, metricName, metricapi.SumAggregation) - result[originalMappingIndex].Metric <- &aggregatedMetric - result[originalMappingIndex].Error <- nil - } - } - - return result -} - -// downloadMetricForEachTargetResource downloads requested metric for each resource present in HeapsterSelector -// and returns the result as a list of promises - one promise for each resource. Order of promises returned is the same as order in self.Resources. -func (self heapsterClient) downloadMetricForEachTargetResource(selector heapsterSelector, metricName string) metricapi.MetricPromises { - var notAggregatedMetrics metricapi.MetricPromises - if HeapsterAllInOneDownloadConfig[selector.TargetResourceType] { - notAggregatedMetrics = self.allInOneDownload(selector, metricName) - } else { - notAggregatedMetrics = metricapi.MetricPromises{} - for i := range selector.Resources { - notAggregatedMetrics = append(notAggregatedMetrics, self.ithResourceDownload(selector, metricName, i)) - } - } - return notAggregatedMetrics -} - -// ithResourceDownload downloads metric for ith resource in self.Resources. Use only in case all in 1 download is not supported -// for this resource type. -func (self heapsterClient) ithResourceDownload(selector heapsterSelector, metricName string, - i int) metricapi.MetricPromise { - result := metricapi.NewMetricPromise() - go func() { - rawResult := heapster.MetricResult{} - err := self.unmarshalType(selector.Path+selector.Resources[i]+"/metrics/"+metricName, &rawResult) - if err != nil { - result.Metric <- nil - result.Error <- err - return - } - dataPoints := DataPointsFromMetricJSONFormat(rawResult) - - result.Metric <- &metricapi.Metric{ - DataPoints: dataPoints, - MetricPoints: toMetricPoints(rawResult.Metrics), - MetricName: metricName, - Label: metricapi.Label{ - selector.TargetResourceType: []types.UID{ - selector.Label[selector.TargetResourceType][i], - }, - }, - } - result.Error <- nil - return - }() - return result -} - -// allInOneDownload downloads metrics for all resources present in self.Resources in one request. -// returns a list of metric promises - one promise for each resource. Order of self.Resources is preserved. -func (self heapsterClient) allInOneDownload(selector heapsterSelector, metricName string) metricapi.MetricPromises { - result := metricapi.NewMetricPromises(len(selector.Resources)) - go func() { - if len(selector.Resources) == 0 { - return - } - rawResults := heapster.MetricResultList{} - err := self.unmarshalType(selector.Path+strings.Join(selector.Resources, ",")+"/metrics/"+metricName, &rawResults) - if err != nil { - result.PutMetrics(nil, err) - return - } - if len(result) != len(rawResults.Items) { - result.PutMetrics(nil, fmt.Errorf(`Received invalid number of resources from heapster. Expected %d received %d`, len(result), len(rawResults.Items))) - return - } - - for i, rawResult := range rawResults.Items { - dataPoints := DataPointsFromMetricJSONFormat(rawResult) - - result[i].Metric <- &metricapi.Metric{ - DataPoints: dataPoints, - MetricPoints: toMetricPoints(rawResult.Metrics), - MetricName: metricName, - Label: metricapi.Label{ - selector.TargetResourceType: []types.UID{ - selector.Label[selector.TargetResourceType][i], - }, - }, - } - result[i].Error <- nil - } - return - - }() - return result -} - -// unmarshalType performs heapster GET request to the specifies path and transfers -// the data to the interface provided. -func (self heapsterClient) unmarshalType(path string, v interface{}) error { - rawData, err := self.client.Get("/model/" + path).DoRaw(context.TODO()) - if err != nil { - return err - } - return json.Unmarshal(rawData, v) -} - -// CreateHeapsterClient creates new Heapster client. When heapsterHost param is empty -// string the function assumes that it is running inside a Kubernetes cluster and connects via -// service proxy. heapsterHost param is in the format of protocol://address:port, -// e.g., http://localhost:8002. -func CreateHeapsterClient(host string, k8sClient kubernetes.Interface) ( - metricapi.MetricClient, error) { - - if host == "" && k8sClient != nil { - log.Print("Creating in-cluster Heapster client") - c := inClusterHeapsterClient{client: k8sClient.CoreV1().RESTClient()} - return heapsterClient{client: c}, nil - } - - cfg := &rest.Config{Host: host, QPS: client.DefaultQPS, Burst: client.DefaultBurst} - restClient, err := kubernetes.NewForConfig(cfg) - if err != nil { - return heapsterClient{}, err - } - log.Printf("Creating remote Heapster client for %s", host) - c := remoteHeapsterClient{client: restClient.CoreV1().RESTClient()} - - return heapsterClient{client: c}, nil -} diff --git a/src/app/backend/integration/metric/heapster/client_test.go b/src/app/backend/integration/metric/heapster/client_test.go deleted file mode 100644 index 28b8cf08233c..000000000000 --- a/src/app/backend/integration/metric/heapster/client_test.go +++ /dev/null @@ -1,497 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package heapster - -import ( - "context" - "encoding/json" - "fmt" - "log" - "reflect" - "regexp" - "strings" - "sync/atomic" - "testing" - "time" - - "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/rest" - heapster "k8s.io/heapster/metrics/api/v1/types" - - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/client" - "github.com/kubernetes/dashboard/src/app/backend/errors" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" -) - -func areErrorsEqual(err1, err2 error) bool { - return (err1 != nil && err2 != nil && normalize(err1.Error()) == normalize(err2.Error())) || - (err1 == nil && err2 == nil) -} - -// Removes all quote signs that might have been added to the message. -// Might depend on dependencies version how they are constructed. -func normalize(msg string) string { - return strings.Replace(msg, "\"", "", -1) -} - -type GlobalCounter int32 - -func (c *GlobalCounter) increment() int32 { - return atomic.AddInt32((*int32)(c), 1) -} - -func (c *GlobalCounter) get() int32 { - return atomic.LoadInt32((*int32)(c)) -} - -func (c *GlobalCounter) set(val int32) { - atomic.StoreInt32((*int32)(c), val) -} - -var _NumRequests = GlobalCounter(0) - -type FakeHeapster struct { - PodData - NodeData -} - -type FakeRequest struct { - PodData - NodeData - Path string -} - -type PodData map[string][]heapster.MetricPoint -type NodeData map[string][]heapster.MetricPoint - -func (self FakeHeapster) Get(path string) RequestInterface { - return FakeRequest{self.PodData, self.NodeData, path} -} - -func (self FakeHeapster) GetNumberOfRequestsMade() int { - num := int(_NumRequests.get()) - _NumRequests.set(0) - return num -} - -func (self FakeHeapster) HealthCheck() error { - return nil -} - -func (self FakeHeapster) ID() integrationapi.IntegrationID { - return "fakeHeapster" -} - -func (self FakeRequest) DoRaw(ctx context.Context) ([]byte, error) { - _NumRequests.increment() - log.Println("Performing req...") - path := self.Path - time.Sleep(50 * time.Millisecond) // simulate response delay of 0.05 seconds - if strings.Contains(path, "/pod-list/") { - r, _ := regexp.Compile(`\/pod\-list\/(.+)\/metrics\/`) - submatch := r.FindStringSubmatch(path) - if len(submatch) != 2 { - return nil, fmt.Errorf("Invalid request url %s", path) - } - requestedPods := strings.Split(submatch[1], ",") - - r, _ = regexp.Compile(`\/namespaces\/(.+)\/pod\-list\/`) - submatch = r.FindStringSubmatch(path) - if len(submatch) != 2 { - return nil, fmt.Errorf("Invalid request url %s", path) - } - namespace := submatch[1] - - items := []heapster.MetricResult{} - for _, pod := range requestedPods { - items = append(items, heapster.MetricResult{Metrics: self.PodData[pod+"/"+namespace]}) - } - x, err := json.Marshal(heapster.MetricResultList{Items: items}) - log.Println("Got you:", string(x)) - return x, err - - } else if strings.Contains(path, "/nodes/") { - r, _ := regexp.Compile(`\/nodes\/(.+)\/metrics\/`) - submatch := r.FindStringSubmatch(path) - if len(submatch) != 2 { - return nil, fmt.Errorf("Invalid request url %s", path) - } - requestedNode := submatch[1] - - x, err := json.Marshal(heapster.MetricResult{Metrics: self.NodeData[requestedNode]}) - log.Println("Got you:", string(x)) - return x, err - } else { - return nil, fmt.Errorf("Invalid request url %s", path) - } -} - -func (self FakeRequest) AbsPath(segments ...string) *rest.Request { - return &rest.Request{} -} - -const TimeTemplate = "2016-08-12T11:0%d:00Z" -const TimeTemplateValue = int64(1470999600) - -func NewRawDPs(dps []int64, startTime int) []heapster.MetricPoint { - newRdps := []heapster.MetricPoint{} - for i := 0; i < len(dps) && startTime+i < 10; i++ { - parsedTime, _ := time.Parse(time.RFC3339, fmt.Sprintf(TimeTemplate, i+startTime)) - newRdps = append(newRdps, heapster.MetricPoint{Timestamp: parsedTime, Value: uint64(dps[i])}) - } - return newRdps -} - -func newDps(dps []int64, startTime int) metricapi.DataPoints { - newDps := metricapi.DataPoints{} - for i := 0; i < len(dps) && startTime+i < 10; i++ { - newDps = append(newDps, metricapi.DataPoint{X: TimeTemplateValue + int64(60*(i+startTime)), Y: dps[i]}) - } - return newDps -} - -var fakePodData = PodData{ - "P1/a": NewRawDPs([]int64{0, 5, 10}, 0), - "P2/a": NewRawDPs([]int64{15, 20, 25}, 0), - "P3/a": NewRawDPs([]int64{30, 35, 40}, 0), - "P4/a": NewRawDPs([]int64{45, 50, -100000}, 0), - "P1/b": NewRawDPs([]int64{1000, 1100}, 0), - "P2/b": NewRawDPs([]int64{1200, 1300}, 1), - "P3/b": NewRawDPs([]int64{1400, 1500}, 2), - "P4/b": NewRawDPs([]int64{}, 0), - "P1/c": NewRawDPs([]int64{10000, 11000, 12000}, 0), - "P2/c": NewRawDPs([]int64{13000, 14000, 15000}, 0), -} - -var fakeNodeData = NodeData{ - "N1": NewRawDPs([]int64{0, 5, 10}, 0), - "N2": NewRawDPs([]int64{15, 20, 25}, 0), - "N3": NewRawDPs([]int64{30, 35, 40}, 0), - "N4": NewRawDPs([]int64{45, 50, 55}, 0), -} - -var fakeHeapsterClient = FakeHeapster{ - PodData: fakePodData, - NodeData: fakeNodeData, -} - -func getResourceSelector(namespace string, resourceType api.ResourceKind, - resourceName, uid string) metricapi.ResourceSelector { - return metricapi.ResourceSelector{ - Namespace: namespace, - ResourceType: resourceType, - ResourceName: resourceName, - UID: types.UID(uid), - } -} - -func TestDownloadMetric(t *testing.T) { - type HeapsterSelectorTestCase struct { - Info string - Selectors []metricapi.ResourceSelector - ExpectedDataPoints metricapi.DataPoints - ExpectedNumRequests int - } - testCases := []HeapsterSelectorTestCase{ - { - "get data for single pod", - []metricapi.ResourceSelector{ - getResourceSelector("a", api.ResourceKindPod, "P1", "U1"), - }, - newDps([]int64{0, 5, 10}, 0), - 1, - }, - { - "get data for 3 pods", - []metricapi.ResourceSelector{ - getResourceSelector("a", api.ResourceKindPod, "P1", "U1"), - getResourceSelector("a", api.ResourceKindPod, "P2", "U2"), - getResourceSelector("a", api.ResourceKindPod, "P3", "U3"), - }, - newDps([]int64{45, 60, 75}, 0), - 1, - }, - { - "get data for 4 pods where 1 pod does not exist - ignore non existing pod", - []metricapi.ResourceSelector{ - getResourceSelector("a", api.ResourceKindPod, "P1", "U1"), - getResourceSelector("a", api.ResourceKindPod, "P2", "U2"), - getResourceSelector("a", api.ResourceKindPod, "P3", "U3"), - getResourceSelector("a", api.ResourceKindPod, "NON_EXISTING", "NA"), - }, - newDps([]int64{45, 60, 75}, 0), - 1, - }, - { - "get data for 4 pods where pods have different X timestams available", - []metricapi.ResourceSelector{ - getResourceSelector("b", api.ResourceKindPod, "P1", "U1"), - getResourceSelector("b", api.ResourceKindPod, "P2", "U2"), - getResourceSelector("b", api.ResourceKindPod, "P3", "U3"), - getResourceSelector("b", api.ResourceKindPod, "P4", "U4"), - }, - newDps([]int64{1000, 2300, 2700, 1500}, 0), - 1, - }, - { - "ask for non existing namespace - return no data points", - []metricapi.ResourceSelector{ - getResourceSelector("NON_EXISTING_NAMESPACE", api.ResourceKindPod, - "P1", "U1"), - }, - newDps([]int64{}, 0), - 1, - }, - { - "get data for 0 pods - return no data points", - []metricapi.ResourceSelector{}, - newDps([]int64{}, 0), - 0, - }, - { - "get data for 0 nodes - return no data points", - []metricapi.ResourceSelector{}, - newDps([]int64{}, 0), - 0, - }, - { - "ask for 1 node", - []metricapi.ResourceSelector{ - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N1", - "U11"), - }, - newDps([]int64{0, 5, 10}, 0), - 1, - }, - { - "ask for 3 nodes", - []metricapi.ResourceSelector{ - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N1", - "U11"), - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N2", - "U12"), - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N3", - "U13"), - }, - newDps([]int64{45, 60, 75}, 0), - 3, // change this to 1 when nodes support all in 1 download. - }, - } - for _, testCase := range testCases { - log.Println("-----------\n\n\n", testCase.Info, int(_NumRequests.get())) - hClient := heapsterClient{fakeHeapsterClient} - promises := hClient.DownloadMetric(testCase.Selectors, "", - &metricapi.CachedResources{}) - metrics, err := hClient.AggregateMetrics(promises, "", nil).GetMetrics() - if err != nil { - t.Errorf("Test Case: %s. Failed to get metrics - %s", testCase.Info, err) - return - } - numReq := fakeHeapsterClient.GetNumberOfRequestsMade() - - if !reflect.DeepEqual(metrics[0].DataPoints, testCase.ExpectedDataPoints) { - t.Errorf("Test Case: %s. Received incorrect data points. Got %v, expected %v.", - testCase.Info, metrics[0].DataPoints, testCase.ExpectedDataPoints) - } - - if testCase.ExpectedNumRequests != numReq { - t.Errorf("Test Case: %s. Selector performed unexpected number of requests to the heapster server. Performed %d, expected %d", - testCase.Info, numReq, testCase.ExpectedNumRequests) - } - } -} - -var selectorPool = []metricapi.ResourceSelector{ - getResourceSelector("a", api.ResourceKindPod, "P1", "U1"), - getResourceSelector("a", api.ResourceKindPod, "P2", "U2"), - getResourceSelector("a", api.ResourceKindPod, "P3", "U3"), - getResourceSelector("b", api.ResourceKindPod, "P1", "Z1"), - getResourceSelector("b", api.ResourceKindPod, "P2", "Z2"), - getResourceSelector("b", api.ResourceKindPod, "P3", "Z3"), - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N1", "U11"), - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N2", "U12"), - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N3", "U13"), - getResourceSelector("NO_NAMESPACE", api.ResourceKindNode, "N4", "U14"), -} - -func TestDownloadMetrics(t *testing.T) { - type HeapsterSelectorsTestCase struct { - Info string - SelectorIds []int - AggregationNames metricapi.AggregationModes - MetricNames []string - ExpectedDataPoints []metricapi.DataPoints - ExpectedNumRequests int - } - - MinMaxSumAggregations := metricapi.AggregationModes{metricapi.MinAggregation, - metricapi.MaxAggregation, metricapi.SumAggregation} - testCases := []HeapsterSelectorsTestCase{ - { - "ask for 1 resource", - []int{1}, - MinMaxSumAggregations, - []string{"Dummy/Metric"}, - []metricapi.DataPoints{ - newDps([]int64{15, 20, 25}, 0), - newDps([]int64{15, 20, 25}, 0), - newDps([]int64{15, 20, 25}, 0), - }, - 1, - }, - { - "ask for 2 resources from same namespace", - []int{0, 1}, - MinMaxSumAggregations, - []string{"Dummy/Metric"}, - []metricapi.DataPoints{ - newDps([]int64{0, 5, 10}, 0), - newDps([]int64{15, 20, 25}, 0), - newDps([]int64{15, 25, 35}, 0), - }, - 1, - }, - { - "ask for 3 resources from same namespace, get 2 metrics", - []int{0, 1, 2}, - MinMaxSumAggregations, - []string{"Dummy/Metric1", "DummyMetric2"}, - []metricapi.DataPoints{ - newDps([]int64{0, 5, 10}, 0), - newDps([]int64{30, 35, 40}, 0), - newDps([]int64{45, 60, 75}, 0), - newDps([]int64{0, 5, 10}, 0), - newDps([]int64{30, 35, 40}, 0), - newDps([]int64{45, 60, 75}, 0), - }, - 2, - }, - { - "ask for multiple resources of the same kind from multiple namespaces", - []int{0, 1, 3, 4}, - MinMaxSumAggregations, - []string{"Dummy/Metric"}, - []metricapi.DataPoints{ - newDps([]int64{0, 5, 10}, 0), - newDps([]int64{1000, 1200, 1300}, 0), - newDps([]int64{1015, 2325, 1335}, 0), - }, - 2, - }, - { - "ask for multiple resources of different kind from multiple namespaces", - []int{0, 1, 6, 7}, - MinMaxSumAggregations, - []string{"Dummy/Metric"}, - []metricapi.DataPoints{ - newDps([]int64{0, 5, 10}, 0), - newDps([]int64{15, 20, 25}, 0), - newDps([]int64{30, 50, 70}, 0), - }, - 3, // if we had node-list option in heapster API we would make only 2 - // requests unfortunately there is no such option and we have to make one request per node - // note that nodes overlap (1,2,3) + (3,4) and we download node 3 only once thanks to request compression - // So 4 requests for nodes (one for each unique node) and 2 requests for pods (1 for each namespace) = 6 in total. - }, - } - - for _, testCase := range testCases { - selectors := []metricapi.ResourceSelector{} - hClient := heapsterClient{fakeHeapsterClient} - for _, selectorId := range testCase.SelectorIds { - selectors = append(selectors, selectorPool[selectorId]) - } - - metricPromises := make(metricapi.MetricPromises, 0) - for _, metricName := range testCase.MetricNames { - promises := hClient.DownloadMetric(selectors, metricName, - &metricapi.CachedResources{}) - promises = hClient.AggregateMetrics(promises, metricName, - testCase.AggregationNames) - metricPromises = append(metricPromises, promises...) - } - metrics, err := metricPromises.GetMetrics() - if err != nil { - t.Errorf("Test Case: %s. Failed to get metrics - %s", testCase.Info, err) - return - } - - receivedDataPoints := []metricapi.DataPoints{} - for _, metric := range metrics { - receivedDataPoints = append(receivedDataPoints, metric.DataPoints) - } - - if !reflect.DeepEqual(receivedDataPoints, testCase.ExpectedDataPoints) { - t.Errorf("Test Case: %s. Received incorrect data points. Got %v, expected %v.", - testCase.Info, receivedDataPoints, testCase.ExpectedDataPoints) - } - numReq := fakeHeapsterClient.GetNumberOfRequestsMade() - if testCase.ExpectedNumRequests != numReq { - t.Errorf("Test Case: %s. Selector performed unexpected number of requests to the heapster server. Performed %d, expected %d", - testCase.Info, numReq, testCase.ExpectedNumRequests) - } - } -} - -func TestCreateHeapsterClient(t *testing.T) { - k8sClient := client.NewClientManager("", "http://localhost:8080").InsecureClient() - cases := []struct { - info string - heapsterHost string - client kubernetes.Interface - expected HeapsterRESTClient - expectedErr error - }{ - { - "should create in-cluster heapster client", - "", - k8sClient, - inClusterHeapsterClient{}, - nil, - }, - { - "should create remote heapster client", - "http://localhost:80801", - nil, - remoteHeapsterClient{}, - nil, - }, - { - "should return error", - "invalid-url-!!23*%.", - nil, - nil, - errors.NewInvalid("parse http://invalid-url-!!23*%.: invalid URL escape \"%.\""), - }, - } - - for _, c := range cases { - metricClient, err := CreateHeapsterClient(c.heapsterHost, c.client) - - if !areErrorsEqual(c.expectedErr, err) { - t.Errorf("Test Case: %s. Expected error to be: %v, but got %v.", - c.info, c.expectedErr, err) - } - - heapsterClient, _ := metricClient.(heapsterClient) - if reflect.TypeOf(heapsterClient.client) != reflect.TypeOf(c.expected) { - t.Errorf("Test Case: %s. Expected client to be of type: %v, but got %v", - c.info, reflect.TypeOf(c.expected), reflect.TypeOf(heapsterClient.client)) - } - } -} diff --git a/src/app/backend/integration/metric/heapster/common.go b/src/app/backend/integration/metric/heapster/common.go deleted file mode 100644 index e8e2867d65e8..000000000000 --- a/src/app/backend/integration/metric/heapster/common.go +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package heapster - -import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - heapster "k8s.io/heapster/metrics/api/v1/types" -) - -// compress compresses list of HeapsterSelectors to equivalent, shorter one in order to perform smaller number of requests. -// For example if we have 2 HeapsterSelectors, first downloading data for pods A, B and second one downloading data for pods B,C. -// compress will compress this to just one HeapsterSelector downloading data for A,B,C. Reverse mapping returned provides -// a mapping between indices from new compressed list to the list of children indices from original list. -func compress(selectors []heapsterSelector) ([]heapsterSelector, map[string][]int) { - reverseMapping := map[string][]int{} - resourceTypeMap := map[string]api.ResourceKind{} - resourceMap := map[string][]string{} - labelMap := map[string]metricapi.Label{} - for i, selector := range selectors { - entry := selector.Path - resources, doesEntryExist := resourceMap[selector.Path] - // compress resources - resourceMap[entry] = append(resources, selector.Resources...) - - // compress labels - if !doesEntryExist { - resourceTypeMap[entry] = selector.TargetResourceType // this will be the same for all entries - labelMap[entry] = metricapi.Label{} - } - labelMap[entry].AddMetricLabel(selector.Label) - reverseMapping[entry] = append(reverseMapping[entry], i) - } - - for entry, resources := range resourceMap { - resourceMap[entry] = toUniqueSlice(resources) - } - - // create new compressed HeapsterSelectors. - compressed := make([]heapsterSelector, 0) - for entry, resourceType := range resourceTypeMap { - newSelector := heapsterSelector{ - Path: entry, - Resources: resourceMap[entry], - Label: labelMap[entry], - TargetResourceType: resourceType, - } - compressed = append(compressed, newSelector) - } - return compressed, reverseMapping -} - -func toUniqueSlice(strings []string) []string { - result := make([]string, 0) - uniquenessMap := make(map[string]bool) - for _, s := range strings { - if _, exists := uniquenessMap[s]; !exists { - result = append(result, s) - } - - uniquenessMap[s] = true - } - - return result -} - -func toMetricPoints(heapsterMetricPoint []heapster.MetricPoint) []metricapi.MetricPoint { - metricPoints := make([]metricapi.MetricPoint, len(heapsterMetricPoint)) - for i, heapsterMP := range heapsterMetricPoint { - metricPoints[i] = metricapi.MetricPoint{ - Value: heapsterMP.Value, - Timestamp: heapsterMP.Timestamp, - } - } - - return metricPoints -} diff --git a/src/app/backend/integration/metric/heapster/model.go b/src/app/backend/integration/metric/heapster/model.go deleted file mode 100644 index 68d73b7a191f..000000000000 --- a/src/app/backend/integration/metric/heapster/model.go +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package heapster - -import ( - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - heapster "k8s.io/heapster/metrics/api/v1/types" -) - -// HeapsterAllInOneDownloadConfig holds config information specifying whether given native Heapster -// resource type supports list download. -var HeapsterAllInOneDownloadConfig = map[api.ResourceKind]bool{ - api.ResourceKindPod: true, - api.ResourceKindNode: false, -} - -// DataPointsFromMetricJSONFormat converts all the data points from format used by heapster to our -// format. -func DataPointsFromMetricJSONFormat(raw heapster.MetricResult) (dp metricapi.DataPoints) { - for _, raw := range raw.Metrics { - converted := metricapi.DataPoint{ - X: raw.Timestamp.Unix(), - Y: int64(raw.Value), - } - - if converted.Y < 0 { - converted.Y = 0 - } - - dp = append(dp, converted) - } - return -} diff --git a/src/app/backend/integration/metric/heapster/restclient.go b/src/app/backend/integration/metric/heapster/restclient.go deleted file mode 100644 index 7a142b646987..000000000000 --- a/src/app/backend/integration/metric/heapster/restclient.go +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package heapster - -import ( - "context" - - "k8s.io/client-go/rest" -) - -// HeapsterRESTClient is used to make raw requests to heapster. -type HeapsterRESTClient interface { - // Creates a new GET HTTP request to heapster, specified by the path param, to the V1 API - // endpoint. The path param is without the API prefix, e.g., - // /model/namespaces/default/pod-list/foo/metrics/memory-usage - Get(path string) RequestInterface - HealthCheck() error -} - -// RequestInterface is an interface that allows to make operations on pure request object. -// Separation is done to allow testing. -type RequestInterface interface { - DoRaw(context.Context) ([]byte, error) - AbsPath(segments ...string) *rest.Request -} - -// InClusterHeapsterClient is an in-cluster implementation of a Heapster client. Talks with Heapster -// through service proxy. -type inClusterHeapsterClient struct { - client rest.Interface -} - -// Get creates request to given path. -func (c inClusterHeapsterClient) Get(path string) RequestInterface { - return c.client.Get(). - Namespace("kube-system"). - Resource("services"). - Name("heapster"). - SubResource("proxy"). - Suffix("/api/v1/" + path) -} - -// HealthCheck does a health check of the application. -// Returns nil if connection to application can be established, error object otherwise. -func (self inClusterHeapsterClient) HealthCheck() error { - _, err := self.client.Get(). - Namespace("kube-system"). - Resource("services"). - Name("heapster"). - SubResource("proxy"). - Suffix("/healthz"). - DoRaw(context.TODO()) - return err -} - -// RemoteHeapsterClient is an implementation of a remote Heapster client. Talks with Heapster -// through raw RESTClient. -type remoteHeapsterClient struct { - client rest.Interface -} - -// Get creates request to given path. -func (c remoteHeapsterClient) Get(path string) RequestInterface { - return c.client.Get().Suffix(path) -} - -// HealthCheck does a health check of the application. -// Returns nil if connection to application can be established, error object otherwise. -func (self remoteHeapsterClient) HealthCheck() error { - _, err := self.Get("healthz").AbsPath("/").DoRaw(context.TODO()) - return err -} diff --git a/src/app/backend/integration/metric/heapster/selector.go b/src/app/backend/integration/metric/heapster/selector.go deleted file mode 100644 index 74648e4a29da..000000000000 --- a/src/app/backend/integration/metric/heapster/selector.go +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package heapster - -import ( - "fmt" - - "github.com/emicklei/go-restful/v3/log" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - v1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/types" -) - -type heapsterSelector struct { - TargetResourceType api.ResourceKind - Path string - Resources []string - metricapi.Label -} - -func getHeapsterSelectors(selectors []metricapi.ResourceSelector, - cachedResources *metricapi.CachedResources) []heapsterSelector { - result := make([]heapsterSelector, len(selectors)) - for i, selector := range selectors { - heapsterSelector, err := getHeapsterSelector(selector, cachedResources) - if err != nil { - log.Printf("There was an error during transformation to heapster selector: %s", err.Error()) - continue - } - - result[i] = heapsterSelector - } - - return result -} - -func getHeapsterSelector(selector metricapi.ResourceSelector, - cachedResources *metricapi.CachedResources) (heapsterSelector, error) { - summingResource, isDerivedResource := metricapi.DerivedResources[selector.ResourceType] - if !isDerivedResource { - return newHeapsterSelectorFromNativeResource(selector.ResourceType, selector.Namespace, - []string{selector.ResourceName}, []types.UID{selector.UID}) - } - // We are dealing with derived resource. Convert derived resource to its native resources. - // For example, convert deployment to the list of pod names that belong to this deployment - if summingResource == api.ResourceKindPod { - myPods, err := getMyPodsFromCache(selector, cachedResources.Pods) - if err != nil { - return heapsterSelector{}, err - } - return newHeapsterSelectorFromNativeResource(api.ResourceKindPod, - selector.Namespace, podListToNameList(myPods), podListToUIDList(myPods)) - } - // currently can only convert derived resource to pods. You can change it by implementing other methods - return heapsterSelector{}, fmt.Errorf(`Internal Error: Requested summing resources not supported. Requested "%s"`, summingResource) -} - -// getMyPodsFromCache returns a full list of pods that belong to this resource. -// It is important that cachedPods include ALL pods from the namespace of this resource (but they -// can also include pods from other namespaces). -func getMyPodsFromCache(selector metricapi.ResourceSelector, cachedPods []v1.Pod) (matchingPods []v1.Pod, err error) { - switch { - case cachedPods == nil: - err = fmt.Errorf(`Pods were not available in cache. Required for resource type: "%s"`, - selector.ResourceType) - case selector.ResourceType == api.ResourceKindDeployment: - for _, pod := range cachedPods { - if pod.ObjectMeta.Namespace == selector.Namespace && api.IsSelectorMatching(selector.Selector, pod.Labels) { - matchingPods = append(matchingPods, pod) - } - } - default: - for _, pod := range cachedPods { - if pod.Namespace == selector.Namespace { - for _, ownerRef := range pod.OwnerReferences { - if ownerRef.Controller != nil && *ownerRef.Controller == true && - ownerRef.UID == selector.UID { - matchingPods = append(matchingPods, pod) - } - } - } - } - } - return -} - -// NewHeapsterSelectorFromNativeResource returns new heapster selector for native resources specified in arguments. -// returns error if requested resource is not native or is not supported. -func newHeapsterSelectorFromNativeResource(resourceType api.ResourceKind, namespace string, - resourceNames []string, resourceUIDs []types.UID) (heapsterSelector, error) { - // Here we have 2 possibilities because this module allows downloading Nodes and Pods from heapster - if resourceType == api.ResourceKindPod { - return heapsterSelector{ - TargetResourceType: api.ResourceKindPod, - Path: `namespaces/` + namespace + `/pod-list/`, - Resources: resourceNames, - Label: metricapi.Label{resourceType: resourceUIDs}, - }, nil - } else if resourceType == api.ResourceKindNode { - return heapsterSelector{ - TargetResourceType: api.ResourceKindNode, - Path: `nodes/`, - Resources: resourceNames, - Label: metricapi.Label{resourceType: resourceUIDs}, - }, nil - } else { - return heapsterSelector{}, fmt.Errorf(`Resource "%s" is not a native heapster resource type or is not supported`, resourceType) - } -} - -// podListToNameList converts list of pods to the list of pod names. -func podListToNameList(podList []v1.Pod) (result []string) { - for _, pod := range podList { - result = append(result, pod.Name) - } - return -} - -func podListToUIDList(podList []v1.Pod) (result []types.UID) { - for _, pod := range podList { - result = append(result, pod.UID) - } - return -} diff --git a/src/app/backend/integration/metric/heapster/selector_test.go b/src/app/backend/integration/metric/heapster/selector_test.go deleted file mode 100644 index 98f2a731b46b..000000000000 --- a/src/app/backend/integration/metric/heapster/selector_test.go +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package heapster - -import ( - "reflect" - "testing" - - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - v1 "k8s.io/api/core/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -func TestGetHeapsterSelector(t *testing.T) { - resource1 := map[string]string{ - "resource": "1", - } - resource2 := map[string]string{ - "resource": "2", - } - var cachedPodList = []v1.Pod{ - { - ObjectMeta: metaV1.ObjectMeta{ - Name: "1", - Labels: resource1, - Namespace: "a", - }, - }, - { - ObjectMeta: metaV1.ObjectMeta{ - Name: "2", - Labels: resource2, - Namespace: "a", - }, - }, - { - ObjectMeta: metaV1.ObjectMeta{ - Name: "3", - Labels: resource1, - Namespace: "a", - }, - }, - { - ObjectMeta: metaV1.ObjectMeta{ - Name: "4", - Labels: resource1, - Namespace: "b", - }, - }, - { - ObjectMeta: metaV1.ObjectMeta{ - Name: "5", - Labels: resource1, - }, - }, - } - testCases := []struct { - Info string - ResourceSelector metricapi.ResourceSelector - ExpectedPath string - ExpectedTargetResource api.ResourceKind - ExpectedResources []string - }{ - { - "ResourceSelector for native resource - pod", - metricapi.ResourceSelector{ - Namespace: "bar", - ResourceType: api.ResourceKindPod, - ResourceName: "foo", - }, - `namespaces/bar/pod-list/`, - api.ResourceKindPod, - []string{"foo"}, - }, - { - "ResourceSelector for native resource - node", - metricapi.ResourceSelector{ - Namespace: "barn", - ResourceType: api.ResourceKindNode, - ResourceName: "foon", - }, - `nodes/`, - api.ResourceKindNode, - []string{"foon"}, - }, - { - "ResourceSelector for derived resource with old style selector", - metricapi.ResourceSelector{ - Namespace: "a", - ResourceType: api.ResourceKindDeployment, - ResourceName: "baba", - Selector: resource1, - }, - `namespaces/a/pod-list/`, - api.ResourceKindPod, - []string{"1", "3"}, - }, - } - for _, testCase := range testCases { - sel, err := getHeapsterSelector(testCase.ResourceSelector, - &metricapi.CachedResources{Pods: cachedPodList}) - if err != nil { - t.Errorf("Test Case: %s. Failed to get HeapsterSelector. - %s", testCase.Info, err) - return - } - if !reflect.DeepEqual(sel.Resources, testCase.ExpectedResources) { - t.Errorf("Test Case: %s. Converted resource selector to incorrect native resources. Got %v, expected %v.", - testCase.Info, sel.Resources, testCase.ExpectedResources) - } - if sel.TargetResourceType != testCase.ExpectedTargetResource { - t.Errorf("Test Case: %s. Used invalid target resource type. Got %s, expected %s.", - testCase.Info, sel.TargetResourceType, testCase.ExpectedTargetResource) - } - if sel.Path != testCase.ExpectedPath { - t.Errorf("Test Case: %s. Converted to invalid heapster download path. Got %s, expected %s.", - testCase.Info, sel.Path, testCase.ExpectedPath) - } - - } -} diff --git a/src/app/backend/integration/metric/manager.go b/src/app/backend/integration/metric/manager.go index 2824d71ca6c9..591652f09f92 100644 --- a/src/app/backend/integration/metric/manager.go +++ b/src/app/backend/integration/metric/manager.go @@ -19,12 +19,12 @@ import ( "log" "time" + "k8s.io/apimachinery/pkg/util/wait" + clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/heapster" "github.com/kubernetes/dashboard/src/app/backend/integration/metric/sidecar" - "k8s.io/apimachinery/pkg/util/wait" ) // MetricManager is responsible for management of all integrated applications related to metrics. @@ -43,8 +43,6 @@ type MetricManager interface { List() []integrationapi.Integration // ConfigureSidecar configures and adds sidecar to clients list. ConfigureSidecar(host string) MetricManager - // ConfigureHeapster configures and adds sidecar to clients list. - ConfigureHeapster(host string) MetricManager } // Implements MetricManager interface. @@ -130,19 +128,6 @@ func (self *metricManager) ConfigureSidecar(host string) MetricManager { return self } -// ConfigureHeapster implements metric manager interface. See MetricManager for more information. -func (self *metricManager) ConfigureHeapster(host string) MetricManager { - kubeClient := self.manager.InsecureClient() - metricClient, err := heapster.CreateHeapsterClient(host, kubeClient) - if err != nil { - log.Printf("There was an error during heapster client creation: %s", err.Error()) - return self - } - - self.clients[metricClient.ID()] = metricClient - return self -} - // NewMetricManager creates metric manager. func NewMetricManager(manager clientapi.ClientManager) MetricManager { return &metricManager{ diff --git a/src/app/backend/integration/metric/manager_test.go b/src/app/backend/integration/metric/manager_test.go index 678d8523b0d9..292ad2306073 100644 --- a/src/app/backend/integration/metric/manager_test.go +++ b/src/app/backend/integration/metric/manager_test.go @@ -18,7 +18,6 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/client" "github.com/kubernetes/dashboard/src/app/backend/errors" integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" @@ -132,21 +131,3 @@ func TestMetricManager_List(t *testing.T) { } } } - -func TestMetricManager_ConfigureHeapster(t *testing.T) { - cases := []struct { - manager MetricManager - expectedClients int - }{ - {NewMetricManager(client.NewClientManager("", "http://localhost:8080")), 1}, - } - - for _, c := range cases { - c.manager.ConfigureHeapster("") - - if len(c.manager.List()) != c.expectedClients { - t.Errorf("Failed to configure heapster. Expected number of clients to be "+ - "%d, but got %d.", c.expectedClients, len(c.manager.List())) - } - } -} diff --git a/src/app/backend/resource/common/resourcechannels.go b/src/app/backend/resource/common/resourcechannels.go index 32507b30331e..8d72dbfba8cb 100644 --- a/src/app/backend/resource/common/resourcechannels.go +++ b/src/app/backend/resource/common/resourcechannels.go @@ -20,7 +20,6 @@ import ( apps "k8s.io/api/apps/v1" autoscaling "k8s.io/api/autoscaling/v1" batch "k8s.io/api/batch/v1" - batch2 "k8s.io/api/batch/v1beta1" v1 "k8s.io/api/core/v1" networkingv1 "k8s.io/api/networking/v1" rbac "k8s.io/api/rbac/v1" @@ -559,20 +558,20 @@ func GetJobListChannel(client client.Interface, // CronJobListChannel is a list and error channels to Cron Jobs. type CronJobListChannel struct { - List chan *batch2.CronJobList + List chan *batch.CronJobList Error chan error } // GetCronJobListChannel returns a pair of channels to a Cron Job list and errors that both must be read numReads times. func GetCronJobListChannel(client client.Interface, nsQuery *NamespaceQuery, numReads int) CronJobListChannel { channel := CronJobListChannel{ - List: make(chan *batch2.CronJobList, numReads), + List: make(chan *batch.CronJobList, numReads), Error: make(chan error, numReads), } go func() { - list, err := client.BatchV1beta1().CronJobs(nsQuery.ToRequestParam()).List(context.TODO(), api.ListEverything) - var filteredItems []batch2.CronJob + list, err := client.BatchV1().CronJobs(nsQuery.ToRequestParam()).List(context.TODO(), api.ListEverything) + var filteredItems []batch.CronJob for _, item := range list.Items { if nsQuery.Matches(item.ObjectMeta.Namespace) { filteredItems = append(filteredItems, item) diff --git a/src/app/backend/resource/cronjob/common.go b/src/app/backend/resource/cronjob/common.go index becbfb5efa0e..d0f55ef38133 100644 --- a/src/app/backend/resource/cronjob/common.go +++ b/src/app/backend/resource/cronjob/common.go @@ -15,16 +15,17 @@ package cronjob import ( + batch "k8s.io/api/batch/v1" + "github.com/kubernetes/dashboard/src/app/backend/api" metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" "github.com/kubernetes/dashboard/src/app/backend/resource/common" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - batchv1beta1 "k8s.io/api/batch/v1beta1" ) // The code below allows to perform complex data section on []batch.CronJob -type CronJobCell batchv1beta1.CronJob +type CronJobCell batch.CronJob func (self CronJobCell) GetProperty(name dataselect.PropertyName) dataselect.ComparableValue { switch name { @@ -49,7 +50,7 @@ func (self CronJobCell) GetResourceSelector() *metricapi.ResourceSelector { } } -func ToCells(std []batchv1beta1.CronJob) []dataselect.DataCell { +func ToCells(std []batch.CronJob) []dataselect.DataCell { cells := make([]dataselect.DataCell, len(std)) for i := range std { cells[i] = CronJobCell(std[i]) @@ -57,15 +58,15 @@ func ToCells(std []batchv1beta1.CronJob) []dataselect.DataCell { return cells } -func FromCells(cells []dataselect.DataCell) []batchv1beta1.CronJob { - std := make([]batchv1beta1.CronJob, len(cells)) +func FromCells(cells []dataselect.DataCell) []batch.CronJob { + std := make([]batch.CronJob, len(cells)) for i := range std { - std[i] = batchv1beta1.CronJob(cells[i].(CronJobCell)) + std[i] = batch.CronJob(cells[i].(CronJobCell)) } return std } -func getStatus(list *batchv1beta1.CronJobList) common.ResourceStatus { +func getStatus(list *batch.CronJobList) common.ResourceStatus { info := common.ResourceStatus{} if list == nil { return info @@ -82,7 +83,7 @@ func getStatus(list *batchv1beta1.CronJobList) common.ResourceStatus { return info } -func getContainerImages(cronJob *batchv1beta1.CronJob) []string { +func getContainerImages(cronJob *batch.CronJob) []string { podSpec := cronJob.Spec.JobTemplate.Spec.Template.Spec result := make([]string, 0) diff --git a/src/app/backend/resource/cronjob/detail.go b/src/app/backend/resource/cronjob/detail.go index 8becbe6c8450..c41bcdfac323 100644 --- a/src/app/backend/resource/cronjob/detail.go +++ b/src/app/backend/resource/cronjob/detail.go @@ -17,7 +17,7 @@ package cronjob import ( "context" - batch2 "k8s.io/api/batch/v1beta1" + batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" ) @@ -37,7 +37,7 @@ type CronJobDetail struct { // GetCronJobDetail gets Cron Job details. func GetCronJobDetail(client k8sClient.Interface, namespace, name string) (*CronJobDetail, error) { - rawObject, err := client.BatchV1beta1().CronJobs(namespace).Get(context.TODO(), name, metaV1.GetOptions{}) + rawObject, err := client.BatchV1().CronJobs(namespace).Get(context.TODO(), name, metaV1.GetOptions{}) if err != nil { return nil, err } @@ -46,7 +46,7 @@ func GetCronJobDetail(client k8sClient.Interface, namespace, name string) (*Cron return &cj, nil } -func toCronJobDetail(cj *batch2.CronJob) CronJobDetail { +func toCronJobDetail(cj *batch.CronJob) CronJobDetail { return CronJobDetail{ CronJob: toCronJob(cj), ConcurrencyPolicy: string(cj.Spec.ConcurrencyPolicy), diff --git a/src/app/backend/resource/cronjob/detail_test.go b/src/app/backend/resource/cronjob/detail_test.go index 09dbd69ccc52..5918cc7c1bde 100644 --- a/src/app/backend/resource/cronjob/detail_test.go +++ b/src/app/backend/resource/cronjob/detail_test.go @@ -18,12 +18,13 @@ import ( "reflect" "testing" + batch "k8s.io/api/batch/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/fake" + "github.com/kubernetes/dashboard/src/app/backend/api" "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - batch "k8s.io/api/batch/v1beta1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes/fake" ) func TestGetCronJobDetail(t *testing.T) { diff --git a/src/app/backend/resource/cronjob/events.go b/src/app/backend/resource/cronjob/events.go index bd13d936fe38..f062c33c77f2 100644 --- a/src/app/backend/resource/cronjob/events.go +++ b/src/app/backend/resource/cronjob/events.go @@ -15,10 +15,11 @@ package cronjob import ( + client "k8s.io/client-go/kubernetes" + "github.com/kubernetes/dashboard/src/app/backend/resource/common" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" "github.com/kubernetes/dashboard/src/app/backend/resource/event" - client "k8s.io/client-go/kubernetes" ) // GetCronJobEvents gets events associated to cron job. diff --git a/src/app/backend/resource/cronjob/events_test.go b/src/app/backend/resource/cronjob/events_test.go index 0bf93b24ce07..394a30fa3a86 100644 --- a/src/app/backend/resource/cronjob/events_test.go +++ b/src/app/backend/resource/cronjob/events_test.go @@ -18,13 +18,14 @@ import ( "reflect" "testing" + v1 "k8s.io/api/core/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/fake" + "github.com/kubernetes/dashboard/src/app/backend/api" "github.com/kubernetes/dashboard/src/app/backend/resource/common" "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - v1 "k8s.io/api/core/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes/fake" ) func TestGetJobEvents(t *testing.T) { diff --git a/src/app/backend/resource/cronjob/jobs.go b/src/app/backend/resource/cronjob/jobs.go index 7c4aef0424de..9731c66eddf5 100644 --- a/src/app/backend/resource/cronjob/jobs.go +++ b/src/app/backend/resource/cronjob/jobs.go @@ -17,17 +17,23 @@ package cronjob import ( "context" + batch "k8s.io/api/batch/v1" + meta "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/rand" + client "k8s.io/client-go/kubernetes" + "github.com/kubernetes/dashboard/src/app/backend/api" "github.com/kubernetes/dashboard/src/app/backend/errors" metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" "github.com/kubernetes/dashboard/src/app/backend/resource/common" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" "github.com/kubernetes/dashboard/src/app/backend/resource/job" - batch "k8s.io/api/batch/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" - "k8s.io/apimachinery/pkg/util/rand" - client "k8s.io/client-go/kubernetes" +) + +const ( + CronJobAPIVersion = "v1" + CronJobKindName = "cronjob" ) var emptyJobList = &job.JobList{ @@ -42,7 +48,7 @@ var emptyJobList = &job.JobList{ func GetCronJobJobs(client client.Interface, metricClient metricapi.MetricClient, dsQuery *dataselect.DataSelectQuery, namespace, name string, active bool) (*job.JobList, error) { - cronJob, err := client.BatchV1beta1().CronJobs(namespace).Get(context.TODO(), name, metaV1.GetOptions{}) + cronJob, err := client.BatchV1beta1().CronJobs(namespace).Get(context.TODO(), name, meta.GetOptions{}) if err != nil { return emptyJobList, err } @@ -84,7 +90,7 @@ func GetCronJobJobs(client client.Interface, metricClient metricapi.MetricClient func TriggerCronJob(client client.Interface, namespace, name string) error { - cronJob, err := client.BatchV1beta1().CronJobs(namespace).Get(context.TODO(), name, metaV1.GetOptions{}) + cronJob, err := client.BatchV1().CronJobs(namespace).Get(context.TODO(), name, meta.GetOptions{}) if err != nil { return err @@ -107,16 +113,22 @@ func TriggerCronJob(client client.Interface, } jobToCreate := &batch.Job{ - ObjectMeta: metaV1.ObjectMeta{ + ObjectMeta: meta.ObjectMeta{ Name: newJobName, Namespace: namespace, Annotations: annotations, Labels: labels, + OwnerReferences: []meta.OwnerReference{{ + APIVersion: CronJobAPIVersion, + Kind: CronJobKindName, + Name: cronJob.Name, + UID: cronJob.UID, + }}, }, Spec: cronJob.Spec.JobTemplate.Spec, } - _, err = client.BatchV1().Jobs(namespace).Create(context.TODO(), jobToCreate, metaV1.CreateOptions{}) + _, err = client.BatchV1().Jobs(namespace).Create(context.TODO(), jobToCreate, meta.CreateOptions{}) if err != nil { return err diff --git a/src/app/backend/resource/cronjob/jobs_test.go b/src/app/backend/resource/cronjob/jobs_test.go index 3ecc508648d4..09e702207baf 100644 --- a/src/app/backend/resource/cronjob/jobs_test.go +++ b/src/app/backend/resource/cronjob/jobs_test.go @@ -19,11 +19,12 @@ import ( "strings" "testing" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - batch "k8s.io/api/batch/v1beta1" + batch "k8s.io/api/batch/v1" "k8s.io/apimachinery/pkg/api/errors" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + + "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" ) func TestTriggerCronJobWithInvalidName(t *testing.T) { diff --git a/src/app/backend/resource/cronjob/list.go b/src/app/backend/resource/cronjob/list.go index b7f88bee1f50..525bf5fa4909 100644 --- a/src/app/backend/resource/cronjob/list.go +++ b/src/app/backend/resource/cronjob/list.go @@ -17,14 +17,15 @@ package cronjob import ( "log" + batch "k8s.io/api/batch/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + client "k8s.io/client-go/kubernetes" + "github.com/kubernetes/dashboard/src/app/backend/api" "github.com/kubernetes/dashboard/src/app/backend/errors" metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" "github.com/kubernetes/dashboard/src/app/backend/resource/common" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "k8s.io/api/batch/v1beta1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - client "k8s.io/client-go/kubernetes" ) // CronJobList contains a list of CronJobs in the cluster. @@ -82,7 +83,7 @@ func GetCronJobListFromChannels(channels *common.ResourceChannels, dsQuery *data return cronJobList, nil } -func toCronJobList(cronJobs []v1beta1.CronJob, nonCriticalErrors []error, dsQuery *dataselect.DataSelectQuery, +func toCronJobList(cronJobs []batch.CronJob, nonCriticalErrors []error, dsQuery *dataselect.DataSelectQuery, metricClient metricapi.MetricClient) *CronJobList { list := &CronJobList{ @@ -112,7 +113,7 @@ func toCronJobList(cronJobs []v1beta1.CronJob, nonCriticalErrors []error, dsQuer return list } -func toCronJob(cj *v1beta1.CronJob) CronJob { +func toCronJob(cj *batch.CronJob) CronJob { return CronJob{ ObjectMeta: api.NewObjectMeta(cj.ObjectMeta), TypeMeta: api.NewTypeMeta(api.ResourceKindCronJob), diff --git a/src/app/backend/resource/cronjob/list_test.go b/src/app/backend/resource/cronjob/list_test.go index 0e0238708fe1..5935839a4f24 100644 --- a/src/app/backend/resource/cronjob/list_test.go +++ b/src/app/backend/resource/cronjob/list_test.go @@ -18,13 +18,14 @@ import ( "reflect" "testing" + batch "k8s.io/api/batch/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "github.com/kubernetes/dashboard/src/app/backend/api" metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" "github.com/kubernetes/dashboard/src/app/backend/resource/common" "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - batch "k8s.io/api/batch/v1beta1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func TestGetCronJobListFromChannels(t *testing.T) { diff --git a/src/app/backend/resource/job/list.go b/src/app/backend/resource/job/list.go index 07c2e3ef8c78..c068047aec40 100644 --- a/src/app/backend/resource/job/list.go +++ b/src/app/backend/resource/job/list.go @@ -17,15 +17,16 @@ package job import ( "log" + batch "k8s.io/api/batch/v1" + v1 "k8s.io/api/core/v1" + client "k8s.io/client-go/kubernetes" + "github.com/kubernetes/dashboard/src/app/backend/api" "github.com/kubernetes/dashboard/src/app/backend/errors" metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" "github.com/kubernetes/dashboard/src/app/backend/resource/common" "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" "github.com/kubernetes/dashboard/src/app/backend/resource/event" - batch "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - client "k8s.io/client-go/kubernetes" ) // JobList contains a list of Jobs in the cluster. From 799d9ac4bb65dc34788795c67bf2c3ad256fce3f Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Wed, 27 Jul 2022 10:00:27 +0200 Subject: [PATCH 107/162] Update dashboard-arguments.md --- docs/common/dashboard-arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/common/dashboard-arguments.md b/docs/common/dashboard-arguments.md index 4e2b1f9701c0..b55b0cb841bf 100644 --- a/docs/common/dashboard-arguments.md +++ b/docs/common/dashboard-arguments.md @@ -15,7 +15,7 @@ Dashboard container accepts multiple arguments that can be used to customize it | tls-key-file | - | File containing the default x509 private key matching --tls-cert-file. | | auto-generate-certificates | false | When set to true, Dashboard will automatically generate certificates used to serve HTTPS. | | apiserver-host | - | The address of the Kubernetes Apiserver to connect to in the format of protocol://address:port, e.g., http://localhost:8080. If not specified, the assumption is that the binary runs inside a Kubernetes cluster and local discovery is attempted. | -| api-log-level | INFO | Level of API request logging. Should be one of 'INFO\ |NONE\|DEBUG'. | +| api-log-level | INFO | Level of API request logging. Should be one of `INFO\|NONE\|DEBUG`. | | heapster-host | - | The address of the Heapster Apiserver to connect to in the format of protocol://address:port, e.g., http://localhost:8082. If not specified, the assumption is that the binary runs inside a Kubernetes cluster and service proxy will be used. | | sidecar-host | - | The address of the Sidecar Apiserver to connect to in the format of protocol://address:port, e.g., http://localhost:8000. If not specified, the assumption is that the binary runs inside a Kubernetes cluster and service proxy will be used. | | metrics-provider | sidecar | Select provider type for metrics. 'none' will not check metrics. | From ecdc4a8162835109fc9f4888a8d8311cff1384ba Mon Sep 17 00:00:00 2001 From: "L. Jiang" Date: Fri, 5 Aug 2022 17:11:47 +0800 Subject: [PATCH 108/162] fix: fix panic while RsaKeyHolder secret is nil (#7189) * fix: fix panic while RsaKeyHolder secret is nil * test: add test for auth.NewBasicAuthenticator --- src/app/backend/auth/basic_test.go | 19 +++++++++++++++++++ src/app/backend/auth/jwe/keyholder.go | 5 ++++- src/app/backend/auth/jwe/keyholder_test.go | 5 +++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 src/app/backend/auth/basic_test.go diff --git a/src/app/backend/auth/basic_test.go b/src/app/backend/auth/basic_test.go new file mode 100644 index 000000000000..9c7451114155 --- /dev/null +++ b/src/app/backend/auth/basic_test.go @@ -0,0 +1,19 @@ +package auth + +import ( + authAPI "github.com/kubernetes/dashboard/src/app/backend/auth/api" + "testing" +) + +func TestNewBasicAuthenticator(t *testing.T) { + auth := NewBasicAuthenticator(&authAPI.LoginSpec{ + Username: "username", + Password: "password", + Token: "", + KubeConfig: "", + }) + + if _, err := auth.GetAuthInfo(); err != nil { + t.Errorf("Failed: %v", err) + } +} diff --git a/src/app/backend/auth/jwe/keyholder.go b/src/app/backend/auth/jwe/keyholder.go index 6f8068dcb856..86b901f4c201 100644 --- a/src/app/backend/auth/jwe/keyholder.go +++ b/src/app/backend/auth/jwe/keyholder.go @@ -87,7 +87,10 @@ func (self *rsaKeyHolder) Refresh() { // Handler function executed by synchronizer used to store encryption key. It is called whenever watched object // is created or updated. func (self *rsaKeyHolder) update(obj runtime.Object) { - secret := obj.(*v1.Secret) + secret, ok := obj.(*v1.Secret) + if !ok { + return + } priv, err := ParseRSAKey(string(secret.Data[holderMapKeyEntry]), string(secret.Data[holderMapCertEntry])) if err != nil { // Secret was probably tampered with. Update it based on local key. diff --git a/src/app/backend/auth/jwe/keyholder_test.go b/src/app/backend/auth/jwe/keyholder_test.go index af7ebe05b706..71ed5fd28d6e 100644 --- a/src/app/backend/auth/jwe/keyholder_test.go +++ b/src/app/backend/auth/jwe/keyholder_test.go @@ -47,3 +47,8 @@ func TestRsaKeyHolder_Key(t *testing.T) { t.Fatalf("Key(): Expected key not to be nil") } } + +func TestRsaKeyHolder_Refresh(t *testing.T) { + holder := getKeyHolder() + holder.Refresh() +} From dec07e915bf89b3ee99df47512efa5f2fc59a3a7 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Fri, 5 Aug 2022 14:32:42 +0200 Subject: [PATCH 109/162] go mod tidy and fix master merge issues --- modules/api/go.mod | 5 ++- modules/api/go.sum | 22 ++++++++--- modules/api/main.go | 28 +++++++------- modules/api/pkg/integration/metric/manager.go | 8 ++-- .../pkg/integration/metric/manager_test.go | 6 +-- modules/api/pkg/resource/cronjob/common.go | 8 ++-- .../api/pkg/resource/cronjob/detail_test.go | 6 +-- modules/api/pkg/resource/cronjob/events.go | 6 +-- .../api/pkg/resource/cronjob/events_test.go | 8 ++-- modules/api/pkg/resource/cronjob/jobs.go | 12 +++--- modules/api/pkg/resource/cronjob/jobs_test.go | 2 +- modules/api/pkg/resource/cronjob/list.go | 10 ++--- modules/api/pkg/resource/cronjob/list_test.go | 10 ++--- modules/api/pkg/resource/job/list.go | 12 +++--- modules/common/certificates/go.mod | 10 +++-- modules/common/certificates/go.sum | 13 +++---- modules/common/tools/go.mod | 36 +++++++++--------- modules/common/tools/go.sum | 38 +++++++++---------- modules/web/go.mod | 15 ++++---- modules/web/go.sum | 33 +++++----------- 20 files changed, 140 insertions(+), 148 deletions(-) diff --git a/modules/api/go.mod b/modules/api/go.mod index 5479ded6dd99..d0c9a4b956e7 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -18,7 +18,6 @@ require ( k8s.io/apimachinery v0.24.1 k8s.io/client-go v0.24.1 k8s.io/dashboard/certificates v0.0.0-00010101000000-000000000000 - k8s.io/heapster v1.5.4 ) require ( @@ -27,6 +26,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful v2.15.0+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect @@ -34,7 +34,6 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/gnostic v0.6.9 // indirect - github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/imdario/mergo v0.3.13 // indirect @@ -46,6 +45,8 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/onsi/ginkgo v1.16.4 // indirect + github.com/onsi/gomega v1.18.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.34.0 // indirect diff --git a/modules/api/go.sum b/modules/api/go.sum index ee4daf80260b..1fb5c2889de5 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -137,8 +137,9 @@ github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -171,6 +172,7 @@ github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/ github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -230,7 +232,6 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -249,8 +250,8 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -360,18 +361,23 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -599,6 +605,7 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -681,6 +688,7 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -699,6 +707,7 @@ golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -774,6 +783,7 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= diff --git a/modules/api/main.go b/modules/api/main.go index 2d6756d5aad1..f277e41e5b7e 100644 --- a/modules/api/main.go +++ b/modules/api/main.go @@ -28,21 +28,19 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/spf13/pflag" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/auth" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/auth/jwe" - "github.com/kubernetes/dashboard/src/app/backend/cert" - "github.com/kubernetes/dashboard/src/app/backend/cert/ecdsa" - "github.com/kubernetes/dashboard/src/app/backend/client" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/handler" - "github.com/kubernetes/dashboard/src/app/backend/health" - "github.com/kubernetes/dashboard/src/app/backend/integration" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - "github.com/kubernetes/dashboard/src/app/backend/settings" - "github.com/kubernetes/dashboard/src/app/backend/sync" - "github.com/kubernetes/dashboard/src/app/backend/systembanner" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/auth" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/auth/jwe" + "k8s.io/dashboard/api/pkg/client" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/handler" + "k8s.io/dashboard/api/pkg/integration" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + "k8s.io/dashboard/api/pkg/settings" + "k8s.io/dashboard/api/pkg/sync" + "k8s.io/dashboard/certificates" + "k8s.io/dashboard/certificates/ecdsa" ) var ( diff --git a/modules/api/pkg/integration/metric/manager.go b/modules/api/pkg/integration/metric/manager.go index 591652f09f92..0d12be8a8efa 100644 --- a/modules/api/pkg/integration/metric/manager.go +++ b/modules/api/pkg/integration/metric/manager.go @@ -21,10 +21,10 @@ import ( "k8s.io/apimachinery/pkg/util/wait" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/sidecar" + clientapi "k8s.io/dashboard/api/pkg/client/api" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/integration/metric/sidecar" ) // MetricManager is responsible for management of all integrated applications related to metrics. diff --git a/modules/api/pkg/integration/metric/manager_test.go b/modules/api/pkg/integration/metric/manager_test.go index 292ad2306073..e3e01861b61b 100644 --- a/modules/api/pkg/integration/metric/manager_test.go +++ b/modules/api/pkg/integration/metric/manager_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/errors" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "k8s.io/dashboard/api/pkg/errors" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + "k8s.io/dashboard/api/pkg/integration/metric/api" ) const fakeMetricClientID integrationapi.IntegrationID = "test-id" diff --git a/modules/api/pkg/resource/cronjob/common.go b/modules/api/pkg/resource/cronjob/common.go index d0f55ef38133..c6efb4801803 100644 --- a/modules/api/pkg/resource/cronjob/common.go +++ b/modules/api/pkg/resource/cronjob/common.go @@ -17,10 +17,10 @@ package cronjob import ( batch "k8s.io/api/batch/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []batch.CronJob diff --git a/modules/api/pkg/resource/cronjob/detail_test.go b/modules/api/pkg/resource/cronjob/detail_test.go index 5918cc7c1bde..34e53f396048 100644 --- a/modules/api/pkg/resource/cronjob/detail_test.go +++ b/modules/api/pkg/resource/cronjob/detail_test.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetCronJobDetail(t *testing.T) { diff --git a/modules/api/pkg/resource/cronjob/events.go b/modules/api/pkg/resource/cronjob/events.go index f062c33c77f2..7863308ec398 100644 --- a/modules/api/pkg/resource/cronjob/events.go +++ b/modules/api/pkg/resource/cronjob/events.go @@ -17,9 +17,9 @@ package cronjob import ( client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetCronJobEvents gets events associated to cron job. diff --git a/modules/api/pkg/resource/cronjob/events_test.go b/modules/api/pkg/resource/cronjob/events_test.go index 394a30fa3a86..a4a7ab0d7118 100644 --- a/modules/api/pkg/resource/cronjob/events_test.go +++ b/modules/api/pkg/resource/cronjob/events_test.go @@ -22,10 +22,10 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetJobEvents(t *testing.T) { diff --git a/modules/api/pkg/resource/cronjob/jobs.go b/modules/api/pkg/resource/cronjob/jobs.go index 9731c66eddf5..44375e3288e8 100644 --- a/modules/api/pkg/resource/cronjob/jobs.go +++ b/modules/api/pkg/resource/cronjob/jobs.go @@ -23,12 +23,12 @@ import ( "k8s.io/apimachinery/pkg/util/rand" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/job" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/job" ) const ( diff --git a/modules/api/pkg/resource/cronjob/jobs_test.go b/modules/api/pkg/resource/cronjob/jobs_test.go index 09e702207baf..3a19650260f2 100644 --- a/modules/api/pkg/resource/cronjob/jobs_test.go +++ b/modules/api/pkg/resource/cronjob/jobs_test.go @@ -24,7 +24,7 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/cronjob" ) func TestTriggerCronJobWithInvalidName(t *testing.T) { diff --git a/modules/api/pkg/resource/cronjob/list.go b/modules/api/pkg/resource/cronjob/list.go index 525bf5fa4909..479f0b1073fd 100644 --- a/modules/api/pkg/resource/cronjob/list.go +++ b/modules/api/pkg/resource/cronjob/list.go @@ -21,11 +21,11 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // CronJobList contains a list of CronJobs in the cluster. diff --git a/modules/api/pkg/resource/cronjob/list_test.go b/modules/api/pkg/resource/cronjob/list_test.go index 5935839a4f24..d3fc1ed08a79 100644 --- a/modules/api/pkg/resource/cronjob/list_test.go +++ b/modules/api/pkg/resource/cronjob/list_test.go @@ -21,11 +21,11 @@ import ( batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetCronJobListFromChannels(t *testing.T) { diff --git a/modules/api/pkg/resource/job/list.go b/modules/api/pkg/resource/job/list.go index c068047aec40..651add2808dd 100644 --- a/modules/api/pkg/resource/job/list.go +++ b/modules/api/pkg/resource/job/list.go @@ -21,12 +21,12 @@ import ( v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // JobList contains a list of Jobs in the cluster. diff --git a/modules/common/certificates/go.mod b/modules/common/certificates/go.mod index 1ab395ee773a..f97758615e93 100644 --- a/modules/common/certificates/go.mod +++ b/modules/common/certificates/go.mod @@ -8,21 +8,23 @@ require ( ) require ( - github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/go-cmp v0.5.7 // indirect - github.com/google/gofuzz v1.1.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/stretchr/testify v1.7.1 // indirect - golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect + golang.org/x/net v0.0.0-20220526153639-5463443f8c37 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect - sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect + sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/modules/common/certificates/go.sum b/modules/common/certificates/go.sum index 3a324541b424..d25de5d73271 100644 --- a/modules/common/certificates/go.sum +++ b/modules/common/certificates/go.sum @@ -23,8 +23,8 @@ github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSy github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= @@ -53,8 +53,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -132,8 +132,7 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -219,8 +218,8 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= @@ -236,10 +235,10 @@ k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdi k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= diff --git a/modules/common/tools/go.mod b/modules/common/tools/go.mod index 30e18c7713e6..f405b3238b64 100644 --- a/modules/common/tools/go.mod +++ b/modules/common/tools/go.mod @@ -18,8 +18,6 @@ require ( github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/OpenPeeDeeP/depguard v1.1.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect github.com/ashanbrown/forbidigo v1.3.0 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect @@ -37,7 +35,7 @@ require ( github.com/daixiang0/gci v0.3.3 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect - github.com/emicklei/go-restful v2.9.5+incompatible // indirect + github.com/emicklei/go-restful v2.15.0+incompatible // indirect github.com/esimonov/ifshort v1.0.4 // indirect github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/color v1.13.0 // indirect @@ -46,10 +44,10 @@ require ( github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/fzipp/gocyclo v0.5.1 // indirect github.com/go-critic/go-critic v0.6.3 // indirect - github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect + github.com/go-openapi/jsonreference v0.20.0 // indirect + github.com/go-openapi/swag v0.21.1 // indirect github.com/go-toolsmith/astcast v1.0.0 // indirect github.com/go-toolsmith/astcopy v1.0.0 // indirect github.com/go-toolsmith/astequal v1.0.1 // indirect @@ -70,9 +68,11 @@ require ( github.com/golangci/misspell v0.3.5 // indirect github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 // indirect github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect + github.com/google/gnostic v0.6.9 // indirect github.com/google/go-cmp v0.5.7 // indirect github.com/google/go-github/v33 v33.0.0 // indirect github.com/google/go-querystring v1.0.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.4.2 // indirect @@ -83,7 +83,7 @@ require ( github.com/hashicorp/go-version v1.4.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect - github.com/imdario/mergo v0.3.12 // indirect + github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/jgautheron/goconst v1.5.1 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect @@ -101,13 +101,13 @@ require ( github.com/leonklingele/grouper v1.1.0 // indirect github.com/lufeee/execinquery v1.0.0 // indirect github.com/magiconair/properties v1.8.6 // indirect - github.com/mailru/easyjson v0.7.6 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/maratori/testpackage v1.0.1 // indirect github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.2.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect @@ -126,9 +126,9 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b // indirect - github.com/prometheus/client_golang v1.12.1 // indirect + github.com/prometheus/client_golang v1.12.2 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/common v0.34.0 // indirect github.com/prometheus/procfs v0.7.3 // indirect github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a // indirect github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 // indirect @@ -167,13 +167,13 @@ require ( github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect gitlab.com/bosi/decorder v0.2.1 // indirect - golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect + golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect - golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect + golang.org/x/net v0.0.0-20220526153639-5463443f8c37 // indirect + golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect - golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect + golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a // indirect golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect @@ -181,14 +181,14 @@ require ( google.golang.org/protobuf v1.28.0 // indirect gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect honnef.co/go/tools v0.3.1 // indirect k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 // indirect k8s.io/klog/v2 v2.60.1 // indirect - k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect + k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 // indirect mvdan.cc/gofumpt v0.3.1 // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/modules/common/tools/go.sum b/modules/common/tools/go.sum index df86a3a35ce5..54b5880aea43 100644 --- a/modules/common/tools/go.sum +++ b/modules/common/tools/go.sum @@ -83,9 +83,7 @@ github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb0 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard v1.1.0 h1:pjK9nLPS1FwQYGGpPxoMYpe7qACHOhAWQMQzV71i49o= github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -191,8 +189,8 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.15.0+incompatible h1:8KpYO/Xl/ZudZs5RNOEhWMBY4hmzlZhhRd9cu+jrZP4= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -240,17 +238,17 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= @@ -346,6 +344,7 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -365,8 +364,8 @@ github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhA github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -487,8 +486,7 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= @@ -568,8 +566,8 @@ github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamh github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= @@ -597,8 +595,8 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= @@ -716,8 +714,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -729,8 +727,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -935,8 +933,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1036,8 +1034,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1057,8 +1055,8 @@ golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 h1:zwrSfklXn0gxyLRX/aR+q6cgHbV/ItVyzbPlbA+dkAw= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1164,8 +1162,8 @@ golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= 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-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1496,8 +1494,8 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1516,8 +1514,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 h1:nBQrWPlrNIiw0BsX6a6MKr1itkm0ZS0Nl97kNLitFfI= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= mvdan.cc/gofumpt v0.3.1 h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8= mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE= @@ -1533,5 +1531,5 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= diff --git a/modules/web/go.mod b/modules/web/go.mod index 03be8ddc64b8..4f2964ea25b2 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -10,21 +10,20 @@ require ( ) require ( - github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/google/go-cmp v0.5.7 // indirect - github.com/google/gofuzz v1.1.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect + golang.org/x/net v0.0.0-20220526153639-5463443f8c37 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - k8s.io/api v0.23.6 // indirect - k8s.io/apimachinery v0.23.6 // indirect + k8s.io/api v0.24.1 // indirect + k8s.io/apimachinery v0.24.1 // indirect k8s.io/klog/v2 v2.60.1 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect + sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect ) diff --git a/modules/web/go.sum b/modules/web/go.sum index 4370e2eb1a14..bc131580726b 100644 --- a/modules/web/go.sum +++ b/modules/web/go.sum @@ -22,8 +22,8 @@ github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSy github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= @@ -51,13 +51,10 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -132,9 +129,7 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -154,15 +149,11 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -219,28 +210,22 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.23.6 h1:yOK34wbYECH4RsJbQ9sfkFK3O7f/DUHRlzFehkqZyVw= -k8s.io/api v0.23.6/go.mod h1:1kFaYxGCFHYp3qd6a85DAj/yW8aVD6XLZMqJclkoi9g= -k8s.io/apimachinery v0.23.6 h1:RH1UweWJkWNTlFx0D8uxOpaU1tjIOvVVWV/bu5b3/NQ= -k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= +k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= +sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= From 5be92a29655fb443ee63b4cbd2a7b65758caa004 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Fri, 5 Aug 2022 14:32:42 +0200 Subject: [PATCH 110/162] go mod tidy and fix master merge issues --- modules/api/go.mod | 5 ++- modules/api/go.sum | 22 ++++++++--- modules/api/main.go | 28 +++++++------- modules/api/pkg/integration/metric/manager.go | 8 ++-- .../pkg/integration/metric/manager_test.go | 6 +-- modules/api/pkg/resource/cronjob/common.go | 8 ++-- .../api/pkg/resource/cronjob/detail_test.go | 6 +-- modules/api/pkg/resource/cronjob/events.go | 6 +-- .../api/pkg/resource/cronjob/events_test.go | 8 ++-- modules/api/pkg/resource/cronjob/jobs.go | 12 +++--- modules/api/pkg/resource/cronjob/jobs_test.go | 2 +- modules/api/pkg/resource/cronjob/list.go | 10 ++--- modules/api/pkg/resource/cronjob/list_test.go | 10 ++--- modules/api/pkg/resource/job/list.go | 12 +++--- modules/common/certificates/go.mod | 10 +++-- modules/common/certificates/go.sum | 13 +++---- modules/common/tools/go.mod | 36 +++++++++--------- modules/common/tools/go.sum | 38 +++++++++---------- modules/web/go.mod | 15 ++++---- modules/web/go.sum | 33 +++++----------- 20 files changed, 140 insertions(+), 148 deletions(-) diff --git a/modules/api/go.mod b/modules/api/go.mod index 5479ded6dd99..d0c9a4b956e7 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -18,7 +18,6 @@ require ( k8s.io/apimachinery v0.24.1 k8s.io/client-go v0.24.1 k8s.io/dashboard/certificates v0.0.0-00010101000000-000000000000 - k8s.io/heapster v1.5.4 ) require ( @@ -27,6 +26,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful v2.15.0+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect @@ -34,7 +34,6 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/gnostic v0.6.9 // indirect - github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/imdario/mergo v0.3.13 // indirect @@ -46,6 +45,8 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/onsi/ginkgo v1.16.4 // indirect + github.com/onsi/gomega v1.18.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.34.0 // indirect diff --git a/modules/api/go.sum b/modules/api/go.sum index ee4daf80260b..1fb5c2889de5 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -137,8 +137,9 @@ github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -171,6 +172,7 @@ github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/ github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -230,7 +232,6 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -249,8 +250,8 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -360,18 +361,23 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -599,6 +605,7 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -681,6 +688,7 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -699,6 +707,7 @@ golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -774,6 +783,7 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= diff --git a/modules/api/main.go b/modules/api/main.go index 2d6756d5aad1..f277e41e5b7e 100644 --- a/modules/api/main.go +++ b/modules/api/main.go @@ -28,21 +28,19 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/spf13/pflag" - "github.com/kubernetes/dashboard/src/app/backend/args" - "github.com/kubernetes/dashboard/src/app/backend/auth" - authApi "github.com/kubernetes/dashboard/src/app/backend/auth/api" - "github.com/kubernetes/dashboard/src/app/backend/auth/jwe" - "github.com/kubernetes/dashboard/src/app/backend/cert" - "github.com/kubernetes/dashboard/src/app/backend/cert/ecdsa" - "github.com/kubernetes/dashboard/src/app/backend/client" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - "github.com/kubernetes/dashboard/src/app/backend/handler" - "github.com/kubernetes/dashboard/src/app/backend/health" - "github.com/kubernetes/dashboard/src/app/backend/integration" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - "github.com/kubernetes/dashboard/src/app/backend/settings" - "github.com/kubernetes/dashboard/src/app/backend/sync" - "github.com/kubernetes/dashboard/src/app/backend/systembanner" + "k8s.io/dashboard/api/pkg/args" + "k8s.io/dashboard/api/pkg/auth" + authApi "k8s.io/dashboard/api/pkg/auth/api" + "k8s.io/dashboard/api/pkg/auth/jwe" + "k8s.io/dashboard/api/pkg/client" + clientapi "k8s.io/dashboard/api/pkg/client/api" + "k8s.io/dashboard/api/pkg/handler" + "k8s.io/dashboard/api/pkg/integration" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + "k8s.io/dashboard/api/pkg/settings" + "k8s.io/dashboard/api/pkg/sync" + "k8s.io/dashboard/certificates" + "k8s.io/dashboard/certificates/ecdsa" ) var ( diff --git a/modules/api/pkg/integration/metric/manager.go b/modules/api/pkg/integration/metric/manager.go index 591652f09f92..0d12be8a8efa 100644 --- a/modules/api/pkg/integration/metric/manager.go +++ b/modules/api/pkg/integration/metric/manager.go @@ -21,10 +21,10 @@ import ( "k8s.io/apimachinery/pkg/util/wait" - clientapi "github.com/kubernetes/dashboard/src/app/backend/client/api" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/sidecar" + clientapi "k8s.io/dashboard/api/pkg/client/api" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/integration/metric/sidecar" ) // MetricManager is responsible for management of all integrated applications related to metrics. diff --git a/modules/api/pkg/integration/metric/manager_test.go b/modules/api/pkg/integration/metric/manager_test.go index 292ad2306073..e3e01861b61b 100644 --- a/modules/api/pkg/integration/metric/manager_test.go +++ b/modules/api/pkg/integration/metric/manager_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "github.com/kubernetes/dashboard/src/app/backend/errors" - integrationapi "github.com/kubernetes/dashboard/src/app/backend/integration/api" - "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" + "k8s.io/dashboard/api/pkg/errors" + integrationapi "k8s.io/dashboard/api/pkg/integration/api" + "k8s.io/dashboard/api/pkg/integration/metric/api" ) const fakeMetricClientID integrationapi.IntegrationID = "test-id" diff --git a/modules/api/pkg/resource/cronjob/common.go b/modules/api/pkg/resource/cronjob/common.go index d0f55ef38133..c6efb4801803 100644 --- a/modules/api/pkg/resource/cronjob/common.go +++ b/modules/api/pkg/resource/cronjob/common.go @@ -17,10 +17,10 @@ package cronjob import ( batch "k8s.io/api/batch/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []batch.CronJob diff --git a/modules/api/pkg/resource/cronjob/detail_test.go b/modules/api/pkg/resource/cronjob/detail_test.go index 5918cc7c1bde..34e53f396048 100644 --- a/modules/api/pkg/resource/cronjob/detail_test.go +++ b/modules/api/pkg/resource/cronjob/detail_test.go @@ -22,9 +22,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetCronJobDetail(t *testing.T) { diff --git a/modules/api/pkg/resource/cronjob/events.go b/modules/api/pkg/resource/cronjob/events.go index f062c33c77f2..7863308ec398 100644 --- a/modules/api/pkg/resource/cronjob/events.go +++ b/modules/api/pkg/resource/cronjob/events.go @@ -17,9 +17,9 @@ package cronjob import ( client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // GetCronJobEvents gets events associated to cron job. diff --git a/modules/api/pkg/resource/cronjob/events_test.go b/modules/api/pkg/resource/cronjob/events_test.go index 394a30fa3a86..a4a7ab0d7118 100644 --- a/modules/api/pkg/resource/cronjob/events_test.go +++ b/modules/api/pkg/resource/cronjob/events_test.go @@ -22,10 +22,10 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetJobEvents(t *testing.T) { diff --git a/modules/api/pkg/resource/cronjob/jobs.go b/modules/api/pkg/resource/cronjob/jobs.go index 9731c66eddf5..44375e3288e8 100644 --- a/modules/api/pkg/resource/cronjob/jobs.go +++ b/modules/api/pkg/resource/cronjob/jobs.go @@ -23,12 +23,12 @@ import ( "k8s.io/apimachinery/pkg/util/rand" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/job" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/job" ) const ( diff --git a/modules/api/pkg/resource/cronjob/jobs_test.go b/modules/api/pkg/resource/cronjob/jobs_test.go index 09e702207baf..3a19650260f2 100644 --- a/modules/api/pkg/resource/cronjob/jobs_test.go +++ b/modules/api/pkg/resource/cronjob/jobs_test.go @@ -24,7 +24,7 @@ import ( metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/cronjob" ) func TestTriggerCronJobWithInvalidName(t *testing.T) { diff --git a/modules/api/pkg/resource/cronjob/list.go b/modules/api/pkg/resource/cronjob/list.go index 525bf5fa4909..479f0b1073fd 100644 --- a/modules/api/pkg/resource/cronjob/list.go +++ b/modules/api/pkg/resource/cronjob/list.go @@ -21,11 +21,11 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // CronJobList contains a list of CronJobs in the cluster. diff --git a/modules/api/pkg/resource/cronjob/list_test.go b/modules/api/pkg/resource/cronjob/list_test.go index 5935839a4f24..d3fc1ed08a79 100644 --- a/modules/api/pkg/resource/cronjob/list_test.go +++ b/modules/api/pkg/resource/cronjob/list_test.go @@ -21,11 +21,11 @@ import ( batch "k8s.io/api/batch/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "github.com/kubernetes/dashboard/src/app/backend/api" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/cronjob" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/cronjob" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetCronJobListFromChannels(t *testing.T) { diff --git a/modules/api/pkg/resource/job/list.go b/modules/api/pkg/resource/job/list.go index c068047aec40..651add2808dd 100644 --- a/modules/api/pkg/resource/job/list.go +++ b/modules/api/pkg/resource/job/list.go @@ -21,12 +21,12 @@ import ( v1 "k8s.io/api/core/v1" client "k8s.io/client-go/kubernetes" - "github.com/kubernetes/dashboard/src/app/backend/api" - "github.com/kubernetes/dashboard/src/app/backend/errors" - metricapi "github.com/kubernetes/dashboard/src/app/backend/integration/metric/api" - "github.com/kubernetes/dashboard/src/app/backend/resource/common" - "github.com/kubernetes/dashboard/src/app/backend/resource/dataselect" - "github.com/kubernetes/dashboard/src/app/backend/resource/event" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" ) // JobList contains a list of Jobs in the cluster. diff --git a/modules/common/certificates/go.mod b/modules/common/certificates/go.mod index 1ab395ee773a..f97758615e93 100644 --- a/modules/common/certificates/go.mod +++ b/modules/common/certificates/go.mod @@ -8,21 +8,23 @@ require ( ) require ( - github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/go-cmp v0.5.7 // indirect - github.com/google/gofuzz v1.1.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/stretchr/testify v1.7.1 // indirect - golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect + golang.org/x/net v0.0.0-20220526153639-5463443f8c37 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect - sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect + sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/modules/common/certificates/go.sum b/modules/common/certificates/go.sum index 3a324541b424..d25de5d73271 100644 --- a/modules/common/certificates/go.sum +++ b/modules/common/certificates/go.sum @@ -23,8 +23,8 @@ github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSy github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= @@ -53,8 +53,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -132,8 +132,7 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -219,8 +218,8 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= @@ -236,10 +235,10 @@ k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdi k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= diff --git a/modules/common/tools/go.mod b/modules/common/tools/go.mod index 30e18c7713e6..f405b3238b64 100644 --- a/modules/common/tools/go.mod +++ b/modules/common/tools/go.mod @@ -18,8 +18,6 @@ require ( github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/OpenPeeDeeP/depguard v1.1.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect github.com/ashanbrown/forbidigo v1.3.0 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect @@ -37,7 +35,7 @@ require ( github.com/daixiang0/gci v0.3.3 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect - github.com/emicklei/go-restful v2.9.5+incompatible // indirect + github.com/emicklei/go-restful v2.15.0+incompatible // indirect github.com/esimonov/ifshort v1.0.4 // indirect github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/color v1.13.0 // indirect @@ -46,10 +44,10 @@ require ( github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/fzipp/gocyclo v0.5.1 // indirect github.com/go-critic/go-critic v0.6.3 // indirect - github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect + github.com/go-openapi/jsonreference v0.20.0 // indirect + github.com/go-openapi/swag v0.21.1 // indirect github.com/go-toolsmith/astcast v1.0.0 // indirect github.com/go-toolsmith/astcopy v1.0.0 // indirect github.com/go-toolsmith/astequal v1.0.1 // indirect @@ -70,9 +68,11 @@ require ( github.com/golangci/misspell v0.3.5 // indirect github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 // indirect github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect + github.com/google/gnostic v0.6.9 // indirect github.com/google/go-cmp v0.5.7 // indirect github.com/google/go-github/v33 v33.0.0 // indirect github.com/google/go-querystring v1.0.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.4.2 // indirect @@ -83,7 +83,7 @@ require ( github.com/hashicorp/go-version v1.4.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect - github.com/imdario/mergo v0.3.12 // indirect + github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/jgautheron/goconst v1.5.1 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect @@ -101,13 +101,13 @@ require ( github.com/leonklingele/grouper v1.1.0 // indirect github.com/lufeee/execinquery v1.0.0 // indirect github.com/magiconair/properties v1.8.6 // indirect - github.com/mailru/easyjson v0.7.6 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/maratori/testpackage v1.0.1 // indirect github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.2.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect @@ -126,9 +126,9 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b // indirect - github.com/prometheus/client_golang v1.12.1 // indirect + github.com/prometheus/client_golang v1.12.2 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/common v0.34.0 // indirect github.com/prometheus/procfs v0.7.3 // indirect github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a // indirect github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 // indirect @@ -167,13 +167,13 @@ require ( github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect gitlab.com/bosi/decorder v0.2.1 // indirect - golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect + golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect - golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect + golang.org/x/net v0.0.0-20220526153639-5463443f8c37 // indirect + golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect - golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect + golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a // indirect golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect @@ -181,14 +181,14 @@ require ( google.golang.org/protobuf v1.28.0 // indirect gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect honnef.co/go/tools v0.3.1 // indirect k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 // indirect k8s.io/klog/v2 v2.60.1 // indirect - k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect + k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 // indirect mvdan.cc/gofumpt v0.3.1 // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/modules/common/tools/go.sum b/modules/common/tools/go.sum index df86a3a35ce5..54b5880aea43 100644 --- a/modules/common/tools/go.sum +++ b/modules/common/tools/go.sum @@ -83,9 +83,7 @@ github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb0 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard v1.1.0 h1:pjK9nLPS1FwQYGGpPxoMYpe7qACHOhAWQMQzV71i49o= github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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= @@ -191,8 +189,8 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.15.0+incompatible h1:8KpYO/Xl/ZudZs5RNOEhWMBY4hmzlZhhRd9cu+jrZP4= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -240,17 +238,17 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= @@ -346,6 +344,7 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -365,8 +364,8 @@ github.com/google/go-github/v33 v33.0.0/go.mod h1:GMdDnVZY/2TsWgp/lkYnpSAh6TrzhA github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -487,8 +486,7 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= @@ -568,8 +566,8 @@ github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamh github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= @@ -597,8 +595,8 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= @@ -716,8 +714,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -729,8 +727,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -935,8 +933,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1036,8 +1034,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1057,8 +1055,8 @@ golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 h1:zwrSfklXn0gxyLRX/aR+q6cgHbV/ItVyzbPlbA+dkAw= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1164,8 +1162,8 @@ golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= 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-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1496,8 +1494,8 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1516,8 +1514,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 h1:nBQrWPlrNIiw0BsX6a6MKr1itkm0ZS0Nl97kNLitFfI= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= mvdan.cc/gofumpt v0.3.1 h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8= mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE= @@ -1533,5 +1531,5 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= diff --git a/modules/web/go.mod b/modules/web/go.mod index 03be8ddc64b8..4f2964ea25b2 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -10,21 +10,20 @@ require ( ) require ( - github.com/go-logr/logr v1.2.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/google/go-cmp v0.5.7 // indirect - github.com/google/gofuzz v1.1.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect + golang.org/x/net v0.0.0-20220526153639-5463443f8c37 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - k8s.io/api v0.23.6 // indirect - k8s.io/apimachinery v0.23.6 // indirect + k8s.io/api v0.24.1 // indirect + k8s.io/apimachinery v0.24.1 // indirect k8s.io/klog/v2 v2.60.1 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect + sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect ) diff --git a/modules/web/go.sum b/modules/web/go.sum index 4370e2eb1a14..bc131580726b 100644 --- a/modules/web/go.sum +++ b/modules/web/go.sum @@ -22,8 +22,8 @@ github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSy github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= @@ -51,13 +51,10 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -132,9 +129,7 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -154,15 +149,11 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -219,28 +210,22 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.23.6 h1:yOK34wbYECH4RsJbQ9sfkFK3O7f/DUHRlzFehkqZyVw= -k8s.io/api v0.23.6/go.mod h1:1kFaYxGCFHYp3qd6a85DAj/yW8aVD6XLZMqJclkoi9g= -k8s.io/apimachinery v0.23.6 h1:RH1UweWJkWNTlFx0D8uxOpaU1tjIOvVVWV/bu5b3/NQ= -k8s.io/apimachinery v0.23.6/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= +k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= +sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= From 5769deb575614cf003a6072473bb8ab1dd0f8072 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Fri, 5 Aug 2022 15:34:02 +0200 Subject: [PATCH 111/162] Remove unused files --- src/app/backend/health/api/types.go | 19 -------------- src/app/backend/health/handler.go | 36 -------------------------- src/app/backend/health/manager.go | 40 ----------------------------- 3 files changed, 95 deletions(-) delete mode 100644 src/app/backend/health/api/types.go delete mode 100644 src/app/backend/health/handler.go delete mode 100644 src/app/backend/health/manager.go diff --git a/src/app/backend/health/api/types.go b/src/app/backend/health/api/types.go deleted file mode 100644 index b514aadb128a..000000000000 --- a/src/app/backend/health/api/types.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package api - -type Health struct { - Running bool `json:"running"` -} diff --git a/src/app/backend/health/handler.go b/src/app/backend/health/handler.go deleted file mode 100644 index 98852cb75fed..000000000000 --- a/src/app/backend/health/handler.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package health - -import ( - "encoding/json" - "net/http" -) - -// HealthHandler manages all endpoints related to system banner management. -type HealthHandler struct { - manager HealthManager -} - -// Install creates new endpoints for system banner management. -func (self *HealthHandler) Install(w http.ResponseWriter, _ *http.Request) (int, error) { - w.Header().Set("Content-Type", "application/json") - return http.StatusOK, json.NewEncoder(w).Encode(self.manager.Get()) -} - -// NewHealthHandler creates HealthHandler. -func NewHealthHandler(manager HealthManager) HealthHandler { - return HealthHandler{manager: manager} -} diff --git a/src/app/backend/health/manager.go b/src/app/backend/health/manager.go deleted file mode 100644 index e353ab90d7ce..000000000000 --- a/src/app/backend/health/manager.go +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2017 The Kubernetes Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package health - -import ( - client "github.com/kubernetes/dashboard/src/app/backend/client/api" - health "github.com/kubernetes/dashboard/src/app/backend/health/api" -) - -// HealthManager is a structure containing all system banner manager members. -type HealthManager struct { - client client.ClientManager -} - -// NewHealthManager creates new settings manager. -func NewHealthManager(client client.ClientManager) HealthManager { - return HealthManager{ - client: client, - } -} - -// Get implements HealthManager interface. Check it for more information. -func (sbm *HealthManager) Get() health.Health { - _, err := sbm.client.InsecureClient().Discovery().ServerVersion() - return health.Health{ - Running: err == nil, - } -} From 3c8e287e5e8b2b30d83f74198826b2bdb3f387ce Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Fri, 12 Aug 2022 16:41:32 +0200 Subject: [PATCH 112/162] Fix build/serve pipeline --- Makefile | 4 + hack/docker/docker.compose.yaml | 6 +- modules/api/.air.toml | 4 +- modules/api/Makefile | 9 + modules/api/go.mod | 2 +- modules/api/hack/include/config.mk | 2 +- modules/common/certificates/go.mod | 2 +- modules/common/tools/Makefile | 2 +- modules/common/tools/go.mod | 2 +- modules/go.work | 2 +- modules/web/.gitignore | 17 +- modules/web/.yarn/releases/yarn-3.2.2.cjs | 783 + modules/web/.yarnrc.yml | 2 + modules/web/Makefile | 33 +- modules/web/go.mod | 2 +- modules/web/go.sum | 16 + modules/web/package-lock.json | 42318 -------------------- modules/web/package.json | 7 +- modules/web/yarn.lock | 16257 ++++++++ 19 files changed, 17121 insertions(+), 42349 deletions(-) create mode 100755 modules/web/.yarn/releases/yarn-3.2.2.cjs create mode 100644 modules/web/.yarnrc.yml delete mode 100644 modules/web/package-lock.json create mode 100644 modules/web/yarn.lock diff --git a/Makefile b/Makefile index 09b7e2fae249..1814c4f2ce72 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,8 @@ include $(WEB_DIRECTORY)/hack/include/config.mk #COVERAGE_DIRECTORY = $(ROOT_DIRECTORY)/coverage #MAIN_PACKAGE = github.com/kubernetes/dashboard/src/app/backend +MAKEFLAGS += -j2 + # List of targets that should be executed before other targets PRE = --ensure-tools @@ -42,6 +44,7 @@ serve: $(PRE) # URL: https://localhost:8080 # # Note: Make sure that the port 8080 is free on your localhost +# Note #2: Does not work with "kind". .PHONY: serve-https serve-https: $(PRE) @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) TARGET=serve-https @@ -51,6 +54,7 @@ serve-https: $(PRE) # URL: https://localhost:4443 # # Note: Make sure that the port 4443 is free on your localhost +# Note #2: Does not work with "kind". .PHONY: run run: $(PRE) --ensure-compose-down --compose @KUBECONFIG=$(KUBECONFIG) \ diff --git a/hack/docker/docker.compose.yaml b/hack/docker/docker.compose.yaml index be69ba11e459..c03e53bdf717 100644 --- a/hack/docker/docker.compose.yaml +++ b/hack/docker/docker.compose.yaml @@ -26,8 +26,6 @@ services: --auto-generate-certificates --system-banner="${SYSTEM_BANNER:?}" --system-banner-severity=${SYSTEM_BANNER_SEVERITY:?} - volumes: - - ${KUBECONFIG:?}:${KUBECONFIG:?} tmpfs: - /tmp ports: @@ -50,7 +48,7 @@ services: tmpfs: - /tmp ports: - - "9000:9000" + - "9001:9001" metrics-scraper: image: kubernetesui/metrics-scraper:v1.0.8 command: @@ -62,7 +60,7 @@ services: tmpfs: - /tmp ports: - - "8000:8000" + - "7001:7001" # metrics-server: # image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1 # command: diff --git a/modules/api/.air.toml b/modules/api/.air.toml index 3f79326c97e5..d4942ed0eb53 100644 --- a/modules/api/.air.toml +++ b/modules/api/.air.toml @@ -13,7 +13,7 @@ # limitations under the License. # root = "." -tmp_dir = "../../.dist/api" +tmp_dir = "../../.dist/" [build] cmd = "make build" @@ -23,7 +23,7 @@ tmp_dir = "../../.dist/api" exclude_regex = [] exclude_unchanged = false follow_symlink = false - full_bin = "make run" + full_bin = "make run-air" include_ext = ["go"] kill_delay = "1s" log = "build-errors.log" diff --git a/modules/api/Makefile b/modules/api/Makefile index e4c4397ee447..a6b96a958268 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -36,6 +36,15 @@ run: build --enable-insecure-login=$(ENABLE_INSECURE_LOGIN) \ --enable-skip-login=$(ENABLE_SKIP_LOGIN) +.PHONY: run-air +run-air: + @$(API_DIST_BINARY) --kubeconfig=$(KUBECONFIG) \ + --sidecar-host=$(SIDECAR_HOST) \ + --token-ttl=$(TOKEN_TTL) \ + --auto-generate-certificates=$(AUTO_GENERATE_CERTIFICATES) \ + --enable-insecure-login=$(ENABLE_INSECURE_LOGIN) \ + --enable-skip-login=$(ENABLE_SKIP_LOGIN) + .PHONY: serve serve: $(PRE) @air diff --git a/modules/api/go.mod b/modules/api/go.mod index d0c9a4b956e7..cef453433744 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -1,6 +1,6 @@ module k8s.io/dashboard/api -go 1.18 +go 1.19 require ( github.com/docker/distribution v2.8.1+incompatible diff --git a/modules/api/hack/include/config.mk b/modules/api/hack/include/config.mk index 4a2d2fafa96c..9f474cf15ee0 100644 --- a/modules/api/hack/include/config.mk +++ b/modules/api/hack/include/config.mk @@ -9,7 +9,7 @@ IMAGE_NAMES_LATEST += $(foreach arch, $(ARCHITECTURES), $(IMAGE_REPOSITORY)/$(AP ### Dirs and paths API_DIST_DIRECTORY = $(DIST_DIRECTORY)/api -API_DIST_BINARY = $(SERVE_DIRECTORY)/$(ARCH)/$(APP_NAME) +API_DIST_BINARY = $(API_DIST_DIRECTORY)/$(ARCH)/$(APP_NAME) COVERAGE_FILE = $(API_DIRECTORY)/coverage.out ### Codegen configuration diff --git a/modules/common/certificates/go.mod b/modules/common/certificates/go.mod index f97758615e93..992e4371223f 100644 --- a/modules/common/certificates/go.mod +++ b/modules/common/certificates/go.mod @@ -1,6 +1,6 @@ module k8s.io/dashboard/certificates -go 1.18 +go 1.19 require ( k8s.io/api v0.24.1 diff --git a/modules/common/tools/Makefile b/modules/common/tools/Makefile index c6a5e35508aa..9c05d4c4d5fd 100644 --- a/modules/common/tools/Makefile +++ b/modules/common/tools/Makefile @@ -7,7 +7,7 @@ GO_BINARY := $(shell which go) GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) MIN_GO_MAJOR_VERSION = 1 -MIN_GO_MINOR_VERSION = 18 +MIN_GO_MINOR_VERSION = 19 .PHONY: install install: ensure-go install-license-eye install-air install-golangci-lint install-client-gen diff --git a/modules/common/tools/go.mod b/modules/common/tools/go.mod index f405b3238b64..115712661492 100644 --- a/modules/common/tools/go.mod +++ b/modules/common/tools/go.mod @@ -1,6 +1,6 @@ module k8s.io/dashboard/tools -go 1.18 +go 1.19 require ( github.com/apache/skywalking-eyes v0.2.0 diff --git a/modules/go.work b/modules/go.work index d13827b93b27..bc91f73482f3 100644 --- a/modules/go.work +++ b/modules/go.work @@ -1,4 +1,4 @@ -go 1.18 +go 1.19 use ( ./api // k8s.io/dashboard/api diff --git a/modules/web/.gitignore b/modules/web/.gitignore index 75e14e8f59f2..97d425bb7371 100644 --- a/modules/web/.gitignore +++ b/modules/web/.gitignore @@ -12,9 +12,22 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Angular .angular/ -.sass-cache/ + +# Coverage coverage/ + +# Dependencies node_modules/ + +# Generated version file src/environments/version.ts -npm-debug.log + +# Yarn +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/modules/web/.yarn/releases/yarn-3.2.2.cjs b/modules/web/.yarn/releases/yarn-3.2.2.cjs new file mode 100755 index 000000000000..0912bea85eae --- /dev/null +++ b/modules/web/.yarn/releases/yarn-3.2.2.cjs @@ -0,0 +1,783 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var nge=Object.create,Mh=Object.defineProperty,sge=Object.defineProperties,oge=Object.getOwnPropertyDescriptor,age=Object.getOwnPropertyDescriptors,Age=Object.getOwnPropertyNames,DE=Object.getOwnPropertySymbols,lge=Object.getPrototypeOf,eQ=Object.prototype.hasOwnProperty,OO=Object.prototype.propertyIsEnumerable;var MO=(r,e,t)=>e in r?Mh(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,N=(r,e)=>{for(var t in e||(e={}))eQ.call(e,t)&&MO(r,t,e[t]);if(DE)for(var t of DE(e))OO.call(e,t)&&MO(r,t,e[t]);return r},te=(r,e)=>sge(r,age(e)),cge=r=>Mh(r,"__esModule",{value:!0});var Or=(r,e)=>{var t={};for(var i in r)eQ.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&DE)for(var i of DE(r))e.indexOf(i)<0&&OO.call(r,i)&&(t[i]=r[i]);return t},uge=(r,e)=>()=>(r&&(e=r(r=0)),e),w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ft=(r,e)=>{for(var t in e)Mh(r,t,{get:e[t],enumerable:!0})},gge=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Age(e))!eQ.call(r,i)&&i!=="default"&&Mh(r,i,{get:()=>e[i],enumerable:!(t=oge(e,i))||t.enumerable});return r},ge=r=>gge(cge(Mh(r!=null?nge(lge(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var cM=w((i7e,oM)=>{oM.exports=aM;aM.sync=xge;var AM=require("fs");function kge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{uM.exports=gM;gM.sync=Pge;var fM=require("fs");function gM(r,e,t){fM.stat(r,function(i,n){t(i,i?!1:hM(n,e))})}function Pge(r,e){return hM(fM.statSync(r),e)}function hM(r,e){return r.isFile()&&Dge(r,e)}function Dge(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var CM=w((o7e,dM)=>{var s7e=require("fs"),zE;process.platform==="win32"||global.TESTING_WINDOWS?zE=cM():zE=pM();dM.exports=CQ;CQ.sync=Rge;function CQ(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){CQ(r,e||{},function(s,o){s?n(s):i(o)})})}zE(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function Rge(r,e){try{return zE.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var bM=w((a7e,mM)=>{var Xu=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",EM=require("path"),Fge=Xu?";":":",IM=CM(),yM=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),wM=(r,e)=>{let t=e.colon||Fge,i=r.match(/\//)||Xu&&r.match(/\\/)?[""]:[...Xu?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Xu?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Xu?n.split(t):[""];return Xu&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},BM=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=wM(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(yM(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=EM.join(h,r),m=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];IM(c+p,{pathExt:s},(m,y)=>{if(!m&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Nge=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=wM(r,e),s=[];for(let o=0;o{"use strict";var QM=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};mQ.exports=QM;mQ.exports.default=QM});var PM=w((l7e,vM)=>{"use strict";var xM=require("path"),Lge=bM(),Tge=SM();function kM(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch(a){}let o;try{o=Lge.sync(r.command,{path:t[Tge({env:t})],pathExt:e?xM.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=xM.resolve(n?r.options.cwd:"",o)),o}function Oge(r){return kM(r)||kM(r,!0)}vM.exports=Oge});var DM=w((c7e,EQ)=>{"use strict";var IQ=/([()\][%!^"`<>&|;, *?])/g;function Mge(r){return r=r.replace(IQ,"^$1"),r}function Kge(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(IQ,"^$1"),e&&(r=r.replace(IQ,"^$1")),r}EQ.exports.command=Mge;EQ.exports.argument=Kge});var FM=w((u7e,RM)=>{"use strict";RM.exports=/^#!(.*)/});var LM=w((g7e,NM)=>{"use strict";var Uge=FM();NM.exports=(r="")=>{let e=r.match(Uge);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var OM=w((f7e,TM)=>{"use strict";var yQ=require("fs"),Hge=LM();function jge(r){let e=150,t=Buffer.alloc(e),i;try{i=yQ.openSync(r,"r"),yQ.readSync(i,t,0,e,0),yQ.closeSync(i)}catch(n){}return Hge(t.toString())}TM.exports=jge});var HM=w((h7e,MM)=>{"use strict";var Gge=require("path"),KM=PM(),UM=DM(),Yge=OM(),qge=process.platform==="win32",Jge=/\.(?:com|exe)$/i,Wge=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function zge(r){r.file=KM(r);let e=r.file&&Yge(r.file);return e?(r.args.unshift(r.file),r.command=e,KM(r)):r.file}function _ge(r){if(!qge)return r;let e=zge(r),t=!Jge.test(e);if(r.options.forceShell||t){let i=Wge.test(e);r.command=Gge.normalize(r.command),r.command=UM.command(r.command),r.args=r.args.map(s=>UM.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function Vge(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:_ge(i)}MM.exports=Vge});var YM=w((p7e,jM)=>{"use strict";var wQ=process.platform==="win32";function BQ(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Xge(r,e){if(!wQ)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=GM(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function GM(r,e){return wQ&&r===1&&!e.file?BQ(e.original,"spawn"):null}function Zge(r,e){return wQ&&r===1&&!e.file?BQ(e.original,"spawnSync"):null}jM.exports={hookChildProcess:Xge,verifyENOENT:GM,verifyENOENTSync:Zge,notFoundError:BQ}});var SQ=w((d7e,Zu)=>{"use strict";var qM=require("child_process"),bQ=HM(),QQ=YM();function JM(r,e,t){let i=bQ(r,e,t),n=qM.spawn(i.command,i.args,i.options);return QQ.hookChildProcess(n,i),n}function $ge(r,e,t){let i=bQ(r,e,t),n=qM.spawnSync(i.command,i.args,i.options);return n.error=n.error||QQ.verifyENOENTSync(n.status,i),n}Zu.exports=JM;Zu.exports.spawn=JM;Zu.exports.sync=$ge;Zu.exports._parse=bQ;Zu.exports._enoent=QQ});var zM=w((C7e,WM)=>{"use strict";function efe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function cc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,cc)}efe(cc,Error);cc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",le=me(">>",!1),fe=">&",gt=me(">&",!1),Ht=">",Mt=me(">",!1),Ei="<<<",jt=me("<<<",!1),Qr="<&",Oi=me("<&",!1),Xs="<",Un=me("<",!1),Hn=function(C){return{type:"argument",segments:[].concat(...C)}},Sr=function(C){return C},jn="$'",fs=me("$'",!1),ba="'",DA=me("'",!1),Nu=function(C){return[{type:"text",text:C}]},hs='""',RA=me('""',!1),Qa=function(){return{type:"text",text:""}},Lu='"',FA=me('"',!1),NA=function(C){return C},vr=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},zl=function(C){return{type:"shell",shell:C,quoted:!0}},Tu=function(C){return te(N({type:"variable"},C),{quoted:!0})},xo=function(C){return{type:"text",text:C}},Ou=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},Sh=function(C){return{type:"shell",shell:C,quoted:!1}},vh=function(C){return te(N({type:"variable"},C),{quoted:!1})},Dr=function(C){return{type:"glob",pattern:C}},Ae=/^[^']/,ko=_e(["'"],!0,!1),Gn=function(C){return C.join("")},Mu=/^[^$"]/,St=_e(["$",'"'],!0,!1),_l=`\\ +`,Yn=me(`\\ +`,!1),ps=function(){return""},ds="\\",pt=me("\\",!1),Po=/^[\\$"`]/,lt=_e(["\\","$",'"',"`"],!1,!1),mn=function(C){return C},S="\\a",Tt=me("\\a",!1),Ku=function(){return"a"},Vl="\\b",xh=me("\\b",!1),kh=function(){return"\b"},Ph=/^[Ee]/,Dh=_e(["E","e"],!1,!1),Rh=function(){return""},j="\\f",wt=me("\\f",!1),LA=function(){return"\f"},$i="\\n",Xl=me("\\n",!1),$e=function(){return` +`},Sa="\\r",Uu=me("\\r",!1),yE=function(){return"\r"},Fh="\\t",wE=me("\\t",!1),gr=function(){return" "},qn="\\v",Zl=me("\\v",!1),Nh=function(){return"\v"},Zs=/^[\\'"?]/,va=_e(["\\","'",'"',"?"],!1,!1),En=function(C){return String.fromCharCode(parseInt(C,16))},Oe="\\x",Hu=me("\\x",!1),$l="\\u",$s=me("\\u",!1),ec="\\U",TA=me("\\U",!1),ju=function(C){return String.fromCodePoint(parseInt(C,16))},Gu=/^[0-7]/,xa=_e([["0","7"]],!1,!1),ka=/^[0-9a-fA-f]/,nt=_e([["0","9"],["a","f"],["A","f"]],!1,!1),Do=ot(),OA="-",tc=me("-",!1),eo="+",rc=me("+",!1),BE=".",Lh=me(".",!1),Yu=function(C,Q,F){return{type:"number",value:(C==="-"?-1:1)*parseFloat(Q.join("")+"."+F.join(""))}},Th=function(C,Q){return{type:"number",value:(C==="-"?-1:1)*parseInt(Q.join(""))}},bE=function(C){return N({type:"variable"},C)},ic=function(C){return{type:"variable",name:C}},QE=function(C){return C},qu="*",MA=me("*",!1),Tr="/",SE=me("/",!1),to=function(C,Q,F){return{type:Q==="*"?"multiplication":"division",right:F}},ro=function(C,Q){return Q.reduce((F,U)=>N({left:F},U),C)},Ju=function(C,Q,F){return{type:Q==="+"?"addition":"subtraction",right:F}},KA="$((",R=me("$((",!1),G="))",Ce=me("))",!1),He=function(C){return C},Te="$(",Xe=me("$(",!1),Et=function(C){return C},Rt="${",Jn=me("${",!1),Ob=":-",lO=me(":-",!1),cO=function(C,Q){return{name:C,defaultValue:Q}},Mb=":-}",uO=me(":-}",!1),gO=function(C){return{name:C,defaultValue:[]}},Kb=":+",fO=me(":+",!1),hO=function(C,Q){return{name:C,alternativeValue:Q}},Ub=":+}",pO=me(":+}",!1),dO=function(C){return{name:C,alternativeValue:[]}},Hb=function(C){return{name:C}},CO="$",mO=me("$",!1),EO=function(C){return e.isGlobPattern(C)},IO=function(C){return C},jb=/^[a-zA-Z0-9_]/,Gb=_e([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Yb=function(){return M()},qb=/^[$@*?#a-zA-Z0-9_\-]/,Jb=_e(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),yO=/^[(){}<>$|&; \t"']/,Wu=_e(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Wb=/^[<>&; \t"']/,zb=_e(["<",">","&",";"," "," ",'"',"'"],!1,!1),vE=/^[ \t]/,xE=_e([" "," "],!1,!1),B=0,Ue=0,UA=[{line:1,column:1}],d=0,E=[],I=0,D;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function M(){return r.substring(Ue,B)}function z(){return yt(Ue,B)}function ie(C,Q){throw Q=Q!==void 0?Q:yt(Ue,B),Mi([ut(C)],r.substring(Ue,B),Q)}function we(C,Q){throw Q=Q!==void 0?Q:yt(Ue,B),Wn(C,Q)}function me(C,Q){return{type:"literal",text:C,ignoreCase:Q}}function _e(C,Q,F){return{type:"class",parts:C,inverted:Q,ignoreCase:F}}function ot(){return{type:"any"}}function Bt(){return{type:"end"}}function ut(C){return{type:"other",description:C}}function st(C){var Q=UA[C],F;if(Q)return Q;for(F=C-1;!UA[F];)F--;for(Q=UA[F],Q={line:Q.line,column:Q.column};Fd&&(d=B,E=[]),E.push(C))}function Wn(C,Q){return new cc(C,null,null,Q)}function Mi(C,Q,F){return new cc(cc.buildMessage(C,Q),C,Q,F)}function HA(){var C,Q;return C=B,Q=Yr(),Q===t&&(Q=null),Q!==t&&(Ue=C,Q=s(Q)),C=Q,C}function Yr(){var C,Q,F,U,ue;if(C=B,Q=qr(),Q!==t){for(F=[],U=Ye();U!==t;)F.push(U),U=Ye();F!==t?(U=Pa(),U!==t?(ue=Cs(),ue===t&&(ue=null),ue!==t?(Ue=C,Q=o(Q,U,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;if(C===t)if(C=B,Q=qr(),Q!==t){for(F=[],U=Ye();U!==t;)F.push(U),U=Ye();F!==t?(U=Pa(),U===t&&(U=null),U!==t?(Ue=C,Q=a(Q,U),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;return C}function Cs(){var C,Q,F,U,ue;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t)if(F=Yr(),F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();U!==t?(Ue=C,Q=l(F),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t;return C}function Pa(){var C;return r.charCodeAt(B)===59?(C=c,B++):(C=t,I===0&&xe(u)),C===t&&(r.charCodeAt(B)===38?(C=g,B++):(C=t,I===0&&xe(f))),C}function qr(){var C,Q,F;return C=B,Q=wO(),Q!==t?(F=Hue(),F===t&&(F=null),F!==t?(Ue=C,Q=h(Q,F),C=Q):(B=C,C=t)):(B=C,C=t),C}function Hue(){var C,Q,F,U,ue,De,Ct;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t)if(F=jue(),F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();if(U!==t)if(ue=qr(),ue!==t){for(De=[],Ct=Ye();Ct!==t;)De.push(Ct),Ct=Ye();De!==t?(Ue=C,Q=p(F,ue),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;return C}function jue(){var C;return r.substr(B,2)===m?(C=m,B+=2):(C=t,I===0&&xe(y)),C===t&&(r.substr(B,2)===b?(C=b,B+=2):(C=t,I===0&&xe(v))),C}function wO(){var C,Q,F;return C=B,Q=que(),Q!==t?(F=Gue(),F===t&&(F=null),F!==t?(Ue=C,Q=x(Q,F),C=Q):(B=C,C=t)):(B=C,C=t),C}function Gue(){var C,Q,F,U,ue,De,Ct;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t)if(F=Yue(),F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();if(U!==t)if(ue=wO(),ue!==t){for(De=[],Ct=Ye();Ct!==t;)De.push(Ct),Ct=Ye();De!==t?(Ue=C,Q=T(F,ue),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;return C}function Yue(){var C;return r.substr(B,2)===q?(C=q,B+=2):(C=t,I===0&&xe(Y)),C===t&&(r.charCodeAt(B)===124?(C=$,B++):(C=t,I===0&&xe(_))),C}function kE(){var C,Q,F,U,ue,De;if(C=B,Q=NO(),Q!==t)if(r.charCodeAt(B)===61?(F=ne,B++):(F=t,I===0&&xe(ee)),F!==t)if(U=QO(),U!==t){for(ue=[],De=Ye();De!==t;)ue.push(De),De=Ye();ue!==t?(Ue=C,Q=A(Q,U),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t;else B=C,C=t;if(C===t)if(C=B,Q=NO(),Q!==t)if(r.charCodeAt(B)===61?(F=ne,B++):(F=t,I===0&&xe(ee)),F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();U!==t?(Ue=C,Q=oe(Q),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t;return C}function que(){var C,Q,F,U,ue,De,Ct,bt,$r,Ii,ms;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t)if(r.charCodeAt(B)===40?(F=ce,B++):(F=t,I===0&&xe(Z)),F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();if(U!==t)if(ue=Yr(),ue!==t){for(De=[],Ct=Ye();Ct!==t;)De.push(Ct),Ct=Ye();if(De!==t)if(r.charCodeAt(B)===41?(Ct=O,B++):(Ct=t,I===0&&xe(L)),Ct!==t){for(bt=[],$r=Ye();$r!==t;)bt.push($r),$r=Ye();if(bt!==t){for($r=[],Ii=Oh();Ii!==t;)$r.push(Ii),Ii=Oh();if($r!==t){for(Ii=[],ms=Ye();ms!==t;)Ii.push(ms),ms=Ye();Ii!==t?(Ue=C,Q=de(ue,$r),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;if(C===t){for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t)if(r.charCodeAt(B)===123?(F=Be,B++):(F=t,I===0&&xe(je)),F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();if(U!==t)if(ue=Yr(),ue!==t){for(De=[],Ct=Ye();Ct!==t;)De.push(Ct),Ct=Ye();if(De!==t)if(r.charCodeAt(B)===125?(Ct=re,B++):(Ct=t,I===0&&xe(se)),Ct!==t){for(bt=[],$r=Ye();$r!==t;)bt.push($r),$r=Ye();if(bt!==t){for($r=[],Ii=Oh();Ii!==t;)$r.push(Ii),Ii=Oh();if($r!==t){for(Ii=[],ms=Ye();ms!==t;)Ii.push(ms),ms=Ye();Ii!==t?(Ue=C,Q=be(ue,$r),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;if(C===t){for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t){for(F=[],U=kE();U!==t;)F.push(U),U=kE();if(F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();if(U!==t){if(ue=[],De=bO(),De!==t)for(;De!==t;)ue.push(De),De=bO();else ue=t;if(ue!==t){for(De=[],Ct=Ye();Ct!==t;)De.push(Ct),Ct=Ye();De!==t?(Ue=C,Q=he(F,ue),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}else B=C,C=t}else B=C,C=t;if(C===t){for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t){if(F=[],U=kE(),U!==t)for(;U!==t;)F.push(U),U=kE();else F=t;if(F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();U!==t?(Ue=C,Q=Fe(F),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}}}return C}function BO(){var C,Q,F,U,ue;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t){if(F=[],U=PE(),U!==t)for(;U!==t;)F.push(U),U=PE();else F=t;if(F!==t){for(U=[],ue=Ye();ue!==t;)U.push(ue),ue=Ye();U!==t?(Ue=C,Q=Ke(F),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t;return C}function bO(){var C,Q,F;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();if(Q!==t?(F=Oh(),F!==t?(Ue=C,Q=ke(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t){for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();Q!==t?(F=PE(),F!==t?(Ue=C,Q=ke(F),C=Q):(B=C,C=t)):(B=C,C=t)}return C}function Oh(){var C,Q,F,U,ue;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();return Q!==t?(ve.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(pe)),F===t&&(F=null),F!==t?(U=Jue(),U!==t?(ue=PE(),ue!==t?(Ue=C,Q=V(F,U,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function Jue(){var C;return r.substr(B,2)===Qe?(C=Qe,B+=2):(C=t,I===0&&xe(le)),C===t&&(r.substr(B,2)===fe?(C=fe,B+=2):(C=t,I===0&&xe(gt)),C===t&&(r.charCodeAt(B)===62?(C=Ht,B++):(C=t,I===0&&xe(Mt)),C===t&&(r.substr(B,3)===Ei?(C=Ei,B+=3):(C=t,I===0&&xe(jt)),C===t&&(r.substr(B,2)===Qr?(C=Qr,B+=2):(C=t,I===0&&xe(Oi)),C===t&&(r.charCodeAt(B)===60?(C=Xs,B++):(C=t,I===0&&xe(Un))))))),C}function PE(){var C,Q,F;for(C=B,Q=[],F=Ye();F!==t;)Q.push(F),F=Ye();return Q!==t?(F=QO(),F!==t?(Ue=C,Q=ke(F),C=Q):(B=C,C=t)):(B=C,C=t),C}function QO(){var C,Q,F;if(C=B,Q=[],F=SO(),F!==t)for(;F!==t;)Q.push(F),F=SO();else Q=t;return Q!==t&&(Ue=C,Q=Hn(Q)),C=Q,C}function SO(){var C,Q;return C=B,Q=Wue(),Q!==t&&(Ue=C,Q=Sr(Q)),C=Q,C===t&&(C=B,Q=zue(),Q!==t&&(Ue=C,Q=Sr(Q)),C=Q,C===t&&(C=B,Q=_ue(),Q!==t&&(Ue=C,Q=Sr(Q)),C=Q,C===t&&(C=B,Q=Vue(),Q!==t&&(Ue=C,Q=Sr(Q)),C=Q))),C}function Wue(){var C,Q,F,U;return C=B,r.substr(B,2)===jn?(Q=jn,B+=2):(Q=t,I===0&&xe(fs)),Q!==t?(F=$ue(),F!==t?(r.charCodeAt(B)===39?(U=ba,B++):(U=t,I===0&&xe(DA)),U!==t?(Ue=C,Q=Nu(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function zue(){var C,Q,F,U;return C=B,r.charCodeAt(B)===39?(Q=ba,B++):(Q=t,I===0&&xe(DA)),Q!==t?(F=Xue(),F!==t?(r.charCodeAt(B)===39?(U=ba,B++):(U=t,I===0&&xe(DA)),U!==t?(Ue=C,Q=Nu(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function _ue(){var C,Q,F,U;if(C=B,r.substr(B,2)===hs?(Q=hs,B+=2):(Q=t,I===0&&xe(RA)),Q!==t&&(Ue=C,Q=Qa()),C=Q,C===t)if(C=B,r.charCodeAt(B)===34?(Q=Lu,B++):(Q=t,I===0&&xe(FA)),Q!==t){for(F=[],U=vO();U!==t;)F.push(U),U=vO();F!==t?(r.charCodeAt(B)===34?(U=Lu,B++):(U=t,I===0&&xe(FA)),U!==t?(Ue=C,Q=NA(F),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;return C}function Vue(){var C,Q,F;if(C=B,Q=[],F=xO(),F!==t)for(;F!==t;)Q.push(F),F=xO();else Q=t;return Q!==t&&(Ue=C,Q=NA(Q)),C=Q,C}function vO(){var C,Q;return C=B,Q=RO(),Q!==t&&(Ue=C,Q=vr(Q)),C=Q,C===t&&(C=B,Q=FO(),Q!==t&&(Ue=C,Q=zl(Q)),C=Q,C===t&&(C=B,Q=Zb(),Q!==t&&(Ue=C,Q=Tu(Q)),C=Q,C===t&&(C=B,Q=Zue(),Q!==t&&(Ue=C,Q=xo(Q)),C=Q))),C}function xO(){var C,Q;return C=B,Q=RO(),Q!==t&&(Ue=C,Q=Ou(Q)),C=Q,C===t&&(C=B,Q=FO(),Q!==t&&(Ue=C,Q=Sh(Q)),C=Q,C===t&&(C=B,Q=Zb(),Q!==t&&(Ue=C,Q=vh(Q)),C=Q,C===t&&(C=B,Q=rge(),Q!==t&&(Ue=C,Q=Dr(Q)),C=Q,C===t&&(C=B,Q=tge(),Q!==t&&(Ue=C,Q=xo(Q)),C=Q)))),C}function Xue(){var C,Q,F;for(C=B,Q=[],Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(ko));F!==t;)Q.push(F),Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(ko));return Q!==t&&(Ue=C,Q=Gn(Q)),C=Q,C}function Zue(){var C,Q,F;if(C=B,Q=[],F=kO(),F===t&&(Mu.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(St))),F!==t)for(;F!==t;)Q.push(F),F=kO(),F===t&&(Mu.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(St)));else Q=t;return Q!==t&&(Ue=C,Q=Gn(Q)),C=Q,C}function kO(){var C,Q,F;return C=B,r.substr(B,2)===_l?(Q=_l,B+=2):(Q=t,I===0&&xe(Yn)),Q!==t&&(Ue=C,Q=ps()),C=Q,C===t&&(C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&xe(pt)),Q!==t?(Po.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(lt)),F!==t?(Ue=C,Q=mn(F),C=Q):(B=C,C=t)):(B=C,C=t)),C}function $ue(){var C,Q,F;for(C=B,Q=[],F=PO(),F===t&&(Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(ko)));F!==t;)Q.push(F),F=PO(),F===t&&(Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(ko)));return Q!==t&&(Ue=C,Q=Gn(Q)),C=Q,C}function PO(){var C,Q,F;return C=B,r.substr(B,2)===S?(Q=S,B+=2):(Q=t,I===0&&xe(Tt)),Q!==t&&(Ue=C,Q=Ku()),C=Q,C===t&&(C=B,r.substr(B,2)===Vl?(Q=Vl,B+=2):(Q=t,I===0&&xe(xh)),Q!==t&&(Ue=C,Q=kh()),C=Q,C===t&&(C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&xe(pt)),Q!==t?(Ph.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(Dh)),F!==t?(Ue=C,Q=Rh(),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===j?(Q=j,B+=2):(Q=t,I===0&&xe(wt)),Q!==t&&(Ue=C,Q=LA()),C=Q,C===t&&(C=B,r.substr(B,2)===$i?(Q=$i,B+=2):(Q=t,I===0&&xe(Xl)),Q!==t&&(Ue=C,Q=$e()),C=Q,C===t&&(C=B,r.substr(B,2)===Sa?(Q=Sa,B+=2):(Q=t,I===0&&xe(Uu)),Q!==t&&(Ue=C,Q=yE()),C=Q,C===t&&(C=B,r.substr(B,2)===Fh?(Q=Fh,B+=2):(Q=t,I===0&&xe(wE)),Q!==t&&(Ue=C,Q=gr()),C=Q,C===t&&(C=B,r.substr(B,2)===qn?(Q=qn,B+=2):(Q=t,I===0&&xe(Zl)),Q!==t&&(Ue=C,Q=Nh()),C=Q,C===t&&(C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&xe(pt)),Q!==t?(Zs.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(va)),F!==t?(Ue=C,Q=mn(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=ege()))))))))),C}function ege(){var C,Q,F,U,ue,De,Ct,bt,$r,Ii,ms,$b;return C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&xe(pt)),Q!==t?(F=_b(),F!==t?(Ue=C,Q=En(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Oe?(Q=Oe,B+=2):(Q=t,I===0&&xe(Hu)),Q!==t?(F=B,U=B,ue=_b(),ue!==t?(De=zn(),De!==t?(ue=[ue,De],U=ue):(B=U,U=t)):(B=U,U=t),U===t&&(U=_b()),U!==t?F=r.substring(F,B):F=U,F!==t?(Ue=C,Q=En(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===$l?(Q=$l,B+=2):(Q=t,I===0&&xe($s)),Q!==t?(F=B,U=B,ue=zn(),ue!==t?(De=zn(),De!==t?(Ct=zn(),Ct!==t?(bt=zn(),bt!==t?(ue=[ue,De,Ct,bt],U=ue):(B=U,U=t)):(B=U,U=t)):(B=U,U=t)):(B=U,U=t),U!==t?F=r.substring(F,B):F=U,F!==t?(Ue=C,Q=En(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===ec?(Q=ec,B+=2):(Q=t,I===0&&xe(TA)),Q!==t?(F=B,U=B,ue=zn(),ue!==t?(De=zn(),De!==t?(Ct=zn(),Ct!==t?(bt=zn(),bt!==t?($r=zn(),$r!==t?(Ii=zn(),Ii!==t?(ms=zn(),ms!==t?($b=zn(),$b!==t?(ue=[ue,De,Ct,bt,$r,Ii,ms,$b],U=ue):(B=U,U=t)):(B=U,U=t)):(B=U,U=t)):(B=U,U=t)):(B=U,U=t)):(B=U,U=t)):(B=U,U=t)):(B=U,U=t),U!==t?F=r.substring(F,B):F=U,F!==t?(Ue=C,Q=ju(F),C=Q):(B=C,C=t)):(B=C,C=t)))),C}function _b(){var C;return Gu.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&xe(xa)),C}function zn(){var C;return ka.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&xe(nt)),C}function tge(){var C,Q,F,U,ue;if(C=B,Q=[],F=B,r.charCodeAt(B)===92?(U=ds,B++):(U=t,I===0&&xe(pt)),U!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&xe(Do)),ue!==t?(Ue=F,U=mn(ue),F=U):(B=F,F=t)):(B=F,F=t),F===t&&(F=B,U=B,I++,ue=LO(),I--,ue===t?U=void 0:(B=U,U=t),U!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&xe(Do)),ue!==t?(Ue=F,U=mn(ue),F=U):(B=F,F=t)):(B=F,F=t)),F!==t)for(;F!==t;)Q.push(F),F=B,r.charCodeAt(B)===92?(U=ds,B++):(U=t,I===0&&xe(pt)),U!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&xe(Do)),ue!==t?(Ue=F,U=mn(ue),F=U):(B=F,F=t)):(B=F,F=t),F===t&&(F=B,U=B,I++,ue=LO(),I--,ue===t?U=void 0:(B=U,U=t),U!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&xe(Do)),ue!==t?(Ue=F,U=mn(ue),F=U):(B=F,F=t)):(B=F,F=t));else Q=t;return Q!==t&&(Ue=C,Q=Gn(Q)),C=Q,C}function Vb(){var C,Q,F,U,ue,De;if(C=B,r.charCodeAt(B)===45?(Q=OA,B++):(Q=t,I===0&&xe(tc)),Q===t&&(r.charCodeAt(B)===43?(Q=eo,B++):(Q=t,I===0&&xe(rc))),Q===t&&(Q=null),Q!==t){if(F=[],ve.test(r.charAt(B))?(U=r.charAt(B),B++):(U=t,I===0&&xe(pe)),U!==t)for(;U!==t;)F.push(U),ve.test(r.charAt(B))?(U=r.charAt(B),B++):(U=t,I===0&&xe(pe));else F=t;if(F!==t)if(r.charCodeAt(B)===46?(U=BE,B++):(U=t,I===0&&xe(Lh)),U!==t){if(ue=[],ve.test(r.charAt(B))?(De=r.charAt(B),B++):(De=t,I===0&&xe(pe)),De!==t)for(;De!==t;)ue.push(De),ve.test(r.charAt(B))?(De=r.charAt(B),B++):(De=t,I===0&&xe(pe));else ue=t;ue!==t?(Ue=C,Q=Yu(Q,F,ue),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;if(C===t){if(C=B,r.charCodeAt(B)===45?(Q=OA,B++):(Q=t,I===0&&xe(tc)),Q===t&&(r.charCodeAt(B)===43?(Q=eo,B++):(Q=t,I===0&&xe(rc))),Q===t&&(Q=null),Q!==t){if(F=[],ve.test(r.charAt(B))?(U=r.charAt(B),B++):(U=t,I===0&&xe(pe)),U!==t)for(;U!==t;)F.push(U),ve.test(r.charAt(B))?(U=r.charAt(B),B++):(U=t,I===0&&xe(pe));else F=t;F!==t?(Ue=C,Q=Th(Q,F),C=Q):(B=C,C=t)}else B=C,C=t;if(C===t&&(C=B,Q=Zb(),Q!==t&&(Ue=C,Q=bE(Q)),C=Q,C===t&&(C=B,Q=nc(),Q!==t&&(Ue=C,Q=ic(Q)),C=Q,C===t)))if(C=B,r.charCodeAt(B)===40?(Q=ce,B++):(Q=t,I===0&&xe(Z)),Q!==t){for(F=[],U=Ye();U!==t;)F.push(U),U=Ye();if(F!==t)if(U=DO(),U!==t){for(ue=[],De=Ye();De!==t;)ue.push(De),De=Ye();ue!==t?(r.charCodeAt(B)===41?(De=O,B++):(De=t,I===0&&xe(L)),De!==t?(Ue=C,Q=QE(U),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t}return C}function Xb(){var C,Q,F,U,ue,De,Ct,bt;if(C=B,Q=Vb(),Q!==t){for(F=[],U=B,ue=[],De=Ye();De!==t;)ue.push(De),De=Ye();if(ue!==t)if(r.charCodeAt(B)===42?(De=qu,B++):(De=t,I===0&&xe(MA)),De===t&&(r.charCodeAt(B)===47?(De=Tr,B++):(De=t,I===0&&xe(SE))),De!==t){for(Ct=[],bt=Ye();bt!==t;)Ct.push(bt),bt=Ye();Ct!==t?(bt=Vb(),bt!==t?(Ue=U,ue=to(Q,De,bt),U=ue):(B=U,U=t)):(B=U,U=t)}else B=U,U=t;else B=U,U=t;for(;U!==t;){for(F.push(U),U=B,ue=[],De=Ye();De!==t;)ue.push(De),De=Ye();if(ue!==t)if(r.charCodeAt(B)===42?(De=qu,B++):(De=t,I===0&&xe(MA)),De===t&&(r.charCodeAt(B)===47?(De=Tr,B++):(De=t,I===0&&xe(SE))),De!==t){for(Ct=[],bt=Ye();bt!==t;)Ct.push(bt),bt=Ye();Ct!==t?(bt=Vb(),bt!==t?(Ue=U,ue=to(Q,De,bt),U=ue):(B=U,U=t)):(B=U,U=t)}else B=U,U=t;else B=U,U=t}F!==t?(Ue=C,Q=ro(Q,F),C=Q):(B=C,C=t)}else B=C,C=t;return C}function DO(){var C,Q,F,U,ue,De,Ct,bt;if(C=B,Q=Xb(),Q!==t){for(F=[],U=B,ue=[],De=Ye();De!==t;)ue.push(De),De=Ye();if(ue!==t)if(r.charCodeAt(B)===43?(De=eo,B++):(De=t,I===0&&xe(rc)),De===t&&(r.charCodeAt(B)===45?(De=OA,B++):(De=t,I===0&&xe(tc))),De!==t){for(Ct=[],bt=Ye();bt!==t;)Ct.push(bt),bt=Ye();Ct!==t?(bt=Xb(),bt!==t?(Ue=U,ue=Ju(Q,De,bt),U=ue):(B=U,U=t)):(B=U,U=t)}else B=U,U=t;else B=U,U=t;for(;U!==t;){for(F.push(U),U=B,ue=[],De=Ye();De!==t;)ue.push(De),De=Ye();if(ue!==t)if(r.charCodeAt(B)===43?(De=eo,B++):(De=t,I===0&&xe(rc)),De===t&&(r.charCodeAt(B)===45?(De=OA,B++):(De=t,I===0&&xe(tc))),De!==t){for(Ct=[],bt=Ye();bt!==t;)Ct.push(bt),bt=Ye();Ct!==t?(bt=Xb(),bt!==t?(Ue=U,ue=Ju(Q,De,bt),U=ue):(B=U,U=t)):(B=U,U=t)}else B=U,U=t;else B=U,U=t}F!==t?(Ue=C,Q=ro(Q,F),C=Q):(B=C,C=t)}else B=C,C=t;return C}function RO(){var C,Q,F,U,ue,De;if(C=B,r.substr(B,3)===KA?(Q=KA,B+=3):(Q=t,I===0&&xe(R)),Q!==t){for(F=[],U=Ye();U!==t;)F.push(U),U=Ye();if(F!==t)if(U=DO(),U!==t){for(ue=[],De=Ye();De!==t;)ue.push(De),De=Ye();ue!==t?(r.substr(B,2)===G?(De=G,B+=2):(De=t,I===0&&xe(Ce)),De!==t?(Ue=C,Q=He(U),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;return C}function FO(){var C,Q,F,U;return C=B,r.substr(B,2)===Te?(Q=Te,B+=2):(Q=t,I===0&&xe(Xe)),Q!==t?(F=Yr(),F!==t?(r.charCodeAt(B)===41?(U=O,B++):(U=t,I===0&&xe(L)),U!==t?(Ue=C,Q=Et(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function Zb(){var C,Q,F,U,ue,De;return C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&xe(Jn)),Q!==t?(F=nc(),F!==t?(r.substr(B,2)===Ob?(U=Ob,B+=2):(U=t,I===0&&xe(lO)),U!==t?(ue=BO(),ue!==t?(r.charCodeAt(B)===125?(De=re,B++):(De=t,I===0&&xe(se)),De!==t?(Ue=C,Q=cO(F,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&xe(Jn)),Q!==t?(F=nc(),F!==t?(r.substr(B,3)===Mb?(U=Mb,B+=3):(U=t,I===0&&xe(uO)),U!==t?(Ue=C,Q=gO(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&xe(Jn)),Q!==t?(F=nc(),F!==t?(r.substr(B,2)===Kb?(U=Kb,B+=2):(U=t,I===0&&xe(fO)),U!==t?(ue=BO(),ue!==t?(r.charCodeAt(B)===125?(De=re,B++):(De=t,I===0&&xe(se)),De!==t?(Ue=C,Q=hO(F,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&xe(Jn)),Q!==t?(F=nc(),F!==t?(r.substr(B,3)===Ub?(U=Ub,B+=3):(U=t,I===0&&xe(pO)),U!==t?(Ue=C,Q=dO(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&xe(Jn)),Q!==t?(F=nc(),F!==t?(r.charCodeAt(B)===125?(U=re,B++):(U=t,I===0&&xe(se)),U!==t?(Ue=C,Q=Hb(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.charCodeAt(B)===36?(Q=CO,B++):(Q=t,I===0&&xe(mO)),Q!==t?(F=nc(),F!==t?(Ue=C,Q=Hb(F),C=Q):(B=C,C=t)):(B=C,C=t)))))),C}function rge(){var C,Q,F;return C=B,Q=ige(),Q!==t?(Ue=B,F=EO(Q),F?F=void 0:F=t,F!==t?(Ue=C,Q=IO(Q),C=Q):(B=C,C=t)):(B=C,C=t),C}function ige(){var C,Q,F,U,ue;if(C=B,Q=[],F=B,U=B,I++,ue=TO(),I--,ue===t?U=void 0:(B=U,U=t),U!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&xe(Do)),ue!==t?(Ue=F,U=mn(ue),F=U):(B=F,F=t)):(B=F,F=t),F!==t)for(;F!==t;)Q.push(F),F=B,U=B,I++,ue=TO(),I--,ue===t?U=void 0:(B=U,U=t),U!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&xe(Do)),ue!==t?(Ue=F,U=mn(ue),F=U):(B=F,F=t)):(B=F,F=t);else Q=t;return Q!==t&&(Ue=C,Q=Gn(Q)),C=Q,C}function NO(){var C,Q,F;if(C=B,Q=[],jb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(Gb)),F!==t)for(;F!==t;)Q.push(F),jb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(Gb));else Q=t;return Q!==t&&(Ue=C,Q=Yb()),C=Q,C}function nc(){var C,Q,F;if(C=B,Q=[],qb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(Jb)),F!==t)for(;F!==t;)Q.push(F),qb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&xe(Jb));else Q=t;return Q!==t&&(Ue=C,Q=Yb()),C=Q,C}function LO(){var C;return yO.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&xe(Wu)),C}function TO(){var C;return Wb.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&xe(zb)),C}function Ye(){var C,Q;if(C=[],vE.test(r.charAt(B))?(Q=r.charAt(B),B++):(Q=t,I===0&&xe(xE)),Q!==t)for(;Q!==t;)C.push(Q),vE.test(r.charAt(B))?(Q=r.charAt(B),B++):(Q=t,I===0&&xe(xE));else C=t;return C}if(D=n(),D!==t&&B===r.length)return D;throw D!==t&&B{"use strict";function rfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function gc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,gc)}rfe(gc,Error);gc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gq&&(q=v,Y=[]),Y.push(pe))}function se(pe,V){return new gc(pe,null,null,V)}function be(pe,V,Qe){return new gc(gc.buildMessage(pe,V),pe,V,Qe)}function he(){var pe,V,Qe,le;return pe=v,V=Fe(),V!==t?(r.charCodeAt(v)===47?(Qe=s,v++):(Qe=t,$===0&&re(o)),Qe!==t?(le=Fe(),le!==t?(x=pe,V=a(V,le),pe=V):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t),pe===t&&(pe=v,V=Fe(),V!==t&&(x=pe,V=l(V)),pe=V),pe}function Fe(){var pe,V,Qe,le;return pe=v,V=Ke(),V!==t?(r.charCodeAt(v)===64?(Qe=c,v++):(Qe=t,$===0&&re(u)),Qe!==t?(le=ve(),le!==t?(x=pe,V=g(V,le),pe=V):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t),pe===t&&(pe=v,V=Ke(),V!==t&&(x=pe,V=f(V)),pe=V),pe}function Ke(){var pe,V,Qe,le,fe;return pe=v,r.charCodeAt(v)===64?(V=c,v++):(V=t,$===0&&re(u)),V!==t?(Qe=ke(),Qe!==t?(r.charCodeAt(v)===47?(le=s,v++):(le=t,$===0&&re(o)),le!==t?(fe=ke(),fe!==t?(x=pe,V=h(),pe=V):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t),pe===t&&(pe=v,V=ke(),V!==t&&(x=pe,V=h()),pe=V),pe}function ke(){var pe,V,Qe;if(pe=v,V=[],p.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(m)),Qe!==t)for(;Qe!==t;)V.push(Qe),p.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(m));else V=t;return V!==t&&(x=pe,V=h()),pe=V,pe}function ve(){var pe,V,Qe;if(pe=v,V=[],y.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(b)),Qe!==t)for(;Qe!==t;)V.push(Qe),y.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(b));else V=t;return V!==t&&(x=pe,V=h()),pe=V,pe}if(_=n(),_!==t&&v===r.length)return _;throw _!==t&&v{"use strict";function $M(r){return typeof r=="undefined"||r===null}function nfe(r){return typeof r=="object"&&r!==null}function sfe(r){return Array.isArray(r)?r:$M(r)?[]:[r]}function ofe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function ep(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ep.prototype=Object.create(Error.prototype);ep.prototype.constructor=ep;ep.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};e1.exports=ep});var i1=w((L7e,t1)=>{"use strict";var r1=hc();function RQ(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}RQ.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),r1.repeat(" ",e)+i+a+s+` +`+r1.repeat(" ",e+this.position-n+i.length)+"^"};RQ.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: +`+t)),i};t1.exports=RQ});var ci=w((T7e,n1)=>{"use strict";var s1=tg(),lfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],cfe=["scalar","sequence","mapping"];function ufe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function gfe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(lfe.indexOf(t)===-1)throw new s1('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=ufe(e.styleAliases||null),cfe.indexOf(this.kind)===-1)throw new s1('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}n1.exports=gfe});var pc=w((O7e,o1)=>{"use strict";var a1=hc(),tI=tg(),ffe=ci();function FQ(r,e,t){var i=[];return r.include.forEach(function(n){t=FQ(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function hfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var pfe=ci();A1.exports=new pfe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var u1=w((K7e,c1)=>{"use strict";var dfe=ci();c1.exports=new dfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var f1=w((U7e,g1)=>{"use strict";var Cfe=ci();g1.exports=new Cfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var rI=w((H7e,h1)=>{"use strict";var mfe=pc();h1.exports=new mfe({explicit:[l1(),u1(),f1()]})});var d1=w((j7e,p1)=>{"use strict";var Efe=ci();function Ife(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function yfe(){return null}function wfe(r){return r===null}p1.exports=new Efe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Ife,construct:yfe,predicate:wfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var m1=w((G7e,C1)=>{"use strict";var Bfe=ci();function bfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Qfe(r){return r==="true"||r==="True"||r==="TRUE"}function Sfe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}C1.exports=new Bfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:bfe,construct:Qfe,predicate:Sfe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var I1=w((Y7e,E1)=>{"use strict";var vfe=hc(),xfe=ci();function kfe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function Pfe(r){return 48<=r&&r<=55}function Dfe(r){return 48<=r&&r<=57}function Rfe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var B1=w((q7e,y1)=>{"use strict";var w1=hc(),Lfe=ci(),Tfe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Ofe(r){return!(r===null||!Tfe.test(r)||r[r.length-1]==="_")}function Mfe(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var Kfe=/^[-+]?[0-9]+e/;function Ufe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(w1.isNegativeZero(r))return"-0.0";return t=r.toString(10),Kfe.test(t)?t.replace("e",".e"):t}function Hfe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!=0||w1.isNegativeZero(r))}y1.exports=new Lfe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Ofe,construct:Mfe,predicate:Hfe,represent:Ufe,defaultStyle:"lowercase"})});var NQ=w((J7e,b1)=>{"use strict";var jfe=pc();b1.exports=new jfe({include:[rI()],implicit:[d1(),m1(),I1(),B1()]})});var LQ=w((W7e,Q1)=>{"use strict";var Gfe=pc();Q1.exports=new Gfe({include:[NQ()]})});var k1=w((z7e,S1)=>{"use strict";var Yfe=ci(),v1=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),x1=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function qfe(r){return r===null?!1:v1.exec(r)!==null||x1.exec(r)!==null}function Jfe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=v1.exec(r),e===null&&(e=x1.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Wfe(r){return r.toISOString()}S1.exports=new Yfe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:qfe,construct:Jfe,instanceOf:Date,represent:Wfe})});var D1=w((_7e,P1)=>{"use strict";var zfe=ci();function _fe(r){return r==="<<"||r===null}P1.exports=new zfe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:_fe})});var N1=w((V7e,R1)=>{"use strict";var dc;try{F1=require,dc=F1("buffer").Buffer}catch(r){}var F1,Vfe=ci(),TQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Xfe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=TQ;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8==0}function Zfe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=TQ,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),dc?dc.from?dc.from(a):new dc(a):a}function $fe(r){var e="",t=0,i,n,s=r.length,o=TQ;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function ehe(r){return dc&&dc.isBuffer(r)}R1.exports=new Vfe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Xfe,construct:Zfe,predicate:ehe,represent:$fe})});var T1=w((X7e,L1)=>{"use strict";var the=ci(),rhe=Object.prototype.hasOwnProperty,ihe=Object.prototype.toString;function nhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var ohe=ci(),ahe=Object.prototype.toString;function Ahe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var che=ci(),uhe=Object.prototype.hasOwnProperty;function ghe(r){if(r===null)return!0;var e,t=r;for(e in t)if(uhe.call(t,e)&&t[e]!==null)return!1;return!0}function fhe(r){return r!==null?r:{}}K1.exports=new che("tag:yaml.org,2002:set",{kind:"mapping",resolve:ghe,construct:fhe})});var ig=w((eXe,H1)=>{"use strict";var hhe=pc();H1.exports=new hhe({include:[LQ()],implicit:[k1(),D1()],explicit:[N1(),T1(),M1(),U1()]})});var G1=w((tXe,j1)=>{"use strict";var phe=ci();function dhe(){return!0}function Che(){}function mhe(){return""}function Ehe(r){return typeof r=="undefined"}j1.exports=new phe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:dhe,construct:Che,predicate:Ehe,represent:mhe})});var q1=w((rXe,Y1)=>{"use strict";var Ihe=ci();function yhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function whe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Bhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function bhe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}Y1.exports=new Ihe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:yhe,construct:whe,predicate:bhe,represent:Bhe})});var z1=w((iXe,J1)=>{"use strict";var iI;try{W1=require,iI=W1("esprima")}catch(r){typeof window!="undefined"&&(iI=window.esprima)}var W1,Qhe=ci();function She(r){if(r===null)return!1;try{var e="("+r+")",t=iI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function vhe(r){var e="("+r+")",t=iI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function xhe(r){return r.toString()}function khe(r){return Object.prototype.toString.call(r)==="[object Function]"}J1.exports=new Qhe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:She,construct:vhe,predicate:khe,represent:xhe})});var tp=w((nXe,_1)=>{"use strict";var V1=pc();_1.exports=V1.DEFAULT=new V1({include:[ig()],explicit:[G1(),q1(),z1()]})});var pK=w((sXe,rp)=>{"use strict";var Oa=hc(),X1=tg(),Phe=i1(),Z1=ig(),Dhe=tp(),JA=Object.prototype.hasOwnProperty,nI=1,$1=2,eK=3,sI=4,OQ=1,Rhe=2,tK=3,Fhe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Nhe=/[\x85\u2028\u2029]/,Lhe=/[,\[\]\{\}]/,rK=/^(?:!|!!|![a-z\-]+!)$/i,iK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function nK(r){return Object.prototype.toString.call(r)}function Lo(r){return r===10||r===13}function Cc(r){return r===9||r===32}function yn(r){return r===9||r===32||r===10||r===13}function ng(r){return r===44||r===91||r===93||r===123||r===125}function The(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function Ohe(r){return r===120?2:r===117?4:r===85?8:0}function Mhe(r){return 48<=r&&r<=57?r-48:-1}function sK(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` +`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function Khe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var oK=new Array(256),aK=new Array(256);for(var sg=0;sg<256;sg++)oK[sg]=sK(sg)?1:0,aK[sg]=sK(sg);function Uhe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||Dhe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function AK(r,e){return new X1(e,new Phe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function dt(r,e){throw AK(r,e)}function oI(r,e){r.onWarning&&r.onWarning.call(null,AK(r,e))}var lK={YAML:function(e,t,i){var n,s,o;e.version!==null&&dt(e,"duplication of %YAML directive"),i.length!==1&&dt(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&dt(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&dt(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&oI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&dt(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],rK.test(n)||dt(e,"ill-formed tag handle (first argument) of the TAG directive"),JA.call(e.tagMap,n)&&dt(e,'there is a previously declared suffix for "'+n+'" tag handle'),iK.test(s)||dt(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function WA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Oa.repeat(` +`,e-1))}function Hhe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),yn(h)||ng(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),yn(n)||t&&ng(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),yn(n)||t&&ng(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),yn(i))break}else{if(r.position===r.lineStart&&aI(r)||t&&ng(h))break;if(Lo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,ei(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(WA(r,s,o,!1),KQ(r,r.line-l),s=o=r.position,a=!1),Cc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return WA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function jhe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(WA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else Lo(t)?(WA(r,i,n,!0),KQ(r,ei(r,!1,e)),i=n=r.position):r.position===r.lineStart&&aI(r)?dt(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);dt(r,"unexpected end of the stream within a single quoted scalar")}function Ghe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return WA(r,t,r.position,!0),r.position++,!0;if(a===92){if(WA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),Lo(a))ei(r,!1,e);else if(a<256&&oK[a])r.result+=aK[a],r.position++;else if((o=Ohe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=The(a))>=0?s=(s<<4)+o:dt(r,"expected hexadecimal character");r.result+=Khe(s),r.position++}else dt(r,"unknown escape sequence");t=i=r.position}else Lo(a)?(WA(r,t,i,!0),KQ(r,ei(r,!1,e)),t=i=r.position):r.position===r.lineStart&&aI(r)?dt(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}dt(r,"unexpected end of the stream within a double quoted scalar")}function Yhe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,m,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(ei(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||dt(r,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),yn(a)&&(c=u=!0,r.position++,ei(r,!0,e))),i=r.line,ag(r,e,nI,!1,!0),p=r.tag,h=r.result,ei(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),ei(r,!0,e),ag(r,e,nI,!1,!0),m=r.result),g?og(r,s,f,p,h,m):c?s.push(og(r,null,f,p,h,m)):s.push(h),ei(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}dt(r,"unexpected end of the stream within a flow collection")}function qhe(r,e){var t,i,n=OQ,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)OQ===n?n=g===43?tK:Rhe:dt(r,"repeat of a chomping mode identifier");else if((u=Mhe(g))>=0)u===0?dt(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?dt(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(Cc(g)){do g=r.input.charCodeAt(++r.position);while(Cc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!Lo(g)&&g!==0)}for(;g!==0;){for(MQ(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),Lo(g)){l++;continue}if(r.lineIndente)&&l!==0)dt(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(ag(r,e,sI,!0,n)&&(p?f=r.result:h=r.result),p||(og(r,c,u,g,f,h,s,o),g=f=h=null),ei(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)dt(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):dt(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):dt(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function Vhe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(ei(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!yn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&dt(r,"directive name must not be less than one character in length");o!==0;){for(;Cc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!Lo(o));break}if(Lo(o))break;for(t=r.position;o!==0&&!yn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&MQ(r),JA.call(lK,i)?lK[i](r,i,n):oI(r,'unknown document directive "'+i+'"')}if(ei(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,ei(r,!0,-1)):s&&dt(r,"directives end mark is expected"),ag(r,r.lineIndent-1,sI,!1,!0),ei(r,!0,-1),r.checkLineBreaks&&Nhe.test(r.input.slice(e,r.position))&&oI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&aI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,ei(r,!0,-1));return}if(r.position{"use strict";var ip=hc(),np=tg(),$he=tp(),epe=ig(),dK=Object.prototype.toString,CK=Object.prototype.hasOwnProperty,tpe=9,sp=10,rpe=13,ipe=32,npe=33,spe=34,mK=35,ope=37,ape=38,Ape=39,lpe=42,EK=44,cpe=45,IK=58,upe=61,gpe=62,fpe=63,hpe=64,yK=91,wK=93,ppe=96,BK=123,dpe=124,bK=125,Ki={};Ki[0]="\\0";Ki[7]="\\a";Ki[8]="\\b";Ki[9]="\\t";Ki[10]="\\n";Ki[11]="\\v";Ki[12]="\\f";Ki[13]="\\r";Ki[27]="\\e";Ki[34]='\\"';Ki[92]="\\\\";Ki[133]="\\N";Ki[160]="\\_";Ki[8232]="\\L";Ki[8233]="\\P";var Cpe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function mpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&vK(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Ag(o))return AI;a=s>0?r.charCodeAt(s-1):null,f=f&&vK(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?kK:PK:t>9&&xK(r)?AI:c?RK:DK}function Spe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Cpe.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Ipe(r,l)}switch(Bpe(e,o,r.indent,s,a)){case kK:return e;case PK:return"'"+e.replace(/'/g,"''")+"'";case DK:return"|"+FK(e,r.indent)+NK(SK(e,n));case RK:return">"+FK(e,r.indent)+NK(SK(bpe(e,s),n));case AI:return'"'+Qpe(e,s)+'"';default:throw new np("impossible error: invalid scalar style")}}()}function FK(r,e){var t=xK(r)?String(e):"",i=r[r.length-1]===` +`,n=i&&(r[r.length-2]===` +`||r===` +`),s=n?"+":i?"":"-";return t+s+` +`}function NK(r){return r[r.length-1]===` +`?r.slice(0,-1):r}function bpe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` +`);return c=c!==-1?c:r.length,t.lastIndex=c,LK(r.slice(0,c),e)}(),n=r[0]===` +`||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+LK(l,e),n=s}return i}function LK(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+r.slice(n,s),n=s+1),o=a;return l+=` +`,r.length-n>e&&o>n?l+=r.slice(n,o)+` +`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function Qpe(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=QK((t-55296)*1024+i-56320+65536),s++;continue}n=Ki[t],e+=!n&&Ag(t)?r[s]:n||QK(t)}return e}function vpe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),!!mc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function Ppe(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new np("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&sp===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=HQ(r,e)),!!mc(r,e+1,u,!0,g)&&(r.dump&&sp===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function TK(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function mc(r,e,t,i,n,s){r.tag=null,r.dump=t,TK(r,t,!1)||TK(r,t,!0);var o=dK.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(Ppe(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(kpe(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(xpe(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(vpe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Spe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new np("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function Dpe(r,e){var t=[],i=[],n,s;for(GQ(r,t,i),n=0,s=i.length;n{"use strict";var lI=pK(),KK=MK();function cI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Mr.exports.Type=ci();Mr.exports.Schema=pc();Mr.exports.FAILSAFE_SCHEMA=rI();Mr.exports.JSON_SCHEMA=NQ();Mr.exports.CORE_SCHEMA=LQ();Mr.exports.DEFAULT_SAFE_SCHEMA=ig();Mr.exports.DEFAULT_FULL_SCHEMA=tp();Mr.exports.load=lI.load;Mr.exports.loadAll=lI.loadAll;Mr.exports.safeLoad=lI.safeLoad;Mr.exports.safeLoadAll=lI.safeLoadAll;Mr.exports.dump=KK.dump;Mr.exports.safeDump=KK.safeDump;Mr.exports.YAMLException=tg();Mr.exports.MINIMAL_SCHEMA=rI();Mr.exports.SAFE_SCHEMA=ig();Mr.exports.DEFAULT_SCHEMA=tp();Mr.exports.scan=cI("scan");Mr.exports.parse=cI("parse");Mr.exports.compose=cI("compose");Mr.exports.addConstructor=cI("addConstructor")});var jK=w((AXe,HK)=>{"use strict";var Fpe=UK();HK.exports=Fpe});var YK=w((lXe,GK)=>{"use strict";function Npe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ec(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ec)}Npe(Ec,Error);Ec.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[He]:Ce})))},q=function(R){return R},Y=function(R){return R},$=Zs("correct indentation"),_=" ",ne=gr(" ",!1),ee=function(R){return R.length===KA*Ju},A=function(R){return R.length===(KA+1)*Ju},oe=function(){return KA++,!0},ce=function(){return KA--,!0},Z=function(){return Uu()},O=Zs("pseudostring"),L=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,de=qn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Be=/^[^\r\n\t ,\][{}:#"']/,je=qn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),re=function(){return Uu().replace(/^ *| *$/g,"")},se="--",be=gr("--",!1),he=/^[a-zA-Z\/0-9]/,Fe=qn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ke=/^[^\r\n\t :,]/,ke=qn(["\r",` +`," "," ",":",","],!0,!1),ve="null",pe=gr("null",!1),V=function(){return null},Qe="true",le=gr("true",!1),fe=function(){return!0},gt="false",Ht=gr("false",!1),Mt=function(){return!1},Ei=Zs("string"),jt='"',Qr=gr('"',!1),Oi=function(){return""},Xs=function(R){return R},Un=function(R){return R.join("")},Hn=/^[^"\\\0-\x1F\x7F]/,Sr=qn(['"',"\\",["\0",""],"\x7F"],!0,!1),jn='\\"',fs=gr('\\"',!1),ba=function(){return'"'},DA="\\\\",Nu=gr("\\\\",!1),hs=function(){return"\\"},RA="\\/",Qa=gr("\\/",!1),Lu=function(){return"/"},FA="\\b",NA=gr("\\b",!1),vr=function(){return"\b"},zl="\\f",Tu=gr("\\f",!1),xo=function(){return"\f"},Ou="\\n",Sh=gr("\\n",!1),vh=function(){return` +`},Dr="\\r",Ae=gr("\\r",!1),ko=function(){return"\r"},Gn="\\t",Mu=gr("\\t",!1),St=function(){return" "},_l="\\u",Yn=gr("\\u",!1),ps=function(R,G,Ce,He){return String.fromCharCode(parseInt(`0x${R}${G}${Ce}${He}`))},ds=/^[0-9a-fA-F]/,pt=qn([["0","9"],["a","f"],["A","F"]],!1,!1),Po=Zs("blank space"),lt=/^[ \t]/,mn=qn([" "," "],!1,!1),S=Zs("white space"),Tt=/^[ \t\n\r]/,Ku=qn([" "," ",` +`,"\r"],!1,!1),Vl=`\r +`,xh=gr(`\r +`,!1),kh=` +`,Ph=gr(` +`,!1),Dh="\r",Rh=gr("\r",!1),j=0,wt=0,LA=[{line:1,column:1}],$i=0,Xl=[],$e=0,Sa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Uu(){return r.substring(wt,j)}function yE(){return En(wt,j)}function Fh(R,G){throw G=G!==void 0?G:En(wt,j),$l([Zs(R)],r.substring(wt,j),G)}function wE(R,G){throw G=G!==void 0?G:En(wt,j),Hu(R,G)}function gr(R,G){return{type:"literal",text:R,ignoreCase:G}}function qn(R,G,Ce){return{type:"class",parts:R,inverted:G,ignoreCase:Ce}}function Zl(){return{type:"any"}}function Nh(){return{type:"end"}}function Zs(R){return{type:"other",description:R}}function va(R){var G=LA[R],Ce;if(G)return G;for(Ce=R-1;!LA[Ce];)Ce--;for(G=LA[Ce],G={line:G.line,column:G.column};Ce$i&&($i=j,Xl=[]),Xl.push(R))}function Hu(R,G){return new Ec(R,null,null,G)}function $l(R,G,Ce){return new Ec(Ec.buildMessage(R,G),R,G,Ce)}function $s(){var R;return R=ju(),R}function ec(){var R,G,Ce;for(R=j,G=[],Ce=TA();Ce!==t;)G.push(Ce),Ce=TA();return G!==t&&(wt=R,G=s(G)),R=G,R}function TA(){var R,G,Ce,He,Te;return R=j,G=ka(),G!==t?(r.charCodeAt(j)===45?(Ce=o,j++):(Ce=t,$e===0&&Oe(a)),Ce!==t?(He=Tr(),He!==t?(Te=xa(),Te!==t?(wt=R,G=l(Te),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R}function ju(){var R,G,Ce;for(R=j,G=[],Ce=Gu();Ce!==t;)G.push(Ce),Ce=Gu();return G!==t&&(wt=R,G=c(G)),R=G,R}function Gu(){var R,G,Ce,He,Te,Xe,Et,Rt,Jn;if(R=j,G=Tr(),G===t&&(G=null),G!==t){if(Ce=j,r.charCodeAt(j)===35?(He=u,j++):(He=t,$e===0&&Oe(g)),He!==t){if(Te=[],Xe=j,Et=j,$e++,Rt=ro(),$e--,Rt===t?Et=void 0:(j=Et,Et=t),Et!==t?(r.length>j?(Rt=r.charAt(j),j++):(Rt=t,$e===0&&Oe(f)),Rt!==t?(Et=[Et,Rt],Xe=Et):(j=Xe,Xe=t)):(j=Xe,Xe=t),Xe!==t)for(;Xe!==t;)Te.push(Xe),Xe=j,Et=j,$e++,Rt=ro(),$e--,Rt===t?Et=void 0:(j=Et,Et=t),Et!==t?(r.length>j?(Rt=r.charAt(j),j++):(Rt=t,$e===0&&Oe(f)),Rt!==t?(Et=[Et,Rt],Xe=Et):(j=Xe,Xe=t)):(j=Xe,Xe=t);else Te=t;Te!==t?(He=[He,Te],Ce=He):(j=Ce,Ce=t)}else j=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(He=[],Te=to(),Te!==t)for(;Te!==t;)He.push(Te),Te=to();else He=t;He!==t?(wt=R,G=h(),R=G):(j=R,R=t)}else j=R,R=t}else j=R,R=t;if(R===t&&(R=j,G=ka(),G!==t?(Ce=tc(),Ce!==t?(He=Tr(),He===t&&(He=null),He!==t?(r.charCodeAt(j)===58?(Te=p,j++):(Te=t,$e===0&&Oe(m)),Te!==t?(Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(Et=xa(),Et!==t?(wt=R,G=y(Ce,Et),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t&&(R=j,G=ka(),G!==t?(Ce=eo(),Ce!==t?(He=Tr(),He===t&&(He=null),He!==t?(r.charCodeAt(j)===58?(Te=p,j++):(Te=t,$e===0&&Oe(m)),Te!==t?(Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(Et=xa(),Et!==t?(wt=R,G=y(Ce,Et),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t))){if(R=j,G=ka(),G!==t)if(Ce=eo(),Ce!==t)if(He=Tr(),He!==t)if(Te=BE(),Te!==t){if(Xe=[],Et=to(),Et!==t)for(;Et!==t;)Xe.push(Et),Et=to();else Xe=t;Xe!==t?(wt=R,G=y(Ce,Te),R=G):(j=R,R=t)}else j=R,R=t;else j=R,R=t;else j=R,R=t;else j=R,R=t;if(R===t)if(R=j,G=ka(),G!==t)if(Ce=eo(),Ce!==t){if(He=[],Te=j,Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(r.charCodeAt(j)===44?(Et=b,j++):(Et=t,$e===0&&Oe(v)),Et!==t?(Rt=Tr(),Rt===t&&(Rt=null),Rt!==t?(Jn=eo(),Jn!==t?(wt=Te,Xe=x(Ce,Jn),Te=Xe):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t),Te!==t)for(;Te!==t;)He.push(Te),Te=j,Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(r.charCodeAt(j)===44?(Et=b,j++):(Et=t,$e===0&&Oe(v)),Et!==t?(Rt=Tr(),Rt===t&&(Rt=null),Rt!==t?(Jn=eo(),Jn!==t?(wt=Te,Xe=x(Ce,Jn),Te=Xe):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t);else He=t;He!==t?(Te=Tr(),Te===t&&(Te=null),Te!==t?(r.charCodeAt(j)===58?(Xe=p,j++):(Xe=t,$e===0&&Oe(m)),Xe!==t?(Et=Tr(),Et===t&&(Et=null),Et!==t?(Rt=xa(),Rt!==t?(wt=R,G=T(Ce,He,Rt),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)}else j=R,R=t;else j=R,R=t}return R}function xa(){var R,G,Ce,He,Te,Xe,Et;if(R=j,G=j,$e++,Ce=j,He=ro(),He!==t?(Te=nt(),Te!==t?(r.charCodeAt(j)===45?(Xe=o,j++):(Xe=t,$e===0&&Oe(a)),Xe!==t?(Et=Tr(),Et!==t?(He=[He,Te,Xe,Et],Ce=He):(j=Ce,Ce=t)):(j=Ce,Ce=t)):(j=Ce,Ce=t)):(j=Ce,Ce=t),$e--,Ce!==t?(j=G,G=void 0):G=t,G!==t?(Ce=to(),Ce!==t?(He=Do(),He!==t?(Te=ec(),Te!==t?(Xe=OA(),Xe!==t?(wt=R,G=q(Te),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t&&(R=j,G=ro(),G!==t?(Ce=Do(),Ce!==t?(He=ju(),He!==t?(Te=OA(),Te!==t?(wt=R,G=q(He),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t))if(R=j,G=rc(),G!==t){if(Ce=[],He=to(),He!==t)for(;He!==t;)Ce.push(He),He=to();else Ce=t;Ce!==t?(wt=R,G=Y(G),R=G):(j=R,R=t)}else j=R,R=t;return R}function ka(){var R,G,Ce;for($e++,R=j,G=[],r.charCodeAt(j)===32?(Ce=_,j++):(Ce=t,$e===0&&Oe(ne));Ce!==t;)G.push(Ce),r.charCodeAt(j)===32?(Ce=_,j++):(Ce=t,$e===0&&Oe(ne));return G!==t?(wt=j,Ce=ee(G),Ce?Ce=void 0:Ce=t,Ce!==t?(G=[G,Ce],R=G):(j=R,R=t)):(j=R,R=t),$e--,R===t&&(G=t,$e===0&&Oe($)),R}function nt(){var R,G,Ce;for(R=j,G=[],r.charCodeAt(j)===32?(Ce=_,j++):(Ce=t,$e===0&&Oe(ne));Ce!==t;)G.push(Ce),r.charCodeAt(j)===32?(Ce=_,j++):(Ce=t,$e===0&&Oe(ne));return G!==t?(wt=j,Ce=A(G),Ce?Ce=void 0:Ce=t,Ce!==t?(G=[G,Ce],R=G):(j=R,R=t)):(j=R,R=t),R}function Do(){var R;return wt=j,R=oe(),R?R=void 0:R=t,R}function OA(){var R;return wt=j,R=ce(),R?R=void 0:R=t,R}function tc(){var R;return R=ic(),R===t&&(R=Lh()),R}function eo(){var R,G,Ce;if(R=ic(),R===t){if(R=j,G=[],Ce=Yu(),Ce!==t)for(;Ce!==t;)G.push(Ce),Ce=Yu();else G=t;G!==t&&(wt=R,G=Z()),R=G}return R}function rc(){var R;return R=Th(),R===t&&(R=bE(),R===t&&(R=ic(),R===t&&(R=Lh()))),R}function BE(){var R;return R=Th(),R===t&&(R=ic(),R===t&&(R=Yu())),R}function Lh(){var R,G,Ce,He,Te,Xe;if($e++,R=j,L.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(de)),G!==t){for(Ce=[],He=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Be.test(r.charAt(j))?(Xe=r.charAt(j),j++):(Xe=t,$e===0&&Oe(je)),Xe!==t?(Te=[Te,Xe],He=Te):(j=He,He=t)):(j=He,He=t);He!==t;)Ce.push(He),He=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Be.test(r.charAt(j))?(Xe=r.charAt(j),j++):(Xe=t,$e===0&&Oe(je)),Xe!==t?(Te=[Te,Xe],He=Te):(j=He,He=t)):(j=He,He=t);Ce!==t?(wt=R,G=re(),R=G):(j=R,R=t)}else j=R,R=t;return $e--,R===t&&(G=t,$e===0&&Oe(O)),R}function Yu(){var R,G,Ce,He,Te;if(R=j,r.substr(j,2)===se?(G=se,j+=2):(G=t,$e===0&&Oe(be)),G===t&&(G=null),G!==t)if(he.test(r.charAt(j))?(Ce=r.charAt(j),j++):(Ce=t,$e===0&&Oe(Fe)),Ce!==t){for(He=[],Ke.test(r.charAt(j))?(Te=r.charAt(j),j++):(Te=t,$e===0&&Oe(ke));Te!==t;)He.push(Te),Ke.test(r.charAt(j))?(Te=r.charAt(j),j++):(Te=t,$e===0&&Oe(ke));He!==t?(wt=R,G=re(),R=G):(j=R,R=t)}else j=R,R=t;else j=R,R=t;return R}function Th(){var R,G;return R=j,r.substr(j,4)===ve?(G=ve,j+=4):(G=t,$e===0&&Oe(pe)),G!==t&&(wt=R,G=V()),R=G,R}function bE(){var R,G;return R=j,r.substr(j,4)===Qe?(G=Qe,j+=4):(G=t,$e===0&&Oe(le)),G!==t&&(wt=R,G=fe()),R=G,R===t&&(R=j,r.substr(j,5)===gt?(G=gt,j+=5):(G=t,$e===0&&Oe(Ht)),G!==t&&(wt=R,G=Mt()),R=G),R}function ic(){var R,G,Ce,He;return $e++,R=j,r.charCodeAt(j)===34?(G=jt,j++):(G=t,$e===0&&Oe(Qr)),G!==t?(r.charCodeAt(j)===34?(Ce=jt,j++):(Ce=t,$e===0&&Oe(Qr)),Ce!==t?(wt=R,G=Oi(),R=G):(j=R,R=t)):(j=R,R=t),R===t&&(R=j,r.charCodeAt(j)===34?(G=jt,j++):(G=t,$e===0&&Oe(Qr)),G!==t?(Ce=QE(),Ce!==t?(r.charCodeAt(j)===34?(He=jt,j++):(He=t,$e===0&&Oe(Qr)),He!==t?(wt=R,G=Xs(Ce),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)),$e--,R===t&&(G=t,$e===0&&Oe(Ei)),R}function QE(){var R,G,Ce;if(R=j,G=[],Ce=qu(),Ce!==t)for(;Ce!==t;)G.push(Ce),Ce=qu();else G=t;return G!==t&&(wt=R,G=Un(G)),R=G,R}function qu(){var R,G,Ce,He,Te,Xe;return Hn.test(r.charAt(j))?(R=r.charAt(j),j++):(R=t,$e===0&&Oe(Sr)),R===t&&(R=j,r.substr(j,2)===jn?(G=jn,j+=2):(G=t,$e===0&&Oe(fs)),G!==t&&(wt=R,G=ba()),R=G,R===t&&(R=j,r.substr(j,2)===DA?(G=DA,j+=2):(G=t,$e===0&&Oe(Nu)),G!==t&&(wt=R,G=hs()),R=G,R===t&&(R=j,r.substr(j,2)===RA?(G=RA,j+=2):(G=t,$e===0&&Oe(Qa)),G!==t&&(wt=R,G=Lu()),R=G,R===t&&(R=j,r.substr(j,2)===FA?(G=FA,j+=2):(G=t,$e===0&&Oe(NA)),G!==t&&(wt=R,G=vr()),R=G,R===t&&(R=j,r.substr(j,2)===zl?(G=zl,j+=2):(G=t,$e===0&&Oe(Tu)),G!==t&&(wt=R,G=xo()),R=G,R===t&&(R=j,r.substr(j,2)===Ou?(G=Ou,j+=2):(G=t,$e===0&&Oe(Sh)),G!==t&&(wt=R,G=vh()),R=G,R===t&&(R=j,r.substr(j,2)===Dr?(G=Dr,j+=2):(G=t,$e===0&&Oe(Ae)),G!==t&&(wt=R,G=ko()),R=G,R===t&&(R=j,r.substr(j,2)===Gn?(G=Gn,j+=2):(G=t,$e===0&&Oe(Mu)),G!==t&&(wt=R,G=St()),R=G,R===t&&(R=j,r.substr(j,2)===_l?(G=_l,j+=2):(G=t,$e===0&&Oe(Yn)),G!==t?(Ce=MA(),Ce!==t?(He=MA(),He!==t?(Te=MA(),Te!==t?(Xe=MA(),Xe!==t?(wt=R,G=ps(Ce,He,Te,Xe),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)))))))))),R}function MA(){var R;return ds.test(r.charAt(j))?(R=r.charAt(j),j++):(R=t,$e===0&&Oe(pt)),R}function Tr(){var R,G;if($e++,R=[],lt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(mn)),G!==t)for(;G!==t;)R.push(G),lt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(mn));else R=t;return $e--,R===t&&(G=t,$e===0&&Oe(Po)),R}function SE(){var R,G;if($e++,R=[],Tt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(Ku)),G!==t)for(;G!==t;)R.push(G),Tt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(Ku));else R=t;return $e--,R===t&&(G=t,$e===0&&Oe(S)),R}function to(){var R,G,Ce,He,Te,Xe;if(R=j,G=ro(),G!==t){for(Ce=[],He=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Xe=ro(),Xe!==t?(Te=[Te,Xe],He=Te):(j=He,He=t)):(j=He,He=t);He!==t;)Ce.push(He),He=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Xe=ro(),Xe!==t?(Te=[Te,Xe],He=Te):(j=He,He=t)):(j=He,He=t);Ce!==t?(G=[G,Ce],R=G):(j=R,R=t)}else j=R,R=t;return R}function ro(){var R;return r.substr(j,2)===Vl?(R=Vl,j+=2):(R=t,$e===0&&Oe(xh)),R===t&&(r.charCodeAt(j)===10?(R=kh,j++):(R=t,$e===0&&Oe(Ph)),R===t&&(r.charCodeAt(j)===13?(R=Dh,j++):(R=t,$e===0&&Oe(Rh)))),R}let Ju=2,KA=0;if(Sa=n(),Sa!==t&&j===r.length)return Sa;throw Sa!==t&&j{"use strict";var Upe=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=Upe(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};JQ.exports=_K;JQ.exports.default=_K});var ZK=w((pXe,XK)=>{XK.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Ic=w(Xn=>{"use strict";var $K=ZK(),To=process.env;Object.defineProperty(Xn,"_vendors",{value:$K.map(function(r){return r.constant})});Xn.name=null;Xn.isPR=null;$K.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return eU(i)});if(Xn[r.constant]=t,t)switch(Xn.name=r.name,typeof r.pr){case"string":Xn.isPR=!!To[r.pr];break;case"object":"env"in r.pr?Xn.isPR=r.pr.env in To&&To[r.pr.env]!==r.pr.ne:"any"in r.pr?Xn.isPR=r.pr.any.some(function(i){return!!To[i]}):Xn.isPR=eU(r.pr);break;default:Xn.isPR=null}});Xn.isCI=!!(To.CI||To.CONTINUOUS_INTEGRATION||To.BUILD_NUMBER||To.RUN_ID||Xn.name);function eU(r){return typeof r=="string"?!!To[r]:Object.keys(r).every(function(e){return To[e]===r[e]})}});var cg={};ft(cg,{KeyRelationship:()=>Bc,applyCascade:()=>fp,base64RegExp:()=>sU,colorStringAlphaRegExp:()=>nU,colorStringRegExp:()=>iU,computeKey:()=>zA,getPrintable:()=>ti,hasExactLength:()=>cU,hasForbiddenKeys:()=>mde,hasKeyRelationship:()=>eS,hasMaxLength:()=>tde,hasMinLength:()=>ede,hasMutuallyExclusiveKeys:()=>Ede,hasRequiredKeys:()=>Cde,hasUniqueItems:()=>rde,isArray:()=>Jpe,isAtLeast:()=>sde,isAtMost:()=>ode,isBase64:()=>pde,isBoolean:()=>Gpe,isDate:()=>qpe,isDict:()=>zpe,isEnum:()=>nn,isHexColor:()=>hde,isISO8601:()=>fde,isInExclusiveRange:()=>Ade,isInInclusiveRange:()=>ade,isInstanceOf:()=>Vpe,isInteger:()=>lde,isJSON:()=>dde,isLiteral:()=>Hpe,isLowerCase:()=>cde,isNegative:()=>ide,isNullable:()=>$pe,isNumber:()=>Ype,isObject:()=>_pe,isOneOf:()=>Xpe,isOptional:()=>Zpe,isPositive:()=>nde,isString:()=>gp,isTuple:()=>Wpe,isUUID4:()=>gde,isUnknown:()=>lU,isUpperCase:()=>ude,iso8601RegExp:()=>$Q,makeCoercionFn:()=>wc,makeSetter:()=>AU,makeTrait:()=>aU,makeValidator:()=>vt,matchesRegExp:()=>hp,plural:()=>hI,pushError:()=>mt,simpleKeyRegExp:()=>rU,uuid4RegExp:()=>oU});function vt({test:r}){return aU(r)()}function ti(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function zA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:rU.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function wc(r,e){return t=>{let i=r[e];return r[e]=t,wc(r,e).bind(null,i)}}function AU(r,e){return t=>{r[e]=t}}function hI(r,e,t){return r===1?e:t}function mt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function Hpe(r){return vt({test:(e,t)=>e!==r?mt(t,`Expected a literal (got ${ti(r)})`):!0})}function nn(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return vt({test:(i,n)=>t.has(i)?!0:mt(n,`Expected a valid enumeration value (got ${ti(i)})`)})}var rU,iU,nU,sU,oU,$Q,aU,lU,gp,jpe,Gpe,Ype,qpe,Jpe,Wpe,zpe,_pe,Vpe,Xpe,fp,Zpe,$pe,ede,tde,cU,rde,ide,nde,sde,ode,ade,Ade,lde,hp,cde,ude,gde,fde,hde,pde,dde,Cde,mde,Ede,Bc,Ide,eS,ys=uge(()=>{rU=/^[a-zA-Z_][a-zA-Z0-9_]*$/,iU=/^#[0-9a-f]{6}$/i,nU=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,sU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,oU=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,$Q=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,aU=r=>()=>r;lU=()=>vt({test:(r,e)=>!0});gp=()=>vt({test:(r,e)=>typeof r!="string"?mt(e,`Expected a string (got ${ti(r)})`):!0});jpe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Gpe=()=>vt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i=jpe.get(r);if(typeof i!="undefined")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a boolean (got ${ti(r)})`)}return!0}}),Ype=()=>vt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return mt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i!="undefined")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a number (got ${ti(r)})`)}return!0}}),qpe=()=>vt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof r=="string"&&$Q.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch(o){}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return mt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i!="undefined")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a date (got ${ti(r)})`)}return!0}}),Jpe=(r,{delimiter:e}={})=>vt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return mt(i,`Expected an array (got ${ti(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=cU(r.length);return vt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return mt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return mt(n,`Expected a tuple (got ${ti(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;avt({test:(t,i)=>{if(typeof t!="object"||t===null)return mt(i,`Expected an object (got ${ti(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return vt({test:(i,n)=>{if(typeof i!="object"||i===null)return mt(n,`Expected an object (got ${ti(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=mt(Object.assign(Object.assign({},n),{p:zA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:zA(n,l),coercion:wc(i,l)}))&&a:e===null?a=mt(Object.assign(Object.assign({},n),{p:zA(n,l)}),`Extraneous property (got ${ti(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:AU(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Vpe=r=>vt({test:(e,t)=>e instanceof r?!0:mt(t,`Expected an instance of ${r.name} (got ${ti(e)})`)}),Xpe=(r,{exclusive:e=!1}={})=>vt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=r.length;c1?mt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),fp=(r,e)=>vt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)!="undefined"?wc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Zpe=r=>vt({test:(e,t)=>typeof e=="undefined"?!0:r(e,t)}),$pe=r=>vt({test:(e,t)=>e===null?!0:r(e,t)}),ede=r=>vt({test:(e,t)=>e.length>=r?!0:mt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),tde=r=>vt({test:(e,t)=>e.length<=r?!0:mt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),cU=r=>vt({test:(e,t)=>e.length!==r?mt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),rde=({map:r}={})=>vt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;svt({test:(r,e)=>r<=0?!0:mt(e,`Expected to be negative (got ${r})`)}),nde=()=>vt({test:(r,e)=>r>=0?!0:mt(e,`Expected to be positive (got ${r})`)}),sde=r=>vt({test:(e,t)=>e>=r?!0:mt(t,`Expected to be at least ${r} (got ${e})`)}),ode=r=>vt({test:(e,t)=>e<=r?!0:mt(t,`Expected to be at most ${r} (got ${e})`)}),ade=(r,e)=>vt({test:(t,i)=>t>=r&&t<=e?!0:mt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),Ade=(r,e)=>vt({test:(t,i)=>t>=r&&tvt({test:(e,t)=>e!==Math.round(e)?mt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:mt(t,`Expected to be a safe integer (got ${e})`)}),hp=r=>vt({test:(e,t)=>r.test(e)?!0:mt(t,`Expected to match the pattern ${r.toString()} (got ${ti(e)})`)}),cde=()=>vt({test:(r,e)=>r!==r.toLowerCase()?mt(e,`Expected to be all-lowercase (got ${r})`):!0}),ude=()=>vt({test:(r,e)=>r!==r.toUpperCase()?mt(e,`Expected to be all-uppercase (got ${r})`):!0}),gde=()=>vt({test:(r,e)=>oU.test(r)?!0:mt(e,`Expected to be a valid UUID v4 (got ${ti(r)})`)}),fde=()=>vt({test:(r,e)=>$Q.test(r)?!1:mt(e,`Expected to be a valid ISO 8601 date string (got ${ti(r)})`)}),hde=({alpha:r=!1})=>vt({test:(e,t)=>(r?iU.test(e):nU.test(e))?!0:mt(t,`Expected to be a valid hexadecimal color string (got ${ti(e)})`)}),pde=()=>vt({test:(r,e)=>sU.test(r)?!0:mt(e,`Expected to be a valid base 64 string (got ${ti(r)})`)}),dde=(r=lU())=>vt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch(n){return mt(t,`Expected to be a valid JSON string (got ${ti(e)})`)}return r(i,t)}}),Cde=r=>{let e=new Set(r);return vt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?mt(i,`Missing required ${hI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},mde=r=>{let e=new Set(r);return vt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?mt(i,`Forbidden ${hI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Ede=r=>{let e=new Set(r);return vt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?mt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(Bc||(Bc={}));Ide={[Bc.Forbids]:{expect:!1,message:"forbids using"},[Bc.Requires]:{expect:!0,message:"requires using"}},eS=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Ide[e];return vt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?mt(l,`Property "${r}" ${o.message} ${hI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var kU=w((dZe,xU)=>{"use strict";xU.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var gg=w((CZe,aS)=>{"use strict";var Ode=kU(),PU=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=Ode(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};aS.exports=PU;aS.exports.default=PU});var mp=w((EZe,DU)=>{var Mde="2.0.0",Kde=256,Ude=Number.MAX_SAFE_INTEGER||9007199254740991,Hde=16;DU.exports={SEMVER_SPEC_VERSION:Mde,MAX_LENGTH:Kde,MAX_SAFE_INTEGER:Ude,MAX_SAFE_COMPONENT_LENGTH:Hde}});var Ep=w((IZe,RU)=>{var jde=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};RU.exports=jde});var bc=w((VA,FU)=>{var{MAX_SAFE_COMPONENT_LENGTH:AS}=mp(),Gde=Ep();VA=FU.exports={};var Yde=VA.re=[],rt=VA.src=[],it=VA.t={},qde=0,xt=(r,e,t)=>{let i=qde++;Gde(i,e),it[r]=i,rt[i]=e,Yde[i]=new RegExp(e,t?"g":void 0)};xt("NUMERICIDENTIFIER","0|[1-9]\\d*");xt("NUMERICIDENTIFIERLOOSE","[0-9]+");xt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");xt("MAINVERSION",`(${rt[it.NUMERICIDENTIFIER]})\\.(${rt[it.NUMERICIDENTIFIER]})\\.(${rt[it.NUMERICIDENTIFIER]})`);xt("MAINVERSIONLOOSE",`(${rt[it.NUMERICIDENTIFIERLOOSE]})\\.(${rt[it.NUMERICIDENTIFIERLOOSE]})\\.(${rt[it.NUMERICIDENTIFIERLOOSE]})`);xt("PRERELEASEIDENTIFIER",`(?:${rt[it.NUMERICIDENTIFIER]}|${rt[it.NONNUMERICIDENTIFIER]})`);xt("PRERELEASEIDENTIFIERLOOSE",`(?:${rt[it.NUMERICIDENTIFIERLOOSE]}|${rt[it.NONNUMERICIDENTIFIER]})`);xt("PRERELEASE",`(?:-(${rt[it.PRERELEASEIDENTIFIER]}(?:\\.${rt[it.PRERELEASEIDENTIFIER]})*))`);xt("PRERELEASELOOSE",`(?:-?(${rt[it.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${rt[it.PRERELEASEIDENTIFIERLOOSE]})*))`);xt("BUILDIDENTIFIER","[0-9A-Za-z-]+");xt("BUILD",`(?:\\+(${rt[it.BUILDIDENTIFIER]}(?:\\.${rt[it.BUILDIDENTIFIER]})*))`);xt("FULLPLAIN",`v?${rt[it.MAINVERSION]}${rt[it.PRERELEASE]}?${rt[it.BUILD]}?`);xt("FULL",`^${rt[it.FULLPLAIN]}$`);xt("LOOSEPLAIN",`[v=\\s]*${rt[it.MAINVERSIONLOOSE]}${rt[it.PRERELEASELOOSE]}?${rt[it.BUILD]}?`);xt("LOOSE",`^${rt[it.LOOSEPLAIN]}$`);xt("GTLT","((?:<|>)?=?)");xt("XRANGEIDENTIFIERLOOSE",`${rt[it.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);xt("XRANGEIDENTIFIER",`${rt[it.NUMERICIDENTIFIER]}|x|X|\\*`);xt("XRANGEPLAIN",`[v=\\s]*(${rt[it.XRANGEIDENTIFIER]})(?:\\.(${rt[it.XRANGEIDENTIFIER]})(?:\\.(${rt[it.XRANGEIDENTIFIER]})(?:${rt[it.PRERELEASE]})?${rt[it.BUILD]}?)?)?`);xt("XRANGEPLAINLOOSE",`[v=\\s]*(${rt[it.XRANGEIDENTIFIERLOOSE]})(?:\\.(${rt[it.XRANGEIDENTIFIERLOOSE]})(?:\\.(${rt[it.XRANGEIDENTIFIERLOOSE]})(?:${rt[it.PRERELEASELOOSE]})?${rt[it.BUILD]}?)?)?`);xt("XRANGE",`^${rt[it.GTLT]}\\s*${rt[it.XRANGEPLAIN]}$`);xt("XRANGELOOSE",`^${rt[it.GTLT]}\\s*${rt[it.XRANGEPLAINLOOSE]}$`);xt("COERCE",`(^|[^\\d])(\\d{1,${AS}})(?:\\.(\\d{1,${AS}}))?(?:\\.(\\d{1,${AS}}))?(?:$|[^\\d])`);xt("COERCERTL",rt[it.COERCE],!0);xt("LONETILDE","(?:~>?)");xt("TILDETRIM",`(\\s*)${rt[it.LONETILDE]}\\s+`,!0);VA.tildeTrimReplace="$1~";xt("TILDE",`^${rt[it.LONETILDE]}${rt[it.XRANGEPLAIN]}$`);xt("TILDELOOSE",`^${rt[it.LONETILDE]}${rt[it.XRANGEPLAINLOOSE]}$`);xt("LONECARET","(?:\\^)");xt("CARETTRIM",`(\\s*)${rt[it.LONECARET]}\\s+`,!0);VA.caretTrimReplace="$1^";xt("CARET",`^${rt[it.LONECARET]}${rt[it.XRANGEPLAIN]}$`);xt("CARETLOOSE",`^${rt[it.LONECARET]}${rt[it.XRANGEPLAINLOOSE]}$`);xt("COMPARATORLOOSE",`^${rt[it.GTLT]}\\s*(${rt[it.LOOSEPLAIN]})$|^$`);xt("COMPARATOR",`^${rt[it.GTLT]}\\s*(${rt[it.FULLPLAIN]})$|^$`);xt("COMPARATORTRIM",`(\\s*)${rt[it.GTLT]}\\s*(${rt[it.LOOSEPLAIN]}|${rt[it.XRANGEPLAIN]})`,!0);VA.comparatorTrimReplace="$1$2$3";xt("HYPHENRANGE",`^\\s*(${rt[it.XRANGEPLAIN]})\\s+-\\s+(${rt[it.XRANGEPLAIN]})\\s*$`);xt("HYPHENRANGELOOSE",`^\\s*(${rt[it.XRANGEPLAINLOOSE]})\\s+-\\s+(${rt[it.XRANGEPLAINLOOSE]})\\s*$`);xt("STAR","(<|>)?=?\\s*\\*");xt("GTE0","^\\s*>=\\s*0.0.0\\s*$");xt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Ip=w((yZe,NU)=>{var Jde=["includePrerelease","loose","rtl"],Wde=r=>r?typeof r!="object"?{loose:!0}:Jde.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};NU.exports=Wde});var yI=w((wZe,LU)=>{var TU=/^[0-9]+$/,OU=(r,e)=>{let t=TU.test(r),i=TU.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rOU(e,r);LU.exports={compareIdentifiers:OU,rcompareIdentifiers:zde}});var Hi=w((BZe,MU)=>{var wI=Ep(),{MAX_LENGTH:KU,MAX_SAFE_INTEGER:BI}=mp(),{re:UU,t:HU}=bc(),_de=Ip(),{compareIdentifiers:yp}=yI(),Bs=class{constructor(e,t){if(t=_de(t),e instanceof Bs){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>KU)throw new TypeError(`version is longer than ${KU} characters`);wI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?UU[HU.LOOSE]:UU[HU.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>BI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>BI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>BI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};MU.exports=Bs});var Qc=w((bZe,jU)=>{var{MAX_LENGTH:Vde}=mp(),{re:GU,t:YU}=bc(),qU=Hi(),Xde=Ip(),Zde=(r,e)=>{if(e=Xde(e),r instanceof qU)return r;if(typeof r!="string"||r.length>Vde||!(e.loose?GU[YU.LOOSE]:GU[YU.FULL]).test(r))return null;try{return new qU(r,e)}catch(i){return null}};jU.exports=Zde});var WU=w((QZe,JU)=>{var $de=Qc(),eCe=(r,e)=>{let t=$de(r,e);return t?t.version:null};JU.exports=eCe});var _U=w((SZe,zU)=>{var tCe=Qc(),rCe=(r,e)=>{let t=tCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};zU.exports=rCe});var XU=w((vZe,VU)=>{var iCe=Hi(),nCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new iCe(r,t).inc(e,i).version}catch(n){return null}};VU.exports=nCe});var bs=w((xZe,ZU)=>{var $U=Hi(),sCe=(r,e,t)=>new $U(r,t).compare(new $U(e,t));ZU.exports=sCe});var bI=w((kZe,e2)=>{var oCe=bs(),aCe=(r,e,t)=>oCe(r,e,t)===0;e2.exports=aCe});var i2=w((PZe,t2)=>{var r2=Qc(),ACe=bI(),lCe=(r,e)=>{if(ACe(r,e))return null;{let t=r2(r),i=r2(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};t2.exports=lCe});var s2=w((DZe,n2)=>{var cCe=Hi(),uCe=(r,e)=>new cCe(r,e).major;n2.exports=uCe});var a2=w((RZe,o2)=>{var gCe=Hi(),fCe=(r,e)=>new gCe(r,e).minor;o2.exports=fCe});var l2=w((FZe,A2)=>{var hCe=Hi(),pCe=(r,e)=>new hCe(r,e).patch;A2.exports=pCe});var u2=w((NZe,c2)=>{var dCe=Qc(),CCe=(r,e)=>{let t=dCe(r,e);return t&&t.prerelease.length?t.prerelease:null};c2.exports=CCe});var f2=w((LZe,g2)=>{var mCe=bs(),ECe=(r,e,t)=>mCe(e,r,t);g2.exports=ECe});var p2=w((TZe,h2)=>{var ICe=bs(),yCe=(r,e)=>ICe(r,e,!0);h2.exports=yCe});var QI=w((OZe,d2)=>{var C2=Hi(),wCe=(r,e,t)=>{let i=new C2(r,t),n=new C2(e,t);return i.compare(n)||i.compareBuild(n)};d2.exports=wCe});var E2=w((MZe,m2)=>{var BCe=QI(),bCe=(r,e)=>r.sort((t,i)=>BCe(t,i,e));m2.exports=bCe});var y2=w((KZe,I2)=>{var QCe=QI(),SCe=(r,e)=>r.sort((t,i)=>QCe(i,t,e));I2.exports=SCe});var wp=w((UZe,w2)=>{var vCe=bs(),xCe=(r,e,t)=>vCe(r,e,t)>0;w2.exports=xCe});var SI=w((HZe,B2)=>{var kCe=bs(),PCe=(r,e,t)=>kCe(r,e,t)<0;B2.exports=PCe});var lS=w((jZe,b2)=>{var DCe=bs(),RCe=(r,e,t)=>DCe(r,e,t)!==0;b2.exports=RCe});var vI=w((GZe,Q2)=>{var FCe=bs(),NCe=(r,e,t)=>FCe(r,e,t)>=0;Q2.exports=NCe});var xI=w((YZe,S2)=>{var LCe=bs(),TCe=(r,e,t)=>LCe(r,e,t)<=0;S2.exports=TCe});var cS=w((qZe,v2)=>{var OCe=bI(),MCe=lS(),KCe=wp(),UCe=vI(),HCe=SI(),jCe=xI(),GCe=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return OCe(r,t,i);case"!=":return MCe(r,t,i);case">":return KCe(r,t,i);case">=":return UCe(r,t,i);case"<":return HCe(r,t,i);case"<=":return jCe(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};v2.exports=GCe});var k2=w((JZe,x2)=>{var YCe=Hi(),qCe=Qc(),{re:kI,t:PI}=bc(),JCe=(r,e)=>{if(r instanceof YCe)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(kI[PI.COERCE]);else{let i;for(;(i=kI[PI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),kI[PI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;kI[PI.COERCERTL].lastIndex=-1}return t===null?null:qCe(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};x2.exports=JCe});var D2=w((WZe,P2)=>{"use strict";P2.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Bp=w((zZe,R2)=>{"use strict";R2.exports=Gt;Gt.Node=Sc;Gt.create=Gt;function Gt(r){var e=this;if(e instanceof Gt||(e=new Gt),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Gt.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Gt.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Gt.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Gt.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Gt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Gt.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var VCe=Bp(),vc=Symbol("max"),Ua=Symbol("length"),fg=Symbol("lengthCalculator"),bp=Symbol("allowStale"),xc=Symbol("maxAge"),Ha=Symbol("dispose"),N2=Symbol("noDisposeOnSet"),yi=Symbol("lruList"),oo=Symbol("cache"),L2=Symbol("updateAgeOnGet"),uS=()=>1,T2=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[vc]=e.max||Infinity,i=e.length||uS;if(this[fg]=typeof i!="function"?uS:i,this[bp]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[xc]=e.maxAge||0,this[Ha]=e.dispose,this[N2]=e.noDisposeOnSet||!1,this[L2]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[vc]=e||Infinity,Qp(this)}get max(){return this[vc]}set allowStale(e){this[bp]=!!e}get allowStale(){return this[bp]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[xc]=e,Qp(this)}get maxAge(){return this[xc]}set lengthCalculator(e){typeof e!="function"&&(e=uS),e!==this[fg]&&(this[fg]=e,this[Ua]=0,this[yi].forEach(t=>{t.length=this[fg](t.value,t.key),this[Ua]+=t.length})),Qp(this)}get lengthCalculator(){return this[fg]}get length(){return this[Ua]}get itemCount(){return this[yi].length}rforEach(e,t){t=t||this;for(let i=this[yi].tail;i!==null;){let n=i.prev;M2(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[yi].head;i!==null;){let n=i.next;M2(this,e,i,t),i=n}}keys(){return this[yi].toArray().map(e=>e.key)}values(){return this[yi].toArray().map(e=>e.value)}reset(){this[Ha]&&this[yi]&&this[yi].length&&this[yi].forEach(e=>this[Ha](e.key,e.value)),this[oo]=new Map,this[yi]=new VCe,this[Ua]=0}dump(){return this[yi].map(e=>DI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[yi]}set(e,t,i){if(i=i||this[xc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[fg](t,e);if(this[oo].has(e)){if(s>this[vc])return hg(this,this[oo].get(e)),!1;let l=this[oo].get(e).value;return this[Ha]&&(this[N2]||this[Ha](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Ua]+=s-l.length,l.length=s,this.get(e),Qp(this),!0}let o=new O2(e,t,s,n,i);return o.length>this[vc]?(this[Ha]&&this[Ha](e,t),!1):(this[Ua]+=o.length,this[yi].unshift(o),this[oo].set(e,this[yi].head),Qp(this),!0)}has(e){if(!this[oo].has(e))return!1;let t=this[oo].get(e).value;return!DI(this,t)}get(e){return gS(this,e,!0)}peek(e){return gS(this,e,!1)}pop(){let e=this[yi].tail;return e?(hg(this,e),e.value):null}del(e){hg(this,this[oo].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[oo].forEach((e,t)=>gS(this,t,!1))}},gS=(r,e,t)=>{let i=r[oo].get(e);if(i){let n=i.value;if(DI(r,n)){if(hg(r,i),!r[bp])return}else t&&(r[L2]&&(i.value.now=Date.now()),r[yi].unshiftNode(i));return n.value}},DI=(r,e)=>{if(!e||!e.maxAge&&!r[xc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[xc]&&t>r[xc]},Qp=r=>{if(r[Ua]>r[vc])for(let e=r[yi].tail;r[Ua]>r[vc]&&e!==null;){let t=e.prev;hg(r,e),e=t}},hg=(r,e)=>{if(e){let t=e.value;r[Ha]&&r[Ha](t.key,t.value),r[Ua]-=t.length,r[oo].delete(t.key),r[yi].removeNode(e)}},O2=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},M2=(r,e,t,i)=>{let n=t.value;DI(r,n)&&(hg(r,t),r[bp]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};F2.exports=T2});var Qs=w((VZe,U2)=>{var pg=class{constructor(e,t){if(t=XCe(t),e instanceof pg)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new pg(e.raw,t);if(e instanceof fS)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!j2(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&rme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=H2.get(i);if(n)return n;let s=this.options.loose,o=s?ji[ki.HYPHENRANGELOOSE]:ji[ki.HYPHENRANGE];e=e.replace(o,sme(this.options.includePrerelease)),zr("hyphen replace",e),e=e.replace(ji[ki.COMPARATORTRIM],$Ce),zr("comparator trim",e,ji[ki.COMPARATORTRIM]),e=e.replace(ji[ki.TILDETRIM],eme),e=e.replace(ji[ki.CARETTRIM],tme),e=e.split(/\s+/).join(" ");let a=s?ji[ki.COMPARATORLOOSE]:ji[ki.COMPARATOR],l=e.split(" ").map(f=>ime(f,this.options)).join(" ").split(/\s+/).map(f=>nme(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new fS(f,this.options)),c=l.length,u=new Map;for(let f of l){if(j2(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return H2.set(i,g),g}intersects(e,t){if(!(e instanceof pg))throw new TypeError("a Range is required");return this.set.some(i=>G2(i,t)&&e.set.some(n=>G2(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new ZCe(e,this.options)}catch(t){return!1}for(let t=0;tr.value==="<0.0.0-0",rme=r=>r.value==="",G2=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},ime=(r,e)=>(zr("comp",r,e),r=lme(r,e),zr("caret",r),r=Ame(r,e),zr("tildes",r),r=cme(r,e),zr("xrange",r),r=ume(r,e),zr("stars",r),r),on=r=>!r||r.toLowerCase()==="x"||r==="*",Ame=(r,e)=>r.trim().split(/\s+/).map(t=>gme(t,e)).join(" "),gme=(r,e)=>{let t=e.loose?ji[ki.TILDELOOSE]:ji[ki.TILDE];return r.replace(t,(i,n,s,o,a)=>{zr("tilde",r,i,n,s,o,a);let l;return on(n)?l="":on(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:on(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(zr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,zr("tilde return",l),l})},lme=(r,e)=>r.trim().split(/\s+/).map(t=>fme(t,e)).join(" "),fme=(r,e)=>{zr("caret",r,e);let t=e.loose?ji[ki.CARETLOOSE]:ji[ki.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{zr("caret",r,n,s,o,a,l);let c;return on(s)?c="":on(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:on(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(zr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(zr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),zr("caret return",c),c})},cme=(r,e)=>(zr("replaceXRanges",r,e),r.split(/\s+/).map(t=>hme(t,e)).join(" ")),hme=(r,e)=>{r=r.trim();let t=e.loose?ji[ki.XRANGELOOSE]:ji[ki.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{zr("xRange",r,i,n,s,o,a,l);let c=on(s),u=c||on(o),g=u||on(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),zr("xRange return",i),i})},ume=(r,e)=>(zr("replaceStars",r,e),r.trim().replace(ji[ki.STAR],"")),nme=(r,e)=>(zr("replaceGTE0",r,e),r.trim().replace(ji[e.includePrerelease?ki.GTE0PRE:ki.GTE0],"")),sme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(on(i)?t="":on(n)?t=`>=${i}.0.0${r?"-0":""}`:on(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,on(c)?l="":on(u)?l=`<${+c+1}.0.0-0`:on(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),ome=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Sp=w((XZe,Y2)=>{var vp=Symbol("SemVer ANY"),xp=class{static get ANY(){return vp}constructor(e,t){if(t=pme(t),e instanceof xp){if(e.loose===!!t.loose)return e;e=e.value}pS("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===vp?this.value="":this.value=this.operator+this.semver.version,pS("comp",this)}parse(e){let t=this.options.loose?q2[J2.COMPARATORLOOSE]:q2[J2.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new W2(i[2],this.options.loose):this.semver=vp}toString(){return this.value}test(e){if(pS("Comparator.test",e,this.options.loose),this.semver===vp||e===vp)return!0;if(typeof e=="string")try{e=new W2(e,this.options)}catch(t){return!1}return hS(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof xp))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new z2(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new z2(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=hS(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=hS(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};Y2.exports=xp;var pme=Ip(),{re:q2,t:J2}=bc(),hS=cS(),pS=Ep(),W2=Hi(),z2=Qs()});var kp=w((ZZe,_2)=>{var dme=Qs(),Cme=(r,e,t)=>{try{e=new dme(e,t)}catch(i){return!1}return e.test(r)};_2.exports=Cme});var X2=w(($Ze,V2)=>{var mme=Qs(),Eme=(r,e)=>new mme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));V2.exports=Eme});var $2=w((e$e,Z2)=>{var Ime=Hi(),yme=Qs(),wme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new yme(e,t)}catch(o){return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Ime(i,t))}),i};Z2.exports=wme});var tH=w((t$e,eH)=>{var Bme=Hi(),bme=Qs(),Qme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new bme(e,t)}catch(o){return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Bme(i,t))}),i};eH.exports=Qme});var nH=w((r$e,rH)=>{var dS=Hi(),Sme=Qs(),iH=wp(),vme=(r,e)=>{r=new Sme(r,e);let t=new dS("0.0.0");if(r.test(t)||(t=new dS("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new dS(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||iH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||iH(t,s))&&(t=s)}return t&&r.test(t)?t:null};rH.exports=vme});var oH=w((i$e,sH)=>{var xme=Qs(),kme=(r,e)=>{try{return new xme(r,e).range||"*"}catch(t){return null}};sH.exports=kme});var RI=w((n$e,aH)=>{var Pme=Hi(),AH=Sp(),{ANY:Dme}=AH,Rme=Qs(),Fme=kp(),lH=wp(),cH=SI(),Nme=xI(),Lme=vI(),Tme=(r,e,t,i)=>{r=new Pme(r,i),e=new Rme(e,i);let n,s,o,a,l;switch(t){case">":n=lH,s=Nme,o=cH,a=">",l=">=";break;case"<":n=cH,s=Lme,o=lH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Fme(r,e,i))return!1;for(let c=0;c{h.semver===Dme&&(h=new AH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};aH.exports=Tme});var gH=w((s$e,uH)=>{var Ome=RI(),Mme=(r,e,t)=>Ome(r,e,">",t);uH.exports=Mme});var hH=w((o$e,fH)=>{var Kme=RI(),Ume=(r,e,t)=>Kme(r,e,"<",t);fH.exports=Ume});var CH=w((a$e,pH)=>{var dH=Qs(),Hme=(r,e,t)=>(r=new dH(r,t),e=new dH(e,t),r.intersects(e));pH.exports=Hme});var EH=w((A$e,mH)=>{var jme=kp(),Gme=bs();mH.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>Gme(u,g,t));for(let u of o)jme(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var yH=Qs(),FI=Sp(),{ANY:CS}=FI,Pp=kp(),mS=bs(),qme=(r,e,t={})=>{if(r===e)return!0;r=new yH(r,t),e=new yH(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=Yme(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},Yme=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===CS){if(e.length===1&&e[0].semver===CS)return!0;t.includePrerelease?r=[new FI(">=0.0.0-0")]:r=[new FI(">=0.0.0")]}if(e.length===1&&e[0].semver===CS){if(t.includePrerelease)return!0;e=[new FI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=wH(n,h,t):h.operator==="<"||h.operator==="<="?s=BH(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=mS(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Pp(h,String(n),t)||s&&!Pp(h,String(s),t))return null;for(let p of e)if(!Pp(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=wH(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!Pp(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=BH(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Pp(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},wH=(r,e,t)=>{if(!r)return e;let i=mS(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},BH=(r,e,t)=>{if(!r)return e;let i=mS(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};IH.exports=qme});var ri=w((c$e,QH)=>{var ES=bc();QH.exports={re:ES.re,src:ES.src,tokens:ES.t,SEMVER_SPEC_VERSION:mp().SEMVER_SPEC_VERSION,SemVer:Hi(),compareIdentifiers:yI().compareIdentifiers,rcompareIdentifiers:yI().rcompareIdentifiers,parse:Qc(),valid:WU(),clean:_U(),inc:XU(),diff:i2(),major:s2(),minor:a2(),patch:l2(),prerelease:u2(),compare:bs(),rcompare:f2(),compareLoose:p2(),compareBuild:QI(),sort:E2(),rsort:y2(),gt:wp(),lt:SI(),eq:bI(),neq:lS(),gte:vI(),lte:xI(),cmp:cS(),coerce:k2(),Comparator:Sp(),Range:Qs(),satisfies:kp(),toComparators:X2(),maxSatisfying:$2(),minSatisfying:tH(),minVersion:nH(),validRange:oH(),outside:RI(),gtr:gH(),ltr:hH(),intersects:CH(),simplifyRange:EH(),subset:bH()}});var IS=w(NI=>{"use strict";Object.defineProperty(NI,"__esModule",{value:!0});NI.VERSION=void 0;NI.VERSION="9.1.0"});var Yt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof LI=="object"&&LI.exports?LI.exports=e():r.regexpToAst=e()})(typeof self!="undefined"?self:SH,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var m=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:m,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],m=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(m)}},r.prototype.alternative=function(){for(var p=[],m=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(m)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var m;switch(this.popChar()){case"=":m="Lookahead";break;case"!":m="NegativeLookahead";break}a(m);var y=this.disjunction();return this.consumeChar(")"),{type:m,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var m,y=this.idx;switch(this.popChar()){case"*":m={atLeast:0,atMost:Infinity};break;case"+":m={atLeast:1,atMost:Infinity};break;case"?":m={atLeast:0,atMost:1};break;case"{":var b=this.integerIncludingZero();switch(this.popChar()){case"}":m={atLeast:b,atMost:b};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),m={atLeast:b,atMost:v}):m={atLeast:b,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&m===void 0)return;a(m);break}if(!(p===!0&&m===void 0))return a(m),this.peekChar(0)==="?"?(this.consumeChar("?"),m.greedy=!1):m.greedy=!0,m.type="Quantifier",m.loc=this.loc(y),m},r.prototype.atom=function(){var p,m=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(m),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,m=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,m=!0;break;case"s":p=f;break;case"S":p=f,m=!0;break;case"w":p=g;break;case"W":p=g,m=!0;break}return a(p),{type:"Set",value:p,complement:m}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var m=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:m}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],m=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),m=!0);this.isClassAtom();){var y=this.classAtom(),b=y.type==="Character";if(b&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),x=v.type==="Character";if(x){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,m){p.length!==void 0?p.forEach(function(y){m.push(y)}):m.push(p)}function o(p,m){if(p[m]===!0)throw"duplicate flag "+m;p[m]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var m in p){var y=p[m];p.hasOwnProperty(m)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(b){this.visit(b)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var MI=w(dg=>{"use strict";Object.defineProperty(dg,"__esModule",{value:!0});dg.clearRegExpParserCache=dg.getRegExpAst=void 0;var Jme=TI(),OI={},Wme=new Jme.RegExpParser;function zme(r){var e=r.toString();if(OI.hasOwnProperty(e))return OI[e];var t=Wme.pattern(e);return OI[e]=t,t}dg.getRegExpAst=zme;function _me(){OI={}}dg.clearRegExpParserCache=_me});var DH=w(Bn=>{"use strict";var Vme=Bn&&Bn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Bn,"__esModule",{value:!0});Bn.canMatchCharCode=Bn.firstCharOptimizedIndices=Bn.getOptimizedStartCodesIndices=Bn.failedOptimizationPrefixMsg=void 0;var vH=TI(),Ss=Yt(),xH=MI(),ja=yS(),kH="Complement Sets are not supported for first char optimization";Bn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function Xme(r,e){e===void 0&&(e=!1);try{var t=(0,xH.getRegExpAst)(r),i=KI(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===kH)e&&(0,Ss.PRINT_WARNING)(""+Bn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,Ss.PRINT_ERROR)(Bn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+r.toString()+` > +`)+(" Using the regexp-to-ast library version: "+vH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Bn.getOptimizedStartCodesIndices=Xme;function KI(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=ja.minOptimizationVal)for(var f=u.from>=ja.minOptimizationVal?u.from:ja.minOptimizationVal,h=u.to,p=(0,ja.charCodeToOptimizedIndex)(f),m=(0,ja.charCodeToOptimizedIndex)(h),y=p;y<=m;y++)e[y]=y}}});break;case"Group":KI(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&wS(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,Ss.values)(e)}Bn.firstCharOptimizedIndices=KI;function UI(r,e,t){var i=(0,ja.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&Zme(r,e)}function Zme(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,ja.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,ja.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function PH(r,e){return(0,Ss.find)(r.value,function(t){if(typeof t=="number")return(0,Ss.contains)(e,t);var i=t;return(0,Ss.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function wS(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,Ss.isArray)(r.value)?(0,Ss.every)(r.value,wS):wS(r.value):!1}var $me=function(r){Vme(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,Ss.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?PH(t,this.targetCharCodes)===void 0&&(this.found=!0):PH(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(vH.BaseRegExpVisitor);function eEe(r,e){if(e instanceof RegExp){var t=(0,xH.getRegExpAst)(e),i=new $me(r);return i.visit(t),i.found}else return(0,Ss.find)(e,function(n){return(0,Ss.contains)(r,n.charCodeAt(0))})!==void 0}Bn.canMatchCharCode=eEe});var yS=w(Ze=>{"use strict";var RH=Ze&&Ze.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.charCodeToOptimizedIndex=Ze.minOptimizationVal=Ze.buildLineBreakIssueMessage=Ze.LineTerminatorOptimizedTester=Ze.isShortPattern=Ze.isCustomPattern=Ze.cloneEmptyGroups=Ze.performWarningRuntimeChecks=Ze.performRuntimeChecks=Ze.addStickyFlag=Ze.addStartOfInput=Ze.findUnreachablePatterns=Ze.findModesThatDoNotExist=Ze.findInvalidGroupType=Ze.findDuplicatePatterns=Ze.findUnsupportedFlags=Ze.findStartOfInputAnchor=Ze.findEmptyMatchRegExps=Ze.findEndOfInputAnchor=Ze.findInvalidPatterns=Ze.findMissingPatterns=Ze.validatePatterns=Ze.analyzeTokenTypes=Ze.enableSticky=Ze.disableSticky=Ze.SUPPORT_STICKY=Ze.MODES=Ze.DEFAULT_MODE=void 0;var FH=TI(),Ar=Dp(),Ne=Yt(),Cg=DH(),NH=MI(),Mo="PATTERN";Ze.DEFAULT_MODE="defaultMode";Ze.MODES="modes";Ze.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function tEe(){Ze.SUPPORT_STICKY=!1}Ze.disableSticky=tEe;function rEe(){Ze.SUPPORT_STICKY=!0}Ze.enableSticky=rEe;function nEe(r,e){e=(0,Ne.defaults)(e,{useSticky:Ze.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(v,x){return x()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){iEe()});var i;t("Reject Lexer.NA",function(){i=(0,Ne.reject)(r,function(v){return v[Mo]===Ar.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,Ne.map)(i,function(v){var x=v[Mo];if((0,Ne.isRegExp)(x)){var T=x.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!x.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,Ne.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?bS(x):BS(x)}else{if((0,Ne.isFunction)(x))return n=!0,{exec:x};if((0,Ne.has)(x,"exec"))return n=!0,x;if(typeof x=="string"){if(x.length===1)return x;var q=x.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),Y=new RegExp(q);return e.useSticky?bS(Y):BS(Y)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,Ne.map)(i,function(v){return v.tokenTypeIdx}),a=(0,Ne.map)(i,function(v){var x=v.GROUP;if(x!==Ar.Lexer.SKIPPED){if((0,Ne.isString)(x))return x;if((0,Ne.isUndefined)(x))return!1;throw Error("non exhaustive match")}}),l=(0,Ne.map)(i,function(v){var x=v.LONGER_ALT;if(x){var T=(0,Ne.isArray)(x)?(0,Ne.map)(x,function(q){return(0,Ne.indexOf)(i,q)}):[(0,Ne.indexOf)(i,x)];return T}}),c=(0,Ne.map)(i,function(v){return v.PUSH_MODE}),u=(0,Ne.map)(i,function(v){return(0,Ne.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=OH(e.lineTerminatorCharacters);g=(0,Ne.map)(i,function(x){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ne.map)(i,function(x){if((0,Ne.has)(x,"LINE_BREAKS"))return x.LINE_BREAKS;if(TH(x,v)===!1)return(0,Cg.canMatchCharCode)(v,x.PATTERN)}))});var f,h,p,m;t("Misc Mapping #2",function(){f=(0,Ne.map)(i,QS),h=(0,Ne.map)(s,LH),p=(0,Ne.reduce)(i,function(v,x){var T=x.GROUP;return(0,Ne.isString)(T)&&T!==Ar.Lexer.SKIPPED&&(v[T]=[]),v},{}),m=(0,Ne.map)(s,function(v,x){return{pattern:s[x],longerAlt:l[x],canLineTerminator:g[x],isCustom:f[x],short:h[x],group:a[x],push:c[x],pop:u[x],tokenTypeIdx:o[x],tokenType:i[x]}})});var y=!0,b=[];return e.safeMode||t("First Char Optimization",function(){b=(0,Ne.reduce)(i,function(v,x,T){if(typeof x.PATTERN=="string"){var q=x.PATTERN.charCodeAt(0),Y=vS(q);SS(v,Y,m[T])}else if((0,Ne.isArray)(x.START_CHARS_HINT)){var $;(0,Ne.forEach)(x.START_CHARS_HINT,function(ne){var ee=typeof ne=="string"?ne.charCodeAt(0):ne,A=vS(ee);$!==A&&($=A,SS(v,A,m[T]))})}else if((0,Ne.isRegExp)(x.PATTERN))if(x.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+Cg.failedOptimizationPrefixMsg+(" Unable to analyze < "+x.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var _=(0,Cg.getOptimizedStartCodesIndices)(x.PATTERN,e.ensureOptimizations);(0,Ne.isEmpty)(_)&&(y=!1),(0,Ne.forEach)(_,function(ne){SS(v,ne,m[T])})}else e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+Cg.failedOptimizationPrefixMsg+(" TokenType: <"+x.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){b=(0,Ne.packArray)(b)}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:b,hasCustom:n,canBeOptimized:y}}Ze.analyzeTokenTypes=nEe;function oEe(r,e){var t=[],i=MH(r);t=t.concat(i.errors);var n=KH(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(sEe(s)),t=t.concat(UH(s)),t=t.concat(HH(s,e)),t=t.concat(jH(s)),t}Ze.validatePatterns=oEe;function sEe(r){var e=[],t=(0,Ne.filter)(r,function(i){return(0,Ne.isRegExp)(i[Mo])});return e=e.concat(GH(t)),e=e.concat(qH(t)),e=e.concat(JH(t)),e=e.concat(WH(t)),e=e.concat(YH(t)),e}function MH(r){var e=(0,Ne.filter)(r,function(n){return!(0,Ne.has)(n,Mo)}),t=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:Ar.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(r,e);return{errors:t,valid:i}}Ze.findMissingPatterns=MH;function KH(r){var e=(0,Ne.filter)(r,function(n){var s=n[Mo];return!(0,Ne.isRegExp)(s)&&!(0,Ne.isFunction)(s)&&!(0,Ne.has)(s,"exec")&&!(0,Ne.isString)(s)}),t=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ar.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(r,e);return{errors:t,valid:i}}Ze.findInvalidPatterns=KH;var aEe=/[^\\][\$]/;function GH(r){var e=function(n){RH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(FH.BaseRegExpVisitor),t=(0,Ne.filter)(r,function(n){var s=n[Mo];try{var o=(0,NH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return aEe.test(s.source)}}),i=(0,Ne.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findEndOfInputAnchor=GH;function YH(r){var e=(0,Ne.filter)(r,function(i){var n=i[Mo];return n.test("")}),t=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:Ar.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ze.findEmptyMatchRegExps=YH;var AEe=/[^\\[][\^]|^\^/;function qH(r){var e=function(n){RH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(FH.BaseRegExpVisitor),t=(0,Ne.filter)(r,function(n){var s=n[Mo];try{var o=(0,NH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return AEe.test(s.source)}}),i=(0,Ne.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findStartOfInputAnchor=qH;function JH(r){var e=(0,Ne.filter)(r,function(i){var n=i[Mo];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ar.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ze.findUnsupportedFlags=JH;function WH(r){var e=[],t=(0,Ne.map)(r,function(s){return(0,Ne.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ne.contains)(e,a)&&a.PATTERN!==Ar.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,Ne.compact)(t);var i=(0,Ne.filter)(t,function(s){return s.length>1}),n=(0,Ne.map)(i,function(s){var o=(0,Ne.map)(s,function(l){return l.name}),a=(0,Ne.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:Ar.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ze.findDuplicatePatterns=WH;function UH(r){var e=(0,Ne.filter)(r,function(i){if(!(0,Ne.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==Ar.Lexer.SKIPPED&&n!==Ar.Lexer.NA&&!(0,Ne.isString)(n)}),t=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ar.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ze.findInvalidGroupType=UH;function HH(r,e){var t=(0,Ne.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,Ne.contains)(e,n.PUSH_MODE)}),i=(0,Ne.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:Ar.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ze.findModesThatDoNotExist=HH;function jH(r){var e=[],t=(0,Ne.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===Ar.Lexer.NA||((0,Ne.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ne.isRegExp)(o)&&cEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ne.forEach)(r,function(i,n){(0,Ne.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ar.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ze.findUnreachablePatterns=jH;function lEe(r,e){if((0,Ne.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,Ne.isFunction)(e))return e(r,0,[],{});if((0,Ne.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function cEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ne.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function BS(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ze.addStartOfInput=BS;function bS(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ze.addStickyFlag=bS;function uEe(r,e,t){var i=[];return(0,Ne.has)(r,Ze.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.DEFAULT_MODE+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ne.has)(r,Ze.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.MODES+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ne.has)(r,Ze.MODES)&&(0,Ne.has)(r,Ze.DEFAULT_MODE)&&!(0,Ne.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ze.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ne.has)(r,Ze.MODES)&&(0,Ne.forEach)(r.modes,function(n,s){(0,Ne.forEach)(n,function(o,a){(0,Ne.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:Ar.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ze.performRuntimeChecks=uEe;function gEe(r,e,t){var i=[],n=!1,s=(0,Ne.compact)((0,Ne.flatten)((0,Ne.mapValues)(r.modes,function(l){return l}))),o=(0,Ne.reject)(s,function(l){return l[Mo]===Ar.Lexer.NA}),a=OH(t);return e&&(0,Ne.forEach)(o,function(l){var c=TH(l,a);if(c!==!1){var u=zH(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ne.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Cg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:Ar.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ze.performWarningRuntimeChecks=gEe;function fEe(r){var e={},t=(0,Ne.keys)(r);return(0,Ne.forEach)(t,function(i){var n=r[i];if((0,Ne.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ze.cloneEmptyGroups=fEe;function QS(r){var e=r.PATTERN;if((0,Ne.isRegExp)(e))return!1;if((0,Ne.isFunction)(e))return!0;if((0,Ne.has)(e,"exec"))return!0;if((0,Ne.isString)(e))return!1;throw Error("non exhaustive match")}Ze.isCustomPattern=QS;function LH(r){return(0,Ne.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ze.isShortPattern=LH;Ze.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===Ar.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+r.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ze.buildLineBreakIssueMessage=zH;function OH(r){var e=(0,Ne.map)(r,function(t){return(0,Ne.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function SS(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ze.minOptimizationVal=256;var HI=[];function vS(r){return r255?255+~~(r/255):r}}});var mg=w(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.isTokenType=Ft.hasExtendingTokensTypesMapProperty=Ft.hasExtendingTokensTypesProperty=Ft.hasCategoriesProperty=Ft.hasShortKeyProperty=Ft.singleAssignCategoriesToksMap=Ft.assignCategoriesMapProp=Ft.assignCategoriesTokensProp=Ft.assignTokenDefaultProps=Ft.expandCategories=Ft.augmentTokenTypes=Ft.tokenIdxToClass=Ft.tokenShortNameIdx=Ft.tokenStructuredMatcherNoCategories=Ft.tokenStructuredMatcher=void 0;var ii=Yt();function hEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Ft.tokenStructuredMatcher=hEe;function pEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Ft.tokenStructuredMatcherNoCategories=pEe;Ft.tokenShortNameIdx=1;Ft.tokenIdxToClass={};function dEe(r){var e=_H(r);VH(e),ZH(e),XH(e),(0,ii.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Ft.augmentTokenTypes=dEe;function _H(r){for(var e=(0,ii.cloneArr)(r),t=r,i=!0;i;){t=(0,ii.compact)((0,ii.flatten)((0,ii.map)(t,function(s){return s.CATEGORIES})));var n=(0,ii.difference)(t,e);e=e.concat(n),(0,ii.isEmpty)(n)?i=!1:t=n}return e}Ft.expandCategories=_H;function VH(r){(0,ii.forEach)(r,function(e){$H(e)||(Ft.tokenIdxToClass[Ft.tokenShortNameIdx]=e,e.tokenTypeIdx=Ft.tokenShortNameIdx++),xS(e)&&!(0,ii.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),xS(e)||(e.CATEGORIES=[]),ej(e)||(e.categoryMatches=[]),tj(e)||(e.categoryMatchesMap={})})}Ft.assignTokenDefaultProps=VH;function XH(r){(0,ii.forEach)(r,function(e){e.categoryMatches=[],(0,ii.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Ft.tokenIdxToClass[i].tokenTypeIdx)})})}Ft.assignCategoriesTokensProp=XH;function ZH(r){(0,ii.forEach)(r,function(e){kS([],e)})}Ft.assignCategoriesMapProp=ZH;function kS(r,e){(0,ii.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,ii.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,ii.contains)(i,t)||kS(i,t)})}Ft.singleAssignCategoriesToksMap=kS;function $H(r){return(0,ii.has)(r,"tokenTypeIdx")}Ft.hasShortKeyProperty=$H;function xS(r){return(0,ii.has)(r,"CATEGORIES")}Ft.hasCategoriesProperty=xS;function ej(r){return(0,ii.has)(r,"categoryMatches")}Ft.hasExtendingTokensTypesProperty=ej;function tj(r){return(0,ii.has)(r,"categoryMatchesMap")}Ft.hasExtendingTokensTypesMapProperty=tj;function CEe(r){return(0,ii.has)(r,"tokenTypeIdx")}Ft.isTokenType=CEe});var PS=w(jI=>{"use strict";Object.defineProperty(jI,"__esModule",{value:!0});jI.defaultLexerErrorProvider=void 0;jI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Dp=w(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.Lexer=kc.LexerDefinitionErrorType=void 0;var ao=yS(),lr=Yt(),mEe=mg(),EEe=PS(),IEe=MI(),yEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(yEe=kc.LexerDefinitionErrorType||(kc.LexerDefinitionErrorType={}));var Rp={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:EEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Rp);var wEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=Rp),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,lr.merge)(Rp,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Rp.lineTerminatorsPattern)i.config.lineTerminatorsPattern=ao.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Rp.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,lr.isArray)(e)?(s={modes:{}},s.modes[ao.DEFAULT_MODE]=(0,lr.cloneArr)(e),s[ao.DEFAULT_MODE]=ao.DEFAULT_MODE):(o=!1,s=(0,lr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,ao.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,ao.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,lr.forEach)(s.modes,function(u,g){s.modes[g]=(0,lr.reject)(u,function(f){return(0,lr.isUndefined)(f)})});var a=(0,lr.keys)(s.modes);if((0,lr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,ao.validatePatterns)(u,a))}),(0,lr.isEmpty)(i.lexerDefinitionErrors)){(0,mEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,ao.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,lr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,lr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,lr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,lr.forEach)(i.lexerDefinitionWarning,function(u){(0,lr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(ao.SUPPORT_STICKY?(i.chopInput=lr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=lr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=lr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=lr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=lr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,lr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,lr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,IEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,lr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,lr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,lr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,m,y,b,v,x,T=e,q=T.length,Y=0,$=0,_=this.hasCustom?0:Math.floor(e.length/10),ne=new Array(_),ee=[],A=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,ce=(0,ao.cloneEmptyGroups)(this.emptyGroups),Z=this.trackStartLines,O=this.config.lineTerminatorsPattern,L=0,de=[],Be=[],je=[],re=[];Object.freeze(re);var se=void 0;function be(){return de}function he(Sr){var jn=(0,ao.charCodeToOptimizedIndex)(Sr),fs=Be[jn];return fs===void 0?re:fs}var Fe=function(Sr){if(je.length===1&&Sr.tokenType.PUSH_MODE===void 0){var jn=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Sr);ee.push({offset:Sr.startOffset,line:Sr.startLine!==void 0?Sr.startLine:void 0,column:Sr.startColumn!==void 0?Sr.startColumn:void 0,length:Sr.image.length,message:jn})}else{je.pop();var fs=(0,lr.last)(je);de=i.patternIdxToConfig[fs],Be=i.charCodeToPatternIdxToConfig[fs],L=de.length;var ba=i.canModeBeOptimized[fs]&&i.config.safeMode===!1;Be&&ba?se=he:se=be}};function Ke(Sr){je.push(Sr),Be=this.charCodeToPatternIdxToConfig[Sr],de=this.patternIdxToConfig[Sr],L=de.length,L=de.length;var jn=this.canModeBeOptimized[Sr]&&this.config.safeMode===!1;Be&&jn?se=he:se=be}Ke.call(this,t);for(var ke;Yc.length){c=a,u=g,ke=gt;break}}}break}}if(c!==null){if(f=c.length,h=ke.group,h!==void 0&&(p=ke.tokenTypeIdx,m=this.createTokenInstance(c,Y,p,ke.tokenType,A,oe,f),this.handlePayload(m,u),h===!1?$=this.addToken(ne,$,m):ce[h].push(m)),e=this.chopInput(e,f),Y=Y+f,oe=this.computeNewColumn(oe,f),Z===!0&&ke.canLineTerminator===!0){var Mt=0,Ei=void 0,jt=void 0;O.lastIndex=0;do Ei=O.test(c),Ei===!0&&(jt=O.lastIndex-1,Mt++);while(Ei===!0);Mt!==0&&(A=A+Mt,oe=f-jt,this.updateTokenEndLineColumnLocation(m,h,jt,Mt,A,oe,f))}this.handleModes(ke,Fe,Ke,m)}else{for(var Qr=Y,Oi=A,Xs=oe,Un=!1;!Un&&Y <"+e+">");var n=(0,lr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();kc.Lexer=wEe});var XA=w(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.tokenMatcher=Pi.createTokenInstance=Pi.EOF=Pi.createToken=Pi.hasTokenLabel=Pi.tokenName=Pi.tokenLabel=void 0;var Ao=Yt(),BEe=Dp(),DS=mg();function bEe(r){return rj(r)?r.LABEL:r.name}Pi.tokenLabel=bEe;function QEe(r){return r.name}Pi.tokenName=QEe;function rj(r){return(0,Ao.isString)(r.LABEL)&&r.LABEL!==""}Pi.hasTokenLabel=rj;var SEe="parent",ij="categories",nj="label",sj="group",oj="push_mode",aj="pop_mode",Aj="longer_alt",lj="line_breaks",cj="start_chars_hint";function uj(r){return vEe(r)}Pi.createToken=uj;function vEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,Ao.isUndefined)(e)||(t.PATTERN=e),(0,Ao.has)(r,SEe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Ao.has)(r,ij)&&(t.CATEGORIES=r[ij]),(0,DS.augmentTokenTypes)([t]),(0,Ao.has)(r,nj)&&(t.LABEL=r[nj]),(0,Ao.has)(r,sj)&&(t.GROUP=r[sj]),(0,Ao.has)(r,aj)&&(t.POP_MODE=r[aj]),(0,Ao.has)(r,oj)&&(t.PUSH_MODE=r[oj]),(0,Ao.has)(r,Aj)&&(t.LONGER_ALT=r[Aj]),(0,Ao.has)(r,lj)&&(t.LINE_BREAKS=r[lj]),(0,Ao.has)(r,cj)&&(t.START_CHARS_HINT=r[cj]),t}Pi.EOF=uj({name:"EOF",pattern:BEe.Lexer.NA});(0,DS.augmentTokenTypes)([Pi.EOF]);function xEe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Pi.createTokenInstance=xEe;function kEe(r,e){return(0,DS.tokenStructuredMatcher)(r,e)}Pi.tokenMatcher=kEe});var bn=w(Vt=>{"use strict";var Ga=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.serializeProduction=Vt.serializeGrammar=Vt.Terminal=Vt.Alternation=Vt.RepetitionWithSeparator=Vt.Repetition=Vt.RepetitionMandatoryWithSeparator=Vt.RepetitionMandatory=Vt.Option=Vt.Alternative=Vt.Rule=Vt.NonTerminal=Vt.AbstractProduction=void 0;var fr=Yt(),PEe=XA(),Ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,fr.forEach)(this.definition,function(t){t.accept(e)})},r}();Vt.AbstractProduction=Ko;var gj=function(r){Ga(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(Ko);Vt.NonTerminal=gj;var fj=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ko);Vt.Rule=fj;var hj=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ko);Vt.Alternative=hj;var pj=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ko);Vt.Option=pj;var dj=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ko);Vt.RepetitionMandatory=dj;var Cj=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ko);Vt.RepetitionMandatoryWithSeparator=Cj;var mj=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ko);Vt.Repetition=mj;var Ej=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ko);Vt.RepetitionWithSeparator=Ej;var Ij=function(r){Ga(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(Ko);Vt.Alternation=Ij;var GI=function(){function r(e){this.idx=1,(0,fr.assign)(this,(0,fr.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();Vt.Terminal=GI;function DEe(r){return(0,fr.map)(r,Fp)}Vt.serializeGrammar=DEe;function Fp(r){function e(s){return(0,fr.map)(s,Fp)}if(r instanceof gj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,fr.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof hj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof pj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof dj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Cj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Fp(new GI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Ej)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Fp(new GI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof mj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Ij)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof GI){var i={type:"Terminal",name:r.terminalType.name,label:(0,PEe.tokenLabel)(r.terminalType),idx:r.idx};(0,fr.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,fr.isRegExp)(n)?n.source:n),i}else{if(r instanceof fj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}Vt.serializeProduction=Fp});var qI=w(YI=>{"use strict";Object.defineProperty(YI,"__esModule",{value:!0});YI.RestWalker=void 0;var RS=Yt(),Qn=bn(),REe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,RS.forEach)(e.definition,function(n,s){var o=(0,RS.drop)(e.definition,s+1);if(n instanceof Qn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof Qn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof Qn.Alternative)i.walkFlat(n,o,t);else if(n instanceof Qn.Option)i.walkOption(n,o,t);else if(n instanceof Qn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof Qn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof Qn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof Qn.Repetition)i.walkMany(n,o,t);else if(n instanceof Qn.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new Qn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=yj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new Qn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=yj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,RS.forEach)(e.definition,function(o){var a=new Qn.Alternative({definition:[o]});n.walk(a,s)})},r}();YI.RestWalker=REe;function yj(r,e,t){var i=[new Qn.Option({definition:[new Qn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Eg=w(JI=>{"use strict";Object.defineProperty(JI,"__esModule",{value:!0});JI.GAstVisitor=void 0;var Uo=bn(),FEe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Uo.NonTerminal:return this.visitNonTerminal(t);case Uo.Alternative:return this.visitAlternative(t);case Uo.Option:return this.visitOption(t);case Uo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Uo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Uo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Uo.Repetition:return this.visitRepetition(t);case Uo.Alternation:return this.visitAlternation(t);case Uo.Terminal:return this.visitTerminal(t);case Uo.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();JI.GAstVisitor=FEe});var Lp=w(Gi=>{"use strict";var NEe=Gi&&Gi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Gi,"__esModule",{value:!0});Gi.collectMethods=Gi.DslMethodsCollectorVisitor=Gi.getProductionDslName=Gi.isBranchingProd=Gi.isOptionalProd=Gi.isSequenceProd=void 0;var Np=Yt(),xr=bn(),LEe=Eg();function TEe(r){return r instanceof xr.Alternative||r instanceof xr.Option||r instanceof xr.Repetition||r instanceof xr.RepetitionMandatory||r instanceof xr.RepetitionMandatoryWithSeparator||r instanceof xr.RepetitionWithSeparator||r instanceof xr.Terminal||r instanceof xr.Rule}Gi.isSequenceProd=TEe;function FS(r,e){e===void 0&&(e=[]);var t=r instanceof xr.Option||r instanceof xr.Repetition||r instanceof xr.RepetitionWithSeparator;return t?!0:r instanceof xr.Alternation?(0,Np.some)(r.definition,function(i){return FS(i,e)}):r instanceof xr.NonTerminal&&(0,Np.contains)(e,r)?!1:r instanceof xr.AbstractProduction?(r instanceof xr.NonTerminal&&e.push(r),(0,Np.every)(r.definition,function(i){return FS(i,e)})):!1}Gi.isOptionalProd=FS;function OEe(r){return r instanceof xr.Alternation}Gi.isBranchingProd=OEe;function MEe(r){if(r instanceof xr.NonTerminal)return"SUBRULE";if(r instanceof xr.Option)return"OPTION";if(r instanceof xr.Alternation)return"OR";if(r instanceof xr.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof xr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof xr.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof xr.Repetition)return"MANY";if(r instanceof xr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Gi.getProductionDslName=MEe;var wj=function(r){NEe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Np.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Np.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(LEe.GAstVisitor);Gi.DslMethodsCollectorVisitor=wj;var WI=new wj;function KEe(r){WI.reset(),r.accept(WI);var e=WI.dslMethods;return WI.reset(),e}Gi.collectMethods=KEe});var LS=w(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.firstForTerminal=Ho.firstForBranching=Ho.firstForSequence=Ho.first=void 0;var zI=Yt(),Bj=bn(),NS=Lp();function _I(r){if(r instanceof Bj.NonTerminal)return _I(r.referencedRule);if(r instanceof Bj.Terminal)return Sj(r);if((0,NS.isSequenceProd)(r))return bj(r);if((0,NS.isBranchingProd)(r))return Qj(r);throw Error("non exhaustive match")}Ho.first=_I;function bj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,NS.isOptionalProd)(s),e=e.concat(_I(s)),i=i+1,n=t.length>i;return(0,zI.uniq)(e)}Ho.firstForSequence=bj;function Qj(r){var e=(0,zI.map)(r.definition,function(t){return _I(t)});return(0,zI.uniq)((0,zI.flatten)(e))}Ho.firstForBranching=Qj;function Sj(r){return[r.terminalType]}Ho.firstForTerminal=Sj});var TS=w(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});VI.IN=void 0;VI.IN="_~IN~_"});var Dj=w(vs=>{"use strict";var UEe=vs&&vs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(vs,"__esModule",{value:!0});vs.buildInProdFollowPrefix=vs.buildBetweenProdsFollowPrefix=vs.computeAllProdsFollows=vs.ResyncFollowsWalker=void 0;var HEe=qI(),jEe=LS(),vj=Yt(),xj=TS(),GEe=bn(),Pj=function(r){UEe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=kj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new GEe.Alternative({definition:o}),l=(0,jEe.first)(a);this.follows[s]=l},e}(HEe.RestWalker);vs.ResyncFollowsWalker=Pj;function YEe(r){var e={};return(0,vj.forEach)(r,function(t){var i=new Pj(t).startWalking();(0,vj.assign)(e,i)}),e}vs.computeAllProdsFollows=YEe;function kj(r,e){return r.name+e+xj.IN}vs.buildBetweenProdsFollowPrefix=kj;function qEe(r){var e=r.terminalType.name;return e+r.idx+xj.IN}vs.buildInProdFollowPrefix=qEe});var Tp=w(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.defaultGrammarValidatorErrorProvider=Ya.defaultGrammarResolverErrorProvider=Ya.defaultParserErrorProvider=void 0;var Ig=XA(),JEe=Yt(),lo=Yt(),OS=bn(),Rj=Lp();Ya.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,Ig.hasTokenLabel)(e),o=s?"--> "+(0,Ig.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,lo.first)(t).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,lo.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,lo.map)(c,function(h){return"["+(0,lo.map)(h,function(p){return(0,Ig.tokenLabel)(p)}).join(", ")+"]"}),g=(0,lo.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,lo.first)(t).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,lo.map)(e,function(u){return"["+(0,lo.map)(u,function(g){return(0,Ig.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ya.defaultParserErrorProvider);Ya.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+r.name+"<-";return t}};Ya.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof OS.Terminal?u.terminalType.name:u instanceof OS.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,lo.first)(e),s=n.idx,o=(0,Rj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,lo.map)(r.prefixPath,function(n){return(0,Ig.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+r.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,lo.map)(r.prefixPath,function(n){return(0,Ig.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,Rj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+r.topLevelRule.name+`> Rule. + has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=JEe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof OS.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Lj=w(ZA=>{"use strict";var WEe=ZA&&ZA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(ZA,"__esModule",{value:!0});ZA.GastRefResolverVisitor=ZA.resolveGrammar=void 0;var zEe=$n(),Fj=Yt(),_Ee=Eg();function VEe(r,e){var t=new Nj(r,e);return t.resolveRefs(),t.errors}ZA.resolveGrammar=VEe;var Nj=function(r){WEe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,Fj.forEach)((0,Fj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:zEe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(_Ee.GAstVisitor);ZA.GastRefResolverVisitor=Nj});var Mp=w(Kr=>{"use strict";var Pc=Kr&&Kr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Kr,"__esModule",{value:!0});Kr.nextPossibleTokensAfter=Kr.possiblePathsFrom=Kr.NextTerminalAfterAtLeastOneSepWalker=Kr.NextTerminalAfterAtLeastOneWalker=Kr.NextTerminalAfterManySepWalker=Kr.NextTerminalAfterManyWalker=Kr.AbstractNextTerminalAfterProductionWalker=Kr.NextAfterTokenWalker=Kr.AbstractNextPossibleTokensWalker=void 0;var Tj=qI(),Kt=Yt(),XEe=LS(),Dt=bn(),Oj=function(r){Pc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(Tj.RestWalker);Kr.AbstractNextPossibleTokensWalker=Oj;var ZEe=function(r){Pc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,XEe.first)(o),this.found=!0}},e}(Oj);Kr.NextAfterTokenWalker=ZEe;var Op=function(r){Pc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(Tj.RestWalker);Kr.AbstractNextTerminalAfterProductionWalker=Op;var $Ee=function(r){Pc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Op);Kr.NextTerminalAfterManyWalker=$Ee;var eIe=function(r){Pc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Op);Kr.NextTerminalAfterManySepWalker=eIe;var tIe=function(r){Pc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Op);Kr.NextTerminalAfterAtLeastOneWalker=tIe;var rIe=function(r){Pc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Op);Kr.NextTerminalAfterAtLeastOneSepWalker=rIe;function Mj(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Mj(s(c),e,t);return i.concat(u)}for(;t.length=0;ce--){var Z=b.definition[ce],O={idx:p,def:Z.definition.concat((0,Kt.drop)(h)),ruleStack:m,occurrenceStack:y};g.push(O),g.push(o)}else if(b instanceof Dt.Alternative)g.push({idx:p,def:b.definition.concat((0,Kt.drop)(h)),ruleStack:m,occurrenceStack:y});else if(b instanceof Dt.Rule)g.push(iIe(b,p,m,y));else throw Error("non exhaustive match")}}return u}Kr.nextPossibleTokensAfter=nIe;function iIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var Kp=w(tr=>{"use strict";var Kj=tr&&tr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(tr,"__esModule",{value:!0});tr.areTokenCategoriesNotUsed=tr.isStrictPrefixOfPath=tr.containsPath=tr.getLookaheadPathsForOptionalProd=tr.getLookaheadPathsForOr=tr.lookAheadSequenceFromAlternatives=tr.buildSingleAlternativeLookaheadFunction=tr.buildAlternativesLookAheadFunc=tr.buildLookaheadFuncForOptionalProd=tr.buildLookaheadFuncForOr=tr.getProdType=tr.PROD_TYPE=void 0;var cr=Yt(),Uj=Mp(),sIe=qI(),XI=mg(),$A=bn(),oIe=Eg(),ui;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(ui=tr.PROD_TYPE||(tr.PROD_TYPE={}));function aIe(r){if(r instanceof $A.Option)return ui.OPTION;if(r instanceof $A.Repetition)return ui.REPETITION;if(r instanceof $A.RepetitionMandatory)return ui.REPETITION_MANDATORY;if(r instanceof $A.RepetitionMandatoryWithSeparator)return ui.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof $A.RepetitionWithSeparator)return ui.REPETITION_WITH_SEPARATOR;if(r instanceof $A.Alternation)return ui.ALTERNATION;throw Error("non exhaustive match")}tr.getProdType=aIe;function AIe(r,e,t,i,n,s){var o=Hj(r,e,t),a=MS(o)?XI.tokenStructuredMatcherNoCategories:XI.tokenStructuredMatcher;return s(o,i,a,n)}tr.buildLookaheadFuncForOr=AIe;function lIe(r,e,t,i,n,s){var o=jj(r,e,n,t),a=MS(o)?XI.tokenStructuredMatcherNoCategories:XI.tokenStructuredMatcher;return s(o[0],a,i)}tr.buildLookaheadFuncForOptionalProd=lIe;function cIe(r,e,t,i){var n=r.length,s=(0,cr.every)(r,function(l){return(0,cr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,cr.map)(l,function(x){return x.GATE}),u=0;u{"use strict";var HS=Xt&&Xt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Xt,"__esModule",{value:!0});Xt.checkPrefixAlternativesAmbiguities=Xt.validateSomeNonEmptyLookaheadPath=Xt.validateTooManyAlts=Xt.RepetionCollector=Xt.validateAmbiguousAlternationAlternatives=Xt.validateEmptyOrAlternative=Xt.getFirstNoneTerminal=Xt.validateNoLeftRecursion=Xt.validateRuleIsOverridden=Xt.validateRuleDoesNotAlreadyExist=Xt.OccurrenceValidationCollector=Xt.identifyProductionForDuplicates=Xt.validateGrammar=void 0;var nr=Yt(),kr=Yt(),jo=$n(),jS=Lp(),yg=Kp(),pIe=Mp(),co=bn(),GS=Eg();function mIe(r,e,t,i,n){var s=nr.map(r,function(h){return dIe(h,i)}),o=nr.map(r,function(h){return YS(h,h,i)}),a=[],l=[],c=[];(0,kr.every)(o,kr.isEmpty)&&(a=(0,kr.map)(r,function(h){return Wj(h,i)}),l=(0,kr.map)(r,function(h){return zj(h,e,i)}),c=Vj(r,e,i));var u=CIe(r,t,i),g=(0,kr.map)(r,function(h){return _j(h,i)}),f=(0,kr.map)(r,function(h){return Jj(h,r,n,i)});return nr.flatten(s.concat(c,o,a,l,u,g,f))}Xt.validateGrammar=mIe;function dIe(r,e){var t=new $j;r.accept(t);var i=t.allProductions,n=nr.groupBy(i,Xj),s=nr.pick(n,function(a){return a.length>1}),o=nr.map(nr.values(s),function(a){var l=nr.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,jS.getProductionDslName)(l),g={message:c,type:jo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=Zj(l);return f&&(g.parameter=f),g});return o}function Xj(r){return(0,jS.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+Zj(r)}Xt.identifyProductionForDuplicates=Xj;function Zj(r){return r instanceof co.Terminal?r.terminalType.name:r instanceof co.NonTerminal?r.nonTerminalName:""}var $j=function(r){HS(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(GS.GAstVisitor);Xt.OccurrenceValidationCollector=$j;function Jj(r,e,t,i){var n=[],s=(0,kr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:jo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Xt.validateRuleDoesNotAlreadyExist=Jj;function EIe(r,e,t){var i=[],n;return nr.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:jo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Xt.validateRuleIsOverridden=EIe;function YS(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Up(e.definition);if(nr.isEmpty(s))return[];var o=r.name,a=nr.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:jo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=nr.difference(s,i.concat([r])),c=nr.map(l,function(u){var g=nr.cloneArr(i);return g.push(u),YS(r,u,t,g)});return n.concat(nr.flatten(c))}Xt.validateNoLeftRecursion=YS;function Up(r){var e=[];if(nr.isEmpty(r))return e;var t=nr.first(r);if(t instanceof co.NonTerminal)e.push(t.referencedRule);else if(t instanceof co.Alternative||t instanceof co.Option||t instanceof co.RepetitionMandatory||t instanceof co.RepetitionMandatoryWithSeparator||t instanceof co.RepetitionWithSeparator||t instanceof co.Repetition)e=e.concat(Up(t.definition));else if(t instanceof co.Alternation)e=nr.flatten(nr.map(t.definition,function(o){return Up(o.definition)}));else if(!(t instanceof co.Terminal))throw Error("non exhaustive match");var i=(0,jS.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=nr.drop(r);return e.concat(Up(s))}else return e}Xt.getFirstNoneTerminal=Up;var qS=function(r){HS(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(GS.GAstVisitor);function Wj(r,e){var t=new qS;r.accept(t);var i=t.alternations,n=nr.reduce(i,function(s,o){var a=nr.dropRight(o.definition),l=nr.map(a,function(c,u){var g=(0,pIe.nextPossibleTokensAfter)([c],[],null,1);return nr.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:jo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(nr.compact(l))},[]);return n}Xt.validateEmptyOrAlternative=Wj;function zj(r,e,t){var i=new qS;r.accept(i);var n=i.alternations;n=(0,kr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=nr.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,yg.getLookaheadPathsForOr)(l,r,c,a),g=IIe(u,a,r,t),f=eG(u,a,r,t);return o.concat(g,f)},[]);return s}Xt.validateAmbiguousAlternationAlternatives=zj;var tG=function(r){HS(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(GS.GAstVisitor);Xt.RepetionCollector=tG;function _j(r,e){var t=new qS;r.accept(t);var i=t.alternations,n=nr.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:jo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Xt.validateTooManyAlts=_j;function Vj(r,e,t){var i=[];return(0,kr.forEach)(r,function(n){var s=new tG;n.accept(s);var o=s.allProductions;(0,kr.forEach)(o,function(a){var l=(0,yg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,yg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,kr.isEmpty)((0,kr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:jo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Xt.validateSomeNonEmptyLookaheadPath=Vj;function IIe(r,e,t,i){var n=[],s=(0,kr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,kr.forEach)(l,function(u){var g=[c];(0,kr.forEach)(r,function(f,h){c!==h&&(0,yg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,yg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=nr.map(s,function(a){var l=(0,kr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:jo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function eG(r,e,t,i){var n=[],s=(0,kr.reduce)(r,function(o,a,l){var c=(0,kr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,kr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,kr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(wg,"__esModule",{value:!0});wg.validateGrammar=wg.resolveGrammar=void 0;var WS=Yt(),yIe=Lj(),wIe=JS(),rG=Tp();function BIe(r){r=(0,WS.defaults)(r,{errMsgProvider:rG.defaultGrammarResolverErrorProvider});var e={};return(0,WS.forEach)(r.rules,function(t){e[t.name]=t}),(0,yIe.resolveGrammar)(e,r.errMsgProvider)}wg.resolveGrammar=BIe;function bIe(r){return r=(0,WS.defaults)(r,{errMsgProvider:rG.defaultGrammarValidatorErrorProvider}),(0,wIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}wg.validateGrammar=bIe});var Bg=w(Sn=>{"use strict";var Hp=Sn&&Sn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Sn,"__esModule",{value:!0});Sn.EarlyExitException=Sn.NotAllInputParsedException=Sn.NoViableAltException=Sn.MismatchedTokenException=Sn.isRecognitionException=void 0;var QIe=Yt(),nG="MismatchedTokenException",sG="NoViableAltException",oG="EarlyExitException",aG="NotAllInputParsedException",AG=[nG,sG,oG,aG];Object.freeze(AG);function SIe(r){return(0,QIe.contains)(AG,r.name)}Sn.isRecognitionException=SIe;var ZI=function(r){Hp(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),vIe=function(r){Hp(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=nG,s}return e}(ZI);Sn.MismatchedTokenException=vIe;var xIe=function(r){Hp(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=sG,s}return e}(ZI);Sn.NoViableAltException=xIe;var kIe=function(r){Hp(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=aG,n}return e}(ZI);Sn.NotAllInputParsedException=kIe;var PIe=function(r){Hp(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=oG,s}return e}(ZI);Sn.EarlyExitException=PIe});var _S=w(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.attemptInRepetitionRecovery=Yi.Recoverable=Yi.InRuleRecoveryException=Yi.IN_RULE_RECOVERY_EXCEPTION=Yi.EOF_FOLLOW_KEY=void 0;var $I=XA(),xs=Yt(),DIe=Bg(),RIe=TS(),FIe=$n();Yi.EOF_FOLLOW_KEY={};Yi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function zS(r){this.name=Yi.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Yi.InRuleRecoveryException=zS;zS.prototype=Error.prototype;var NIe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,xs.has)(e,"recoveryEnabled")?e.recoveryEnabled:FIe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=lG)},r.prototype.getTokenToInsert=function(e){var t=(0,$I.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),m=new DIe.MismatchedTokenException(p,u,s.LA(0));m.resyncedTokens=(0,xs.dropRight)(l),s.SAVE_ERROR(m)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new zS("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,xs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,xs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,xs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,xs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Yi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,xs.map)(t,function(n,s){return s===0?Yi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,xs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,xs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Yi.EOF_FOLLOW_KEY)return[$I.EOF];var t=e.ruleName+e.idxInCallingRule+RIe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,$I.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,xs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,xs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,xs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Yi.Recoverable=NIe;function lG(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=$I.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Yi.attemptInRepetitionRecovery=lG});var ey=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.LooksAhead=void 0;var qa=Kp(),uo=Yt(),cG=$n(),Ja=ey(),Dc=Lp(),TIe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,uo.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:cG.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,uo.has)(e,"maxLookahead")?e.maxLookahead:cG.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,uo.isES2015MapSupported)()?new Map:[],(0,uo.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,uo.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Dc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,uo.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Dc.getProductionDslName)(g)+f,function(){var h=(0,qa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Ja.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Ja.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,uo.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Ja.MANY_IDX,qa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Dc.getProductionDslName)(g))}),(0,uo.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Ja.OPTION_IDX,qa.PROD_TYPE.OPTION,g.maxLookahead,(0,Dc.getProductionDslName)(g))}),(0,uo.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Ja.AT_LEAST_ONE_IDX,qa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Dc.getProductionDslName)(g))}),(0,uo.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Ja.AT_LEAST_ONE_SEP_IDX,qa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Dc.getProductionDslName)(g))}),(0,uo.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Ja.MANY_SEP_IDX,qa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Dc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,qa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Ja.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,qa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,qa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Ja.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();ty.LooksAhead=TIe});var gG=w(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.addNoneTerminalToCst=Go.addTerminalToCst=Go.setNodeLocationFull=Go.setNodeLocationOnlyOffset=void 0;function OIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.defineNameProp=el.functionName=el.classNameFromInstance=void 0;var HIe=Yt();function jIe(r){return fG(r.constructor)}el.classNameFromInstance=jIe;var hG="name";function fG(r){var e=r.name;return e||"anonymous"}el.functionName=fG;function GIe(r,e){var t=Object.getOwnPropertyDescriptor(r,hG);return(0,HIe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,hG,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}el.defineNameProp=GIe});var EG=w(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.validateRedundantMethods=Di.validateMissingCstMethods=Di.validateVisitor=Di.CstVisitorDefinitionError=Di.createBaseVisitorConstructorWithDefaults=Di.createBaseSemanticVisitorConstructor=Di.defaultVisit=void 0;var ks=Yt(),jp=VS();function pG(r,e){for(var t=(0,ks.keys)(r),i=t.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Di.createBaseSemanticVisitorConstructor=YIe;function qIe(r,e,t){var i=function(){};(0,jp.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,ks.forEach)(e,function(s){n[s]=pG}),i.prototype=n,i.prototype.constructor=i,i}Di.createBaseVisitorConstructorWithDefaults=qIe;var XS;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(XS=Di.CstVisitorDefinitionError||(Di.CstVisitorDefinitionError={}));function dG(r,e){var t=CG(r,e),i=mG(r,e);return t.concat(i)}Di.validateVisitor=dG;function CG(r,e){var t=(0,ks.map)(e,function(i){if(!(0,ks.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,jp.functionName)(r.constructor)+" CST Visitor.",type:XS.MISSING_METHOD,methodName:i}});return(0,ks.compact)(t)}Di.validateMissingCstMethods=CG;var JIe=["constructor","visit","validateVisitor"];function mG(r,e){var t=[];for(var i in r)(0,ks.isFunction)(r[i])&&!(0,ks.contains)(JIe,i)&&!(0,ks.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,jp.functionName)(r.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:XS.REDUNDANT_METHOD,methodName:i});return t}Di.validateRedundantMethods=mG});var yG=w(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});ry.TreeBuilder=void 0;var bg=gG(),ni=Yt(),IG=EG(),WIe=$n(),zIe=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ni.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:WIe.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ni.NOOP,this.cstFinallyStateUpdate=ni.NOOP,this.cstPostTerminal=ni.NOOP,this.cstPostNonTerminal=ni.NOOP,this.cstPostRule=ni.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=bg.setNodeLocationFull,this.setNodeLocationFromNode=bg.setNodeLocationFull,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=bg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=bg.setNodeLocationOnlyOffset,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=ni.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,bg.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,bg.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,ni.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,IG.createBaseSemanticVisitorConstructor)(this.className,(0,ni.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ni.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,IG.createBaseVisitorConstructorWithDefaults)(this.className,(0,ni.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();ry.TreeBuilder=zIe});var BG=w(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.LexerAdapter=void 0;var wG=$n(),_Ie=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):wG.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?wG.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();iy.LexerAdapter=_Ie});var QG=w(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.RecognizerApi=void 0;var bG=Yt(),VIe=Bg(),ZS=$n(),XIe=Tp(),ZIe=JS(),$Ie=bn(),eye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=ZS.DEFAULT_RULE_CONFIG),(0,bG.contains)(this.definedRulesNames,e)){var n=XIe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:ZS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=ZS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,ZIe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,VIe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,$Ie.serializeGrammar)((0,bG.values)(this.gastProductionsCache))},r}();ny.RecognizerApi=eye});var kG=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.RecognizerEngine=void 0;var Fr=Yt(),es=ey(),oy=Bg(),SG=Kp(),Qg=Mp(),vG=$n(),tye=_S(),xG=XA(),Gp=mg(),rye=VS(),iye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,rye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Gp.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Fr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Fr.isArray)(e)){if((0,Fr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Fr.isArray)(e))this.tokensMap=(0,Fr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Fr.has)(e,"modes")&&(0,Fr.every)((0,Fr.flatten)((0,Fr.values)(e.modes)),Gp.isTokenType)){var i=(0,Fr.flatten)((0,Fr.values)(e.modes)),n=(0,Fr.uniq)(i);this.tokensMap=(0,Fr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Fr.isObject)(e))this.tokensMap=(0,Fr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=xG.EOF;var s=(0,Fr.every)((0,Fr.values)(e),function(o){return(0,Fr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Gp.tokenStructuredMatcherNoCategories:Gp.tokenStructuredMatcher,(0,Gp.augmentTokenTypes)((0,Fr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Fr.has)(i,"resyncEnabled")?i.resyncEnabled:vG.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Fr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:vG.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(es.OR_IDX,t),n=(0,Fr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new oy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,oy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new oy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===tye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Fr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),xG.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();sy.RecognizerEngine=iye});var DG=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.ErrorHandler=void 0;var $S=Bg(),ev=Yt(),PG=Kp(),nye=$n(),sye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,ev.has)(e,"errorMessageProvider")?e.errorMessageProvider:nye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,$S.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,ev.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,ev.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,PG.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new $S.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,PG.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new $S.NoViableAltException(c,this.LA(1),l))},r}();ay.ErrorHandler=sye});var NG=w(Ay=>{"use strict";Object.defineProperty(Ay,"__esModule",{value:!0});Ay.ContentAssist=void 0;var RG=Mp(),FG=Yt(),oye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,FG.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,RG.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,FG.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new RG.NextAfterTokenWalker(n,e).startWalking();return s},r}();Ay.ContentAssist=oye});var jG=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.GastRecorder=void 0;var vn=Yt(),Yo=bn(),aye=Dp(),LG=mg(),TG=XA(),Aye=$n(),lye=ey(),cy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(cy);var OG=!0,MG=Math.pow(2,lye.BITS_FOR_OCCURRENCE_IDX)-1,KG=(0,TG.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:aye.Lexer.NA});(0,LG.augmentTokenTypes)([KG]);var UG=(0,TG.createTokenInstance)(KG,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(UG);var cye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},gye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Aye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Yo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Yp.call(this,Yo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Yp.call(this,Yo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Yp.call(this,Yo.RepetitionMandatoryWithSeparator,t,e,OG)},r.prototype.manyInternalRecord=function(e,t){Yp.call(this,Yo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Yp.call(this,Yo.RepetitionWithSeparator,t,e,OG)},r.prototype.orInternalRecord=function(e,t){return uye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(uy(t),!e||(0,vn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,vn.peek)(this.recordingProdStack),o=e.ruleName,a=new Yo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?cye:cy},r.prototype.consumeInternalRecord=function(e,t,i){if(uy(t),!(0,LG.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,vn.peek)(this.recordingProdStack),o=new Yo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),UG},r}();ly.GastRecorder=gye;function Yp(r,e,t,i){i===void 0&&(i=!1),uy(t);var n=(0,vn.peek)(this.recordingProdStack),s=(0,vn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,vn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),cy}function uye(r,e){var t=this;uy(e);var i=(0,vn.peek)(this.recordingProdStack),n=(0,vn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Yo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,vn.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,vn.some)(s,function(l){return(0,vn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,vn.forEach)(s,function(l){var c=new Yo.Alternative({definition:[]});o.definition.push(c),(0,vn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,vn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),cy}function HG(r){return r===0?"":""+r}function uy(r){if(r<0||r>MG){var e=new Error("Invalid DSL Method idx value: <"+r+`> + `+("Idx value must be a none negative value smaller than "+(MG+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var YG=w(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});gy.PerformanceTracer=void 0;var GG=Yt(),fye=$n(),hye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,GG.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:Infinity,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=fye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,GG.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();gy.PerformanceTracer=hye});var qG=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.applyMixins=void 0;function pye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}fy.applyMixins=pye});var $n=w(Er=>{"use strict";var JG=Er&&Er.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Er,"__esModule",{value:!0});Er.EmbeddedActionsParser=Er.CstParser=Er.Parser=Er.EMPTY_ALT=Er.ParserDefinitionErrorType=Er.DEFAULT_RULE_CONFIG=Er.DEFAULT_PARSER_CONFIG=Er.END_OF_FILE=void 0;var an=Yt(),dye=Dj(),WG=XA(),zG=Tp(),_G=iG(),Cye=_S(),mye=uG(),Eye=yG(),Iye=BG(),yye=QG(),wye=kG(),Bye=DG(),bye=NG(),Qye=jG(),Sye=YG(),vye=qG();Er.END_OF_FILE=(0,WG.createTokenInstance)(WG.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Er.END_OF_FILE);Er.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:zG.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});Er.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var xye;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(xye=Er.ParserDefinitionErrorType||(Er.ParserDefinitionErrorType={}));function kye(r){return r===void 0&&(r=void 0),function(){return r}}Er.EMPTY_ALT=kye;var hy=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,an.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,an.has)(t,"skipValidations")?t.skipValidations:Er.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,an.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,an.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,_G.resolveGrammar)({rules:(0,an.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,an.isEmpty)(n)&&e.skipValidations===!1){var s=(0,_G.validateGrammar)({rules:(0,an.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,an.values)(e.tokensMap),errMsgProvider:zG.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,an.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,dye.computeAllProdsFollows)((0,an.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,an.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,an.isEmpty)(e.definitionErrors))throw t=(0,an.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+t.join(` +------------------------------- +`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();Er.Parser=hy;(0,vye.applyMixins)(hy,[Cye.Recoverable,mye.LooksAhead,Eye.TreeBuilder,Iye.LexerAdapter,wye.RecognizerEngine,yye.RecognizerApi,Bye.ErrorHandler,bye.ContentAssist,Qye.GastRecorder,Sye.PerformanceTracer]);var Pye=function(r){JG(e,r);function e(t,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(hy);Er.CstParser=Pye;var Dye=function(r){JG(e,r);function e(t,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(hy);Er.EmbeddedActionsParser=Dye});var XG=w(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.createSyntaxDiagramsCode=void 0;var VG=IS();function Rye(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+VG.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+VG.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}py.createSyntaxDiagramsCode=Rye});var eY=w(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Parser=Ve.createSyntaxDiagramsCode=Ve.clearCache=Ve.GAstVisitor=Ve.serializeProduction=Ve.serializeGrammar=Ve.Terminal=Ve.Rule=Ve.RepetitionWithSeparator=Ve.RepetitionMandatoryWithSeparator=Ve.RepetitionMandatory=Ve.Repetition=Ve.Option=Ve.NonTerminal=Ve.Alternative=Ve.Alternation=Ve.defaultLexerErrorProvider=Ve.NoViableAltException=Ve.NotAllInputParsedException=Ve.MismatchedTokenException=Ve.isRecognitionException=Ve.EarlyExitException=Ve.defaultParserErrorProvider=Ve.tokenName=Ve.tokenMatcher=Ve.tokenLabel=Ve.EOF=Ve.createTokenInstance=Ve.createToken=Ve.LexerDefinitionErrorType=Ve.Lexer=Ve.EMPTY_ALT=Ve.ParserDefinitionErrorType=Ve.EmbeddedActionsParser=Ve.CstParser=Ve.VERSION=void 0;var Fye=IS();Object.defineProperty(Ve,"VERSION",{enumerable:!0,get:function(){return Fye.VERSION}});var dy=$n();Object.defineProperty(Ve,"CstParser",{enumerable:!0,get:function(){return dy.CstParser}});Object.defineProperty(Ve,"EmbeddedActionsParser",{enumerable:!0,get:function(){return dy.EmbeddedActionsParser}});Object.defineProperty(Ve,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return dy.ParserDefinitionErrorType}});Object.defineProperty(Ve,"EMPTY_ALT",{enumerable:!0,get:function(){return dy.EMPTY_ALT}});var ZG=Dp();Object.defineProperty(Ve,"Lexer",{enumerable:!0,get:function(){return ZG.Lexer}});Object.defineProperty(Ve,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return ZG.LexerDefinitionErrorType}});var Sg=XA();Object.defineProperty(Ve,"createToken",{enumerable:!0,get:function(){return Sg.createToken}});Object.defineProperty(Ve,"createTokenInstance",{enumerable:!0,get:function(){return Sg.createTokenInstance}});Object.defineProperty(Ve,"EOF",{enumerable:!0,get:function(){return Sg.EOF}});Object.defineProperty(Ve,"tokenLabel",{enumerable:!0,get:function(){return Sg.tokenLabel}});Object.defineProperty(Ve,"tokenMatcher",{enumerable:!0,get:function(){return Sg.tokenMatcher}});Object.defineProperty(Ve,"tokenName",{enumerable:!0,get:function(){return Sg.tokenName}});var Nye=Tp();Object.defineProperty(Ve,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Nye.defaultParserErrorProvider}});var qp=Bg();Object.defineProperty(Ve,"EarlyExitException",{enumerable:!0,get:function(){return qp.EarlyExitException}});Object.defineProperty(Ve,"isRecognitionException",{enumerable:!0,get:function(){return qp.isRecognitionException}});Object.defineProperty(Ve,"MismatchedTokenException",{enumerable:!0,get:function(){return qp.MismatchedTokenException}});Object.defineProperty(Ve,"NotAllInputParsedException",{enumerable:!0,get:function(){return qp.NotAllInputParsedException}});Object.defineProperty(Ve,"NoViableAltException",{enumerable:!0,get:function(){return qp.NoViableAltException}});var Lye=PS();Object.defineProperty(Ve,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return Lye.defaultLexerErrorProvider}});var qo=bn();Object.defineProperty(Ve,"Alternation",{enumerable:!0,get:function(){return qo.Alternation}});Object.defineProperty(Ve,"Alternative",{enumerable:!0,get:function(){return qo.Alternative}});Object.defineProperty(Ve,"NonTerminal",{enumerable:!0,get:function(){return qo.NonTerminal}});Object.defineProperty(Ve,"Option",{enumerable:!0,get:function(){return qo.Option}});Object.defineProperty(Ve,"Repetition",{enumerable:!0,get:function(){return qo.Repetition}});Object.defineProperty(Ve,"RepetitionMandatory",{enumerable:!0,get:function(){return qo.RepetitionMandatory}});Object.defineProperty(Ve,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return qo.RepetitionMandatoryWithSeparator}});Object.defineProperty(Ve,"RepetitionWithSeparator",{enumerable:!0,get:function(){return qo.RepetitionWithSeparator}});Object.defineProperty(Ve,"Rule",{enumerable:!0,get:function(){return qo.Rule}});Object.defineProperty(Ve,"Terminal",{enumerable:!0,get:function(){return qo.Terminal}});var $G=bn();Object.defineProperty(Ve,"serializeGrammar",{enumerable:!0,get:function(){return $G.serializeGrammar}});Object.defineProperty(Ve,"serializeProduction",{enumerable:!0,get:function(){return $G.serializeProduction}});var Tye=Eg();Object.defineProperty(Ve,"GAstVisitor",{enumerable:!0,get:function(){return Tye.GAstVisitor}});function Oye(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}Ve.clearCache=Oye;var Mye=XG();Object.defineProperty(Ve,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return Mye.createSyntaxDiagramsCode}});var Kye=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();Ve.Parser=Kye});var iY=w((Z$e,tY)=>{var Cy=eY(),Wa=Cy.createToken,rY=Cy.tokenMatcher,tv=Cy.Lexer,Uye=Cy.EmbeddedActionsParser;tY.exports=r=>{let e=Wa({name:"LogicalOperator",pattern:tv.NA}),t=Wa({name:"Or",pattern:/\|/,categories:e}),i=Wa({name:"Xor",pattern:/\^/,categories:e}),n=Wa({name:"And",pattern:/&/,categories:e}),s=Wa({name:"Not",pattern:/!/}),o=Wa({name:"LParen",pattern:/\(/}),a=Wa({name:"RParen",pattern:/\)/}),l=Wa({name:"Query",pattern:r}),u=[Wa({name:"WhiteSpace",pattern:/\s+/,group:tv.SKIPPED}),t,i,n,o,a,s,e,l],g=new tv(u);class f extends Uye{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let b=y,v=this.CONSUME(e),x=this.SUBRULE2(this.atomicExpression);rY(v,t)?y=T=>b(T)||x(T):rY(v,i)?y=T=>!!(b(T)^x(T)):y=T=>b(T)&&x(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:m}=this.CONSUME(l);return y=>y(m)}},{ALT:()=>{this.CONSUME(s);let m=this.SUBRULE(this.atomicExpression);return y=>!m(y)}}])),this.RULE("parenthesisExpression",()=>{let m;return this.CONSUME(o),m=this.SUBRULE(this.expression),this.CONSUME(a),m}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var nY=w(my=>{var Hye=iY();my.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=Hye(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};my.parse=my.makeParser()});var oY=w((eet,sY)=>{"use strict";sY.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var rv=w((tet,aY)=>{var Jp=oY(),AY={};for(let r of Object.keys(Jp))AY[Jp[r]]=r;var at={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};aY.exports=at;for(let r of Object.keys(at)){if(!("channels"in at[r]))throw new Error("missing channels property: "+r);if(!("labels"in at[r]))throw new Error("missing channel labels property: "+r);if(at[r].labels.length!==at[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=at[r];delete at[r].channels,delete at[r].labels,Object.defineProperty(at[r],"channels",{value:e}),Object.defineProperty(at[r],"labels",{value:t})}at.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};at.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};at.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=at.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};at.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function jye(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}at.rgb.keyword=function(r){let e=AY[r];if(e)return e;let t=Infinity,i;for(let n of Object.keys(Jp)){let s=Jp[n],o=jye(r,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};at.rgb.lab=function(r){let e=at.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};at.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};at.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};at.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};at.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};at.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};at.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};at.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};at.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};at.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};at.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};at.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};at.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?at.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};at.hsv.ansi16=function(r){return at.rgb.ansi16(at.hsv.rgb(r),r[2])};at.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};at.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};at.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};at.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};at.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};at.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};at.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};at.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};at.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};at.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};at.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};at.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};at.hwb.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=1-t,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};at.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};at.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};at.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};at.gray.hsl=function(r){return[0,0,r[0]]};at.gray.hsv=at.gray.hsl;at.gray.hwb=function(r){return[0,100,r[0]]};at.gray.cmyk=function(r){return[0,0,0,r[0]]};at.gray.lab=function(r){return[r[0],0,0]};at.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};at.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var cY=w((ret,lY)=>{var Ey=rv();function Gye(){let r={},e=Object.keys(Ey);for(let t=e.length,i=0;i{var iv=rv(),Wye=cY(),vg={},zye=Object.keys(iv);function _ye(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function Vye(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n=="object")for(let s=n.length,o=0;o{vg[r]={},Object.defineProperty(vg[r],"channels",{value:iv[r].channels}),Object.defineProperty(vg[r],"labels",{value:iv[r].labels});let e=Wye(r);Object.keys(e).forEach(i=>{let n=e[i];vg[r][i]=Vye(n),vg[r][i].raw=_ye(n)})});uY.exports=vg});var mY=w((net,fY)=>{"use strict";var hY=(r,e)=>(...t)=>`[${r(...t)+e}m`,pY=(r,e)=>(...t)=>{let i=r(...t);return`[${38+e};5;${i}m`},dY=(r,e)=>(...t)=>{let i=r(...t);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},Iy=r=>r,CY=(r,e,t)=>[r,e,t],xg=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},nv,kg=(r,e,t,i)=>{nv===void 0&&(nv=gY());let n=i?10:0,s={};for(let[o,a]of Object.entries(nv)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=r(t,n):typeof a=="object"&&(s[l]=r(a[e],n))}return s};function Xye(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="",e.bgColor.close="",xg(e.color,"ansi",()=>kg(hY,"ansi16",Iy,!1)),xg(e.color,"ansi256",()=>kg(pY,"ansi256",Iy,!1)),xg(e.color,"ansi16m",()=>kg(dY,"rgb",CY,!1)),xg(e.bgColor,"ansi",()=>kg(hY,"ansi16",Iy,!0)),xg(e.bgColor,"ansi256",()=>kg(pY,"ansi256",Iy,!0)),xg(e.bgColor,"ansi16m",()=>kg(dY,"rgb",CY,!0)),e}Object.defineProperty(fY,"exports",{enumerable:!0,get:Xye})});var IY=w((set,EY)=>{"use strict";EY.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Zye=require("os"),wY=require("tty"),Ps=IY(),{env:gi}=process,tl;Ps("no-color")||Ps("no-colors")||Ps("color=false")||Ps("color=never")?tl=0:(Ps("color")||Ps("colors")||Ps("color=true")||Ps("color=always"))&&(tl=1);"FORCE_COLOR"in gi&&(gi.FORCE_COLOR==="true"?tl=1:gi.FORCE_COLOR==="false"?tl=0:tl=gi.FORCE_COLOR.length===0?1:Math.min(parseInt(gi.FORCE_COLOR,10),3));function sv(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function ov(r,e){if(tl===0)return 0;if(Ps("color=16m")||Ps("color=full")||Ps("color=truecolor"))return 3;if(Ps("color=256"))return 2;if(r&&!e&&tl===void 0)return 0;let t=tl||0;if(gi.TERM==="dumb")return t;if(process.platform==="win32"){let i=Zye.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in gi)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in gi)||gi.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in gi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(gi.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in gi)return 1;if(gi.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in gi){let i=parseInt((gi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(gi.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(gi.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(gi.TERM)||"COLORTERM"in gi?1:t}function $ye(r){let e=ov(r,r&&r.isTTY);return sv(e)}yY.exports={supportsColor:$ye,stdout:sv(ov(!0,wY.isatty(1))),stderr:sv(ov(!0,wY.isatty(2)))}});var QY=w((aet,bY)=>{"use strict";var ewe=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o="";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},twe=(r,e,t,i)=>{let n=0,s="";do{let o=r[i-1]==="\r";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+t,n=i+1,i=r.indexOf(` +`,n)}while(i!==-1);return s+=r.substr(n),s};bY.exports={stringReplaceAll:ewe,stringEncaseCRLFWithFirstIndex:twe}});var PY=w((Aet,SY)=>{"use strict";var rwe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,vY=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,iwe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,nwe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,swe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function xY(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):swe.get(r)||r}function owe(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(iwe))t.push(n[2].replace(nwe,(a,l,c)=>l?xY(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function awe(r){vY.lastIndex=0;let e=[],t;for(;(t=vY.exec(r))!==null;){let i=t[1];if(t[2]){let n=owe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function kY(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}SY.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(rwe,(s,o,a,l,c,u)=>{if(o)n.push(xY(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:kY(r,t)(g)),t.push({inverse:a,styles:awe(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(kY(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var uv=w((cet,DY)=>{"use strict";var Wp=mY(),{stdout:av,stderr:Av}=BY(),{stringReplaceAll:Awe,stringEncaseCRLFWithFirstIndex:lwe}=QY(),RY=["ansi","ansi","ansi256","ansi16m"],Pg=Object.create(null),cwe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=av?av.level:0;r.level=e.level===void 0?t:e.level},FY=class{constructor(e){return NY(e)}},NY=r=>{let e={};return cwe(e,r),e.template=(...t)=>uwe(e.template,...t),Object.setPrototypeOf(e,yy.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=FY,e.template};function yy(r){return NY(r)}for(let[r,e]of Object.entries(Wp))Pg[r]={get(){let t=wy(this,lv(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};Pg.visible={get(){let r=wy(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var LY=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of LY)Pg[r]={get(){let{level:e}=this;return function(...t){let i=lv(Wp.color[RY[e]][r](...t),Wp.color.close,this._styler);return wy(this,i,this._isEmpty)}}};for(let r of LY){let e="bg"+r[0].toUpperCase()+r.slice(1);Pg[e]={get(){let{level:t}=this;return function(...i){let n=lv(Wp.bgColor[RY[t]][r](...i),Wp.bgColor.close,this._styler);return wy(this,n,this._isEmpty)}}}}var gwe=Object.defineProperties(()=>{},te(N({},Pg),{level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}})),lv=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},wy=(r,e,t)=>{let i=(...n)=>fwe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=gwe,i._generator=r,i._styler=e,i._isEmpty=t,i},fwe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("")!==-1)for(;t!==void 0;)e=Awe(e,t.close,t.open),t=t.parent;let s=e.indexOf(` +`);return s!==-1&&(e=lwe(e,n,i,s)),i+e+n},cv,uwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s{"use strict";Ds.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;Ds.find=(r,e)=>r.nodes.find(t=>t.type===e);Ds.exceedsLimit=(r,e,t=1,i)=>i===!1||!Ds.isInteger(r)||!Ds.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;Ds.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Ds.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0==0?(r.invalid=!0,!0):!1;Ds.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0==0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;Ds.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;Ds.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);Ds.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n{"use strict";var OY=By();TY.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&OY.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&OY.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var KY=w((fet,MY)=>{"use strict";MY.exports=function(r){return typeof r=="number"?r-r==0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var zY=w((het,UY)=>{"use strict";var HY=KY(),Rc=(r,e,t)=>{if(HY(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if(HY(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=N({relaxZeros:!0},t);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(Rc.cache.hasOwnProperty(l))return Rc.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let m=r+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=GY(r)||GY(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let m=u<0?Math.abs(u):1;p=jY(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=jY(c,u,f,i)),f.negatives=p,f.positives=h,f.result=hwe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Rc.cache[l]=f,f.result};function hwe(r,e,t){let i=gv(r,e,"-",!1,t)||[],n=gv(e,r,"",!1,t)||[],s=gv(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function dwe(r,e){let t=1,i=1,n=YY(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=YY(r,t);for(n=qY(e+1,i)-1;r1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+JY(a.count),o=c+1;continue}t.isPadded&&(g=Iwe(c,t,i)),u.string=g+u.pattern+JY(u.count),s.push(u),o=c+1,a=u}return s}function gv(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!WY(e,"string",a)&&s.push(t+a),i&&WY(e,"string",a)&&s.push(t+a)}return s}function Cwe(r,e){let t=[];for(let i=0;ie?1:e>r?-1:0}function WY(r,e,t){return r.some(i=>i[e]===t)}function YY(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function qY(r,e){return r-r%Math.pow(10,e)}function JY(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function mwe(r,e,t){return`[${r}${e-r==1?"":"-"}${e}]`}function GY(r){return/^-?(0+)\d/.test(r)}function Iwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Rc.cache={};Rc.clearCache=()=>Rc.cache={};UY.exports=Rc});var pv=w((pet,_Y)=>{"use strict";var ywe=require("util"),VY=zY(),XY=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),wwe=r=>e=>r===!0?Number(e):String(e),fv=r=>typeof r=="number"||typeof r=="string"&&r!=="",_p=r=>Number.isInteger(+r),hv=r=>{let e=`${r}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},Bwe=(r,e,t)=>typeof r=="string"||typeof e=="string"?!0:t.stringify===!0,bwe=(r,e,t)=>{if(e>0){let i=r[0]==="-"?"-":"";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,"0")}return t===!1?String(r):r},ZY=(r,e)=>{let t=r[0]==="-"?"-":"";for(t&&(r=r.slice(1),e--);r.length{r.negatives.sort((o,a)=>oa?1:0),r.positives.sort((o,a)=>oa?1:0);let t=e.capture?"":"?:",i="",n="",s;return r.positives.length&&(i=r.positives.join("|")),r.negatives.length&&(n=`-(${t}${r.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},$Y=(r,e,t,i)=>{if(t)return VY(r,e,N({wrap:!1},i));let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},eq=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?"":"?:";return i?`(${n}${r.join("|")})`:r.join("|")}return VY(r,e,t)},tq=(...r)=>new RangeError("Invalid range arguments: "+ywe.inspect(...r)),rq=(r,e,t)=>{if(t.strictRanges===!0)throw tq([r,e]);return[]},Swe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${r}" to be a number`);return[]},vwe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw tq([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=hv(a)||hv(l)||hv(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Bwe(r,e,i)===!1,h=i.transform||wwe(f);if(i.toRegex&&t===1)return $Y(ZY(r,g),ZY(e,g),!0,i);let p={negatives:[],positives:[]},m=v=>p[v<0?"negatives":"positives"].push(Math.abs(v)),y=[],b=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?m(n):y.push(bwe(h(n,b),g,f)),n=o?n-t:n+t,b++;return i.toRegex===!0?t>1?Qwe(p,i):eq(y,null,N({wrap:!1},i)):y},xwe=(r,e,t=1,i={})=>{if(!_p(r)&&r.length>1||!_p(e)&&e.length>1)return rq(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return $Y(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?eq(u,null,{wrap:!1,options:i}):u},Qy=(r,e,t,i={})=>{if(e==null&&fv(r))return[r];if(!fv(r)||!fv(e))return rq(r,e,i);if(typeof t=="function")return Qy(r,e,1,{transform:t});if(XY(t))return Qy(r,e,0,t);let n=N({},i);return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,_p(t)?_p(r)&&_p(e)?vwe(r,e,t,n):xwe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!XY(t)?Swe(t,n):Qy(r,e,1,t)};_Y.exports=Qy});var sq=w((det,iq)=>{"use strict";var kwe=pv(),nq=By(),Pwe=(r,e={})=>{let t=(i,n={})=>{let s=nq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=nq.reduce(i.nodes),g=kwe(...u,te(N({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};iq.exports=Pwe});var Aq=w((Cet,oq)=>{"use strict";var Dwe=pv(),aq=by(),Dg=By(),Fc=(r="",e="",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?Dg.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(Fc(s,e,t));else for(let s of e)t===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Fc(n,s,t):n+s);return Dg.flatten(i)},Rwe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Fc(a.pop(),aq(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Fc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=Dg.reduce(n.nodes);if(Dg.exceedsLimit(...g,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=Dwe(...g,e);f.length===0&&(f=aq(n,e)),a.push(Fc(a.pop(),f)),n.nodes=[];return}let l=Dg.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";lq.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var pq=w((Eet,uq)=>{"use strict";var Fwe=by(),{MAX_LENGTH:gq,CHAR_BACKSLASH:dv,CHAR_BACKTICK:Nwe,CHAR_COMMA:Lwe,CHAR_DOT:Twe,CHAR_LEFT_PARENTHESES:Owe,CHAR_RIGHT_PARENTHESES:Mwe,CHAR_LEFT_CURLY_BRACE:Kwe,CHAR_RIGHT_CURLY_BRACE:Uwe,CHAR_LEFT_SQUARE_BRACKET:fq,CHAR_RIGHT_SQUARE_BRACKET:hq,CHAR_DOUBLE_QUOTE:Hwe,CHAR_SINGLE_QUOTE:jwe,CHAR_NO_BREAK_SPACE:Gwe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Ywe}=cq(),qwe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(gq,t.maxLength):gq;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],m=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:Fwe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===Twe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){m({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let b=y[y.length-1];b.value+=a.value+f,a=b,o.ranges--;continue}m({type:"dot",value:f});continue}m({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],b=y.nodes.indexOf(o);y.nodes.splice(b,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};uq.exports=qwe});var mq=w((Iet,dq)=>{"use strict";var Cq=by(),Jwe=sq(),Wwe=Aq(),zwe=pq(),ts=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=ts.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(ts.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};ts.parse=(r,e={})=>zwe(r,e);ts.stringify=(r,e={})=>typeof r=="string"?Cq(ts.parse(r,e),e):Cq(r,e);ts.compile=(r,e={})=>(typeof r=="string"&&(r=ts.parse(r,e)),Jwe(r,e));ts.expand=(r,e={})=>{typeof r=="string"&&(r=ts.parse(r,e));let t=Wwe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};ts.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?ts.compile(r,e):ts.expand(r,e);dq.exports=ts});var Vp=w((yet,Eq)=>{"use strict";var _we=require("path"),Jo="\\\\/",Iq=`[^${Jo}]`,za="\\.",Vwe="\\+",Xwe="\\?",Sy="\\/",Zwe="(?=.)",yq="[^/]",Cv=`(?:${Sy}|$)`,wq=`(?:^|${Sy})`,mv=`${za}{1,2}${Cv}`,$we=`(?!${za})`,eBe=`(?!${wq}${mv})`,tBe=`(?!${za}{0,1}${Cv})`,rBe=`(?!${mv})`,iBe=`[^.${Sy}]`,nBe=`${yq}*?`,Bq={DOT_LITERAL:za,PLUS_LITERAL:Vwe,QMARK_LITERAL:Xwe,SLASH_LITERAL:Sy,ONE_CHAR:Zwe,QMARK:yq,END_ANCHOR:Cv,DOTS_SLASH:mv,NO_DOT:$we,NO_DOTS:eBe,NO_DOT_SLASH:tBe,NO_DOTS_SLASH:rBe,QMARK_NO_DOT:iBe,STAR:nBe,START_ANCHOR:wq},sBe=te(N({},Bq),{SLASH_LITERAL:`[${Jo}]`,QMARK:Iq,STAR:`${Iq}*?`,DOTS_SLASH:`${za}{1,2}(?:[${Jo}]|$)`,NO_DOT:`(?!${za})`,NO_DOTS:`(?!(?:^|[${Jo}])${za}{1,2}(?:[${Jo}]|$))`,NO_DOT_SLASH:`(?!${za}{0,1}(?:[${Jo}]|$))`,NO_DOTS_SLASH:`(?!${za}{1,2}(?:[${Jo}]|$))`,QMARK_NO_DOT:`[^.${Jo}]`,START_ANCHOR:`(?:^|[${Jo}])`,END_ANCHOR:`(?:[${Jo}]|$)`}),oBe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Eq.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:oBe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:_we.sep,extglobChars(r){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${r.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(r){return r===!0?sBe:Bq}}});var Xp=w(xn=>{"use strict";var aBe=require("path"),ABe=process.platform==="win32",{REGEX_BACKSLASH:lBe,REGEX_REMOVE_BACKSLASH:cBe,REGEX_SPECIAL_CHARS:uBe,REGEX_SPECIAL_CHARS_GLOBAL:gBe}=Vp();xn.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);xn.hasRegexChars=r=>uBe.test(r);xn.isRegexChar=r=>r.length===1&&xn.hasRegexChars(r);xn.escapeRegex=r=>r.replace(gBe,"\\$1");xn.toPosixSlashes=r=>r.replace(lBe,"/");xn.removeBackslashes=r=>r.replace(cBe,e=>e==="\\"?"":e);xn.supportsLookbehinds=()=>{let r=process.version.slice(1).split(".").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};xn.isWindows=r=>r&&typeof r.windows=="boolean"?r.windows:ABe===!0||aBe.sep==="\\";xn.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]==="\\"?xn.escapeLast(r,e,i-1):`${r.slice(0,i)}\\${r.slice(i)}`};xn.removePrefix=(r,e={})=>{let t=r;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};xn.wrapOutput=(r,e={},t={})=>{let i=t.contains?"":"^",n=t.contains?"":"$",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Dq=w((Bet,bq)=>{"use strict";var Qq=Xp(),{CHAR_ASTERISK:Ev,CHAR_AT:fBe,CHAR_BACKWARD_SLASH:Zp,CHAR_COMMA:hBe,CHAR_DOT:Iv,CHAR_EXCLAMATION_MARK:yv,CHAR_FORWARD_SLASH:Sq,CHAR_LEFT_CURLY_BRACE:wv,CHAR_LEFT_PARENTHESES:Bv,CHAR_LEFT_SQUARE_BRACKET:pBe,CHAR_PLUS:dBe,CHAR_QUESTION_MARK:vq,CHAR_RIGHT_CURLY_BRACE:CBe,CHAR_RIGHT_PARENTHESES:xq,CHAR_RIGHT_SQUARE_BRACKET:mBe}=Vp(),kq=r=>r===Sq||r===Zp,Pq=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?Infinity:1)},EBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,m=!1,y=!1,b=!1,v=!1,x=!1,T=!1,q=!1,Y=0,$,_,ne={value:"",depth:0,isGlob:!1},ee=()=>c>=i,A=()=>l.charCodeAt(c+1),oe=()=>($=_,l.charCodeAt(++c));for(;c0&&(Z=l.slice(0,u),l=l.slice(u),g-=u),ce&&p===!0&&g>0?(ce=l.slice(0,g),O=l.slice(g)):p===!0?(ce="",O=l):ce=l,ce&&ce!==""&&ce!=="/"&&ce!==l&&kq(ce.charCodeAt(ce.length-1))&&(ce=ce.slice(0,-1)),t.unescape===!0&&(O&&(O=Qq.removeBackslashes(O)),ce&&v===!0&&(ce=Qq.removeBackslashes(ce)));let L={prefix:Z,input:r,start:u,base:ce,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:y,negated:x,negatedExtglob:T};if(t.tokens===!0&&(L.maxDepth=0,kq(_)||o.push(ne),L.tokens=o),t.parts===!0||t.tokens===!0){let de;for(let Be=0;Be{"use strict";var vy=Vp(),rs=Xp(),{MAX_LENGTH:xy,POSIX_REGEX_SOURCE:IBe,REGEX_NON_SPECIAL_CHARS:yBe,REGEX_SPECIAL_CHARS_BACKREF:wBe,REPLACEMENTS:Fq}=vy,BBe=(r,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...r,e);r.sort();let t=`[${r.join("-")}]`;try{new RegExp(t)}catch(i){return r.map(n=>rs.escapeRegex(n)).join("..")}return t},Rg=(r,e)=>`Missing ${r}: "${e}" - use "\\\\${e}" to match literal characters`,Nq=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");r=Fq[r]||r;let t=N({},e),i=typeof t.maxLength=="number"?Math.min(xy,t.maxLength):xy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=rs.isWindows(e),c=vy.globChars(l),u=vy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:y,NO_DOT_SLASH:b,NO_DOTS_SLASH:v,QMARK:x,QMARK_NO_DOT:T,STAR:q,START_ANCHOR:Y}=c,$=V=>`(${a}(?:(?!${Y}${V.dot?m:g}).)*?)`,_=t.dot?"":y,ne=t.dot?x:T,ee=t.bash===!0?$(t):q;t.capture&&(ee=`(${ee})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=rs.removePrefix(r,A),n=r.length;let oe=[],ce=[],Z=[],O=s,L,de=()=>A.index===n-1,Be=A.peek=(V=1)=>r[A.index+V],je=A.advance=()=>r[++A.index]||"",re=()=>r.slice(A.index+1),se=(V="",Qe=0)=>{A.consumed+=V,A.index+=Qe},be=V=>{A.output+=V.output!=null?V.output:V.value,se(V.value)},he=()=>{let V=1;for(;Be()==="!"&&(Be(2)!=="("||Be(3)==="?");)je(),A.start++,V++;return V%2==0?!1:(A.negated=!0,A.start++,!0)},Fe=V=>{A[V]++,Z.push(V)},Ke=V=>{A[V]--,Z.pop()},ke=V=>{if(O.type==="globstar"){let Qe=A.braces>0&&(V.type==="comma"||V.type==="brace"),le=V.extglob===!0||oe.length&&(V.type==="pipe"||V.type==="paren");V.type!=="slash"&&V.type!=="paren"&&!Qe&&!le&&(A.output=A.output.slice(0,-O.output.length),O.type="star",O.value="*",O.output=ee,A.output+=O.output)}if(oe.length&&V.type!=="paren"&&(oe[oe.length-1].inner+=V.value),(V.value||V.output)&&be(V),O&&O.type==="text"&&V.type==="text"){O.value+=V.value,O.output=(O.output||"")+V.value;return}V.prev=O,o.push(V),O=V},ve=(V,Qe)=>{let le=te(N({},u[Qe]),{conditions:1,inner:""});le.prev=O,le.parens=A.parens,le.output=A.output;let fe=(t.capture?"(":"")+le.open;Fe("parens"),ke({type:V,value:Qe,output:A.output?"":p}),ke({type:"paren",extglob:!0,value:je(),output:fe}),oe.push(le)},pe=V=>{let Qe=V.close+(t.capture?")":""),le;if(V.type==="negate"){let fe=ee;V.inner&&V.inner.length>1&&V.inner.includes("/")&&(fe=$(t)),(fe!==ee||de()||/^\)+$/.test(re()))&&(Qe=V.close=`)$))${fe}`),V.inner.includes("*")&&(le=re())&&/^\.[^\\/.]+$/.test(le)&&(Qe=V.close=`)${le})${fe})`),V.prev.type==="bos"&&(A.negatedExtglob=!0)}ke({type:"paren",extglob:!0,value:L,output:Qe}),Ke("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(r)){let V=!1,Qe=r.replace(wBe,(le,fe,gt,Ht,Mt,Ei)=>Ht==="\\"?(V=!0,le):Ht==="?"?fe?fe+Ht+(Mt?x.repeat(Mt.length):""):Ei===0?ne+(Mt?x.repeat(Mt.length):""):x.repeat(gt.length):Ht==="."?g.repeat(gt.length):Ht==="*"?fe?fe+Ht+(Mt?ee:""):ee:fe?le:`\\${le}`);return V===!0&&(t.unescape===!0?Qe=Qe.replace(/\\/g,""):Qe=Qe.replace(/\\+/g,le=>le.length%2==0?"\\\\":le?"\\":"")),Qe===r&&t.contains===!0?(A.output=r,A):(A.output=rs.wrapOutput(Qe,A,e),A)}for(;!de();){if(L=je(),L==="\0")continue;if(L==="\\"){let le=Be();if(le==="/"&&t.bash!==!0||le==="."||le===";")continue;if(!le){L+="\\",ke({type:"text",value:L});continue}let fe=/^\\+/.exec(re()),gt=0;if(fe&&fe[0].length>2&&(gt=fe[0].length,A.index+=gt,gt%2!=0&&(L+="\\")),t.unescape===!0?L=je():L+=je(),A.brackets===0){ke({type:"text",value:L});continue}}if(A.brackets>0&&(L!=="]"||O.value==="["||O.value==="[^")){if(t.posix!==!1&&L===":"){let le=O.value.slice(1);if(le.includes("[")&&(O.posix=!0,le.includes(":"))){let fe=O.value.lastIndexOf("["),gt=O.value.slice(0,fe),Ht=O.value.slice(fe+2),Mt=IBe[Ht];if(Mt){O.value=gt+Mt,A.backtrack=!0,je(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(L==="["&&Be()!==":"||L==="-"&&Be()==="]")&&(L=`\\${L}`),L==="]"&&(O.value==="["||O.value==="[^")&&(L=`\\${L}`),t.posix===!0&&L==="!"&&O.value==="["&&(L="^"),O.value+=L,be({value:L});continue}if(A.quotes===1&&L!=='"'){L=rs.escapeRegex(L),O.value+=L,be({value:L});continue}if(L==='"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&ke({type:"text",value:L});continue}if(L==="("){Fe("parens"),ke({type:"paren",value:L});continue}if(L===")"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(Rg("opening","("));let le=oe[oe.length-1];if(le&&A.parens===le.parens+1){pe(oe.pop());continue}ke({type:"paren",value:L,output:A.parens?")":"\\)"}),Ke("parens");continue}if(L==="["){if(t.nobracket===!0||!re().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(Rg("closing","]"));L=`\\${L}`}else Fe("brackets");ke({type:"bracket",value:L});continue}if(L==="]"){if(t.nobracket===!0||O&&O.type==="bracket"&&O.value.length===1){ke({type:"text",value:L,output:`\\${L}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(Rg("opening","["));ke({type:"text",value:L,output:`\\${L}`});continue}Ke("brackets");let le=O.value.slice(1);if(O.posix!==!0&&le[0]==="^"&&!le.includes("/")&&(L=`/${L}`),O.value+=L,be({value:L}),t.literalBrackets===!1||rs.hasRegexChars(le))continue;let fe=rs.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),t.literalBrackets===!0){A.output+=fe,O.value=fe;continue}O.value=`(${a}${fe}|${O.value})`,A.output+=O.value;continue}if(L==="{"&&t.nobrace!==!0){Fe("braces");let le={type:"brace",value:L,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ce.push(le),ke(le);continue}if(L==="}"){let le=ce[ce.length-1];if(t.nobrace===!0||!le){ke({type:"text",value:L,output:L});continue}let fe=")";if(le.dots===!0){let gt=o.slice(),Ht=[];for(let Mt=gt.length-1;Mt>=0&&(o.pop(),gt[Mt].type!=="brace");Mt--)gt[Mt].type!=="dots"&&Ht.unshift(gt[Mt].value);fe=BBe(Ht,t),A.backtrack=!0}if(le.comma!==!0&&le.dots!==!0){let gt=A.output.slice(0,le.outputIndex),Ht=A.tokens.slice(le.tokensIndex);le.value=le.output="\\{",L=fe="\\}",A.output=gt;for(let Mt of Ht)A.output+=Mt.output||Mt.value}ke({type:"brace",value:L,output:fe}),Ke("braces"),ce.pop();continue}if(L==="|"){oe.length>0&&oe[oe.length-1].conditions++,ke({type:"text",value:L});continue}if(L===","){let le=L,fe=ce[ce.length-1];fe&&Z[Z.length-1]==="braces"&&(fe.comma=!0,le="|"),ke({type:"comma",value:L,output:le});continue}if(L==="/"){if(O.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),O=s;continue}ke({type:"slash",value:L,output:h});continue}if(L==="."){if(A.braces>0&&O.type==="dot"){O.value==="."&&(O.output=g);let le=ce[ce.length-1];O.type="dots",O.output+=L,O.value+=L,le.dots=!0;continue}if(A.braces+A.parens===0&&O.type!=="bos"&&O.type!=="slash"){ke({type:"text",value:L,output:g});continue}ke({type:"dot",value:L,output:g});continue}if(L==="?"){if(!(O&&O.value==="(")&&t.noextglob!==!0&&Be()==="("&&Be(2)!=="?"){ve("qmark",L);continue}if(O&&O.type==="paren"){let fe=Be(),gt=L;if(fe==="<"&&!rs.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(O.value==="("&&!/[!=<:]/.test(fe)||fe==="<"&&!/<([!=]|\w+>)/.test(re()))&&(gt=`\\${L}`),ke({type:"text",value:L,output:gt});continue}if(t.dot!==!0&&(O.type==="slash"||O.type==="bos")){ke({type:"qmark",value:L,output:T});continue}ke({type:"qmark",value:L,output:x});continue}if(L==="!"){if(t.noextglob!==!0&&Be()==="("&&(Be(2)!=="?"||!/[!=<:]/.test(Be(3)))){ve("negate",L);continue}if(t.nonegate!==!0&&A.index===0){he();continue}}if(L==="+"){if(t.noextglob!==!0&&Be()==="("&&Be(2)!=="?"){ve("plus",L);continue}if(O&&O.value==="("||t.regex===!1){ke({type:"plus",value:L,output:f});continue}if(O&&(O.type==="bracket"||O.type==="paren"||O.type==="brace")||A.parens>0){ke({type:"plus",value:L});continue}ke({type:"plus",value:f});continue}if(L==="@"){if(t.noextglob!==!0&&Be()==="("&&Be(2)!=="?"){ke({type:"at",extglob:!0,value:L,output:""});continue}ke({type:"text",value:L});continue}if(L!=="*"){(L==="$"||L==="^")&&(L=`\\${L}`);let le=yBe.exec(re());le&&(L+=le[0],A.index+=le[0].length),ke({type:"text",value:L});continue}if(O&&(O.type==="globstar"||O.star===!0)){O.type="star",O.star=!0,O.value+=L,O.output=ee,A.backtrack=!0,A.globstar=!0,se(L);continue}let V=re();if(t.noextglob!==!0&&/^\([^?]/.test(V)){ve("star",L);continue}if(O.type==="star"){if(t.noglobstar===!0){se(L);continue}let le=O.prev,fe=le.prev,gt=le.type==="slash"||le.type==="bos",Ht=fe&&(fe.type==="star"||fe.type==="globstar");if(t.bash===!0&&(!gt||V[0]&&V[0]!=="/")){ke({type:"star",value:L,output:""});continue}let Mt=A.braces>0&&(le.type==="comma"||le.type==="brace"),Ei=oe.length&&(le.type==="pipe"||le.type==="paren");if(!gt&&le.type!=="paren"&&!Mt&&!Ei){ke({type:"star",value:L,output:""});continue}for(;V.slice(0,3)==="/**";){let jt=r[A.index+4];if(jt&&jt!=="/")break;V=V.slice(3),se("/**",3)}if(le.type==="bos"&&de()){O.type="globstar",O.value+=L,O.output=$(t),A.output=O.output,A.globstar=!0,se(L);continue}if(le.type==="slash"&&le.prev.type!=="bos"&&!Ht&&de()){A.output=A.output.slice(0,-(le.output+O.output).length),le.output=`(?:${le.output}`,O.type="globstar",O.output=$(t)+(t.strictSlashes?")":"|$)"),O.value+=L,A.globstar=!0,A.output+=le.output+O.output,se(L);continue}if(le.type==="slash"&&le.prev.type!=="bos"&&V[0]==="/"){let jt=V[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(le.output+O.output).length),le.output=`(?:${le.output}`,O.type="globstar",O.output=`${$(t)}${h}|${h}${jt})`,O.value+=L,A.output+=le.output+O.output,A.globstar=!0,se(L+je()),ke({type:"slash",value:"/",output:""});continue}if(le.type==="bos"&&V[0]==="/"){O.type="globstar",O.value+=L,O.output=`(?:^|${h}|${$(t)}${h})`,A.output=O.output,A.globstar=!0,se(L+je()),ke({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-O.output.length),O.type="globstar",O.output=$(t),O.value+=L,A.output+=O.output,A.globstar=!0,se(L);continue}let Qe={type:"star",value:L,output:ee};if(t.bash===!0){Qe.output=".*?",(O.type==="bos"||O.type==="slash")&&(Qe.output=_+Qe.output),ke(Qe);continue}if(O&&(O.type==="bracket"||O.type==="paren")&&t.regex===!0){Qe.output=L,ke(Qe);continue}(A.index===A.start||O.type==="slash"||O.type==="dot")&&(O.type==="dot"?(A.output+=b,O.output+=b):t.dot===!0?(A.output+=v,O.output+=v):(A.output+=_,O.output+=_),Be()!=="*"&&(A.output+=p,O.output+=p)),ke(Qe)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(Rg("closing","]"));A.output=rs.escapeLast(A.output,"["),Ke("brackets")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(Rg("closing",")"));A.output=rs.escapeLast(A.output,"("),Ke("parens")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(Rg("closing","}"));A.output=rs.escapeLast(A.output,"{"),Ke("braces")}if(t.strictSlashes!==!0&&(O.type==="star"||O.type==="bracket")&&ke({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let V of A.tokens)A.output+=V.output!=null?V.output:V.value,V.suffix&&(A.output+=V.suffix)}return A};Nq.fastpaths=(r,e)=>{let t=N({},e),i=typeof t.maxLength=="number"?Math.min(xy,t.maxLength):xy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=Fq[r]||r;let s=rs.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=vy.globChars(s),m=t.dot?g:u,y=t.dot?f:u,b=t.capture?"":"?:",v={negated:!1,prefix:""},x=t.bash===!0?".*?":h;t.capture&&(x=`(${x})`);let T=_=>_.noglobstar===!0?x:`(${b}(?:(?!${p}${_.dot?c:o}).)*?)`,q=_=>{switch(_){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${y}${x}`;case"**":return m+T(t);case"**/*":return`(?:${m}${T(t)}${a})?${y}${l}${x}`;case"**/*.*":return`(?:${m}${T(t)}${a})?${y}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${T(t)}${a})?${o}${l}${x}`;default:{let ne=/^(.*?)\.(\w+)$/.exec(_);if(!ne)return;let ee=q(ne[1]);return ee?ee+o+ne[2]:void 0}}},Y=rs.removePrefix(r,v),$=q(Y);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};Rq.exports=Nq});var Oq=w((Qet,Tq)=>{"use strict";var bBe=require("path"),QBe=Dq(),bv=Lq(),Qv=Xp(),SBe=Vp(),vBe=r=>r&&typeof r=="object"&&!Array.isArray(r),_r=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>_r(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=vBe(r)&&r.tokens&&r.input;if(r===""||typeof r!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=Qv.isWindows(e),o=i?_r.compileRe(r,e):_r.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=te(N({},e),{ignore:null,onMatch:null,onResult:null});l=_r(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=_r.test(u,o,e,{glob:r,posix:s}),m={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(m),f===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return t&&(c.state=a),c};_r.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!="string")throw new TypeError("Expected input to be a string");if(r==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(n?Qv.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=_r.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};_r.matchBase=(r,e,t,i=Qv.isWindows(t))=>(e instanceof RegExp?e:_r.makeRe(e,t)).test(bBe.basename(r));_r.isMatch=(r,e,t)=>_r(e,t)(r);_r.parse=(r,e)=>Array.isArray(r)?r.map(t=>_r.parse(t,e)):bv(r,te(N({},e),{fastpaths:!1}));_r.scan=(r,e)=>QBe(r,e);_r.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=_r.toRegex(a,e);return i===!0&&(l.state=r),l};_r.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]==="."||r[0]==="*")&&(n.output=bv.fastpaths(r,e)),n.output||(n=bv(r,e)),_r.compileRe(n,e,t,i)};_r.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};_r.constants=SBe;Tq.exports=_r});var Sv=w((vet,Mq)=>{"use strict";Mq.exports=Oq()});var is=w((xet,Kq)=>{"use strict";var Uq=require("util"),Hq=mq(),Wo=Sv(),vv=Xp(),jq=r=>r===""||r==="./",Pr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Pr.match=Pr;Pr.matcher=(r,e)=>Wo(r,e);Pr.isMatch=(r,e,t)=>Wo(e,t)(r);Pr.any=Pr.isMatch;Pr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{t.onResult&&t.onResult(a),n.push(a.output)},o=Pr(r,e,te(N({},t),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Pr.contains=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${Uq.inspect(r)}"`);if(Array.isArray(e))return e.some(i=>Pr.contains(r,i,t));if(typeof e=="string"){if(jq(r)||jq(e))return!1;if(r.includes(e)||r.startsWith("./")&&r.slice(2).includes(e))return!0}return Pr.isMatch(r,e,te(N({},t),{contains:!0}))};Pr.matchKeys=(r,e,t)=>{if(!vv.isObject(r))throw new TypeError("Expected the first argument to be an object");let i=Pr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Pr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Wo(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Pr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Wo(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Pr.all=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${Uq.inspect(r)}"`);return[].concat(e).every(i=>Wo(i,t)(r))};Pr.capture=(r,e,t)=>{let i=vv.isWindows(t),s=Wo.makeRe(String(r),te(N({},t),{capture:!0})).exec(i?vv.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Pr.makeRe=(...r)=>Wo.makeRe(...r);Pr.scan=(...r)=>Wo.scan(...r);Pr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of Hq(String(i),e))t.push(Wo.parse(n,e));return t};Pr.braces=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(r)?[r]:Hq(r,e)};Pr.braceExpand=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return Pr.braces(r,te(N({},e),{expand:!0}))};Kq.exports=Pr});var Yq=w((ket,Gq)=>{"use strict";Gq.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var Jq=w((Pet,qq)=>{"use strict";var xBe=Yq();qq.exports=r=>typeof r=="string"?r.replace(xBe(),""):r});var AJ=w((zet,aJ)=>{"use strict";aJ.exports=(...r)=>[...new Set([].concat(...r))]});var jv=w((_et,lJ)=>{"use strict";var UBe=require("stream"),cJ=UBe.PassThrough,HBe=Array.prototype.slice;lJ.exports=jBe;function jBe(){let r=[],e=!1,t=HBe.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=cJ(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Fy,"__esModule",{value:!0});function GBe(r){return r.reduce((e,t)=>[].concat(e,t),[])}Fy.flatten=GBe;function YBe(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}Fy.splitWhen=YBe});var fJ=w(Gv=>{"use strict";Object.defineProperty(Gv,"__esModule",{value:!0});function qBe(r){return r.code==="ENOENT"}Gv.isEnoentCodeError=qBe});var pJ=w(Yv=>{"use strict";Object.defineProperty(Yv,"__esModule",{value:!0});var hJ=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function JBe(r,e){return new hJ(r,e)}Yv.createDirentFromStats=JBe});var dJ=w(Kg=>{"use strict";Object.defineProperty(Kg,"__esModule",{value:!0});var WBe=require("path"),zBe=2,_Be=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function VBe(r){return r.replace(/\\/g,"/")}Kg.unixify=VBe;function XBe(r,e){return WBe.resolve(r,e)}Kg.makeAbsolute=XBe;function ZBe(r){return r.replace(_Be,"\\$2")}Kg.escape=ZBe;function $Be(r){if(r.charAt(0)==="."){let e=r.charAt(1);if(e==="/"||e==="\\")return r.slice(zBe)}return r}Kg.removeLeadingDotSegment=$Be});var mJ=w((ett,CJ)=>{CJ.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var yJ=w((ttt,EJ)=>{var e0e=mJ(),IJ={"{":"}","(":")","[":"]"},t0e=function(r){if(r[0]==="!")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=r.indexOf("\\",e),o===-1||o>i)))||n!==-1&&r[e]==="{"&&r[e+1]!=="}"&&(n=r.indexOf("}",e),n>e&&(o=r.indexOf("\\",e),o===-1||o>n))||s!==-1&&r[e]==="("&&r[e+1]==="?"&&/[:!=]/.test(r[e+2])&&r[e+3]!==")"&&(s=r.indexOf(")",e),s>e&&(o=r.indexOf("\\",e),o===-1||o>s))||t!==-1&&r[e]==="("&&r[e+1]!=="|"&&(tt&&(o=r.indexOf("\\",t),o===-1||o>s))))return!0;if(r[e]==="\\"){var a=r[e+1];e+=2;var l=IJ[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]==="!")return!0}else e++}return!1},r0e=function(r){if(r[0]==="!")return!0;for(var e=0;e{"use strict";var i0e=yJ(),n0e=require("path").posix.dirname,s0e=require("os").platform()==="win32",qv="/",o0e=/\\/g,a0e=/[\{\[].*[\}\]]$/,A0e=/(^|[^\\])([\{\[]|\([^\)]+$)/,l0e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;wJ.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&s0e&&e.indexOf(qv)<0&&(e=e.replace(o0e,qv)),a0e.test(e)&&(e+=qv),e+="a";do e=n0e(e);while(i0e(e)||A0e.test(e));return e.replace(l0e,"$1")}});var RJ=w(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});var c0e=require("path"),u0e=BJ(),bJ=is(),g0e=Sv(),QJ="**",f0e="\\",h0e=/[*?]|^!/,p0e=/\[.*]/,d0e=/(?:^|[^!*+?@])\(.*\|.*\)/,C0e=/[!*+?@]\(.*\)/,m0e=/{.*(?:,|\.\.).*}/;function vJ(r,e={}){return!SJ(r,e)}si.isStaticPattern=vJ;function SJ(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(f0e)||h0e.test(r)||p0e.test(r)||d0e.test(r)||e.extglob!==!1&&C0e.test(r)||e.braceExpansion!==!1&&m0e.test(r))}si.isDynamicPattern=SJ;function E0e(r){return Ny(r)?r.slice(1):r}si.convertToPositivePattern=E0e;function I0e(r){return"!"+r}si.convertToNegativePattern=I0e;function Ny(r){return r.startsWith("!")&&r[1]!=="("}si.isNegativePattern=Ny;function xJ(r){return!Ny(r)}si.isPositivePattern=xJ;function y0e(r){return r.filter(Ny)}si.getNegativePatterns=y0e;function w0e(r){return r.filter(xJ)}si.getPositivePatterns=w0e;function B0e(r){return u0e(r,{flipBackslashes:!1})}si.getBaseDirectory=B0e;function b0e(r){return r.includes(QJ)}si.hasGlobStar=b0e;function kJ(r){return r.endsWith("/"+QJ)}si.endsWithSlashGlobStar=kJ;function Q0e(r){let e=c0e.basename(r);return kJ(r)||vJ(e)}si.isAffectDepthOfReadingPattern=Q0e;function S0e(r){return r.reduce((e,t)=>e.concat(PJ(t)),[])}si.expandPatternsWithBraceExpansion=S0e;function PJ(r){return bJ.braces(r,{expand:!0,nodupes:!0})}si.expandBraceExpansion=PJ;function v0e(r,e){let t=g0e.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}si.getPatternParts=v0e;function DJ(r,e){return bJ.makeRe(r,e)}si.makeRe=DJ;function x0e(r,e){return r.map(t=>DJ(t,e))}si.convertPatternsToRe=x0e;function k0e(r,e){return e.some(t=>t.test(r))}si.matchAny=k0e});var NJ=w(Jv=>{"use strict";Object.defineProperty(Jv,"__esModule",{value:!0});var P0e=jv();function D0e(r){let e=P0e(r);return r.forEach(t=>{t.once("error",i=>e.emit("error",i))}),e.once("close",()=>FJ(r)),e.once("end",()=>FJ(r)),e}Jv.merge=D0e;function FJ(r){r.forEach(e=>e.emit("close"))}});var LJ=w(Ly=>{"use strict";Object.defineProperty(Ly,"__esModule",{value:!0});function R0e(r){return typeof r=="string"}Ly.isString=R0e;function F0e(r){return r===""}Ly.isEmpty=F0e});var Xa=w(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});var N0e=gJ();Va.array=N0e;var L0e=fJ();Va.errno=L0e;var T0e=pJ();Va.fs=T0e;var O0e=dJ();Va.path=O0e;var M0e=RJ();Va.pattern=M0e;var K0e=NJ();Va.stream=K0e;var U0e=LJ();Va.string=U0e});var UJ=w(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var Mc=Xa();function H0e(r,e){let t=TJ(r),i=OJ(r,e.ignore),n=t.filter(l=>Mc.pattern.isStaticPattern(l,e)),s=t.filter(l=>Mc.pattern.isDynamicPattern(l,e)),o=Wv(n,i,!1),a=Wv(s,i,!0);return o.concat(a)}Za.generate=H0e;function Wv(r,e,t){let i=MJ(r);return"."in i?[zv(".",r,e,t)]:KJ(i,e,t)}Za.convertPatternsToTasks=Wv;function TJ(r){return Mc.pattern.getPositivePatterns(r)}Za.getPositivePatterns=TJ;function OJ(r,e){return Mc.pattern.getNegativePatterns(r).concat(e).map(Mc.pattern.convertToPositivePattern)}Za.getNegativePatternsAsPositive=OJ;function MJ(r){let e={};return r.reduce((t,i)=>{let n=Mc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}Za.groupPatternsByBaseDirectory=MJ;function KJ(r,e,t){return Object.keys(r).map(i=>zv(i,r[i],e,t))}Za.convertPatternGroupsToTasks=KJ;function zv(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(Mc.pattern.convertToNegativePattern))}}Za.convertPatternGroupToTask=zv});var jJ=w(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.read=void 0;function j0e(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){HJ(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){_v(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){HJ(t,s);return}_v(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),_v(t,o)})})}Ty.read=j0e;function HJ(r,e){r(e)}function _v(r,e){r(null,e)}});var GJ=w(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});Oy.read=void 0;function G0e(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}Oy.read=G0e});var YJ=w(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.createFileSystemAdapter=rl.FILE_SYSTEM_ADAPTER=void 0;var My=require("fs");rl.FILE_SYSTEM_ADAPTER={lstat:My.lstat,stat:My.stat,lstatSync:My.lstatSync,statSync:My.statSync};function Y0e(r){return r===void 0?rl.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},rl.FILE_SYSTEM_ADAPTER),r)}rl.createFileSystemAdapter=Y0e});var JJ=w(Vv=>{"use strict";Object.defineProperty(Vv,"__esModule",{value:!0});var q0e=YJ(),qJ=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=q0e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};Vv.default=qJ});var Kc=w(il=>{"use strict";Object.defineProperty(il,"__esModule",{value:!0});il.statSync=il.stat=il.Settings=void 0;var WJ=jJ(),J0e=GJ(),Xv=JJ();il.Settings=Xv.default;function W0e(r,e,t){if(typeof e=="function"){WJ.read(r,Zv(),e);return}WJ.read(r,Zv(e),t)}il.stat=W0e;function z0e(r,e){let t=Zv(e);return J0e.read(r,t)}il.statSync=z0e;function Zv(r={}){return r instanceof Xv.default?r:new Xv.default(r)}});var _J=w((ftt,zJ)=>{zJ.exports=_0e;function _0e(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var $v=w(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var Uy=process.versions.node.split(".");if(Uy[0]===void 0||Uy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var VJ=Number.parseInt(Uy[0],10),V0e=Number.parseInt(Uy[1],10),XJ=10,X0e=10,Z0e=VJ>XJ,$0e=VJ===XJ&&V0e>=X0e;Ky.IS_SUPPORT_READDIR_WITH_FILE_TYPES=Z0e||$0e});var $J=w(Hy=>{"use strict";Object.defineProperty(Hy,"__esModule",{value:!0});Hy.createDirentFromStats=void 0;var ZJ=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function ebe(r,e){return new ZJ(r,e)}Hy.createDirentFromStats=ebe});var ex=w(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});jy.fs=void 0;var tbe=$J();jy.fs=tbe});var tx=w(Gy=>{"use strict";Object.defineProperty(Gy,"__esModule",{value:!0});Gy.joinPathSegments=void 0;function rbe(r,e,t){return r.endsWith(t)?r+e:r+t+e}Gy.joinPathSegments=rbe});var s3=w(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.readdir=nl.readdirWithFileTypes=nl.read=void 0;var ibe=Kc(),e3=_J(),nbe=$v(),t3=ex(),r3=tx();function sbe(r,e,t){if(!e.stats&&nbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){i3(r,e,t);return}n3(r,e,t)}nl.read=sbe;function i3(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Yy(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:r3.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){rx(t,s);return}let o=s.map(a=>obe(a,e));e3(o,(a,l)=>{if(a!==null){Yy(t,a);return}rx(t,l)})})}nl.readdirWithFileTypes=i3;function obe(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=t3.fs.createDirentFromStats(r.name,n),t(null,r)})}}function n3(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Yy(t,i);return}let s=n.map(o=>{let a=r3.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{ibe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:t3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});e3(s,(o,a)=>{if(o!==null){Yy(t,o);return}rx(t,a)})})}nl.readdir=n3;function Yy(r,e){r(e)}function rx(r,e){r(null,e)}});var c3=w(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});sl.readdir=sl.readdirWithFileTypes=sl.read=void 0;var abe=Kc(),Abe=$v(),o3=ex(),a3=tx();function lbe(r,e){return!e.stats&&Abe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?A3(r,e):l3(r,e)}sl.read=lbe;function A3(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:a3.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=o3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}sl.readdirWithFileTypes=A3;function l3(r,e){return e.fs.readdirSync(r).map(i=>{let n=a3.joinPathSegments(r,i,e.pathSegmentSeparator),s=abe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:o3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}sl.readdir=l3});var u3=w(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.createFileSystemAdapter=ol.FILE_SYSTEM_ADAPTER=void 0;var Ug=require("fs");ol.FILE_SYSTEM_ADAPTER={lstat:Ug.lstat,stat:Ug.stat,lstatSync:Ug.lstatSync,statSync:Ug.statSync,readdir:Ug.readdir,readdirSync:Ug.readdirSync};function cbe(r){return r===void 0?ol.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},ol.FILE_SYSTEM_ADAPTER),r)}ol.createFileSystemAdapter=cbe});var f3=w(ix=>{"use strict";Object.defineProperty(ix,"__esModule",{value:!0});var ube=require("path"),gbe=Kc(),fbe=u3(),g3=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=fbe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,ube.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new gbe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};ix.default=g3});var qy=w(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.Settings=al.scandirSync=al.scandir=void 0;var h3=s3(),hbe=c3(),nx=f3();al.Settings=nx.default;function pbe(r,e,t){if(typeof e=="function"){h3.read(r,sx(),e);return}h3.read(r,sx(e),t)}al.scandir=pbe;function dbe(r,e){let t=sx(e);return hbe.read(r,t)}al.scandirSync=dbe;function sx(r={}){return r instanceof nx.default?r:new nx.default(r)}});var d3=w((Btt,p3)=>{"use strict";function Cbe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}p3.exports=Cbe});var m3=w((btt,ox)=>{"use strict";var mbe=d3();function C3(r,e,t){if(typeof r=="function"&&(t=e,e=r,r=null),t<1)throw new Error("fastqueue concurrency must be greater than 1");var i=mbe(Ebe),n=null,s=null,o=0,a=null,l={push:m,drain:Vo,saturated:Vo,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Vo,kill:v,killAndDrain:x,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var q=n,Y=0;q;)q=q.next,Y++;return Y}function f(){for(var q=n,Y=[];q;)Y.push(q.value),q=q.next;return Y}function h(){if(!!l.paused){l.paused=!1;for(var q=0;q{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.joinPathSegments=Xo.replacePathSegmentSeparator=Xo.isAppliedFilter=Xo.isFatalError=void 0;function ybe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Xo.isFatalError=ybe;function wbe(r,e){return r===null||r(e)}Xo.isAppliedFilter=wbe;function Bbe(r,e){return r.split(/[/\\]/).join(e)}Xo.replacePathSegmentSeparator=Bbe;function bbe(r,e,t){return r===""?e:r.endsWith(t)?r+e:r+t+e}Xo.joinPathSegments=bbe});var Ax=w(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var Qbe=Jy(),E3=class{constructor(e,t){this._root=e,this._settings=t,this._root=Qbe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};ax.default=E3});var cx=w(lx=>{"use strict";Object.defineProperty(lx,"__esModule",{value:!0});var Sbe=require("events"),vbe=qy(),xbe=m3(),Wy=Jy(),kbe=Ax(),I3=class extends kbe.default{constructor(e,t){super(e,t);this._settings=t,this._scandir=vbe.scandir,this._emitter=new Sbe.EventEmitter,this._queue=xbe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!Wy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=Wy.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),Wy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Wy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};lx.default=I3});var w3=w(ux=>{"use strict";Object.defineProperty(ux,"__esModule",{value:!0});var Pbe=cx(),y3=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new Pbe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{Dbe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{Rbe(e,[...this._storage])}),this._reader.read()}};ux.default=y3;function Dbe(r,e){r(e)}function Rbe(r,e){r(null,e)}});var b3=w(gx=>{"use strict";Object.defineProperty(gx,"__esModule",{value:!0});var Fbe=require("stream"),Nbe=cx(),B3=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new Nbe.default(this._root,this._settings),this._stream=new Fbe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};gx.default=B3});var S3=w(fx=>{"use strict";Object.defineProperty(fx,"__esModule",{value:!0});var Lbe=qy(),zy=Jy(),Tbe=Ax(),Q3=class extends Tbe.default{constructor(){super(...arguments);this._scandir=Lbe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!zy.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=zy.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),zy.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&zy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};fx.default=Q3});var x3=w(hx=>{"use strict";Object.defineProperty(hx,"__esModule",{value:!0});var Obe=S3(),v3=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new Obe.default(this._root,this._settings)}read(){return this._reader.read()}};hx.default=v3});var P3=w(px=>{"use strict";Object.defineProperty(px,"__esModule",{value:!0});var Mbe=require("path"),Kbe=qy(),k3=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Mbe.sep),this.fsScandirSettings=new Kbe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};px.default=k3});var Cx=w(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.Settings=Zo.walkStream=Zo.walkSync=Zo.walk=void 0;var D3=w3(),Ube=b3(),Hbe=x3(),dx=P3();Zo.Settings=dx.default;function jbe(r,e,t){if(typeof e=="function"){new D3.default(r,_y()).read(e);return}new D3.default(r,_y(e)).read(t)}Zo.walk=jbe;function Gbe(r,e){let t=_y(e);return new Hbe.default(r,t).read()}Zo.walkSync=Gbe;function Ybe(r,e){let t=_y(e);return new Ube.default(r,t).read()}Zo.walkStream=Ybe;function _y(r={}){return r instanceof dx.default?r:new dx.default(r)}});var Ex=w(mx=>{"use strict";Object.defineProperty(mx,"__esModule",{value:!0});var qbe=require("path"),Jbe=Kc(),R3=Xa(),F3=class{constructor(e){this._settings=e,this._fsStatSettings=new Jbe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return qbe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:R3.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!R3.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};mx.default=F3});var yx=w(Ix=>{"use strict";Object.defineProperty(Ix,"__esModule",{value:!0});var Wbe=require("stream"),zbe=Kc(),_be=Cx(),Vbe=Ex(),N3=class extends Vbe.default{constructor(){super(...arguments);this._walkStream=_be.walkStream,this._stat=zbe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new Wbe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};Ix.default=N3});var T3=w(wx=>{"use strict";Object.defineProperty(wx,"__esModule",{value:!0});var Hg=Xa(),L3=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Hg.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return Hg.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Hg.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Hg.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Hg.array.splitWhen(e,t=>t.dynamic&&Hg.pattern.hasGlobStar(t.pattern))}};wx.default=L3});var M3=w(Bx=>{"use strict";Object.defineProperty(Bx,"__esModule",{value:!0});var Xbe=T3(),O3=class extends Xbe.default{match(e){let t=e.split("/"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};Bx.default=O3});var U3=w(bx=>{"use strict";Object.defineProperty(bx,"__esModule",{value:!0});var Vy=Xa(),Zbe=M3(),K3=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new Zbe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(Vy.pattern.isAffectDepthOfReadingPattern);return Vy.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=Vy.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split("/").length;return t.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!Vy.pattern.matchAny(e,t)}};bx.default=K3});var j3=w(Qx=>{"use strict";Object.defineProperty(Qx,"__esModule",{value:!0});var sd=Xa(),H3=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=sd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=sd.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=sd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=sd.path.removeLeadingDotSegment(e);return sd.pattern.matchAny(i,t)}};Qx.default=H3});var Y3=w(Sx=>{"use strict";Object.defineProperty(Sx,"__esModule",{value:!0});var $be=Xa(),G3=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return $be.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};Sx.default=G3});var W3=w(vx=>{"use strict";Object.defineProperty(vx,"__esModule",{value:!0});var q3=Xa(),J3=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=q3.path.makeAbsolute(this._settings.cwd,t),t=q3.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};vx.default=J3});var Xy=w(xx=>{"use strict";Object.defineProperty(xx,"__esModule",{value:!0});var eQe=require("path"),tQe=U3(),rQe=j3(),iQe=Y3(),nQe=W3(),z3=class{constructor(e){this._settings=e,this.errorFilter=new iQe.default(this._settings),this.entryFilter=new rQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new tQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new nQe.default(this._settings)}_getRootDirectory(e){return eQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base==="."?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};xx.default=z3});var V3=w(kx=>{"use strict";Object.defineProperty(kx,"__esModule",{value:!0});var sQe=yx(),oQe=Xy(),_3=class extends oQe.default{constructor(){super(...arguments);this._reader=new sQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};kx.default=_3});var Z3=w(Px=>{"use strict";Object.defineProperty(Px,"__esModule",{value:!0});var aQe=require("stream"),AQe=yx(),lQe=Xy(),X3=class extends lQe.default{constructor(){super(...arguments);this._reader=new AQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new aQe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};Px.default=X3});var eW=w(Dx=>{"use strict";Object.defineProperty(Dx,"__esModule",{value:!0});var cQe=Kc(),uQe=Cx(),gQe=Ex(),$3=class extends gQe.default{constructor(){super(...arguments);this._walkSync=uQe.walkSync,this._statSync=cQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};Dx.default=$3});var rW=w(Rx=>{"use strict";Object.defineProperty(Rx,"__esModule",{value:!0});var fQe=eW(),hQe=Xy(),tW=class extends hQe.default{constructor(){super(...arguments);this._reader=new fQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};Rx.default=tW});var nW=w(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var jg=require("fs"),pQe=require("os"),dQe=pQe.cpus().length;od.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:jg.lstat,lstatSync:jg.lstatSync,stat:jg.stat,statSync:jg.statSync,readdir:jg.readdir,readdirSync:jg.readdirSync};var iW=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,dQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},od.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};od.default=iW});var Zy=w((ztt,sW)=>{"use strict";var oW=UJ(),CQe=V3(),mQe=Z3(),EQe=rW(),Fx=nW(),Uc=Xa();async function Lx(r,e){Gg(r);let t=Nx(r,CQe.default,e),i=await Promise.all(t);return Uc.array.flatten(i)}(function(r){function e(o,a){Gg(o);let l=Nx(o,EQe.default,a);return Uc.array.flatten(l)}r.sync=e;function t(o,a){Gg(o);let l=Nx(o,mQe.default,a);return Uc.stream.merge(l)}r.stream=t;function i(o,a){Gg(o);let l=[].concat(o),c=new Fx.default(a);return oW.generate(l,c)}r.generateTasks=i;function n(o,a){Gg(o);let l=new Fx.default(a);return Uc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return Gg(o),Uc.path.escape(o)}r.escapePath=s})(Lx||(Lx={}));function Nx(r,e,t){let i=[].concat(r),n=new Fx.default(t),s=oW.generate(i,n),o=new e(n);return s.map(o.read,o)}function Gg(r){if(![].concat(r).every(i=>Uc.string.isString(i)&&!Uc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}sW.exports=Lx});var AW=w(Hc=>{"use strict";var{promisify:IQe}=require("util"),aW=require("fs");async function Tx(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await IQe(aW[r])(t))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function Ox(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return aW[r](t)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Hc.isFile=Tx.bind(null,"stat","isFile");Hc.isDirectory=Tx.bind(null,"stat","isDirectory");Hc.isSymlink=Tx.bind(null,"lstat","isSymbolicLink");Hc.isFileSync=Ox.bind(null,"statSync","isFile");Hc.isDirectorySync=Ox.bind(null,"statSync","isDirectory");Hc.isSymlinkSync=Ox.bind(null,"lstatSync","isSymbolicLink")});var fW=w((Vtt,Mx)=>{"use strict";var jc=require("path"),lW=AW(),cW=r=>r.length>1?`{${r.join(",")}}`:r[0],uW=(r,e)=>{let t=r[0]==="!"?r.slice(1):r;return jc.isAbsolute(t)?t:jc.join(e,t)},yQe=(r,e)=>jc.extname(r)?`**/${r}`:`**/${r}.${cW(e)}`,gW=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(t=>jc.posix.join(r,yQe(t,e.extensions))):e.files?e.files.map(t=>jc.posix.join(r,`**/${t}`)):e.extensions?[jc.posix.join(r,`**/*.${cW(e.extensions)}`)]:[jc.posix.join(r,"**")]};Mx.exports=async(r,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=await Promise.all([].concat(r).map(async i=>await lW.isDirectory(uW(i,e.cwd))?gW(i,e):i));return[].concat.apply([],t)};Mx.exports.sync=(r,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=[].concat(r).map(i=>lW.isDirectorySync(uW(i,e.cwd))?gW(i,e):i);return[].concat.apply([],t)}});var BW=w((Xtt,hW)=>{function pW(r){return Array.isArray(r)?r:[r]}var dW="",CW=" ",Kx="\\",wQe=/^\s+$/,BQe=/^\\!/,bQe=/^\\#/,QQe=/\r?\n/g,SQe=/^\.*\/|^\.+$/,Ux="/",mW=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",vQe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),xQe=/([0-z])-([0-z])/g,kQe=r=>r.replace(xQe,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:dW),PQe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},DQe=[[/\\?\s+$/,r=>r.indexOf("\\")===0?CW:dW],[/\\\s/g,()=>CW],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>Kx],[/\\\\/g,()=>Kx],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,i,n)=>e===Kx?`\\[${t}${PQe(i)}${n}`:n==="]"&&i.length%2==0?`[${kQe(t)}${i}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],EW=Object.create(null),RQe=(r,e)=>{let t=EW[r];return t||(t=DQe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),EW[r]=t),e?new RegExp(t,"i"):new RegExp(t)},Hx=r=>typeof r=="string",FQe=r=>r&&Hx(r)&&!wQe.test(r)&&r.indexOf("#")!==0,NQe=r=>r.split(QQe),IW=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},LQe=(r,e)=>{let t=r,i=!1;r.indexOf("!")===0&&(i=!0,r=r.substr(1)),r=r.replace(BQe,"!").replace(bQe,"#");let n=RQe(r,e);return new IW(t,r,i,n)},TQe=(r,e)=>{throw new e(r)},$a=(r,e,t)=>Hx(r)?r?$a.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),yW=r=>SQe.test(r);$a.isNotRelative=yW;$a.convert=r=>r;var wW=class{constructor({ignorecase:e=!0}={}){vQe(this,mW,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[mW]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(FQe(e)){let t=LQe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,pW(Hx(e)?NQe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&$a.convert(e);return $a(s,e,TQe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(Ux)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(Ux)+Ux,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return pW(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},$y=r=>new wW(r),OQe=()=>!1,MQe=r=>$a(r&&$a.convert(r),r,OQe);$y.isPathValid=MQe;$y.default=$y;hW.exports=$y;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");$a.convert=r;let e=/^[a-z]:\//i;$a.isNotRelative=t=>e.test(t)||yW(t)}});var QW=w((Ztt,bW)=>{"use strict";bW.exports=r=>{let e=/^\\\\\?\\/.test(r),t=/[^\u0000-\u0080]+/.test(r);return e||t?r:r.replace(/\\/g,"/")}});var RW=w(($tt,jx)=>{"use strict";var{promisify:KQe}=require("util"),SW=require("fs"),eA=require("path"),vW=Zy(),UQe=BW(),ad=QW(),xW=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],HQe=KQe(SW.readFile),jQe=r=>e=>e.startsWith("!")?"!"+eA.posix.join(r,e.slice(1)):eA.posix.join(r,e),GQe=(r,e)=>{let t=ad(eA.relative(e.cwd,eA.dirname(e.fileName)));return r.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(jQe(t))},kW=r=>{let e=UQe();for(let t of r)e.add(GQe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},YQe=(r,e)=>{if(r=ad(r),eA.isAbsolute(e)){if(ad(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return eA.join(r,e)},PW=(r,e)=>t=>r.ignores(ad(eA.relative(e,YQe(e,t.path||t)))),qQe=async(r,e)=>{let t=eA.join(e,r),i=await HQe(t,"utf8");return{cwd:e,filePath:t,content:i}},JQe=(r,e)=>{let t=eA.join(e,r),i=SW.readFileSync(t,"utf8");return{cwd:e,filePath:t,content:i}},DW=({ignore:r=[],cwd:e=ad(process.cwd())}={})=>({ignore:r,cwd:e});jx.exports=async r=>{r=DW(r);let e=await vW("**/.gitignore",{ignore:xW.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>qQe(n,r.cwd))),i=kW(t);return PW(i,r.cwd)};jx.exports.sync=r=>{r=DW(r);let t=vW.sync("**/.gitignore",{ignore:xW.concat(r.ignore),cwd:r.cwd}).map(n=>JQe(n,r.cwd)),i=kW(t);return PW(i,r.cwd)}});var TW=w((ert,FW)=>{"use strict";var{Transform:WQe}=require("stream"),Gx=class extends WQe{constructor(){super({objectMode:!0})}},NW=class extends Gx{constructor(e){super();this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},LW=class extends Gx{constructor(){super();this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};FW.exports={FilterStream:NW,UniqueStream:LW}});var Wx=w((trt,Gc)=>{"use strict";var OW=require("fs"),ew=AJ(),zQe=jv(),tw=Zy(),rw=fW(),Yx=RW(),{FilterStream:_Qe,UniqueStream:VQe}=TW(),MW=()=>!1,KW=r=>r[0]==="!",XQe=r=>{if(!r.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},ZQe=(r={})=>{if(!r.cwd)return;let e;try{e=OW.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},$Qe=r=>r.stats instanceof OW.Stats?r.path:r,iw=(r,e)=>{r=ew([].concat(r)),XQe(r),ZQe(e);let t=[];e=N({ignore:[],expandDirectories:!0},e);for(let[i,n]of r.entries()){if(KW(n))continue;let s=r.slice(i).filter(a=>KW(a)).map(a=>a.slice(1)),o=te(N({},e),{ignore:e.ignore.concat(s)});t.push({pattern:n,options:o})}return t},eSe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t=te(N({},t),{files:r.options.expandDirectories}):typeof r.options.expandDirectories=="object"&&(t=N(N({},t),r.options.expandDirectories)),e(r.pattern,t)},qx=(r,e)=>r.options.expandDirectories?eSe(r,e):[r.pattern],UW=r=>r&&r.gitignore?Yx.sync({cwd:r.cwd,ignore:r.ignore}):MW,Jx=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=rw.sync(t.ignore)),{pattern:e,options:t}};Gc.exports=async(r,e)=>{let t=iw(r,e),i=async()=>e&&e.gitignore?Yx({cwd:e.cwd,ignore:e.ignore}):MW,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await qx(c,rw);return Promise.all(u.map(Jx(c)))}));return ew(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>tw(l.pattern,l.options)));return ew(...a).filter(l=>!s($Qe(l)))};Gc.exports.sync=(r,e)=>{let t=iw(r,e),i=[];for(let o of t){let a=qx(o,rw.sync).map(Jx(o));i.push(...a)}let n=UW(e),s=[];for(let o of i)s=ew(s,tw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Gc.exports.stream=(r,e)=>{let t=iw(r,e),i=[];for(let a of t){let l=qx(a,rw.sync).map(Jx(a));i.push(...l)}let n=UW(e),s=new _Qe(a=>!n(a)),o=new VQe;return zQe(i.map(a=>tw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Gc.exports.generateGlobTasks=iw;Gc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>tw.isDynamicPattern(t,e));Gc.exports.gitignore=Yx});var Rn=w((xrt,t4)=>{function fSe(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}t4.exports=fSe});var rk=w((krt,r4)=>{var hSe=typeof global=="object"&&global&&global.Object===Object&&global;r4.exports=hSe});var Ns=w((Prt,i4)=>{var pSe=rk(),dSe=typeof self=="object"&&self&&self.Object===Object&&self,CSe=pSe||dSe||Function("return this")();i4.exports=CSe});var s4=w((Drt,n4)=>{var mSe=Ns(),ESe=function(){return mSe.Date.now()};n4.exports=ESe});var a4=w((Rrt,o4)=>{var ISe=/\s/;function ySe(r){for(var e=r.length;e--&&ISe.test(r.charAt(e)););return e}o4.exports=ySe});var l4=w((Frt,A4)=>{var wSe=a4(),BSe=/^\s+/;function bSe(r){return r&&r.slice(0,wSe(r)+1).replace(BSe,"")}A4.exports=bSe});var Jc=w((Nrt,c4)=>{var QSe=Ns(),SSe=QSe.Symbol;c4.exports=SSe});var h4=w((Lrt,u4)=>{var g4=Jc(),f4=Object.prototype,vSe=f4.hasOwnProperty,xSe=f4.toString,Ed=g4?g4.toStringTag:void 0;function kSe(r){var e=vSe.call(r,Ed),t=r[Ed];try{r[Ed]=void 0;var i=!0}catch(s){}var n=xSe.call(r);return i&&(e?r[Ed]=t:delete r[Ed]),n}u4.exports=kSe});var d4=w((Trt,p4)=>{var PSe=Object.prototype,DSe=PSe.toString;function RSe(r){return DSe.call(r)}p4.exports=RSe});var Wc=w((Ort,C4)=>{var m4=Jc(),FSe=h4(),NSe=d4(),LSe="[object Null]",TSe="[object Undefined]",E4=m4?m4.toStringTag:void 0;function OSe(r){return r==null?r===void 0?TSe:LSe:E4&&E4 in Object(r)?FSe(r):NSe(r)}C4.exports=OSe});var ta=w((Mrt,I4)=>{function MSe(r){return r!=null&&typeof r=="object"}I4.exports=MSe});var Id=w((Krt,y4)=>{var KSe=Wc(),USe=ta(),HSe="[object Symbol]";function jSe(r){return typeof r=="symbol"||USe(r)&&KSe(r)==HSe}y4.exports=jSe});var Q4=w((Urt,w4)=>{var GSe=l4(),B4=Rn(),YSe=Id(),b4=0/0,qSe=/^[-+]0x[0-9a-f]+$/i,JSe=/^0b[01]+$/i,WSe=/^0o[0-7]+$/i,zSe=parseInt;function _Se(r){if(typeof r=="number")return r;if(YSe(r))return b4;if(B4(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=B4(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=GSe(r);var t=JSe.test(r);return t||WSe.test(r)?zSe(r.slice(2),t?2:8):qSe.test(r)?b4:+r}w4.exports=_Se});var x4=w((Hrt,S4)=>{var VSe=Rn(),ik=s4(),v4=Q4(),XSe="Expected a function",ZSe=Math.max,$Se=Math.min;function eve(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!="function")throw new TypeError(XSe);e=v4(e)||0,VSe(t)&&(u=!!t.leading,g="maxWait"in t,s=g?ZSe(v4(t.maxWait)||0,e):s,f="trailing"in t?!!t.trailing:f);function h(Y){var $=i,_=n;return i=n=void 0,c=Y,o=r.apply(_,$),o}function p(Y){return c=Y,a=setTimeout(b,e),u?h(Y):o}function m(Y){var $=Y-l,_=Y-c,ne=e-$;return g?$Se(ne,s-_):ne}function y(Y){var $=Y-l,_=Y-c;return l===void 0||$>=e||$<0||g&&_>=s}function b(){var Y=ik();if(y(Y))return v(Y);a=setTimeout(b,m(Y))}function v(Y){return a=void 0,f&&i?h(Y):(i=n=void 0,o)}function x(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:v(ik())}function q(){var Y=ik(),$=y(Y);if(i=arguments,n=this,l=Y,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(b,e),h(l)}return a===void 0&&(a=setTimeout(b,e)),o}return q.cancel=x,q.flush=T,q}S4.exports=eve});var P4=w((jrt,k4)=>{var tve=x4(),rve=Rn(),ive="Expected a function";function nve(r,e,t){var i=!0,n=!0;if(typeof r!="function")throw new TypeError(ive);return rve(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),tve(r,e,{leading:i,maxWait:e,trailing:n})}k4.exports=nve});var iA=w((rA,Bw)=>{"use strict";Object.defineProperty(rA,"__esModule",{value:!0});var M4=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Cve(r){return M4.includes(r)}var mve=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...M4];function Eve(r){return mve.includes(r)}var Ive=["null","undefined","string","number","bigint","boolean","symbol"];function yve(r){return Ive.includes(r)}function Xg(r){return e=>typeof e===r}var{toString:K4}=Object.prototype,vd=r=>{let e=K4.call(r).slice(8,-1);if(/HTML\w+Element/.test(e)&&W.domElement(r))return"HTMLElement";if(Eve(e))return e},hr=r=>e=>vd(e)===r;function W(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(W.observable(r))return"Observable";if(W.array(r))return"Array";if(W.buffer(r))return"Buffer";let e=vd(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}W.undefined=Xg("undefined");W.string=Xg("string");var wve=Xg("number");W.number=r=>wve(r)&&!W.nan(r);W.bigint=Xg("bigint");W.function_=Xg("function");W.null_=r=>r===null;W.class_=r=>W.function_(r)&&r.toString().startsWith("class ");W.boolean=r=>r===!0||r===!1;W.symbol=Xg("symbol");W.numericString=r=>W.string(r)&&!W.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));W.array=(r,e)=>Array.isArray(r)?W.function_(e)?r.every(e):!0:!1;W.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};W.nullOrUndefined=r=>W.null_(r)||W.undefined(r);W.object=r=>!W.null_(r)&&(typeof r=="object"||W.function_(r));W.iterable=r=>{var e;return W.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};W.asyncIterable=r=>{var e;return W.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};W.generator=r=>W.iterable(r)&&W.function_(r.next)&&W.function_(r.throw);W.asyncGenerator=r=>W.asyncIterable(r)&&W.function_(r.next)&&W.function_(r.throw);W.nativePromise=r=>hr("Promise")(r);var Bve=r=>{var e,t;return W.function_((e=r)===null||e===void 0?void 0:e.then)&&W.function_((t=r)===null||t===void 0?void 0:t.catch)};W.promise=r=>W.nativePromise(r)||Bve(r);W.generatorFunction=hr("GeneratorFunction");W.asyncGeneratorFunction=r=>vd(r)==="AsyncGeneratorFunction";W.asyncFunction=r=>vd(r)==="AsyncFunction";W.boundFunction=r=>W.function_(r)&&!r.hasOwnProperty("prototype");W.regExp=hr("RegExp");W.date=hr("Date");W.error=hr("Error");W.map=r=>hr("Map")(r);W.set=r=>hr("Set")(r);W.weakMap=r=>hr("WeakMap")(r);W.weakSet=r=>hr("WeakSet")(r);W.int8Array=hr("Int8Array");W.uint8Array=hr("Uint8Array");W.uint8ClampedArray=hr("Uint8ClampedArray");W.int16Array=hr("Int16Array");W.uint16Array=hr("Uint16Array");W.int32Array=hr("Int32Array");W.uint32Array=hr("Uint32Array");W.float32Array=hr("Float32Array");W.float64Array=hr("Float64Array");W.bigInt64Array=hr("BigInt64Array");W.bigUint64Array=hr("BigUint64Array");W.arrayBuffer=hr("ArrayBuffer");W.sharedArrayBuffer=hr("SharedArrayBuffer");W.dataView=hr("DataView");W.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;W.urlInstance=r=>hr("URL")(r);W.urlString=r=>{if(!W.string(r))return!1;try{return new URL(r),!0}catch(e){return!1}};W.truthy=r=>Boolean(r);W.falsy=r=>!r;W.nan=r=>Number.isNaN(r);W.primitive=r=>W.null_(r)||yve(typeof r);W.integer=r=>Number.isInteger(r);W.safeInteger=r=>Number.isSafeInteger(r);W.plainObject=r=>{if(K4.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};W.typedArray=r=>Cve(vd(r));var bve=r=>W.safeInteger(r)&&r>=0;W.arrayLike=r=>!W.nullOrUndefined(r)&&!W.function_(r)&&bve(r.length);W.inRange=(r,e)=>{if(W.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(W.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Qve=1,Sve=["innerHTML","ownerDocument","style","attributes","nodeValue"];W.domElement=r=>W.object(r)&&r.nodeType===Qve&&W.string(r.nodeName)&&!W.plainObject(r)&&Sve.every(e=>e in r);W.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};W.nodeStream=r=>W.object(r)&&W.function_(r.pipe)&&!W.observable(r);W.infinite=r=>r===Infinity||r===-Infinity;var U4=r=>e=>W.integer(e)&&Math.abs(e%2)===r;W.evenInteger=U4(0);W.oddInteger=U4(1);W.emptyArray=r=>W.array(r)&&r.length===0;W.nonEmptyArray=r=>W.array(r)&&r.length>0;W.emptyString=r=>W.string(r)&&r.length===0;W.nonEmptyString=r=>W.string(r)&&r.length>0;var vve=r=>W.string(r)&&!/\S/.test(r);W.emptyStringOrWhitespace=r=>W.emptyString(r)||vve(r);W.emptyObject=r=>W.object(r)&&!W.map(r)&&!W.set(r)&&Object.keys(r).length===0;W.nonEmptyObject=r=>W.object(r)&&!W.map(r)&&!W.set(r)&&Object.keys(r).length>0;W.emptySet=r=>W.set(r)&&r.size===0;W.nonEmptySet=r=>W.set(r)&&r.size>0;W.emptyMap=r=>W.map(r)&&r.size===0;W.nonEmptyMap=r=>W.map(r)&&r.size>0;W.propertyKey=r=>W.any([W.string,W.number,W.symbol],r);W.formData=r=>hr("FormData")(r);W.urlSearchParams=r=>hr("URLSearchParams")(r);var H4=(r,e,t)=>{if(!W.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError("Invalid number of values");return r.call(t,e)};W.any=(r,...e)=>(W.array(r)?r:[r]).some(i=>H4(Array.prototype.some,i,e));W.all=(r,...e)=>H4(Array.prototype.every,r,e);var We=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\`${W(o)}\``))].join(", ")}`:`received value of type \`${W(t)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};rA.assert={undefined:r=>We(W.undefined(r),"undefined",r),string:r=>We(W.string(r),"string",r),number:r=>We(W.number(r),"number",r),bigint:r=>We(W.bigint(r),"bigint",r),function_:r=>We(W.function_(r),"Function",r),null_:r=>We(W.null_(r),"null",r),class_:r=>We(W.class_(r),"Class",r),boolean:r=>We(W.boolean(r),"boolean",r),symbol:r=>We(W.symbol(r),"symbol",r),numericString:r=>We(W.numericString(r),"string with a number",r),array:(r,e)=>{We(W.array(r),"Array",r),e&&r.forEach(e)},buffer:r=>We(W.buffer(r),"Buffer",r),nullOrUndefined:r=>We(W.nullOrUndefined(r),"null or undefined",r),object:r=>We(W.object(r),"Object",r),iterable:r=>We(W.iterable(r),"Iterable",r),asyncIterable:r=>We(W.asyncIterable(r),"AsyncIterable",r),generator:r=>We(W.generator(r),"Generator",r),asyncGenerator:r=>We(W.asyncGenerator(r),"AsyncGenerator",r),nativePromise:r=>We(W.nativePromise(r),"native Promise",r),promise:r=>We(W.promise(r),"Promise",r),generatorFunction:r=>We(W.generatorFunction(r),"GeneratorFunction",r),asyncGeneratorFunction:r=>We(W.asyncGeneratorFunction(r),"AsyncGeneratorFunction",r),asyncFunction:r=>We(W.asyncFunction(r),"AsyncFunction",r),boundFunction:r=>We(W.boundFunction(r),"Function",r),regExp:r=>We(W.regExp(r),"RegExp",r),date:r=>We(W.date(r),"Date",r),error:r=>We(W.error(r),"Error",r),map:r=>We(W.map(r),"Map",r),set:r=>We(W.set(r),"Set",r),weakMap:r=>We(W.weakMap(r),"WeakMap",r),weakSet:r=>We(W.weakSet(r),"WeakSet",r),int8Array:r=>We(W.int8Array(r),"Int8Array",r),uint8Array:r=>We(W.uint8Array(r),"Uint8Array",r),uint8ClampedArray:r=>We(W.uint8ClampedArray(r),"Uint8ClampedArray",r),int16Array:r=>We(W.int16Array(r),"Int16Array",r),uint16Array:r=>We(W.uint16Array(r),"Uint16Array",r),int32Array:r=>We(W.int32Array(r),"Int32Array",r),uint32Array:r=>We(W.uint32Array(r),"Uint32Array",r),float32Array:r=>We(W.float32Array(r),"Float32Array",r),float64Array:r=>We(W.float64Array(r),"Float64Array",r),bigInt64Array:r=>We(W.bigInt64Array(r),"BigInt64Array",r),bigUint64Array:r=>We(W.bigUint64Array(r),"BigUint64Array",r),arrayBuffer:r=>We(W.arrayBuffer(r),"ArrayBuffer",r),sharedArrayBuffer:r=>We(W.sharedArrayBuffer(r),"SharedArrayBuffer",r),dataView:r=>We(W.dataView(r),"DataView",r),urlInstance:r=>We(W.urlInstance(r),"URL",r),urlString:r=>We(W.urlString(r),"string with a URL",r),truthy:r=>We(W.truthy(r),"truthy",r),falsy:r=>We(W.falsy(r),"falsy",r),nan:r=>We(W.nan(r),"NaN",r),primitive:r=>We(W.primitive(r),"primitive",r),integer:r=>We(W.integer(r),"integer",r),safeInteger:r=>We(W.safeInteger(r),"integer",r),plainObject:r=>We(W.plainObject(r),"plain object",r),typedArray:r=>We(W.typedArray(r),"TypedArray",r),arrayLike:r=>We(W.arrayLike(r),"array-like",r),domElement:r=>We(W.domElement(r),"HTMLElement",r),observable:r=>We(W.observable(r),"Observable",r),nodeStream:r=>We(W.nodeStream(r),"Node.js Stream",r),infinite:r=>We(W.infinite(r),"infinite number",r),emptyArray:r=>We(W.emptyArray(r),"empty array",r),nonEmptyArray:r=>We(W.nonEmptyArray(r),"non-empty array",r),emptyString:r=>We(W.emptyString(r),"empty string",r),nonEmptyString:r=>We(W.nonEmptyString(r),"non-empty string",r),emptyStringOrWhitespace:r=>We(W.emptyStringOrWhitespace(r),"empty string or whitespace",r),emptyObject:r=>We(W.emptyObject(r),"empty object",r),nonEmptyObject:r=>We(W.nonEmptyObject(r),"non-empty object",r),emptySet:r=>We(W.emptySet(r),"empty set",r),nonEmptySet:r=>We(W.nonEmptySet(r),"non-empty set",r),emptyMap:r=>We(W.emptyMap(r),"empty map",r),nonEmptyMap:r=>We(W.nonEmptyMap(r),"non-empty map",r),propertyKey:r=>We(W.propertyKey(r),"PropertyKey",r),formData:r=>We(W.formData(r),"FormData",r),urlSearchParams:r=>We(W.urlSearchParams(r),"URLSearchParams",r),evenInteger:r=>We(W.evenInteger(r),"even integer",r),oddInteger:r=>We(W.oddInteger(r),"odd integer",r),directInstanceOf:(r,e)=>We(W.directInstanceOf(r,e),"T",r),inRange:(r,e)=>We(W.inRange(r,e),"in range",r),any:(r,...e)=>We(W.any(r,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(r,...e)=>We(W.all(r,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(W,{class:{value:W.class_},function:{value:W.function_},null:{value:W.null_}});Object.defineProperties(rA.assert,{class:{value:rA.assert.class_},function:{value:rA.assert.function_},null:{value:rA.assert.null_}});rA.default=W;Bw.exports=W;Bw.exports.default=W;Bw.exports.assert=rA.assert});var j4=w((Wit,Bk)=>{"use strict";var bk=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},xd=class{static fn(e){return(...t)=>new xd((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new bk(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(xd.prototype,Promise.prototype);Bk.exports=xd;Bk.exports.CancelError=bk});var G4=w((Qk,Sk)=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});var xve=require("tls"),vk=(r,e)=>{let t;typeof e=="function"?t={connect:e}:t=e;let i=typeof t.connect=="function",n=typeof t.secureConnect=="function",s=typeof t.close=="function",o=()=>{i&&t.connect(),r instanceof xve.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once("secureConnect",t.secureConnect)),s&&r.once("close",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once("connect",o):r.destroyed&&s&&t.close(r._hadError)};Qk.default=vk;Sk.exports=vk;Sk.exports.default=vk});var Y4=w((xk,kk)=>{"use strict";Object.defineProperty(xk,"__esModule",{value:!0});var kve=G4(),Pve=Number(process.versions.node.split(".")[0]),Pk=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Pve>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),kve.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished=="boolean"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener("finish",n),r.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};xk.default=Pk;kk.exports=Pk;kk.exports.default=Pk});var X4=w((zit,Dk)=>{"use strict";var{V4MAPPED:Dve,ADDRCONFIG:Rve,ALL:q4,promises:{Resolver:J4},lookup:Fve}=require("dns"),{promisify:Rk}=require("util"),Nve=require("os"),Zg=Symbol("cacheableLookupCreateConnection"),Fk=Symbol("cacheableLookupInstance"),W4=Symbol("expires"),Lve=typeof q4=="number",z4=r=>{if(!(r&&typeof r.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Tve=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},_4=()=>{let r=!1,e=!1;for(let t of Object.values(Nve.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family==="IPv6"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},Ove=r=>Symbol.iterator in r,V4={ttl:!0},Mve={all:!0},Nk=class{constructor({cache:e=new Map,maxTtl:t=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new J4,lookup:o=Fve}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Rk(o),this._resolver instanceof J4?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Rk(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Rk(this._resolver.resolve6.bind(this._resolver))),this._iface=_4(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t=="function"?(i=t,t={}):typeof t=="number"&&(t={family:t}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t=="number"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&Dve&&(Lve&&t.hints&q4||n.length===0)?Tve(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&Rve){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>N({},i)),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,V4),this._resolve6(e,V4)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(t){return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[W4]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Ove(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Mve);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[W4];n>=a?this._cache.delete(s):a("lookup"in t||(t.lookup=this.lookup),e[Zg](t,i))}uninstall(e){if(z4(e),e[Zg]){if(e[Fk]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Zg],delete e[Zg],delete e[Fk]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=_4(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Dk.exports=Nk;Dk.exports.default=Nk});var e8=w((_it,Lk)=>{"use strict";var Kve=typeof URL=="undefined"?require("url").URL:URL,Uve="text/plain",Hve="us-ascii",Z4=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),jve=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(";"),n=t[2],s=e?"":t[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Hve)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Uve)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},$4=(r,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(r=r.trim(),/^data:/i.test(r))return jve(r,e);let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Kve(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Z4(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Z4(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),r=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};Lk.exports=$4;Lk.exports.default=$4});var i8=w((Vit,t8)=>{t8.exports=r8;function r8(r,e){if(r&&e)return r8(r)(e);if(typeof r!="function")throw new TypeError("need wrapper function");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n{var n8=i8();Tk.exports=n8(bw);Tk.exports.strict=n8(s8);bw.proto=bw(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return bw(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return s8(this)},configurable:!0})});function bw(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function s8(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var Mk=w((Zit,o8)=>{var Gve=Ok(),Yve=function(){},qve=function(r){return r.setHeader&&typeof r.abort=="function"},Jve=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},a8=function(r,e,t){if(typeof e=="function")return a8(r,null,e);e||(e={}),t=Gve(t||Yve);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error("exited with error code: "+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error("premature close"));if(o&&!(i&&i.ended))return t.call(r,new Error("premature close"))},h=function(){r.req.on("finish",l)};return qve(r)?(r.on("complete",l),r.on("abort",f),r.req?h():r.on("request",h)):o&&!i&&(r.on("end",a),r.on("close",a)),Jve(r)&&r.on("exit",u),r.on("end",c),r.on("finish",l),e.error!==!1&&r.on("error",g),r.on("close",f),function(){r.removeListener("complete",l),r.removeListener("abort",f),r.removeListener("request",h),r.req&&r.req.removeListener("finish",l),r.removeListener("end",a),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("exit",u),r.removeListener("end",c),r.removeListener("error",g),r.removeListener("close",f)}};o8.exports=a8});var c8=w(($it,A8)=>{var Wve=Ok(),zve=Mk(),Kk=require("fs"),kd=function(){},_ve=/^v?\.0/.test(process.version),Qw=function(r){return typeof r=="function"},Vve=function(r){return!_ve||!Kk?!1:(r instanceof(Kk.ReadStream||kd)||r instanceof(Kk.WriteStream||kd))&&Qw(r.close)},Xve=function(r){return r.setHeader&&Qw(r.abort)},Zve=function(r,e,t,i){i=Wve(i);var n=!1;r.on("close",function(){n=!0}),zve(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Vve(r))return r.close(kd);if(Xve(r))return r.abort();if(Qw(r.destroy))return r.destroy();i(o||new Error("stream was destroyed"))}}},l8=function(r){r()},$ve=function(r,e){return r.pipe(e)},exe=function(){var r=Array.prototype.slice.call(arguments),e=Qw(r[r.length-1]||kd)&&r.pop()||kd;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error("pump requires two streams per minimum");var t,i=r.map(function(n,s){var o=s0;return Zve(n,o,a,function(l){t||(t=l),l&&i.forEach(l8),!o&&(i.forEach(l8),e(t))})});return r.reduce($ve)};A8.exports=exe});var g8=w((ent,u8)=>{"use strict";var{PassThrough:txe}=require("stream");u8.exports=r=>{r=N({},r);let{array:e}=r,{encoding:t}=r,i=t==="buffer",n=!1;e?n=!(t||i):t=t||"utf8",i&&(t=null);let s=new txe({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var f8=w((tnt,$g)=>{"use strict";var rxe=c8(),ixe=g8(),Uk=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Sw(r,e){if(!r)return Promise.reject(new Error("Expected a stream"));e=N({maxBuffer:Infinity},e);let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=rxe(r,ixe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>t&&o(new Uk)})}),i.getBufferedValue()}$g.exports=Sw;$g.exports.default=Sw;$g.exports.buffer=(r,e)=>Sw(r,te(N({},e),{encoding:"buffer"}));$g.exports.array=(r,e)=>Sw(r,te(N({},e),{array:!0}));$g.exports.MaxBufferError=Uk});var p8=w((int,h8)=>{"use strict";var nxe=[200,203,204,206,300,301,404,405,410,414,501],sxe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],oxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},axe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Hk(r){let e={};if(!r)return e;let t=r.trim().split(/\s*,\s*/);for(let i of t){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function Axe(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+"="+i)}if(!!e.length)return e.join(", ")}h8.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=Hk(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=Hk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Axe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers["cache-control"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&sxe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||nxe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=Hk(e.headers["cache-control"]);return t["no-cache"]||/no-cache/.test(e.headers.pragma)||t["max-age"]&&this.age()>t["max-age"]||t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"]||this.stale()&&!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(t["max-stale"]===!0||t["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)oxe[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(",").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let t=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete t["if-modified-since"],t["if-none-match"]){let n=t["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?t["if-none-match"]=n.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error("Response headers missing");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===t.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!t.headers.etag&&!t.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!axe[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var vw=w((nnt,d8)=>{"use strict";d8.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var E8=w((snt,C8)=>{"use strict";var lxe=require("stream").Readable,cxe=vw(),m8=class extends lxe{constructor(e,t,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof t!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=cxe(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};C8.exports=m8});var y8=w((ont,I8)=>{"use strict";var uxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];I8.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(uxe));for(let i of t)i in e||(e[i]=typeof r[i]=="function"?r[i].bind(r):r[i])}});var B8=w((ant,w8)=>{"use strict";var gxe=require("stream").PassThrough,fxe=y8(),hxe=r=>{if(!(r&&r.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new gxe;return fxe(r,e),r.pipe(e)};w8.exports=hxe});var b8=w(jk=>{jk.stringify=function r(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var t="",i=Array.isArray(e);t=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=","),n=!1,i?e[s]==null?t+="null":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+":"+r(e[s])))}return t+=i?"]":"}",t}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};jk.parse=function(r){return JSON.parse(r,function(e,t){return typeof t=="string"?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t})}});var x8=w((lnt,Q8)=>{"use strict";var pxe=require("events"),S8=b8(),dxe=r=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(require(e[t]))(r)}return new Map},v8=class extends pxe{constructor(e,t){super();if(this.opts=Object.assign({namespace:"keyv",serialize:S8.stringify,deserialize:S8.parse},typeof e=="string"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=dxe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};Q8.exports=v8});var D8=w((cnt,k8)=>{"use strict";var Cxe=require("events"),xw=require("url"),mxe=e8(),Exe=f8(),Gk=p8(),P8=E8(),Ixe=vw(),yxe=B8(),wxe=x8(),ia=class{constructor(e,t){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new wxe({uri:typeof t=="string"&&t,store:typeof t!="string"&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t=="string")n=Yk(xw.parse(t)),t={};else if(t instanceof xw.URL)n=Yk(xw.parse(t.toString())),t={};else{let[g,...f]=(t.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Yk(te(N({},t),{pathname:g,search:h}))}t=N(N({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},t),Bxe(n)),t.headers=Ixe(t.headers);let s=new Cxe,o=mxe(xw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),m=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Gk.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let x=v.policy.responseHeaders();y=new P8(l.statusCode,x,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Gk(g,y,g),y.fromCache=!1);let b;g.cache&&y.cachePolicy.storable()?(b=yxe(y),(async()=>{try{let v=Exe.buffer(y);if(await Promise.race([p,new Promise(Y=>y.once("end",Y))]),f)return;let x=await v,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:x},q=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(q=q?Math.min(q,g.maxTtl):g.maxTtl),await this.cache.set(a,T,q)}catch(v){s.emit("error",new ia.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit("error",new ia.CacheError(v))}})(),s.emit("response",b||y),typeof i=="function"&&i(b||y)};try{let y=e(g,m);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ia.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let m=Gk.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=m.responseHeaders(),b=new P8(p.statusCode,y,p.body,p.url);b.cachePolicy=m,b.fromCache=!0,s.emit("response",b),typeof i=="function"&&i(b)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ia.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit("error",new ia.CacheError(h))}})(),s}}};function Bxe(r){let e=N({},r);return e.path=`${r.pathname||"/"}${r.search||""}`,delete e.pathname,delete e.search,e}function Yk(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||"localhost",port:r.port,pathname:r.pathname,search:r.search}}ia.RequestError=class extends Error{constructor(r){super(r.message);this.name="RequestError",Object.assign(this,r)}};ia.CacheError=class extends Error{constructor(r){super(r.message);this.name="CacheError",Object.assign(this,r)}};k8.exports=ia});var F8=w((unt,R8)=>{"use strict";var bxe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];R8.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat(bxe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var L8=w((gnt,N8)=>{"use strict";var{Transform:Qxe,PassThrough:Sxe}=require("stream"),qk=require("zlib"),vxe=F8();N8.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof qk.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new Qxe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new Sxe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?qk.createBrotliDecompress():qk.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),vxe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Jk=w((fnt,T8)=>{"use strict";var O8=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};T8.exports=O8});var zk=w((hnt,M8)=>{"use strict";var xxe=require("events"),kxe=require("tls"),Pxe=require("http2"),Dxe=Jk(),gn=Symbol("currentStreamsCount"),K8=Symbol("request"),Ls=Symbol("cachedOriginSet"),ef=Symbol("gracefullyClosing"),Rxe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Fxe=(r,e,t)=>{let i=0,n=r.length;for(;i>>1;t(r[s],e)?i=s+1:n=s}return i},Nxe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Wk=(r,e)=>{for(let t of r)t[Ls].lengthe[Ls].includes(i))&&t[gn]+e[gn]<=e.remoteSettings.maxConcurrentStreams&&U8(t)},Lxe=(r,e)=>{for(let t of r)e[Ls].lengtht[Ls].includes(i))&&e[gn]+t[gn]<=t.remoteSettings.maxConcurrentStreams&&U8(e)},H8=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[nA.kCurrentStreamsCount]{r[ef]=!0,r[gn]===0&&r.close()},nA=class extends xxe{constructor({timeout:e=6e4,maxSessions:t=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Dxe({maxSize:n})}static normalizeOrigin(e,t){return typeof e=="string"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(let i of Rxe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=nA.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[ef]||p.destroyed)continue;h||(g=m),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=Pxe.connect(e,N({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},t));f[gn]=0,f[ef]=!1;let h=()=>f[gn]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:b}of i)b(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:b}of i)b(y);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Ls])if(y in this.queue[o]){let{listeners:b}=this.queue[o][y];for(;b.length!==0&&h();)b.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Ls]=f.originSet,!!h()&&(m(),Wk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let b of i)b.reject(y);f.destroy();return}f[Ls]=f.originSet;{let y=this.sessions;if(o in y){let b=y[o];b.splice(Fxe(b,f,Nxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[gn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{m(),Wk(this.sessions[o],f)})}),f[K8]=f.request,f.request=(y,b)=>{if(f[ef])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[K8](y,b);return f.ref(),++f[gn],f[gn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[gn],!f.destroyed&&!f.closed&&(Lxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let x=f[gn]===0;x&&f.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||f[ef])?f.close():(Wk(this.sessions[o],f),m())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return nA.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername=="undefined"&&(t.servername=n),kxe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[gn]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return H8({agent:this,isFree:!0})}get busySessions(){return H8({agent:this,isFree:!1})}};nA.kCurrentStreamsCount=gn;nA.kGracefullyClosing=ef;M8.exports={Agent:nA,globalAgent:new nA}});var _k=w((pnt,j8)=>{"use strict";var{Readable:Txe}=require("stream"),G8=class extends Txe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};j8.exports=G8});var Vk=w((dnt,Y8)=>{"use strict";Y8.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var J8=w((Cnt,q8)=>{"use strict";q8.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var z8=w((mnt,W8)=>{"use strict";W8.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var V8=w((Int,_8)=>{"use strict";var tf=(r,e,t)=>{_8.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n));this.name=`${super.name} [${e}]`,this.code=e}}};tf(TypeError,"ERR_INVALID_ARG_TYPE",r=>{let e=r[0].includes(".")?"property":"argument",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(", ")} or ${t.slice(-1)}`),`The "${r[0]}" ${e} must be ${i?"one of":"of"} type ${t}. Received ${typeof r[2]}`});tf(TypeError,"ERR_INVALID_PROTOCOL",r=>`Protocol "${r[0]}" not supported. Expected "${r[1]}"`);tf(Error,"ERR_HTTP_HEADERS_SENT",r=>`Cannot ${r[0]} headers after they are sent to the client`);tf(TypeError,"ERR_INVALID_HTTP_TOKEN",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);tf(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",r=>`Invalid value "${r[0]} for header "${r[1]}"`);tf(TypeError,"ERR_INVALID_CHAR",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var eP=w((ynt,X8)=>{"use strict";var Oxe=require("http2"),{Writable:Mxe}=require("stream"),{Agent:Z8,globalAgent:Kxe}=zk(),Uxe=_k(),Hxe=Vk(),jxe=J8(),Gxe=z8(),{ERR_INVALID_ARG_TYPE:Xk,ERR_INVALID_PROTOCOL:Yxe,ERR_HTTP_HEADERS_SENT:$8,ERR_INVALID_HTTP_TOKEN:qxe,ERR_HTTP_INVALID_HEADER_VALUE:Jxe,ERR_INVALID_CHAR:Wxe}=V8(),{HTTP2_HEADER_STATUS:ez,HTTP2_HEADER_METHOD:tz,HTTP2_HEADER_PATH:rz,HTTP2_METHOD_CONNECT:zxe}=Oxe.constants,Wi=Symbol("headers"),Zk=Symbol("origin"),$k=Symbol("session"),iz=Symbol("options"),kw=Symbol("flushedHeaders"),Pd=Symbol("jobs"),_xe=/^[\^`\-\w!#$%&*+.|~]+$/,Vxe=/[^\t\u0020-\u007E\u0080-\u00FF]/,nz=class extends Mxe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Hxe(e instanceof URL?e:new URL(e))),typeof t=="function"||t===void 0?(i=t,t=n?e:N({},e)):t=N(N({},e),t),t.h2session)this[$k]=t.h2session;else if(t.agent===!1)this.agent=new Z8({maxFreeSessions:0});else if(typeof t.agent=="undefined"||t.agent===null)typeof t.createConnection=="function"?(this.agent=new Z8({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=Kxe;else if(typeof t.agent.request=="function")this.agent=t.agent;else throw new Xk("options.agent",["Agent-like Object","undefined","false"],t.agent);if(t.protocol&&t.protocol!=="https:")throw new Yxe(t.protocol,"https:");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Wi]=Object.create(null),this[Pd]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!("authorization"in this[Wi])&&(this[Wi].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[iz]=t,s===443?(this[Zk]=`https://${o}`,":authority"in this[Wi]||(this[Wi][":authority"]=o)):(this[Zk]=`https://${o}:${s}`,":authority"in this[Wi]||(this[Wi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[kw]=!1}get method(){return this[Wi][tz]}set method(e){e&&(this[Wi][tz]=e.toUpperCase())}get path(){return this[Wi][rz]}set path(e){e&&(this[Wi][rz]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[Pd].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[Pd].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[kw]||this.destroyed)return;this[kw]=!0;let e=this.method===zxe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||jxe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new Uxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[ez],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[ez]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Pd])o();this.emit("socket",this.socket)};if(this[$k])try{t(this[$k].request(this[Wi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Zk],this[iz],this[Wi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new Xk("name","string",e);return this[Wi][e.toLowerCase()]}get headersSent(){return this[kw]}removeHeader(e){if(typeof e!="string")throw new Xk("name","string",e);if(this.headersSent)throw new $8("remove");delete this[Wi][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new $8("set");if(typeof e!="string"||!_xe.test(e)&&!Gxe(e))throw new qxe("Header name",e);if(typeof t=="undefined")throw new Jxe(t,e);if(Vxe.test(t))throw new Wxe("header content",e);this[Wi][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[Pd].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};X8.exports=nz});var oz=w((wnt,sz)=>{"use strict";var Xxe=require("tls");sz.exports=(r={})=>new Promise((e,t)=>{let i=Xxe.connect(r,()=>{r.resolveSocket?(i.off("error",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",t)})});var Az=w((Bnt,az)=>{"use strict";var Zxe=require("net");az.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith("[")?t.indexOf("]")===-1?e=t:e=t.slice(1,-1):e=t.split(":",1)[0]),Zxe.isIP(e)?"":e}});var uz=w((bnt,tP)=>{"use strict";var lz=require("http"),rP=require("https"),$xe=oz(),eke=Jk(),tke=eP(),rke=Az(),ike=Vk(),Pw=new eke({maxSize:100}),Dd=new Map,cz=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit("free",e,t)};e.on("free",i);let n=()=>{r.removeSocket(e,t)};e.on("close",n);let s=()=>{r.removeSocket(e,t),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),r.emit("free",e,t)},nke=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!Pw.has(e)){if(Dd.has(e))return(await Dd.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=$xe(r);Dd.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Pw.set(e,o),r.path=t,o==="h2")s.destroy();else{let{globalAgent:a}=rP,l=rP.Agent.prototype.createConnection;i?i.createConnection===l?cz(i,s,r):s.destroy():a.createConnection===l?cz(a,s,r):s.destroy()}return Dd.delete(e),o}catch(s){throw Dd.delete(e),s}}return Pw.get(e)};tP.exports=async(r,e,t)=>{if((typeof r=="string"||r instanceof URL)&&(r=ike(new URL(r))),typeof e=="function"&&(t=e,e=void 0),e=te(N(N({ALPNProtocols:["h2","http/1.1"]},r),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||rke(e),e.port=e.port||(i?443:80),e._defaultAgent=i?rP.globalAgent:lz.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await nke(e)==="h2"?(n&&(e.agent=n.http2),new tke(e,t)):lz.request(e,t)};tP.exports.protocolCache=Pw});var fz=w((Qnt,gz)=>{"use strict";var ske=require("http2"),oke=zk(),iP=eP(),ake=_k(),Ake=uz(),lke=(r,e,t)=>new iP(r,e,t),cke=(r,e,t)=>{let i=new iP(r,e,t);return i.end(),i};gz.exports=te(N(te(N({},ske),{ClientRequest:iP,IncomingMessage:ake}),oke),{request:lke,get:cke,auto:Ake})});var sP=w(nP=>{"use strict";Object.defineProperty(nP,"__esModule",{value:!0});var hz=iA();nP.default=r=>hz.default.nodeStream(r)&&hz.default.function_(r.getBoundary)});var mz=w(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});var pz=require("fs"),dz=require("util"),Cz=iA(),uke=sP(),gke=dz.promisify(pz.stat);oP.default=async(r,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!r)return 0;if(Cz.default.string(r))return Buffer.byteLength(r);if(Cz.default.buffer(r))return r.length;if(uke.default(r))return dz.promisify(r.getLength.bind(r))();if(r instanceof pz.ReadStream){let{size:t}=await gke(r.path);return t===0?void 0:t}}});var AP=w(aP=>{"use strict";Object.defineProperty(aP,"__esModule",{value:!0});function fke(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}aP.default=fke});var Ez=w(lP=>{"use strict";Object.defineProperty(lP,"__esModule",{value:!0});lP.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var yz=w(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});Rd.TimeoutError=void 0;var hke=require("net"),pke=Ez(),Iz=Symbol("reentry"),dke=()=>{},cP=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`);this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}};Rd.TimeoutError=cP;Rd.default=(r,e,t)=>{if(Iz in r)return dke;r[Iz]=!0;let i=[],{once:n,unhandleAll:s}=pke.default(),o=(g,f,h)=>{var p;let m=setTimeout(f,g,g,h);(p=m.unref)===null||p===void 0||p.call(m);let y=()=>{clearTimeout(m)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new cP(g,f))},u=()=>{for(let g of i)g();s()};if(r.once("error",g=>{if(u(),r.listenerCount("error")===0)throw g}),r.once("close",u),n(r,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener("timeout",g)})}return n(r,"socket",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:hke.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",y=>{y===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&t.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(r,"upload-complete",p())}):n(r,"upload-complete",p())}}),typeof e.response!="undefined"&&n(r,"upload-complete",()=>{let g=o(e.response,c,"response");n(r,"response",g)}),u}});var Bz=w(uP=>{"use strict";Object.defineProperty(uP,"__esModule",{value:!0});var wz=iA();uP.default=r=>{r=r;let e={protocol:r.protocol,hostname:wz.default.string(r.hostname)&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return wz.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var bz=w(gP=>{"use strict";Object.defineProperty(gP,"__esModule",{value:!0});var Cke=require("url"),mke=["protocol","host","hostname","port","pathname","search"];gP.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!r){if(!e.protocol)throw new TypeError("No URL protocol specified");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:""}`}let n=new Cke.URL(r);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of mke)e[s]&&(n[s]=e[s].toString());return n}});var Sz=w(fP=>{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});var Qz=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e=="object"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};fP.default=Qz});var pP=w(hP=>{"use strict";Object.defineProperty(hP,"__esModule",{value:!0});var Eke=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(""))};hP.default=Eke});var xz=w(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.dnsLookupIpVersionToFamily=Vc.isDnsLookupIpVersion=void 0;var vz={auto:0,ipv4:4,ipv6:6};Vc.isDnsLookupIpVersion=r=>r in vz;Vc.dnsLookupIpVersionToFamily=r=>{if(Vc.isDnsLookupIpVersion(r))return vz[r];throw new Error("Invalid DNS lookup IP version")}});var dP=w(Dw=>{"use strict";Object.defineProperty(Dw,"__esModule",{value:!0});Dw.isResponseOk=void 0;Dw.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var Pz=w(CP=>{"use strict";Object.defineProperty(CP,"__esModule",{value:!0});var kz=new Set;CP.default=r=>{kz.has(r)||(kz.add(r),process.emitWarning(`Got: ${r}`,{type:"DeprecationWarning"}))}});var Dz=w(mP=>{"use strict";Object.defineProperty(mP,"__esModule",{value:!0});var Ir=iA(),Ike=(r,e)=>{if(Ir.default.null_(r.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ir.assert.any([Ir.default.string,Ir.default.undefined],r.encoding),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],r.resolveBodyOnly),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],r.methodRewriting),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],r.isStream),Ir.assert.any([Ir.default.string,Ir.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType="text");let{retry:t}=r;if(e?r.retry=N({},e.retry):r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ir.default.object(t)?(r.retry=N(N({},r.retry),t),r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):Ir.default.number(t)&&(r.retry.limit=t),Ir.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(Ir.default.number))),Ir.default.object(r.pagination)){e&&(r.pagination=N(N({},e.pagination),r.pagination));let{pagination:i}=r;if(!Ir.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ir.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ir.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ir.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return r.responseType==="json"&&r.headers.accept===void 0&&(r.headers.accept="application/json"),r};mP.default=Ike});var Rz=w(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});Fd.retryAfterStatusCodes=void 0;Fd.retryAfterStatusCodes=new Set([413,429,503]);var yke=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};Fd.default=yke});var Ld=w(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.UnsupportedProtocolError=qt.ReadError=qt.TimeoutError=qt.UploadError=qt.CacheError=qt.HTTPError=qt.MaxRedirectsError=qt.RequestError=qt.setNonEnumerableProperties=qt.knownHookEvents=qt.withoutBody=qt.kIsNormalizedAlready=void 0;var Fz=require("util"),Nz=require("stream"),wke=require("fs"),gl=require("url"),Lz=require("http"),EP=require("http"),Bke=require("https"),bke=Y4(),Qke=X4(),Tz=D8(),Ske=L8(),vke=fz(),xke=vw(),Ee=iA(),kke=mz(),Oz=sP(),Pke=AP(),Mz=yz(),Dke=Bz(),Kz=bz(),Rke=Sz(),Fke=pP(),Uz=xz(),Nke=dP(),fl=Pz(),Lke=Dz(),Tke=Rz(),IP,Fi=Symbol("request"),Rw=Symbol("response"),rf=Symbol("responseSize"),nf=Symbol("downloadedSize"),sf=Symbol("bodySize"),of=Symbol("uploadedSize"),Fw=Symbol("serverResponsesPiped"),Hz=Symbol("unproxyEvents"),jz=Symbol("isFromCache"),yP=Symbol("cancelTimeouts"),Gz=Symbol("startedReading"),af=Symbol("stopReading"),Nw=Symbol("triggerRead"),hl=Symbol("body"),Nd=Symbol("jobs"),Yz=Symbol("originalResponse"),qz=Symbol("retryTimeout");qt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Oke=Ee.default.string(process.versions.brotli);qt.withoutBody=new Set(["GET","HEAD"]);qt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Mke(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \`searchParams\` value '${String(t)}' must be a string, number, boolean or null`)}}function Kke(r){return Ee.default.object(r)&&!("statusCode"in r)}var wP=new Rke.default,Uke=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once("error",i),r.once("ready",()=>{r.off("error",i),e()})}),Hke=new Set([300,301,302,303,304,307,308]),jke=["context","body","json","form"];qt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of jke)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var hi=class extends Error{constructor(e,t,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,i instanceof BP?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Rw]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};qt.RequestError=hi;var bP=class extends hi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};qt.MaxRedirectsError=bP;var QP=class extends hi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};qt.HTTPError=QP;var SP=class extends hi{constructor(e,t){super(e.message,e,t);this.name="CacheError"}};qt.CacheError=SP;var vP=class extends hi{constructor(e,t){super(e.message,e,t);this.name="UploadError"}};qt.UploadError=vP;var xP=class extends hi{constructor(e,t,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=t}};qt.TimeoutError=xP;var Lw=class extends hi{constructor(e,t){super(e.message,e,t);this.name="ReadError"}};qt.ReadError=Lw;var kP=class extends hi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};qt.UnsupportedProtocolError=kP;var Gke=["socket","connect","continue","information","upgrade","timeout"],BP=class extends Nz.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0});this[nf]=0,this[of]=0,this.requestInitialized=!1,this[Fw]=new Set,this.redirects=[],this[af]=!1,this[Nw]=!1,this[Nd]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof EP.IncomingMessage&&(this.options.headers=N(N({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),qt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof wke.ReadStream&&await Uke(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Fi])===null||c===void 0||c.destroy();return}for(let g of this[Nd])g();this[Nd].length=0,this.requestInitialized=!0}catch(u){if(u instanceof hi){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t=N(N(N({},i),e),t);else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t=N(N({},i),t),e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new gl.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([Uz.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method="GET",t.headers===(i==null?void 0:i.headers)?t.headers=N({},t.headers):t.headers=xke(N(N({},i==null?void 0:i.headers),t.headers)),"slashes"in t)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in t)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof gl.URLSearchParams)h=new gl.URLSearchParams(t.searchParams);else{Mke(t.searchParams),h=new gl.URLSearchParams;for(let p in t.searchParams){let m=t.searchParams[p];m===null?h.append(p,""):m!==void 0&&h.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{h.has(m)||h.append(m,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:"",t.password=(o=t.password)!==null&&o!==void 0?o:"",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==""&&!t.prefixUrl.endsWith("/")&&(t.prefixUrl+="/")),Ee.default.string(t.url)){if(t.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");t.url=Kz.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==""||t.protocol)&&(t.url=Kz.default(t.prefixUrl,t));if(t.url){"port"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,"prefixUrl",{set:m=>{let y=t.url;if(!y.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${m}: ${y.href}`);t.url=new gl.URL(m+y.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=t.url;if(p==="unix:"&&(p="http:",t.url=new gl.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!=="http:"&&p!=="https:")throw new kP(t);t.username===""?t.username=t.url.username:t.url.username=t.username,t.password===""?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=Fz.promisify(h.bind(t.cookieJar)),p=Fz.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(wP.has(g)||wP.set(g,new Tz((h,p)=>{let m=h[Fi](h,p);return Ee.default.promise(m)&&(m.once=(y,b)=>{if(y==="error")m.catch(b);else if(y==="abort")(async()=>{try{(await m).once("abort",b)}catch(v){}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return m}),m},g))),t.cacheOptions=N({},t.cacheOptions),t.dnsCache===!0)IP||(IP=new Qke.default),t.dnsCache=IP;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout=N(N({},i.timeout),t.timeout):t.timeout=N({},t.timeout),t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks=N({},t.hooks);for(let h of qt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of qt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if("family"in t&&fl.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(t.https=N(N({},i.https),t.https)),"rejectUnauthorized"in t&&fl.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in t&&fl.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in t&&fl.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in t&&fl.default('"options.key" was never documented, please use "options.https.key"'),"cert"in t&&fl.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in t&&fl.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in t&&fl.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in t)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(t.agent){for(let h in t.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,qt.setNonEnumerableProperties([i,c],t),Lke.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=qt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof Nz.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!Oz.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ee.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ee.default.string(t["content-type"]);s?(Oz.default(e.body)&&l&&(t["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[hl]=e.body):i?(l&&(t["content-type"]="application/x-www-form-urlencoded"),this[hl]=new gl.URLSearchParams(e.form).toString()):(l&&(t["content-type"]="application/json"),this[hl]=e.stringifyJson(e.json));let c=await kke.default(this[hl],e.headers);Ee.default.undefined(t["content-length"])&&Ee.default.undefined(t["transfer-encoding"])&&!a&&!Ee.default.undefined(c)&&(t["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[sf]=Number(t["content-length"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[Yz]=e,t.decompress&&(e=Ske(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:Lz.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[jz]=s.isFromCache,this[rf]=Number(e.headers["content-length"])||void 0,this[Rw]=e,e.once("end",()=>{this[rf]=this[nf],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new Lw(a,this))}),e.once("aborted",()=>{this._beforeError(new Lw({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&Hke.has(n)){if(e.resume(),this[Fi]&&(this[yP](),delete this[Fi],this[Hz]()),(n===303&&t.method!=="GET"&&t.method!=="HEAD"||!t.methodRewriting)&&(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[hl]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects){this._beforeError(new bP(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new gl.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit("redirect",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!Nke.isResponseOk(s)){this._beforeError(new QP(s));return}e.on("readable",()=>{this[Nw]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Fw])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;bke.default(e),this[yP]=Mz.default(e,i,n);let s=t.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof Mz.TimeoutError?new xP(l,this.timings,this):new hi(l.message,l,this),this._beforeError(l)}),this[Hz]=Pke.default(e,this,Gke),this[Fi]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[hl],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new vP(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,Dke.default(e)),delete t.url;let s,o=wP.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});t.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let b in a)if(Ee.default.undefined(a[b]))delete a[b];else if(Ee.default.null_(a[b]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${b}\` header`);if(o.decompress&&Ee.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=Oke?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let b=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(b)&&(o.headers.cookie=b)}for(let b of o.hooks.beforeRequest){let v=await b(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[hl]!==o.body&&(this[hl]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let b=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(b==null?void 0:b.groups){let{socketPath:v,path:x}=b.groups;Object.assign(o,{socketPath:v,path:x,host:""})}}let f=g.protocol==="https:",h;o.http2?h=vke.auto:h=f?Bke.request:Lz.request;let p=(e=o.request)!==null&&e!==void 0?e:h,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Fi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=Uz.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(b){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let b=await m(g,y);Ee.default.undefined(b)&&(b=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),Kke(b)?this._onRequest(b):this.writable?(this.once("finish",()=>{this._onResponse(b)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(b)}catch(b){throw b instanceof Tz.CacheError?new SP(b,this):new hi(b.message,b,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new hi(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[af])return;let{options:t}=this,i=this.retryCount+1;this[af]=!0,e instanceof hi||(e=new hi(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await Fke.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:Tke.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new hi(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new hi(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[qz]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Nw]=!0;let e=this[Rw];if(e&&!this[af]){e.readableLength&&(this[Nw]=!1);let t;for(;(t=e.read())!==null;){this[nf]+=t.length,this[Gz]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[Nd].push(n)}_writeRequest(e,t,i){this[Fi].destroyed||(this._progressCallbacks.push(()=>{this[of]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Fi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Fi in this)){e();return}if(this[Fi].destroyed){e();return}this[Fi].end(i=>{i||(this[sf]=this[of],this.emit("uploadProgress",this.uploadProgress),this[Fi].emit("upload-complete")),e(i)})};this.requestInitialized?t():this[Nd].push(t)}_destroy(e,t){var i;this[af]=!0,clearTimeout(this[qz]),Fi in this&&(this[yP](),((i=this[Rw])===null||i===void 0?void 0:i.complete)||this[Fi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof hi)&&(e=new hi(e.message,e,this)),t(e)}get _isAboutToError(){return this[af]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[Fi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!((i=this[Yz])===null||i===void 0?void 0:i.complete)}get socket(){var e,t;return(t=(e=this[Fi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[rf]?e=this[nf]/this[rf]:this[rf]===this[nf]?e=1:e=0,{percent:e,transferred:this[nf],total:this[rf]}}get uploadProgress(){let e;return this[sf]?e=this[of]/this[sf]:this[sf]===this[of]?e=1:e=0,{percent:e,transferred:this[of],total:this[sf]}}get timings(){var e;return(e=this[Fi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[jz]}pipe(e,t){if(this[Gz])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof EP.ServerResponse&&this[Fw].add(e),super.pipe(e,t)}unpipe(e){return e instanceof EP.ServerResponse&&this[Fw].delete(e),super.unpipe(e),this}};qt.default=BP});var Td=w(Co=>{"use strict";var Yke=Co&&Co.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),qke=Co&&Co.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Yke(e,r,t)};Object.defineProperty(Co,"__esModule",{value:!0});Co.CancelError=Co.ParseError=void 0;var Jz=Ld(),Wz=class extends Jz.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in "${i.url.toString()}"`,e,t.request);this.name="ParseError"}};Co.ParseError=Wz;var zz=class extends Jz.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Co.CancelError=zz;qke(Ld(),Co)});var Vz=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var _z=Td(),Jke=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":t(n.toString());if(e==="buffer")return n;throw new _z.ParseError({message:`Unknown body type '${e}'`,name:"Error"},r)}catch(s){throw new _z.ParseError(s,r)}};PP.default=Jke});var DP=w(pl=>{"use strict";var Wke=pl&&pl.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),zke=pl&&pl.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Wke(e,r,t)};Object.defineProperty(pl,"__esModule",{value:!0});var _ke=require("events"),Vke=iA(),Xke=j4(),Tw=Td(),Xz=Vz(),Zz=Ld(),Zke=AP(),$ke=pP(),$z=dP(),ePe=["request","response","redirect","uploadProgress","downloadProgress"];function e5(r){let e,t,i=new _ke.EventEmitter,n=new Xke((o,a,l)=>{let c=u=>{let g=new Zz.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Tw.CancelError(g))),e=g,g.once("response",async p=>{var m;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await $ke.default(g),p.rawBody=y}catch(T){return}if(g._isAboutToError)return;let b=((m=p.headers["content-encoding"])!==null&&m!==void 0?m:"").toLowerCase(),v=["gzip","deflate","br"].includes(b),{options:x}=g;if(v&&!x.decompress)p.body=y;else try{p.body=Xz.default(p,x.responseType,x.parseJson,x.encoding)}catch(T){if(p.body=y.toString(),$z.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,q]of x.hooks.afterResponse.entries())p=await q(p,async Y=>{let $=Zz.default.normalizeArguments(void 0,te(N({},Y),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),x);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,T);for(let ne of $.hooks.beforeRetry)await ne($);let _=e5($);return l(()=>{_.catch(()=>{}),_.cancel()}),_})}catch(T){g._beforeError(new Tw.RequestError(T.message,T,g));return}if(!$z.isResponseOk(p)){g._beforeError(new Tw.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:m}=g;if(p instanceof Tw.HTTPError&&!m.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,m)=>{var y,b;if(h===((y=m.request)===null||y===void 0?void 0:y.options.body)&&Vke.default.nodeStream((b=m.request)===null||b===void 0?void 0:b.options.body)){f(m);return}c(p)}),Zke.default(g,i,ePe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return Xz.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}pl.default=e5;zke(Td(),pl)});var t5=w(RP=>{"use strict";Object.defineProperty(RP,"__esModule",{value:!0});var tPe=Td();function rPe(r,...e){let t=(async()=>{if(r instanceof tPe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}RP.default=rPe});var n5=w(FP=>{"use strict";Object.defineProperty(FP,"__esModule",{value:!0});var r5=iA();function i5(r){for(let e of Object.values(r))(r5.default.plainObject(e)||r5.default.array(e))&&i5(e);return Object.freeze(r)}FP.default=i5});var o5=w(s5=>{"use strict";Object.defineProperty(s5,"__esModule",{value:!0})});var NP=w(Ts=>{"use strict";var iPe=Ts&&Ts.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),nPe=Ts&&Ts.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&iPe(e,r,t)};Object.defineProperty(Ts,"__esModule",{value:!0});Ts.defaultHandler=void 0;var a5=iA(),Os=DP(),sPe=t5(),Ow=Ld(),oPe=n5(),aPe={RequestError:Os.RequestError,CacheError:Os.CacheError,ReadError:Os.ReadError,HTTPError:Os.HTTPError,MaxRedirectsError:Os.MaxRedirectsError,TimeoutError:Os.TimeoutError,ParseError:Os.ParseError,CancelError:Os.CancelError,UnsupportedProtocolError:Os.UnsupportedProtocolError,UploadError:Os.UploadError},APe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:Mw}=Ow.default,A5=(...r)=>{let e;for(let t of r)e=Mw(void 0,t,e);return e},lPe=r=>r.isStream?new Ow.default(void 0,r):Os.default(r),cPe=r=>"defaults"in r&&"options"in r.defaults,uPe=["get","post","put","patch","head","delete"];Ts.defaultHandler=(r,e)=>e(r);var l5=(r,e)=>{if(r)for(let t of r)t(e)},c5=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?lPe:c);if(a5.default.plainObject(i)){let u=N(N({},i),n);Ow.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{l5(r.options.hooks.init,n),l5((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Mw(i,n,s!=null?s:r.options);if(g[Ow.kIsNormalizedAlready]=!0,u)throw new Os.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return sPe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)cPe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Ts.defaultHandler),s.length===0&&s.push(Ts.defaultHandler),c5({options:A5(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=Mw(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!a5.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,te(N({},n),{isStream:!0}));for(let i of uPe)e[i]=(n,s)=>e(n,te(N({},s),{method:i})),e.stream[i]=(n,s)=>e(n,te(N({},s),{method:i,isStream:!0}));return Object.assign(e,aPe),Object.defineProperty(e,"defaults",{value:r.mutableDefaults?r:oPe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=A5,e};Ts.default=c5;nPe(o5(),Ts)});var Uw=w((sA,Kw)=>{"use strict";var gPe=sA&&sA.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),u5=sA&&sA.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&gPe(e,r,t)};Object.defineProperty(sA,"__esModule",{value:!0});var fPe=require("url"),g5=NP(),hPe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType==="json"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,"link"))return!1;let e=r.headers.link.split(","),t;for(let i of e){let n=i.split(";");if(n[1].includes("next")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new fPe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[g5.defaultHandler],mutableDefaults:!1},LP=g5.default(hPe);sA.default=LP;Kw.exports=LP;Kw.exports.default=LP;Kw.exports.__esModule=!0;u5(NP(),sA);u5(DP(),sA)});var d5=w(Af=>{"use strict";var znt=require("net"),pPe=require("tls"),TP=require("http"),f5=require("https"),dPe=require("events"),_nt=require("assert"),CPe=require("util");Af.httpOverHttp=mPe;Af.httpsOverHttp=EPe;Af.httpOverHttps=IPe;Af.httpsOverHttps=yPe;function mPe(r){var e=new oA(r);return e.request=TP.request,e}function EPe(r){var e=new oA(r);return e.request=TP.request,e.createSocket=h5,e.defaultPort=443,e}function IPe(r){var e=new oA(r);return e.request=f5.request,e}function yPe(r){var e=new oA(r);return e.request=f5.request,e.createSocket=h5,e.defaultPort=443,e}function oA(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||TP.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=p5(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};oA.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=OP({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),dl("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){dl("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){dl("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return dl("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),dl(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};oA.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function h5(r,e){var t=this;oA.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=OP({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=pPe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function p5(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function OP(r){for(var e=1,t=arguments.length;e{C5.exports=d5()});var x5=w((Gw,jP)=>{var v5=Object.assign({},require("fs")),GP=function(){var r=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(r=r||__filename),function(e){e=e||{};var t=typeof e!="undefined"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,m,y,b;g&&(u?f=require("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var D=xa(E);return D?I?D:D.toString():(y||(y=v5),b||(b=require("path")),E=b.normalize(E),y.readFileSync(E,I?null:"utf8"))},m=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),Z(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),x=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var T=16;function q(d,E){return E||(E=T),Math.ceil(d/E)*E}var Y=0,$=function(d){Y=d},_;t.wasmBinary&&(_=t.wasmBinary);var ne=t.noExitRuntime||!0;typeof WebAssembly!="object"&&vr("no native wasm support detected");function ee(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return pe[d>>0];case"i8":return pe[d>>0];case"i16":return Qe[d>>1];case"i32":return fe[d>>2];case"i64":return fe[d>>2];case"float":return Ht[d>>2];case"double":return Mt[d>>3];default:vr("invalid type for getValue: "+E)}return null}var A,oe=!1,ce;function Z(d,E){d||vr("Assertion failed: "+E)}function O(d){var E=t["_"+d];return Z(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function L(d,E,I,D,M){var z={string:function(st){var yt=0;if(st!=null&&st!==0){var xe=(st.length<<2)+1;yt=B(xe),be(st,yt,xe)}return yt},array:function(st){var yt=B(st.length);return Ke(st,yt),yt}};function ie(st){return E==="string"?re(st):E==="boolean"?Boolean(st):st}var we=O(d),me=[],_e=0;if(D)for(var ot=0;ot=D);)++M;if(M-E>16&&d.subarray&&Be)return Be.decode(d.subarray(E,M));for(var z="";E>10,56320|_e&1023)}}return z}function re(d,E){return d?je(V,d,E):""}function se(d,E,I,D){if(!(D>0))return 0;for(var M=I,z=I+D-1,ie=0;ie=55296&&we<=57343){var me=d.charCodeAt(++ie);we=65536+((we&1023)<<10)|me&1023}if(we<=127){if(I>=z)break;E[I++]=we}else if(we<=2047){if(I+1>=z)break;E[I++]=192|we>>6,E[I++]=128|we&63}else if(we<=65535){if(I+2>=z)break;E[I++]=224|we>>12,E[I++]=128|we>>6&63,E[I++]=128|we&63}else{if(I+3>=z)break;E[I++]=240|we>>18,E[I++]=128|we>>12&63,E[I++]=128|we>>6&63,E[I++]=128|we&63}}return E[I]=0,I-M}function be(d,E,I){return se(d,V,E,I)}function he(d){for(var E=0,I=0;I=55296&&D<=57343&&(D=65536+((D&1023)<<10)|d.charCodeAt(++I)&1023),D<=127?++E:D<=2047?E+=2:D<=65535?E+=3:E+=4}return E}function Fe(d){var E=he(d)+1,I=Et(E);return I&&se(d,pe,I,E),I}function Ke(d,E){pe.set(d,E)}function ke(d,E){return d%E>0&&(d+=E-d%E),d}var ve,pe,V,Qe,le,fe,gt,Ht,Mt;function Ei(d){ve=d,t.HEAP8=pe=new Int8Array(d),t.HEAP16=Qe=new Int16Array(d),t.HEAP32=fe=new Int32Array(d),t.HEAPU8=V=new Uint8Array(d),t.HEAPU16=le=new Uint16Array(d),t.HEAPU32=gt=new Uint32Array(d),t.HEAPF32=Ht=new Float32Array(d),t.HEAPF64=Mt=new Float64Array(d)}var jt=t.INITIAL_MEMORY||16777216,Qr,Oi=[],Xs=[],Un=[],Hn=!1;function Sr(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)ba(t.preRun.shift());ko(Oi)}function jn(){Hn=!0,!t.noFSInit&&!S.init.initialized&&S.init(),ps.init(),ko(Xs)}function fs(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)Nu(t.postRun.shift());ko(Un)}function ba(d){Oi.unshift(d)}function DA(d){Xs.unshift(d)}function Nu(d){Un.unshift(d)}var hs=0,RA=null,Qa=null;function Lu(d){return d}function FA(d){hs++,t.monitorRunDependencies&&t.monitorRunDependencies(hs)}function NA(d){if(hs--,t.monitorRunDependencies&&t.monitorRunDependencies(hs),hs==0&&(RA!==null&&(clearInterval(RA),RA=null),Qa)){var E=Qa;Qa=null,E()}}t.preloadedImages={},t.preloadedAudios={};function vr(d){t.onAbort&&t.onAbort(d),d+="",x(d),oe=!0,ce=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var zl="data:application/octet-stream;base64,";function Tu(d){return d.startsWith(zl)}var xo="data:application/octet-stream;base64,AGFzbQEAAAABlAInYAF/AX9gA39/fwF/YAF/AGACf38Bf2ACf38AYAV/f39/fwF/YAR/f39/AX9gA39/fwBgBH9+f38Bf2AAAX9gBX9/f35/AX5gA39+fwF/YAF/AX5gAn9+AX9gBH9/fn8BfmADf35/AX5gA39/fgF/YAR/f35/AX9gBn9/f39/fwF/YAR/f39/AGADf39+AX5gAn5/AX9gA398fwBgBH9/f38BfmADf39/AX5gBn98f39/fwF/YAV/f35/fwF/YAV/fn9/fwF/YAV/f39/fwBgAn9+AGACf38BfmACf3wAYAh/fn5/f39+fwF/YAV/f39+fwBgAABgBX5+f35/AX5gBX9/f39/AX5gAnx/AXxgAn9+AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAEBYQFtAAABYQFuAAUBYQFvAAEBYQFwAAMBYQFxAAEBYQFyAAABYQFzAAMBYQF0AAADggKAAgcCAgQAAQECAgANBA4EBwICAhwLEw0AFA0dAAAMDAIHHgwQAgIDAwICAQAIAAcIFBUEBgAADAAECAgDAQYAAgIBBgAfFwEBAwITAiAPBgIFEQMFAxgBCAIBAAAHBQEYABoSAQIABwQDIREIAyIGAAEBAwMAIwUbASQHAQsVAQMABQMEAA0bFw0BBAALCwMDDAwAAwAHJQMBAAgaAQECBQMBAgMDAAcHBwICAgImEQsICAsECQoJAgAAAAAAAAkFAAUFBQEGAwYGBgUSBgYBARIBAAIJBgABDgABAQ8ACQEEGQkJCQAAAAMECgoBAQIQAAAAAgEDAwAEAQoFAA4ACQAEBQFwAR8fBQcBAYACgIACBgkBfwFB0KDBAgsHvgI8AXUCAAF2AIABAXcAkwIBeADjAQF5APEBAXoA0QEBQQDQAQFCAM8BAUMAzgEBRADMAQFFAMsBAUYAyQEBRwCSAgFIAJECAUkAjwIBSgCKAgFLAOkBAUwA4gEBTQDhAQFOADwBTwD8AQFQAPkBAVEA+AEBUgDwAQFTAPoBAVQA4AEBVQAVAVYAGAFXAMcBAVgAzQEBWQDfAQFaAN4BAV8A3QEBJADkAQJhYQDcAQJiYQDbAQJjYQDaAQJkYQDZAQJlYQDYAQJmYQDXAQJnYQDqAQJoYQCcAQJpYQDWAQJqYQDVAQJrYQDUAQJsYQAvAm1hABsCbmEAygECb2EASAJwYQEAAnFhAGcCcmEA0wECc2EA6AECdGEA0gECdWEA9wECdmEA9gECd2EA9QECeGEA5wECeWEA5gECemEA5QEJQQEAQQELHsgBkAKNAo4CjAKLArcBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH7AVv0AfMB8gHvAe4B7QHsAesBCu+QCYACQAEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNB9JsBKAIASQ0BIAAgAWohACADQfibASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RBjJwBakYaIAIgAygCDCIBRgRAQeSbAUHkmwEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQeybASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUH8mwEoAgBGBEBB/JsBIAM2AgBB8JsBQfCbASgCACAAaiIANgIAIAMgAEEBcjYCBCADQfibASgCAEcNA0HsmwFBADYCAEH4mwFBADYCAA8LIAVB+JsBKAIARgRAQfibASADNgIAQeybAUHsmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QYycAWpGGiACIAUoAgwiAUYEQEHkmwFB5JsBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQfSbASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANB+JsBKAIARw0BQeybASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QYycAWohAAJ/QeSbASgCACICQQEgAXQiAXFFBEBB5JsBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEGUngFqIQECQAJAAkBB6JsBKAIAIgRBASACdCIHcUUEQEHomwEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQYScAUGEnAEoAgBBAWsiAEF/IAAbNgIACwtCAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDC0AAUEBcQRAIAEoAgwoAgQQFQsgASgCDBAVCyABQRBqJAALQwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwCfyMAQRBrIgAgAigCCDYCDCAAKAIMQQxqCxBFIAJBEGokAAuiLgEMfyMAQRBrIgwkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQeSbASgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUGUnAFqKAIAIgRBCGohAAJAIAQoAggiAiABQYycAWoiAUYEQEHkmwEgBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQeybASgCACIKTQ0BIAEEQAJAQQIgAnQiAEEAIABrciABIAJ0cSIAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmoiA0EDdCIAQZScAWooAgAiBCgCCCIBIABBjJwBaiIARgRAQeSbASAFQX4gA3dxIgU2AgAMAQsgASAANgIMIAAgATYCCAsgBEEIaiEAIAQgCEEDcjYCBCAEIAhqIgIgA0EDdCIBIAhrIgNBAXI2AgQgASAEaiADNgIAIAoEQCAKQQN2IgFBA3RBjJwBaiEHQfibASgCACEEAn8gBUEBIAF0IgFxRQRAQeSbASABIAVyNgIAIAcMAQsgBygCCAshASAHIAQ2AgggASAENgIMIAQgBzYCDCAEIAE2AggLQfibASACNgIAQeybASADNgIADA0LQeibASgCACIGRQ0BIAZBACAGa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEGUngFqKAIAIgEoAgRBeHEgCGshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgCGsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsLIAEgCGoiCSABTQ0CIAEoAhghCyABIAEoAgwiBEcEQCABKAIIIgBB9JsBKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhB6JsBKAIAIglFDQBBACAIayEDAkACQAJAAn9BACAIQYACSQ0AGkEfIAhB////B0sNABogAEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAggAEEVanZBAXFyQRxqCyIFQQJ0QZSeAWooAgAiAkUEQEEAIQAMAQtBACEAIAhBAEEZIAVBAXZrIAVBH0YbdCEBA0ACQCACKAIEQXhxIAhrIgcgA08NACACIQQgByIDDQBBACEDIAIhAAwDCyAAIAIoAhQiByAHIAIgAUEddkEEcWooAhAiAkYbIAAgBxshACABQQF0IQEgAg0ACwsgACAEckUEQEECIAV0IgBBACAAa3IgCXEiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRBlJ4BaigCACEACyAARQ0BCwNAIAAoAgRBeHEgCGsiASADSSECIAEgAyACGyEDIAAgBCACGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0HsmwEoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEH0mwEoAgBJGiAAIAE2AgwgASAANgIIDAoLIARBFGoiAigCACIARQRAIAQoAhAiAEUNBCAEQRBqIQILA0AgAiEHIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIAdBADYCAAwJCyAIQeybASgCACICTQRAQfibASgCACEDAkAgAiAIayIBQRBPBEBB7JsBIAE2AgBB+JsBIAMgCGoiADYCACAAIAFBAXI2AgQgAiADaiABNgIAIAMgCEEDcjYCBAwBC0H4mwFBADYCAEHsmwFBADYCACADIAJBA3I2AgQgAiADaiIAIAAoAgRBAXI2AgQLIANBCGohAAwLCyAIQfCbASgCACIGSQRAQfCbASAGIAhrIgE2AgBB/JsBQfybASgCACICIAhqIgA2AgAgACABQQFyNgIEIAIgCEEDcjYCBCACQQhqIQAMCwtBACEAIAhBL2oiCQJ/QbyfASgCAARAQcSfASgCAAwBC0HInwFCfzcCAEHAnwFCgKCAgICABDcCAEG8nwEgDEEMakFwcUHYqtWqBXM2AgBB0J8BQQA2AgBBoJ8BQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpBnJ8BKAIAIgQEQEGUnwEoAgAiAyACaiIBIANNDQsgASAESw0LC0GgnwEtAABBBHENBQJAAkBB/JsBKAIAIgMEQEGknwEhAANAIAMgACgCACIBTwRAIAEgACgCBGogA0sNAwsgACgCCCIADQALC0EAED4iAUF/Rg0GIAIhBUHAnwEoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkGcnwEoAgAiBARAQZSfASgCACIDIAVqIgAgA00NByAAIARLDQcLIAUQPiIAIAFHDQEMCAsgBSAGayAHcSIFQf7///8HSw0FIAUQPiIBIAAoAgAgACgCBGpGDQQgASEACwJAIABBf0YNACAIQTBqIAVNDQBBxJ8BKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARA+QX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrED4aDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQaCfAUGgnwEoAgBBBHI2AgALIAJB/v///wdLDQEgAhA+IQFBABA+IQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIFIAhBKGpNDQELQZSfAUGUnwEoAgAgBWoiADYCAEGYnwEoAgAgAEkEQEGYnwEgADYCAAsCQAJAAkBB/JsBKAIAIgcEQEGknwEhAANAIAEgACgCACIDIAAoAgQiAmpGDQIgACgCCCIADQALDAILQfSbASgCACIAQQAgACABTRtFBEBB9JsBIAE2AgALQQAhAEGonwEgBTYCAEGknwEgATYCAEGEnAFBfzYCAEGInAFBvJ8BKAIANgIAQbCfAUEANgIAA0AgAEEDdCIDQZScAWogA0GMnAFqIgI2AgAgA0GYnAFqIAI2AgAgAEEBaiIAQSBHDQALQfCbASAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBB/JsBIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQYCcAUHMnwEoAgA2AgAMAgsgAC0ADEEIcQ0AIAMgB0sNACABIAdNDQAgACACIAVqNgIEQfybASAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQfCbAUHwmwEoAgAgBWoiASAAayIANgIAIAIgAEEBcjYCBCABIAdqQSg2AgRBgJwBQcyfASgCADYCAAwBC0H0mwEoAgAgAUsEQEH0mwEgATYCAAsgASAFaiECQaSfASEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0GknwEhAANAIAcgACgCACICTwRAIAIgACgCBGoiBCAHSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIAVqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAhBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgUgCCAJaiIGayECIAUgB0YEQEH8mwEgBjYCAEHwmwFB8JsBKAIAIAJqIgA2AgAgBiAAQQFyNgIEDAMLIAVB+JsBKAIARgRAQfibASAGNgIAQeybAUHsmwEoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEGMnAFqRhogAyAFKAIMIgFGBEBB5JsBQeSbASgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRBlJ4BaiIAKAIARgRAIAAgATYCACABDQFB6JsBQeibASgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QYycAWohAgJ/QeSbASgCACIBQQEgAHQiAHFFBEBB5JsBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRBlJ4BaiEEAkBB6JsBKAIAIgNBASAAdCIBcUUEQEHomwEgASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0HwmwEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQfybASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEGAnAFBzJ8BKAIANgIAIAcgBEEnIARrQQdxQQAgBEEna0EHcRtqQS9rIgAgACAHQRBqSRsiAkEbNgIEIAJBrJ8BKQIANwIQIAJBpJ8BKQIANwIIQayfASACQQhqNgIAQaifASAFNgIAQaSfASABNgIAQbCfAUEANgIAIAJBGGohAANAIABBBzYCBCAAQQhqIQEgAEEEaiEAIAEgBEkNAAsgAiAHRg0DIAIgAigCBEF+cTYCBCAHIAIgB2siBEEBcjYCBCACIAQ2AgAgBEH/AU0EQCAEQQN2IgBBA3RBjJwBaiECAn9B5JsBKAIAIgFBASAAdCIAcUUEQEHkmwEgACABcjYCACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIDAQLQR8hACAHQgA3AhAgBEH///8HTQRAIARBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAEIABBFWp2QQFxckEcaiEACyAHIAA2AhwgAEECdEGUngFqIQMCQEHomwEoAgAiAkEBIAB0IgFxRQRAQeibASABIAJyNgIAIAMgBzYCACAHIAM2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAygCACEBA0AgASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAMLIAMoAggiACAGNgIMIAMgBjYCCCAGQQA2AhggBiADNgIMIAYgADYCCAsgCUEIaiEADAULIAIoAggiACAHNgIMIAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAtB8JsBKAIAIgAgCE0NAEHwmwEgACAIayIBNgIAQfybAUH8mwEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAMLQbSbAUEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRBlJ4BaiIAKAIAIARGBEAgACABNgIAIAENAUHomwEgCUF+IAJ3cSIJNgIADAILIAVBEEEUIAUoAhAgBEYbaiABNgIAIAFFDQELIAEgBTYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCADQQ9NBEAgBCADIAhqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMAQsgBCAIQQNyNgIEIAYgA0EBcjYCBCADIAZqIAM2AgAgA0H/AU0EQCADQQN2IgBBA3RBjJwBaiECAn9B5JsBKAIAIgFBASAAdCIAcUUEQEHkmwEgACABcjYCACACDAELIAIoAggLIQAgAiAGNgIIIAAgBjYCDCAGIAI2AgwgBiAANgIIDAELQR8hACADQf///wdNBEAgA0EIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAMgAEEVanZBAXFyQRxqIQALIAYgADYCHCAGQgA3AhAgAEECdEGUngFqIQICQAJAIAlBASAAdCIBcUUEQEHomwEgASAJcjYCACACIAY2AgAgBiACNgIYDAELIANBAEEZIABBAXZrIABBH0YbdCEAIAIoAgAhCANAIAgiASgCBEF4cSADRg0CIABBHXYhAiAAQQF0IQAgASACQQRxaiICKAIQIggNAAsgAiAGNgIQIAYgATYCGAsgBiAGNgIMIAYgBjYCCAwBCyABKAIIIgAgBjYCDCABIAY2AgggBkEANgIYIAYgATYCDCAGIAA2AggLIARBCGohAAwBCwJAIAtFDQACQCABKAIcIgJBAnRBlJ4BaiIAKAIAIAFGBEAgACAENgIAIAQNAUHomwEgBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RBjJwBaiEEQfibASgCACECAn9BASAAdCIAIAVxRQRAQeSbASAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQfibASAJNgIAQeybASADNgIACyABQQhqIQALIAxBEGokACAAC4MEAQN/IAJBgARPBEAgACABIAIQCxogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACQQFIBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvBGAECfyMAQRBrIgQkACAEIAA2AgwgBCABNgIIIAQgAjYCBCAEKAIMIQAgBCgCCCECIAQoAgQhAyMAQSBrIgEkACABIAA2AhggASACNgIUIAEgAzYCEAJAIAEoAhRFBEAgAUEANgIcDAELIAFBATYCDCABLQAMBEAgASgCFCECIAEoAhAhAyMAQSBrIgAgASgCGDYCHCAAIAI2AhggACADNgIUIAAgACgCHDYCECAAIAAoAhBBf3M2AhADQCAAKAIUBH8gACgCGEEDcUEARwVBAAtBAXEEQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGgGWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QaAZaigCACAAKAIQQRB2Qf8BcUECdEGgIWooAgAgACgCEEH/AXFBAnRBoDFqKAIAIAAoAhBBCHZB/wFxQQJ0QaApaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGgGWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrIgI2AhQgAg0ACwsgACAAKAIQQX9zNgIQIAEgACgCEDYCHAwBCyABKAIUIQIgASgCECEDIwBBIGsiACABKAIYNgIcIAAgAjYCGCAAIAM2AhQgACAAKAIcQQh2QYD+A3EgACgCHEEYdmogACgCHEGA/gNxQQh0aiAAKAIcQf8BcUEYdGo2AhAgACAAKAIQQX9zNgIQA0AgACgCFAR/IAAoAhhBA3FBAEcFQQALQQFxBEAgACgCEEEYdiECIAAgACgCGCIDQQFqNgIYIAAgAy0AACACc0ECdEGgOWooAgAgACgCEEEIdHM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QaDRAGooAgAgACgCEEEQdkH/AXFBAnRBoMkAaigCACAAKAIQQf8BcUECdEGgOWooAgAgACgCEEEIdkH/AXFBAnRBoMEAaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQQRh2IQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQQJ0QaA5aigCACAAKAIQQQh0czYCECAAIAAoAhRBAWsiAjYCFCACDQALCyAAIAAoAhBBf3M2AhAgASAAKAIQQQh2QYD+A3EgACgCEEEYdmogACgCEEGA/gNxQQh0aiAAKAIQQf8BcUEYdGo2AhwLIAEoAhwhACABQSBqJAAgBEEQaiQAIAAL7AIBAn8jAEEQayIBJAAgASAANgIMAkAgASgCDEUNACABKAIMKAIwBEAgASgCDCIAIAAoAjBBAWs2AjALIAEoAgwoAjANACABKAIMKAIgBEAgASgCDEEBNgIgIAEoAgwQLxoLIAEoAgwoAiRBAUYEQCABKAIMEGILAkAgASgCDCgCLEUNACABKAIMLQAoQQFxDQAgASgCDCECIwBBEGsiACABKAIMKAIsNgIMIAAgAjYCCCAAQQA2AgQDQCAAKAIEIAAoAgwoAkRJBEAgACgCDCgCTCAAKAIEQQJ0aigCACAAKAIIRgRAIAAoAgwoAkwgACgCBEECdGogACgCDCgCTCAAKAIMKAJEQQFrQQJ0aigCADYCACAAKAIMIgAgACgCREEBazYCRAUgACAAKAIEQQFqNgIEDAILCwsLIAEoAgxBAEIAQQUQIBogASgCDCgCAARAIAEoAgwoAgAQGwsgASgCDBAVCyABQRBqJAALnwIBAn8jAEEQayIBJAAgASAANgIMIAEgASgCDCgCHDYCBCABKAIEIQIjAEEQayIAJAAgACACNgIMIAAoAgwQvAEgAEEQaiQAIAEgASgCBCgCFDYCCCABKAIIIAEoAgwoAhBLBEAgASABKAIMKAIQNgIICwJAIAEoAghFDQAgASgCDCgCDCABKAIEKAIQIAEoAggQGRogASgCDCIAIAEoAgggACgCDGo2AgwgASgCBCIAIAEoAgggACgCEGo2AhAgASgCDCIAIAEoAgggACgCFGo2AhQgASgCDCIAIAAoAhAgASgCCGs2AhAgASgCBCIAIAAoAhQgASgCCGs2AhQgASgCBCgCFA0AIAEoAgQgASgCBCgCCDYCEAsgAUEQaiQAC2ABAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEICEB42AgQCQCABKAIERQRAIAFBADsBDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxACQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQMQp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAigCCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEAEBQgBEJ/NwMoDAELAkAgBCgCJCgCAEUEQCAEIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCgCJCgCBBEOADcDCAwBCyAEIAQoAiQoAgAgBCgCJCgCCCAEKAIgIAQpAxggBCgCFCAEKAIkKAIEEQoANwMICyAEKQMIQgBTBEACQCAEKAIUQQRGDQAgBCgCFEEORg0AAkAgBCgCJCAEQghBBBAgQgBTBEAgBCgCJEEMakEUQQAQFAwBCyAEKAIkQQxqIAQoAgAgBCgCBBAUCwsLIAQgBCkDCDcDKAsgBCkDKCECIARBMGokACACC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQgAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAIoAgwaIAJBEGokAAsXACAALQAAQSBxRQRAIAEgAiAAEHEaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2AgwMAQsLIAFBEGokAAs+AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCABAVIAEoAgwoAgwQFSABKAIMEBULIAFBEGokAAt9AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgAUIANwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0ahB3IAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAigQJCABKAIMEBULIAFBEGokAAtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAzIAFFBEADQCAAIAVBgAIQIiACQYACayICQf8BSw0ACwsgACAFIAIQIgsgBUGAAmokAAvRAQEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMoAigtAChBAXEEQCADQX82AiwMAQsCQCADKAIoKAIgBEAgAygCHEUNASADKAIcQQFGDQEgAygCHEECRg0BCyADKAIoQQxqQRJBABAUIANBfzYCLAwBCyADIAMpAyA3AwggAyADKAIcNgIQIAMoAiggA0EIakIQQQYQIEIAUwRAIANBfzYCLAwBCyADKAIoQQA6ADQgA0EANgIsCyADKAIsIQAgA0EwaiQAIAALmBcBAn8jAEEwayIEJAAgBCAANgIsIAQgATYCKCAEIAI2AiQgBCADNgIgIARBADYCFAJAIAQoAiwoAoQBQQBKBEAgBCgCLCgCACgCLEECRgRAIwBBEGsiACAEKAIsNgIIIABB/4D/n382AgQgAEEANgIAAkADQCAAKAIAQR9MBEACQCAAKAIEQQFxRQ0AIAAoAghBlAFqIAAoAgBBAnRqLwEARQ0AIABBADYCDAwDCyAAIAAoAgBBAWo2AgAgACAAKAIEQQF2NgIEDAELCwJAAkAgACgCCC8BuAENACAAKAIILwG8AQ0AIAAoAggvAcgBRQ0BCyAAQQE2AgwMAQsgAEEgNgIAA0AgACgCAEGAAkgEQCAAKAIIQZQBaiAAKAIAQQJ0ai8BAARAIABBATYCDAwDBSAAIAAoAgBBAWo2AgAMAgsACwsgAEEANgIMCyAAKAIMIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHogBCgCLCAEKAIsQaQWahB6IAQoAiwhASMAQRBrIgAkACAAIAE2AgwgACgCDCAAKAIMQZQBaiAAKAIMKAKcFhC6ASAAKAIMIAAoAgxBiBNqIAAoAgwoAqgWELoBIAAoAgwgACgCDEGwFmoQeiAAQRI2AggDQAJAIAAoAghBA0gNACAAKAIMQfwUaiAAKAIILQDgbEECdGovAQINACAAIAAoAghBAWs2AggMAQsLIAAoAgwiASABKAKoLSAAKAIIQQNsQRFqajYCqC0gACgCCCEBIABBEGokACAEIAE2AhQgBCAEKAIsKAKoLUEKakEDdjYCHCAEIAQoAiwoAqwtQQpqQQN2NgIYIAQoAhggBCgCHE0EQCAEIAQoAhg2AhwLDAELIAQgBCgCJEEFaiIANgIYIAQgADYCHAsCQAJAIAQoAhwgBCgCJEEEakkNACAEKAIoRQ0AIAQoAiwgBCgCKCAEKAIkIAQoAiAQXQwBCwJAAkAgBCgCLCgCiAFBBEcEQCAEKAIYIAQoAhxHDQELIARBAzYCEAJAIAQoAiwoArwtQRAgBCgCEGtKBEAgBCAEKAIgQQJqNgIMIAQoAiwiACAALwG4LSAEKAIMQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLC8BuC1B/wFxIQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLC8BuC1BCHYhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsIAQoAgxB//8DcUEQIAQoAiwoArwta3U7AbgtIAQoAiwiACAAKAK8LSAEKAIQQRBrajYCvC0MAQsgBCgCLCIAIAAvAbgtIAQoAiBBAmpB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsIgAgBCgCECAAKAK8LWo2ArwtCyAEKAIsQZDgAEGQ6QAQuwEMAQsgBEEDNgIIAkAgBCgCLCgCvC1BECAEKAIIa0oEQCAEIAQoAiBBBGo2AgQgBCgCLCIAIAAvAbgtIAQoAgRB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdiEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCBEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAghBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEEEakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIIIAAoArwtajYCvC0LIAQoAiwhASAEKAIsKAKcFkEBaiECIAQoAiwoAqgWQQFqIQMgBCgCFEEBaiEFIwBBQGoiACQAIAAgATYCPCAAIAI2AjggACADNgI0IAAgBTYCMCAAQQU2AigCQCAAKAI8KAK8LUEQIAAoAihrSgRAIAAgACgCOEGBAms2AiQgACgCPCIBIAEvAbgtIAAoAiRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCJEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAihBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCOEGBAmtB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCKCABKAK8LWo2ArwtCyAAQQU2AiACQCAAKAI8KAK8LUEQIAAoAiBrSgRAIAAgACgCNEEBazYCHCAAKAI8IgEgAS8BuC0gACgCHEH//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwvAbgtQf8BcSECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwvAbgtQQh2IQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPCAAKAIcQf//A3FBECAAKAI8KAK8LWt1OwG4LSAAKAI8IgEgASgCvC0gACgCIEEQa2o2ArwtDAELIAAoAjwiASABLwG4LSAAKAI0QQFrQf//A3EgACgCPCgCvC10cjsBuC0gACgCPCIBIAAoAiAgASgCvC1qNgK8LQsgAEEENgIYAkAgACgCPCgCvC1BECAAKAIYa0oEQCAAIAAoAjBBBGs2AhQgACgCPCIBIAEvAbgtIAAoAhRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCFEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAhhBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCMEEEa0H//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwiASAAKAIYIAEoArwtajYCvC0LIABBADYCLANAIAAoAiwgACgCMEgEQCAAQQM2AhACQCAAKAI8KAK8LUEQIAAoAhBrSgRAIAAgACgCPEH8FGogACgCLC0A4GxBAnRqLwECNgIMIAAoAjwiASABLwG4LSAAKAIMQf//A3EgACgCPCgCvC10cjsBuC0gACgCPC8BuC1B/wFxIQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPC8BuC1BCHYhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8IAAoAgxB//8DcUEQIAAoAjwoArwta3U7AbgtIAAoAjwiASABKAK8LSAAKAIQQRBrajYCvC0MAQsgACgCPCIBIAEvAbgtIAAoAjxB/BRqIAAoAiwtAOBsQQJ0ai8BAiAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCECABKAK8LWo2ArwtCyAAIAAoAixBAWo2AiwMAQsLIAAoAjwgACgCPEGUAWogACgCOEEBaxC5ASAAKAI8IAAoAjxBiBNqIAAoAjRBAWsQuQEgAEFAayQAIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQuwELCyAEKAIsEL4BIAQoAiAEQCAEKAIsEL0BCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBgiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBgiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBULIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEEB42AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAuHAwEBfyMAQTBrIgMkACADIAA2AiQgAyABNgIgIAMgAjcDGAJAIAMoAiQtAChBAXEEQCADQn83AygMAQsCQAJAIAMoAiQoAiBFDQAgAykDGEL///////////8AVg0AIAMpAxhQDQEgAygCIA0BCyADKAIkQQxqQRJBABAUIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQICICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgthAQF/IwBBEGsiAiAANgIIIAIgATcDAAJAIAIpAwAgAigCCCkDCFYEQCACKAIIQQA6AAAgAkF/NgIMDAELIAIoAghBAToAACACKAIIIAIpAwA3AxAgAkEANgIMCyACKAIMC+8BAQF/IwBBIGsiAiQAIAIgADYCGCACIAE3AxAgAiACKAIYQggQHjYCDAJAIAIoAgxFBEAgAkF/NgIcDAELIAIoAgwgAikDEEL/AYM8AAAgAigCDCACKQMQQgiIQv8BgzwAASACKAIMIAIpAxBCEIhC/wGDPAACIAIoAgwgAikDEEIYiEL/AYM8AAMgAigCDCACKQMQQiCIQv8BgzwABCACKAIMIAIpAxBCKIhC/wGDPAAFIAIoAgwgAikDEEIwiEL/AYM8AAYgAigCDCACKQMQQjiIQv8BgzwAByACQQA2AhwLIAIoAhwaIAJBIGokAAt/AQN/IAAhAQJAIABBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC6YBAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggoAiBFBEAgASgCCEEMakESQQAQFCABQX82AgwMAQsgASgCCCIAIAAoAiBBAWs2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECAaIAEoAggoAgAEQCABKAIIKAIAEC9BAEgEQCABKAIIQQxqQRRBABAUCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAACzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRCCBAeNgIAAkAgASgCAEUEQCABQgA3AwgMAQsgASABKAIALQAArSABKAIALQAHrUI4hiABKAIALQAGrUIwhnwgASgCAC0ABa1CKIZ8IAEoAgAtAAStQiCGfCABKAIALQADrUIYhnwgASgCAC0AAq1CEIZ8IAEoAgAtAAGtQgiGfHw3AwgLIAEpAwghAiABQRBqJAAgAgvcAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAigEQCABKAIMKAIoQQA2AiggASgCDCgCKEIANwMgIAEoAgwCfiABKAIMKQMYIAEoAgwpAyBWBEAgASgCDCkDGAwBCyABKAIMKQMgCzcDGAsgASABKAIMKQMYNwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0aigCABAVIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAgQQFSABKAIMEBULIAFBEGokAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLawEBfyMAQSBrIgIgADYCHCACQgEgAigCHK2GNwMQIAJBDGogATYCAANAIAIgAigCDCIAQQRqNgIMIAIgACgCADYCCCACKAIIQQBIRQRAIAIgAikDEEIBIAIoAgithoQ3AxAMAQsLIAIpAxALYAIBfwF+IwBBEGsiASQAIAEgADYCBAJAIAEoAgQoAiRBAUcEQCABKAIEQQxqQRJBABAUIAFCfzcDCAwBCyABIAEoAgRBAEIAQQ0QIDcDCAsgASkDCCECIAFBEGokACACC6UCAQJ/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNwMIIAMoAhgoAgAhASADKAIUIQQgAykDCCECIwBBIGsiACQAIAAgATYCFCAAIAQ2AhAgACACNwMIAkACQCAAKAIUKAIkQQFGBEAgACkDCEL///////////8AWA0BCyAAKAIUQQxqQRJBABAUIABCfzcDGAwBCyAAIAAoAhQgACgCECAAKQMIQQsQIDcDGAsgACkDGCECIABBIGokACADIAI3AwACQCACQgBTBEAgAygCGEEIaiADKAIYKAIAEBcgA0F/NgIcDAELIAMpAwAgAykDCFIEQCADKAIYQQhqQQZBGxAUIANBfzYCHAwBCyADQQA2AhwLIAMoAhwhACADQSBqJAAgAAsxAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDBBSIAEoAgwQFQsgAUEQaiQACy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQFSABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFCACQX82AgwMAQsgAigCBBA7IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAXIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAgQgBTBEAgAkF/NgIMDAELIAJBADYCDAsgAigCDCEAIAJBEGokACAAC98EAQF/IwBBIGsiAiAANgIYIAIgATYCFAJAIAIoAhhFBEAgAkEBNgIcDAELIAIgAigCGCgCADYCDAJAIAIoAhgoAggEQCACIAIoAhgoAgg2AhAMAQsgAkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILjQUBA38jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMKAIABEAgASgCDCgCABAvGiABKAIMKAIAEBsLIAEoAgwoAhwQFSABKAIMKAIgECQgASgCDCgCJBAkIAEoAgwoAlAhAiMAQRBrIgAkACAAIAI2AgwgACgCDARAIAAoAgwoAhAEQCAAQQA2AggDQCAAKAIIIAAoAgwoAgBJBEAgACgCDCgCECAAKAIIQQJ0aigCAARAIAAoAgwoAhAgACgCCEECdGooAgAhAyMAQRBrIgIkACACIAM2AgwDQCACKAIMBEAgAiACKAIMKAIYNgIIIAIoAgwQFSACIAIoAgg2AgwMAQsLIAJBEGokAAsgACAAKAIIQQFqNgIIDAELCyAAKAIMKAIQEBULIAAoAgwQFQsgAEEQaiQAIAEoAgwoAkAEQCABQgA3AwADQCABKQMAIAEoAgwpAzBUBEAgASgCDCgCQCABKQMAp0EEdGoQdyABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAkAQFQsgAUIANwMAA0AgASkDACABKAIMKAJErVQEQCABKAIMKAJMIAEpAwCnQQJ0aigCACECIwBBEGsiACQAIAAgAjYCDCAAKAIMQQE6ACgCfyMAQRBrIgIgACgCDEEMajYCDCACKAIMKAIARQsEQCAAKAIMQQxqQQhBABAUCyAAQRBqJAAgASABKQMAQgF8NwMADAELCyABKAIMKAJMEBUgASgCDCgCVCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCCARAIAAoAgwoAgwgACgCDCgCCBECAAsgACgCDBAVCyAAQRBqJAAgASgCDEEIahA4IAEoAgwQFQsgAUEQaiQAC48OAQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgghASADKAIEIQIjAEEgayIAIAMoAgw2AhggACABNgIUIAAgAjYCECAAIAAoAhhBEHY2AgwgACAAKAIYQf//A3E2AhgCQCAAKAIQQQFGBEAgACAAKAIULQAAIAAoAhhqNgIYIAAoAhhB8f8DTwRAIAAgACgCGEHx/wNrNgIYCyAAIAAoAhggACgCDGo2AgwgACgCDEHx/wNPBEAgACAAKAIMQfH/A2s2AgwLIAAgACgCGCAAKAIMQRB0cjYCHAwBCyAAKAIURQRAIABBATYCHAwBCyAAKAIQQRBJBEADQCAAIAAoAhAiAUEBazYCECABBEAgACAAKAIUIgFBAWo2AhQgACABLQAAIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDAwBCwsgACgCGEHx/wNPBEAgACAAKAIYQfH/A2s2AhgLIAAgACgCDEHx/wNwNgIMIAAgACgCGCAAKAIMQRB0cjYCHAwBCwNAIAAoAhBBsCtPBEAgACAAKAIQQbArazYCECAAQdsCNgIIA0AgACAAKAIULQAAIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAEgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";Tu(xo)||(xo=h(xo));function Ou(d){try{if(d==xo&&_)return new Uint8Array(_);var E=xa(d);if(E)return E;if(m)return m(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){vr(I)}}function Sh(d,E){var I,D,M;try{M=Ou(d),D=new WebAssembly.Module(M),I=new WebAssembly.Instance(D,E)}catch(ie){var z=ie.toString();throw x("failed to compile wasm module: "+z),(z.includes("imported Memory")||z.includes("memory import"))&&x("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),ie}return[I,D]}function vh(){var d={a:ka};function E(M,z){var ie=M.exports;t.asm=ie,A=t.asm.u,Ei(A.buffer),Qr=t.asm.pa,DA(t.asm.v),NA("wasm-instantiate")}if(FA("wasm-instantiate"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(M){return x("Module.instantiateWasm callback failed with error: "+M),!1}var D=Sh(xo,d);return E(D[0]),t.asm}var Dr,Ae;function ko(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(t);continue}var I=E.func;typeof I=="number"?E.arg===void 0?Qr.get(I)():Qr.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Gn(d,E){var I=new Date(fe[d>>2]*1e3);fe[E>>2]=I.getUTCSeconds(),fe[E+4>>2]=I.getUTCMinutes(),fe[E+8>>2]=I.getUTCHours(),fe[E+12>>2]=I.getUTCDate(),fe[E+16>>2]=I.getUTCMonth(),fe[E+20>>2]=I.getUTCFullYear()-1900,fe[E+24>>2]=I.getUTCDay(),fe[E+36>>2]=0,fe[E+32>>2]=0;var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[E+28>>2]=M,Gn.GMTString||(Gn.GMTString=Fe("GMT")),fe[E+40>>2]=Gn.GMTString,E}function Mu(d,E){return Gn(d,E)}var St={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,D=d.length-1;D>=0;D--){var M=d[D];M==="."?d.splice(D,1):M===".."?(d.splice(D,1),I++):I&&(d.splice(D,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=St.normalizeArray(d.split("/").filter(function(D){return!!D}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=St.splitPath(d),I=E[0],D=E[1];return!I&&!D?".":(D&&(D=D.substr(0,D.length-1)),I+D)},basename:function(d){if(d==="/")return"/";d=St.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return St.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return St.normalize(d.join("/"))},join2:function(d,E){return St.normalize(d+"/"+E)}};function _l(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=require("crypto");return function(){return E.randomBytes(1)[0]}}catch(I){}return function(){vr("randomDevice")}}var Yn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var D=I>=0?arguments[I]:S.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";d=D+"/"+d,E=D.charAt(0)==="/"}return d=St.normalizeArray(d.split("/").filter(function(M){return!!M}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Yn.resolve(d).substr(1),E=Yn.resolve(E).substr(1);function I(_e){for(var ot=0;ot<_e.length&&_e[ot]==="";ot++);for(var Bt=_e.length-1;Bt>=0&&_e[Bt]==="";Bt--);return ot>Bt?[]:_e.slice(ot,Bt-ot+1)}for(var D=I(d.split("/")),M=I(E.split("/")),z=Math.min(D.length,M.length),ie=z,we=0;we0?E=D.slice(0,M).toString("utf-8"):E=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` +`));if(!E)return null;d.input=TA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(je(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(je(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(x(je(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(x(je(d.output,0)),d.output=[])}}};function ds(d){for(var E=q(d,65536),I=Et(E);d=E)){var D=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var M=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(M.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&pt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,D){return pt.createNode(d,E,I,D)},rename:function(d,E,I){if(S.isDir(d.mode)){var D;try{D=S.lookupNode(E,I)}catch(z){}if(D)for(var M in D.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var D in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var D=pt.createNode(d,E,511|40960,0);return D.link=I,D},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,D,M){var z=d.node.contents;if(M>=d.node.usedBytes)return 0;var ie=Math.min(d.node.usedBytes-M,D);if(ie>8&&z.subarray)E.set(z.subarray(M,M+ie),I);else for(var we=0;we0||D+I>2)}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),St.join.apply(null,E)},flagsForNode:function(d){d&=~2097152,d&=~2048,d&=~32768,d&=~524288;var E=0;for(var I in lt.flagsForNodeMap)d&I&&(E|=lt.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=lt.realPath(d),I;try{I=Oe.lstatSync(E)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}return lt.isWindows&&!I.blksize&&(I.blksize=4096),lt.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=lt.realPath(d);try{if(E.mode!==void 0&&(Oe.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var D=new Date(E.timestamp);Oe.utimesSync(I,D,D)}E.size!==void 0&&Oe.truncateSync(I,E.size)}catch(M){throw M.code?new S.ErrnoError(lt.convertNodeCode(M)):M}},lookup:function(d,E){var I=St.join2(lt.realPath(d),E),D=lt.getMode(I);return lt.createNode(d,E,D)},mknod:function(d,E,I,D){var M=lt.createNode(d,E,I,D),z=lt.realPath(M);try{S.isDir(M.mode)?Oe.mkdirSync(z,M.mode):Oe.writeFileSync(z,"",{mode:M.mode})}catch(ie){throw ie.code?new S.ErrnoError(lt.convertNodeCode(ie)):ie}return M},rename:function(d,E,I){var D=lt.realPath(d),M=St.join2(lt.realPath(E),I);try{Oe.renameSync(D,M)}catch(z){throw z.code?new S.ErrnoError(lt.convertNodeCode(z)):z}d.name=I},unlink:function(d,E){var I=St.join2(lt.realPath(d),E);try{Oe.unlinkSync(I)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}},rmdir:function(d,E){var I=St.join2(lt.realPath(d),E);try{Oe.rmdirSync(I)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}},readdir:function(d){var E=lt.realPath(d);try{return Oe.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}},symlink:function(d,E,I){var D=St.join2(lt.realPath(d),E);try{Oe.symlinkSync(I,D)}catch(M){throw M.code?new S.ErrnoError(lt.convertNodeCode(M)):M}},readlink:function(d){var E=lt.realPath(d);try{return E=Oe.readlinkSync(E),E=Hu.relative(Hu.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=lt.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Oe.openSync(E,lt.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Oe.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(lt.convertNodeCode(E)):E}},read:function(d,E,I,D,M){if(D===0)return 0;try{return Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(z){throw new S.ErrnoError(lt.convertNodeCode(z))}},write:function(d,E,I,D,M){try{return Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(z){throw new S.ErrnoError(lt.convertNodeCode(z))}},llseek:function(d,E,I){var D=E;if(I===1)D+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var M=Oe.fstatSync(d.nfd);D+=M.size}catch(z){throw new S.ErrnoError(lt.convertNodeCode(z))}if(D<0)throw new S.ErrnoError(28);return D},mmap:function(d,E,I,D,M,z){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var ie=ds(I);return lt.stream_ops.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,M){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(M&2)return 0;var z=lt.stream_ops.write(d,E,0,D,I,!1);return 0}}},mn={lookupPath:function(d){return{path:d,node:{mode:lt.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Oe.mkdirSync(d,E):Oe.writeFileSync(d,"",{mode:E})},mkdir:function(){Oe.mkdirSync.apply(void 0,arguments)},symlink:function(){Oe.symlinkSync.apply(void 0,arguments)},rename:function(){Oe.renameSync.apply(void 0,arguments)},rmdir:function(){Oe.rmdirSync.apply(void 0,arguments)},readdir:function(){Oe.readdirSync.apply(void 0,arguments)},unlink:function(){Oe.unlinkSync.apply(void 0,arguments)},readlink:function(){return Oe.readlinkSync.apply(void 0,arguments)},stat:function(){return Oe.statSync.apply(void 0,arguments)},lstat:function(){return Oe.lstatSync.apply(void 0,arguments)},chmod:function(){Oe.chmodSync.apply(void 0,arguments)},fchmod:function(){Oe.fchmodSync.apply(void 0,arguments)},chown:function(){Oe.chownSync.apply(void 0,arguments)},fchown:function(){Oe.fchownSync.apply(void 0,arguments)},truncate:function(){Oe.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Oe.ftruncateSync.apply(void 0,arguments)},utime:function(){Oe.utimesSync.apply(void 0,arguments)},open:function(d,E,I,D){typeof E=="string"&&(E=$s.modeStringToFlags(E));var M=Oe.openSync(d,lt.flagsForNode(E),I),z=D!=null?D:S.nextfd(M),ie={fd:z,nfd:M,position:0,path:d,flags:E,seekable:!0};return S.streams[z]=ie,ie},close:function(d){d.stream_ops||Oe.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return $s.llseek(d,E,I);var D=E;if(I===1)D+=d.position;else if(I===2)D+=Oe.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(Po.EINVAL);if(D<0)throw new S.ErrnoError(Po.EINVAL);return d.position=D,D},read:function(d,E,I,D,M){if(d.stream_ops)return $s.read(d,E,I,D,M);var z=typeof M!="undefined";!z&&d.seekable&&(M=d.position);var ie=Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return z||(d.position+=ie),ie},write:function(d,E,I,D,M){if(d.stream_ops)return $s.write(d,E,I,D,M);d.flags&+"1024"&&S.llseek(d,0,+"2");var z=typeof M!="undefined";!z&&d.seekable&&(M=d.position);var ie=Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return z||(d.position+=ie),ie},allocate:function(){throw new S.ErrnoError(Po.EOPNOTSUPP)},mmap:function(d,E,I,D,M,z){if(d.stream_ops)return $s.mmap(d,E,I,D,M,z);if(E!==0)throw new S.ErrnoError(28);var ie=ds(I);return S.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,M){return d.stream_ops?$s.msync(d,E,I,D,M):(M&2||S.write(d,E,0,D,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(Po.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Yn.resolve(S.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var D in I)E[D]===void 0&&(E[D]=I[D]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var M=St.normalizeArray(d.split("/").filter(function(ut){return!!ut}),!1),z=S.root,ie="/",we=0;we40)throw new S.ErrnoError(32)}}return{path:ie,node:z}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,D=0;D>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var D=S.hashName(d.id,E),M=S.nameTable[D];M;M=M.name_next){var z=M.name;if(M.parent.id===d.id&&z===E)return M}return S.lookup(d,E)},createNode:function(d,E,I,D){var M=new S.FSNode(d,E,I,D);return S.hashAddNode(M),M},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)==32768},isDir:function(d){return(d&61440)==16384},isLink:function(d){return(d&61440)==40960},isChrdev:function(d){return(d&61440)==8192},isBlkdev:function(d){return(d&61440)==24576},isFIFO:function(d){return(d&61440)==4096},isSocket:function(d){return(d&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E=="undefined")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch(D){}return S.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var D;try{D=S.lookupNode(d,E)}catch(z){return z.errno}var M=S.nodePermissions(d,"wx");if(M)return M;if(I){if(!S.isDir(D.mode))return 54;if(S.isRoot(D)||S.getPath(D)===S.cwd())return 10}else if(S.isDir(D.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!=="r"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(ie){this.node=ie}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var D=new S.FSStream;for(var M in d)D[M]=d[M];d=D;var z=S.nextfd(E,I);return d.fd=z,S.streams[z]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var D=I.pop();E.push(D),I.push.apply(I,D.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&x("warning: "+S.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=S.getMounts(S.root.mount),D=0;function M(ie){return S.syncFSRequests--,E(ie)}function z(ie){if(ie)return z.errored?void 0:(z.errored=!0,M(ie));++D>=I.length&&M(null)}I.forEach(function(ie){if(!ie.type.syncfs)return z(null);ie.type.syncfs(ie,d,z)})},mount:function(d,E,I){var D=I==="/",M=!I,z;if(D&&S.root)throw new S.ErrnoError(10);if(!D&&!M){var ie=S.lookupPath(I,{follow_mount:!1});if(I=ie.path,z=ie.node,S.isMountpoint(z))throw new S.ErrnoError(10);if(!S.isDir(z.mode))throw new S.ErrnoError(54)}var we={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(we);return me.mount=we,we.root=me,D?S.root=me:z&&(z.mounted=we,z.mount&&z.mount.mounts.push(we)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,D=I.mounted,M=S.getMounts(D);Object.keys(S.nameTable).forEach(function(ie){for(var we=S.nameTable[ie];we;){var me=we.name_next;M.includes(we.mount)&&S.destroyNode(we),we=me}}),I.mounted=null;var z=I.mount.mounts.indexOf(D);I.mount.mounts.splice(z,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var D=S.lookupPath(d,{parent:!0}),M=D.node,z=St.basename(d);if(!z||z==="."||z==="..")throw new S.ErrnoError(28);var ie=S.mayCreate(M,z);if(ie)throw new S.ErrnoError(ie);if(!M.node_ops.mknod)throw new S.ErrnoError(63);return M.node_ops.mknod(M,z,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=511|512,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),D="",M=0;Mthis.length-1||ut<0)){var st=ut%this.chunkSize,yt=ut/this.chunkSize|0;return this.getter(yt)[st]}},z.prototype.setDataGetter=function(ut){this.getter=ut},z.prototype.cacheLength=function(){var ut=new XMLHttpRequest;if(ut.open("HEAD",I,!1),ut.send(null),!(ut.status>=200&&ut.status<300||ut.status===304))throw new Error("Couldn't load "+I+". Status: "+ut.status);var st=Number(ut.getResponseHeader("Content-length")),yt,xe=(yt=ut.getResponseHeader("Accept-Ranges"))&&yt==="bytes",Wn=(yt=ut.getResponseHeader("Content-Encoding"))&&yt==="gzip",Mi=1024*1024;xe||(Mi=st);var HA=function(Cs,Pa){if(Cs>Pa)throw new Error("invalid range ("+Cs+", "+Pa+") or no bytes requested!");if(Pa>st-1)throw new Error("only "+st+" bytes available! programmer error!");var qr=new XMLHttpRequest;if(qr.open("GET",I,!1),st!==Mi&&qr.setRequestHeader("Range","bytes="+Cs+"-"+Pa),typeof Uint8Array!="undefined"&&(qr.responseType="arraybuffer"),qr.overrideMimeType&&qr.overrideMimeType("text/plain; charset=x-user-defined"),qr.send(null),!(qr.status>=200&&qr.status<300||qr.status===304))throw new Error("Couldn't load "+I+". Status: "+qr.status);return qr.response!==void 0?new Uint8Array(qr.response||[]):TA(qr.responseText||"",!0)},Yr=this;Yr.setDataGetter(function(Cs){var Pa=Cs*Mi,qr=(Cs+1)*Mi-1;if(qr=Math.min(qr,st-1),typeof Yr.chunks[Cs]=="undefined"&&(Yr.chunks[Cs]=HA(Pa,qr)),typeof Yr.chunks[Cs]=="undefined")throw new Error("doXHR failed!");return Yr.chunks[Cs]}),(Wn||!st)&&(Mi=st=1,st=this.getter(0).length,Mi=st,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=st,this._chunkSize=Mi,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var ie=new z;Object.defineProperties(ie,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var we={isDevice:!1,contents:ie}}else var we={isDevice:!1,url:I};var me=S.createFile(d,E,we,D,M);we.contents?me.contents=we.contents:we.url&&(me.contents=null,me.url=we.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var _e={},ot=Object.keys(me.stream_ops);return ot.forEach(function(Bt){var ut=me.stream_ops[Bt];_e[Bt]=function(){return S.forceLoadFile(me),ut.apply(null,arguments)}}),_e.read=function(ut,st,yt,xe,Wn){S.forceLoadFile(me);var Mi=ut.node.contents;if(Wn>=Mi.length)return 0;var HA=Math.min(Mi.length-Wn,xe);if(Mi.slice)for(var Yr=0;Yr>2]=D.dev,fe[I+4>>2]=0,fe[I+8>>2]=D.ino,fe[I+12>>2]=D.mode,fe[I+16>>2]=D.nlink,fe[I+20>>2]=D.uid,fe[I+24>>2]=D.gid,fe[I+28>>2]=D.rdev,fe[I+32>>2]=0,Ae=[D.size>>>0,(Dr=D.size,+Math.abs(Dr)>=1?Dr>0?(Math.min(+Math.floor(Dr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],fe[I+40>>2]=Ae[0],fe[I+44>>2]=Ae[1],fe[I+48>>2]=4096,fe[I+52>>2]=D.blocks,fe[I+56>>2]=D.atime.getTime()/1e3|0,fe[I+60>>2]=0,fe[I+64>>2]=D.mtime.getTime()/1e3|0,fe[I+68>>2]=0,fe[I+72>>2]=D.ctime.getTime()/1e3|0,fe[I+76>>2]=0,Ae=[D.ino>>>0,(Dr=D.ino,+Math.abs(Dr)>=1?Dr>0?(Math.min(+Math.floor(Dr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],fe[I+80>>2]=Ae[0],fe[I+84>>2]=Ae[1],0},doMsync:function(d,E,I,D,M){var z=V.slice(d,d+I);S.msync(E,z,M,I,D)},doMkdir:function(d,E){return d=St.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var D=S.readlink(d),M=Math.min(I,he(D)),z=pe[E+M];return be(D,E,I+1),pe[E+M]=z,M},doAccess:function(d,E){if(E&~7)return-28;var I,D=S.lookupPath(d,{follow:!0});if(I=D.node,!I)return-44;var M="";return E&4&&(M+="r"),E&2&&(M+="w"),E&1&&(M+="x"),M&&S.nodePermissions(I,M)?-2:0},doDup:function(d,E,I){var D=S.getStream(I);return D&&S.close(D),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,D){for(var M=0,z=0;z>2],we=fe[E+(z*8+4)>>2],me=S.read(d,pe,ie,we,D);if(me<0)return-1;if(M+=me,me>2],we=fe[E+(z*8+4)>>2],me=S.write(d,pe,ie,we,D);if(me<0)return-1;M+=me}return M},varargs:void 0,get:function(){Tt.varargs+=4;var d=fe[Tt.varargs-4>>2];return d},getStr:function(d){var E=re(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function Ku(d,E){try{return d=Tt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S=="undefined"||!(I instanceof S.ErrnoError))&&vr(I),-I.errno}}function Vl(d){return fe[Rt()>>2]=d,d}function xh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 0:{var M=Tt.get();if(M<0)return-28;var z;return z=S.open(D.path,D.flags,0,M),z.fd}case 1:case 2:return 0;case 3:return D.flags;case 4:{var M=Tt.get();return D.flags|=M,0}case 12:{var M=Tt.get(),ie=0;return Qe[M+ie>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Vl(28),-1;default:return-28}}catch(we){return(typeof S=="undefined"||!(we instanceof S.ErrnoError))&&vr(we),-we.errno}}function kh(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(S.stat,I.path,E)}catch(D){return(typeof S=="undefined"||!(D instanceof S.ErrnoError))&&vr(D),-D.errno}}function Ph(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return D.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return D.tty?0:-59;case 21519:{if(!D.tty)return-59;var M=Tt.get();return fe[M>>2]=0,0}case 21520:return D.tty?-28:-59;case 21531:{var M=Tt.get();return S.ioctl(D,E,M)}case 21523:return D.tty?0:-59;case 21524:return D.tty?0:-59;default:vr("bad ioctl syscall "+E)}}catch(z){return(typeof S=="undefined"||!(z instanceof S.ErrnoError))&&vr(z),-z.errno}}function Dh(d,E,I){Tt.varargs=I;try{var D=Tt.getStr(d),M=I?Tt.get():0,z=S.open(D,E,M);return z.fd}catch(ie){return(typeof S=="undefined"||!(ie instanceof S.ErrnoError))&&vr(ie),-ie.errno}}function Rh(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S=="undefined"||!(I instanceof S.ErrnoError))&&vr(I),-I.errno}}function j(d){try{return d=Tt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S=="undefined"||!(E instanceof S.ErrnoError))&&vr(E),-E.errno}}function wt(d,E){try{return d=Tt.getStr(d),Tt.doStat(S.stat,d,E)}catch(I){return(typeof S=="undefined"||!(I instanceof S.ErrnoError))&&vr(I),-I.errno}}function LA(d){try{return d=Tt.getStr(d),S.unlink(d),0}catch(E){return(typeof S=="undefined"||!(E instanceof S.ErrnoError))&&vr(E),-E.errno}}function $i(d,E,I){V.copyWithin(d,E,E+I)}function Xl(d){try{return A.grow(d-ve.byteLength+65535>>>16),Ei(A.buffer),1}catch(E){}}function $e(d){var E=V.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var D=1;D<=4;D*=2){var M=E*(1+.2/D);M=Math.min(M,d+100663296);var z=Math.min(I,ke(Math.max(d,M),65536)),ie=Xl(z);if(ie)return!0}return!1}function Sa(d){try{var E=Tt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S=="undefined"||!(I instanceof S.ErrnoError))&&vr(I),I.errno}}function Uu(d,E){try{var I=Tt.getStreamFromFD(d),D=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return pe[E>>0]=D,0}catch(M){return(typeof S=="undefined"||!(M instanceof S.ErrnoError))&&vr(M),M.errno}}function yE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),z=Tt.doReadv(M,E,I);return fe[D>>2]=z,0}catch(ie){return(typeof S=="undefined"||!(ie instanceof S.ErrnoError))&&vr(ie),ie.errno}}function Fh(d,E,I,D,M){try{var z=Tt.getStreamFromFD(d),ie=4294967296,we=I*ie+(E>>>0),me=9007199254740992;return we<=-me||we>=me?-61:(S.llseek(z,we,D),Ae=[z.position>>>0,(Dr=z.position,+Math.abs(Dr)>=1?Dr>0?(Math.min(+Math.floor(Dr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],fe[M>>2]=Ae[0],fe[M+4>>2]=Ae[1],z.getdents&&we===0&&D===0&&(z.getdents=null),0)}catch(_e){return(typeof S=="undefined"||!(_e instanceof S.ErrnoError))&&vr(_e),_e.errno}}function wE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),z=Tt.doWritev(M,E,I);return fe[D>>2]=z,0}catch(ie){return(typeof S=="undefined"||!(ie instanceof S.ErrnoError))&&vr(ie),ie.errno}}function gr(d){$(d)}function qn(d){var E=Date.now()/1e3|0;return d&&(fe[d>>2]=E),E}function Zl(){if(Zl.called)return;Zl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),D=E.getTimezoneOffset(),M=I.getTimezoneOffset(),z=Math.max(D,M);fe[zb()>>2]=z*60,fe[Wb()>>2]=Number(D!=M);function ie(Bt){var ut=Bt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ut?ut[1]:"GMT"}var we=ie(E),me=ie(I),_e=Fe(we),ot=Fe(me);M>2]=_e,fe[Wu()+4>>2]=ot):(fe[Wu()>>2]=ot,fe[Wu()+4>>2]=_e)}function Nh(d){Zl();var E=Date.UTC(fe[d+20>>2]+1900,fe[d+16>>2],fe[d+12>>2],fe[d+8>>2],fe[d+4>>2],fe[d>>2],0),I=new Date(E);fe[d+24>>2]=I.getUTCDay();var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[d+28>>2]=M,I.getTime()/1e3|0}var Zs=function(d,E,I,D){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=D},va=292|73,En=146;if(Object.defineProperties(Zs.prototype,{read:{get:function(){return(this.mode&va)===va},set:function(d){d?this.mode|=va:this.mode&=~va}},write:{get:function(){return(this.mode&En)===En},set:function(d){d?this.mode|=En:this.mode&=~En}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Zs,S.staticInit(),g){var Oe=v5,Hu=require("path");lt.staticInit()}if(g){var $l=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(Po[E.code]):E}}},$s=Object.assign({},S);for(var ec in mn)S[ec]=$l(mn[ec])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function TA(d,E,I){var D=I>0?I:he(d)+1,M=new Array(D),z=se(d,M,0,M.length);return E&&(M.length=z),M}var ju=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",D,M,z,ie,we,me,_e,ot=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ie=E.indexOf(d.charAt(ot++)),we=E.indexOf(d.charAt(ot++)),me=E.indexOf(d.charAt(ot++)),_e=E.indexOf(d.charAt(ot++)),D=ie<<2|we>>4,M=(we&15)<<4|me>>2,z=(me&3)<<6|_e,I=I+String.fromCharCode(D),me!==64&&(I=I+String.fromCharCode(M)),_e!==64&&(I=I+String.fromCharCode(z));while(ot0||(Sr(),hs>0))return;function E(){Ue||(Ue=!0,t.calledRun=!0,!oe&&(jn(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),fs()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),E()},1)):E()}if(t.run=UA,t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return UA(),e}}();typeof Gw=="object"&&typeof jP=="object"?jP.exports=GP:typeof define=="function"&&define.amd?define([],function(){return GP}):typeof Gw=="object"&&(Gw.createModule=GP)});var $5=w((Nst,Z5)=>{function KPe(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t{var UPe=Array.isArray;e9.exports=UPe});var o9=w((Tst,t9)=>{var r9=Jc(),HPe=$5(),jPe=Ks(),GPe=Id(),YPe=1/0,i9=r9?r9.prototype:void 0,n9=i9?i9.toString:void 0;function s9(r){if(typeof r=="string")return r;if(jPe(r))return HPe(r,s9)+"";if(GPe(r))return n9?n9.call(r):"";var e=r+"";return e=="0"&&1/r==-YPe?"-0":e}t9.exports=s9});var lf=w((Ost,a9)=>{var qPe=o9();function JPe(r){return r==null?"":qPe(r)}a9.exports=JPe});var VP=w((Mst,A9)=>{function WPe(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i{var zPe=VP();function _Pe(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:zPe(r,e,t)}l9.exports=_Pe});var XP=w((Ust,u9)=>{var VPe="\\ud800-\\udfff",XPe="\\u0300-\\u036f",ZPe="\\ufe20-\\ufe2f",$Pe="\\u20d0-\\u20ff",eDe=XPe+ZPe+$Pe,tDe="\\ufe0e\\ufe0f",rDe="\\u200d",iDe=RegExp("["+rDe+VPe+eDe+tDe+"]");function nDe(r){return iDe.test(r)}u9.exports=nDe});var f9=w((Hst,g9)=>{function sDe(r){return r.split("")}g9.exports=sDe});var y9=w((jst,h9)=>{var p9="\\ud800-\\udfff",oDe="\\u0300-\\u036f",aDe="\\ufe20-\\ufe2f",ADe="\\u20d0-\\u20ff",lDe=oDe+aDe+ADe,cDe="\\ufe0e\\ufe0f",uDe="["+p9+"]",ZP="["+lDe+"]",$P="\\ud83c[\\udffb-\\udfff]",gDe="(?:"+ZP+"|"+$P+")",d9="[^"+p9+"]",C9="(?:\\ud83c[\\udde6-\\uddff]){2}",m9="[\\ud800-\\udbff][\\udc00-\\udfff]",fDe="\\u200d",E9=gDe+"?",I9="["+cDe+"]?",hDe="(?:"+fDe+"(?:"+[d9,C9,m9].join("|")+")"+I9+E9+")*",pDe=I9+E9+hDe,dDe="(?:"+[d9+ZP+"?",ZP,C9,m9,uDe].join("|")+")",CDe=RegExp($P+"(?="+$P+")|"+dDe+pDe,"g");function mDe(r){return r.match(CDe)||[]}h9.exports=mDe});var B9=w((Gst,w9)=>{var EDe=f9(),IDe=XP(),yDe=y9();function wDe(r){return IDe(r)?yDe(r):EDe(r)}w9.exports=wDe});var Q9=w((Yst,b9)=>{var BDe=c9(),bDe=XP(),QDe=B9(),SDe=lf();function vDe(r){return function(e){e=SDe(e);var t=bDe(e)?QDe(e):void 0,i=t?t[0]:e.charAt(0),n=t?BDe(t,1).join(""):e.slice(1);return i[r]()+n}}b9.exports=vDe});var v9=w((qst,S9)=>{var xDe=Q9(),kDe=xDe("toUpperCase");S9.exports=kDe});var Zw=w((Jst,x9)=>{var PDe=lf(),DDe=v9();function RDe(r){return DDe(PDe(r).toLowerCase())}x9.exports=RDe});var k9=w((Wst,$w)=>{function FDe(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,m=15,y=16,b=17,v=0,x=1,T=2,q=3,Y=4;function $(A,oe){return 55296<=A.charCodeAt(oe)&&A.charCodeAt(oe)<=56319&&56320<=A.charCodeAt(oe+1)&&A.charCodeAt(oe+1)<=57343}function _(A,oe){oe===void 0&&(oe=0);var ce=A.charCodeAt(oe);if(55296<=ce&&ce<=56319&&oe=1){var Z=A.charCodeAt(oe-1),O=ce;return 55296<=Z&&Z<=56319?(Z-55296)*1024+(O-56320)+65536:O}return ce}function ne(A,oe,ce){var Z=[A].concat(oe).concat([ce]),O=Z[Z.length-2],L=ce,de=Z.lastIndexOf(p);if(de>1&&Z.slice(1,de).every(function(re){return re==i})&&[i,h,b].indexOf(A)==-1)return T;var Be=Z.lastIndexOf(n);if(Be>0&&Z.slice(1,Be).every(function(re){return re==n})&&[f,n].indexOf(O)==-1)return Z.filter(function(re){return re==n}).length%2==1?q:Y;if(O==r&&L==e)return v;if(O==t||O==r||O==e)return L==p&&oe.every(function(re){return re==i})?T:x;if(L==t||L==r||L==e)return x;if(O==o&&(L==o||L==a||L==c||L==u))return v;if((O==c||O==a)&&(L==a||L==l))return v;if((O==u||O==l)&&L==l)return v;if(L==i||L==m)return v;if(L==s)return v;if(O==f)return v;var je=Z.indexOf(i)!=-1?Z.lastIndexOf(i)-1:Z.length-2;return[h,b].indexOf(Z[je])!=-1&&Z.slice(je+1,-1).every(function(re){return re==i})&&L==p||O==m&&[y,b].indexOf(L)!=-1?v:oe.indexOf(n)!=-1?T:O==n&&L==n?v:x}this.nextBreak=function(A,oe){if(oe===void 0&&(oe=0),oe<0)return 0;if(oe>=A.length-1)return A.length;for(var ce=ee(_(A,oe)),Z=[],O=oe+1;O{var NDe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,eB;function LDe(){if(eB)return eB;if(typeof Intl.Segmenter!="undefined"){let r=new Intl.Segmenter("en",{granularity:"grapheme"});return eB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=k9(),e=new r;return eB=t=>e.splitGraphemes(t)}}P9.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=t-e,n="",s=0,o=0;for(;r.length>0;){let a=r.match(NDe)||[r,r,void 0],l=LDe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var cf=w((Bot,q9)=>{"use strict";var J9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),wot=q9.exports=r=>r?Object.keys(r).map(e=>[J9.has(e)?J9.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var uf=w((bot,W9)=>{"use strict";var zDe=require("events"),z9=require("stream"),qd=Bp(),_9=require("string_decoder").StringDecoder,lA=Symbol("EOF"),Jd=Symbol("maybeEmitEnd"),Il=Symbol("emittedEnd"),oB=Symbol("emittingEnd"),aB=Symbol("closed"),V9=Symbol("read"),iD=Symbol("flush"),X9=Symbol("flushChunk"),Nn=Symbol("encoding"),cA=Symbol("decoder"),AB=Symbol("flowing"),Wd=Symbol("paused"),zd=Symbol("resume"),pn=Symbol("bufferLength"),Z9=Symbol("bufferPush"),nD=Symbol("bufferShift"),_i=Symbol("objectMode"),Vi=Symbol("destroyed"),$9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",_De=$9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),VDe=$9&&Symbol.iterator||Symbol("iterator not implemented"),e_=r=>r==="end"||r==="finish"||r==="prefinish",XDe=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,ZDe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r);W9.exports=class t_ extends z9{constructor(e){super();this[AB]=!1,this[Wd]=!1,this.pipes=new qd,this.buffer=new qd,this[_i]=e&&e.objectMode||!1,this[_i]?this[Nn]=null:this[Nn]=e&&e.encoding||null,this[Nn]==="buffer"&&(this[Nn]=null),this[cA]=this[Nn]?new _9(this[Nn]):null,this[lA]=!1,this[Il]=!1,this[oB]=!1,this[aB]=!1,this.writable=!0,this.readable=!0,this[pn]=0,this[Vi]=!1}get bufferLength(){return this[pn]}get encoding(){return this[Nn]}set encoding(e){if(this[_i])throw new Error("cannot set encoding in objectMode");if(this[Nn]&&e!==this[Nn]&&(this[cA]&&this[cA].lastNeed||this[pn]))throw new Error("cannot change encoding");this[Nn]!==e&&(this[cA]=e?new _9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[cA].write(t)))),this[Nn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[_i]}set objectMode(e){this[_i]=this[_i]||!!e}write(e,t,i){if(this[lA])throw new Error("write after end");return this[Vi]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8"),!this[_i]&&!Buffer.isBuffer(e)&&(ZDe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):XDe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[_i]&&!(t===this[Nn]&&!this[cA].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[Nn]&&(e=this[cA].write(e)),this.flowing?(this[pn]!==0&&this[iD](!0),this.emit("data",e)):this[Z9](e),this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Vi])return null;try{return this[pn]===0||e===0||e>this[pn]?null:(this[_i]&&(e=null),this.buffer.length>1&&!this[_i]&&(this.encoding?this.buffer=new qd([Array.from(this.buffer).join("")]):this.buffer=new qd([Buffer.concat(Array.from(this.buffer),this[pn])])),this[V9](e||null,this.buffer.head.value))}finally{this[Jd]()}}[V9](e,t){return e===t.length||e===null?this[nD]():(this.buffer.head.value=t.slice(e),t=t.slice(0,e),this[pn]-=e),this.emit("data",t),!this.buffer.length&&!this[lA]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[lA]=!0,this.writable=!1,(this.flowing||!this[Wd])&&this[Jd](),this}[zd](){this[Vi]||(this[Wd]=!1,this[AB]=!0,this.emit("resume"),this.buffer.length?this[iD]():this[lA]?this[Jd]():this.emit("drain"))}resume(){return this[zd]()}pause(){this[AB]=!1,this[Wd]=!0}get destroyed(){return this[Vi]}get flowing(){return this[AB]}get paused(){return this[Wd]}[Z9](e){return this[_i]?this[pn]+=1:this[pn]+=e.length,this.buffer.push(e)}[nD](){return this.buffer.length&&(this[_i]?this[pn]-=1:this[pn]-=this.buffer.head.value.length),this.buffer.shift()}[iD](e){do;while(this[X9](this[nD]()));!e&&!this.buffer.length&&!this[lA]&&this.emit("drain")}[X9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[Vi])return;let i=this[Il];t=t||{},e===process.stdout||e===process.stderr?t.end=!1:t.end=t.end!==!1;let n={dest:e,opts:t,ondrain:s=>this[zd]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[zd](),i&&n.opts.end&&n.dest.end(),e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[zd]():e_(e)&&this[Il]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[Il]}[Jd](){!this[oB]&&!this[Il]&&!this[Vi]&&this.buffer.length===0&&this[lA]&&(this[oB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[aB]&&this.emit("close"),this[oB]=!1)}emit(e,t){if(e!=="error"&&e!=="close"&&e!==Vi&&this[Vi])return;if(e==="data"){if(!t)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(t)===!1&&this.pause())}else if(e==="end"){if(this[Il]===!0)return;this[Il]=!0,this.readable=!1,this[cA]&&(t=this[cA].end(),t&&(this.pipes.forEach(n=>n.dest.write(t)),super.emit("data",t))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[aB]=!0,!this[Il]&&!this[Vi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=t,arguments.length>2)for(let n=2;n{e.push(i),this[_i]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this[Nn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Vi,()=>t(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>t(i))})}[_De](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[lA])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[lA]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Vi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[VDe](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Vi]?(e?this.emit("error",e):this.emit(Vi),this):(this[Vi]=!0,this.buffer=new qd,this[pn]=0,typeof this.close=="function"&&!this[aB]&&this.close(),e?this.emit("error",e):this.emit(Vi),this)}static isStream(e){return!!e&&(e instanceof t_||e instanceof z9||e instanceof zDe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var i_=w((Qot,r_)=>{var $De=require("zlib").constants||{ZLIB_VERNUM:4736};r_.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},$De))});var fD=w(as=>{"use strict";var sD=require("assert"),yl=require("buffer").Buffer,n_=require("zlib"),Zc=as.constants=i_(),eRe=uf(),s_=yl.concat,$c=Symbol("_superWrite"),_d=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},tRe=Symbol("opts"),Vd=Symbol("flushFlag"),o_=Symbol("finishFlushFlag"),oD=Symbol("fullFlushFlag"),pr=Symbol("handle"),lB=Symbol("onError"),gf=Symbol("sawError"),aD=Symbol("level"),AD=Symbol("strategy"),lD=Symbol("ended"),Sot=Symbol("_defaultFullFlush"),cD=class extends eRe{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[gf]=!1,this[lD]=!1,this[tRe]=e,this[Vd]=e.flush,this[o_]=e.finishFlush;try{this[pr]=new n_[t](e)}catch(i){throw new _d(i)}this[lB]=i=>{this[gf]||(this[gf]=!0,this.close(),this.emit("error",i))},this[pr].on("error",i=>this[lB](new _d(i))),this.once("end",()=>this.close)}close(){this[pr]&&(this[pr].close(),this[pr]=null,this.emit("close"))}reset(){if(!this[gf])return sD(this[pr],"zlib binding closed"),this[pr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[oD]),this.write(Object.assign(yl.alloc(0),{[Vd]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[o_]),this[lD]=!0,super.end(null,null,i)}get ended(){return this[lD]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=yl.from(e,t)),this[gf])return;sD(this[pr],"zlib binding closed");let n=this[pr]._handle,s=n.close;n.close=()=>{};let o=this[pr].close;this[pr].close=()=>{},yl.concat=c=>c;let a;try{let c=typeof e[Vd]=="number"?e[Vd]:this[Vd];a=this[pr]._processChunk(e,c),yl.concat=s_}catch(c){yl.concat=s_,this[lB](new _d(c))}finally{this[pr]&&(this[pr]._handle=n,n.close=s,this[pr].close=o,this[pr].removeAllListeners("error"))}this[pr]&&this[pr].on("error",c=>this[lB](new _d(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[$c](yl.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[pr].params(e,t)}finally{this[pr].flush=i}this[pr]&&(this[aD]=e,this[AD]=t)}}}},a_=class extends wl{constructor(e){super(e,"Deflate")}},A_=class extends wl{constructor(e){super(e,"Inflate")}},uD=Symbol("_portable"),l_=class extends wl{constructor(e){super(e,"Gzip");this[uD]=e&&!!e.portable}[$c](e){return this[uD]?(this[uD]=!1,e[9]=255,super[$c](e)):super[$c](e)}},c_=class extends wl{constructor(e){super(e,"Gunzip")}},u_=class extends wl{constructor(e){super(e,"DeflateRaw")}},g_=class extends wl{constructor(e){super(e,"InflateRaw")}},f_=class extends wl{constructor(e){super(e,"Unzip")}},gD=class extends cD{constructor(e,t){e=e||{},e.flush=e.flush||Zc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Zc.BROTLI_OPERATION_FINISH,super(e,t),this[oD]=Zc.BROTLI_OPERATION_FLUSH}},h_=class extends gD{constructor(e){super(e,"BrotliCompress")}},p_=class extends gD{constructor(e){super(e,"BrotliDecompress")}};as.Deflate=a_;as.Inflate=A_;as.Gzip=l_;as.Gunzip=c_;as.DeflateRaw=u_;as.InflateRaw=g_;as.Unzip=f_;typeof n_.BrotliCompress=="function"?(as.BrotliCompress=h_,as.BrotliDecompress=p_):as.BrotliCompress=as.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Xd=w(cB=>{"use strict";cB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);cB.code=new Map(Array.from(cB.name).map(r=>[r[1],r[0]]))});var Zd=w((Dot,d_)=>{"use strict";var kot=Xd(),rRe=uf(),hD=Symbol("slurp");d_.exports=class extends rRe{constructor(e,t,i){super();switch(this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,t&&this[hD](t),i&&this[hD](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[hD](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=e[i])}}});var E_=w(pD=>{"use strict";var Rot=pD.encode=(r,e)=>{if(Number.isSafeInteger(r))r<0?nRe(r,e):iRe(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},iRe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},nRe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=C_(n):n===0?e[i-1]=0:(t=!0,e[i-1]=m_(n))}},Fot=pD.parse=r=>{var e=r[r.length-1],t=r[0],i;if(t===128)i=oRe(r.slice(1,r.length));else if(t===255)i=sRe(r);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},sRe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=C_(s):s===0?o=s:(i=!0,o=m_(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},oRe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},C_=r=>(255^r)&255,m_=r=>(255^r)+1&255});var hf=w((Lot,I_)=>{"use strict";var dD=Xd(),ff=require("path").posix,y_=E_(),CD=Symbol("slurp"),As=Symbol("type"),w_=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[As]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=eu(e,t,100),this.mode=Bl(e,t+100,8),this.uid=Bl(e,t+108,8),this.gid=Bl(e,t+116,8),this.size=Bl(e,t+124,12),this.mtime=mD(e,t+136,12),this.cksum=Bl(e,t+148,12),this[CD](i),this[CD](n,!0),this[As]=eu(e,t+156,1),this[As]===""&&(this[As]="0"),this[As]==="0"&&this.path.substr(-1)==="/"&&(this[As]="5"),this[As]==="5"&&(this.size=0),this.linkpath=eu(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=eu(e,t+265,32),this.gname=eu(e,t+297,32),this.devmaj=Bl(e,t+329,8),this.devmin=Bl(e,t+337,8),e[t+475]!==0){let o=eu(e,t+345,155);this.path=o+"/"+this.path}else{let o=eu(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=mD(e,t+476,12),this.ctime=mD(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=aRe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=tu(e,t,100,s)||this.needPax,this.needPax=bl(e,t+100,8,this.mode)||this.needPax,this.needPax=bl(e,t+108,8,this.uid)||this.needPax,this.needPax=bl(e,t+116,8,this.gid)||this.needPax,this.needPax=bl(e,t+124,12,this.size)||this.needPax,this.needPax=ED(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[As].charCodeAt(0),this.needPax=tu(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=tu(e,t+265,32,this.uname)||this.needPax,this.needPax=tu(e,t+297,32,this.gname)||this.needPax,this.needPax=bl(e,t+329,8,this.devmaj)||this.needPax,this.needPax=bl(e,t+337,8,this.devmin)||this.needPax,this.needPax=tu(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=tu(e,t+345,155,o)||this.needPax:(this.needPax=tu(e,t+345,130,o)||this.needPax,this.needPax=ED(e,t+476,12,this.atime)||this.needPax,this.needPax=ED(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let t=100,i=r,n="",s,o=ff.parse(r).root||".";if(Buffer.byteLength(i)t&&Buffer.byteLength(n)<=e?s=[i.substr(0,t-1),n,!0]:(i=ff.join(ff.basename(n),i),n=ff.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,t-1),"",!0])}return s},eu=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),mD=(r,e,t)=>ARe(Bl(r,e,t)),ARe=r=>r===null?null:new Date(r*1e3),Bl=(r,e,t)=>r[e]&128?y_.parse(r.slice(e,e+t)):lRe(r,e,t),cRe=r=>isNaN(r)?null:r,lRe=(r,e,t)=>cRe(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),uRe={12:8589934591,8:2097151},bl=(r,e,t,i)=>i===null?!1:i>uRe[t]||i<0?(y_.encode(i,r.slice(e,e+t)),!0):(gRe(r,e,t,i),!1),gRe=(r,e,t,i)=>r.write(fRe(i,t),e,t,"ascii"),fRe=(r,e)=>hRe(Math.floor(r).toString(8),e),hRe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",ED=(r,e,t,i)=>i===null?!1:bl(r,e,t,i.getTime()/1e3),pRe=new Array(156).join("\0"),tu=(r,e,t,i)=>i===null?!1:(r.write(i+pRe,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);I_.exports=w_});var gB=w((Tot,B_)=>{"use strict";var dRe=hf(),CRe=require("path"),uB=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new dRe({path:("PaxHeader/"+CRe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};uB.parse=(r,e,t)=>new uB(mRe(ERe(r),e),t);var mRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,ERe=r=>r.replace(/\n$/,"").split(` +`).reduce(IRe,Object.create(null)),IRe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};B_.exports=uB});var fB=w((Oot,b_)=>{"use strict";b_.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var yD=w((Mot,Q_)=>{"use strict";var hB=["|","<",">","?",":"],ID=hB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),yRe=new Map(hB.map((r,e)=>[r,ID[e]])),wRe=new Map(ID.map((r,e)=>[r,hB[e]]));Q_.exports={encode:r=>hB.reduce((e,t)=>e.split(t).join(yRe.get(t)),r),decode:r=>ID.reduce((e,t)=>e.split(t).join(wRe.get(t)),r)}});var v_=w((Kot,S_)=>{"use strict";S_.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&~18),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var xD=w((Yot,x_)=>{"use strict";var k_=uf(),P_=gB(),D_=hf(),Uot=Zd(),sa=require("fs"),pf=require("path"),Hot=Xd(),BRe=16*1024*1024,R_=Symbol("process"),F_=Symbol("file"),N_=Symbol("directory"),wD=Symbol("symlink"),L_=Symbol("hardlink"),$d=Symbol("header"),pB=Symbol("read"),BD=Symbol("lstat"),dB=Symbol("onlstat"),bD=Symbol("onread"),QD=Symbol("onreadlink"),SD=Symbol("openfile"),vD=Symbol("onopenfile"),ru=Symbol("close"),CB=Symbol("mode"),T_=fB(),bRe=yD(),O_=v_(),mB=T_(class extends k_{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||BRe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=t.cwd||process.cwd(),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths&&pf.win32.isAbsolute(e)){let n=pf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=bRe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=t.absolute||pf.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[dB](this.statCache.get(this.absolute)):this[BD]()}[BD](){sa.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[dB](t)})}[dB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=QRe(e),this.emit("stat",e),this[R_]()}[R_](){switch(this.type){case"File":return this[F_]();case"Directory":return this[N_]();case"SymbolicLink":return this[wD]();default:return this.end()}}[CB](e){return O_(e,this.type==="Directory",this.portable)}[$d](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new D_({path:this.path,linkpath:this.linkpath,mode:this[CB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new P_({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[N_](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[$d](),this.end()}[wD](){sa.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[QD](t)})}[QD](e){this.linkpath=e.replace(/\\/g,"/"),this[$d](),this.end()}[L_](e){this.type="Link",this.linkpath=pf.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[$d](),this.end()}[F_](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[L_](t)}this.linkCache.set(e,this.absolute)}if(this[$d](),this.stat.size===0)return this.end();this[SD]()}[SD](){sa.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[vD](t)})}[vD](e){let t=512*Math.ceil(this.stat.size/512),i=Math.min(t,this.maxReadSize),n=Buffer.allocUnsafe(i);this[pB](e,n,0,n.length,0,this.stat.size,t)}[pB](e,t,i,n,s,o,a){sa.read(e,t,i,n,s,(l,c)=>{if(l)return this[ru](e,()=>this.emit("error",l));this[bD](e,t,i,n,s,o,a,c)})}[ru](e,t){sa.close(e,t)}[bD](e,t,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[ru](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[ru](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(t=Buffer.allocUnsafe(n),i=0),n=t.length-i,this[pB](e,t,i,n,s,o,a)}}),M_=class extends mB{constructor(e,t){super(e,t)}[BD](){this[dB](sa.lstatSync(this.absolute))}[wD](){this[QD](sa.readlinkSync(this.absolute))}[SD](){this[vD](sa.openSync(this.absolute,"r"))}[pB](e,t,i,n,s,o,a){let l=!0;try{let c=sa.readSync(e,t,i,n,s);this[bD](e,t,i,n,s,o,a,c),l=!1}finally{if(l)try{this[ru](e,()=>{})}catch(c){}}}[ru](e,t){sa.closeSync(e),t()}},SRe=T_(class extends k_{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[CB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(pf.isAbsolute(this.path)&&!this.preservePaths){let n=pf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new D_({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new P_({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[CB](e){return O_(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});mB.Sync=M_;mB.Tar=SRe;var QRe=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";x_.exports=mB});var SB=w((Jot,K_)=>{"use strict";var kD=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},vRe=uf(),xRe=fD(),kRe=Zd(),PD=xD(),PRe=PD.Sync,DRe=PD.Tar,RRe=Bp(),U_=Buffer.alloc(1024),EB=Symbol("onStat"),IB=Symbol("ended"),oa=Symbol("queue"),df=Symbol("current"),iu=Symbol("process"),yB=Symbol("processing"),H_=Symbol("processJob"),aa=Symbol("jobs"),DD=Symbol("jobDone"),wB=Symbol("addFSEntry"),j_=Symbol("addTarEntry"),RD=Symbol("stat"),FD=Symbol("readdir"),BB=Symbol("onreaddir"),bB=Symbol("pipe"),G_=Symbol("entry"),ND=Symbol("entryOpt"),LD=Symbol("writeEntryClass"),Y_=Symbol("write"),TD=Symbol("ondrain"),QB=require("fs"),q_=require("path"),FRe=fB(),OD=FRe(class extends vRe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[LD]=PD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new xRe.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[TD]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[TD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[oa]=new RRe,this[aa]=0,this.jobs=+e.jobs||4,this[yB]=!1,this[IB]=!1}[Y_](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[IB]=!0,this[iu](),this}write(e){if(this[IB])throw new Error("write after end");return e instanceof kRe?this[j_](e):this[wB](e),this.flowing}[j_](e){let t=q_.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new kD(e.path,t,!1);i.entry=new DRe(e,this[ND](i)),i.entry.on("end",n=>this[DD](i)),this[aa]+=1,this[oa].push(i)}this[iu]()}[wB](e){let t=q_.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[oa].push(new kD(e,t)),this[iu]()}[RD](e){e.pending=!0,this[aa]+=1;let t=this.follow?"stat":"lstat";QB[t](e.absolute,(i,n)=>{e.pending=!1,this[aa]-=1,i?this.emit("error",i):this[EB](e,n)})}[EB](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[iu]()}[FD](e){e.pending=!0,this[aa]+=1,QB.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[aa]-=1,t)return this.emit("error",t);this[BB](e,i)})}[BB](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[iu]()}[iu](){if(!this[yB]){this[yB]=!0;for(let e=this[oa].head;e!==null&&this[aa]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[G_](e){this[aa]+=1;try{return new this[LD](e.path,this[ND](e)).on("end",()=>this[DD](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[TD](){this[df]&&this[df].entry&&this[df].entry.resume()}[bB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[wB](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),J_=class extends OD{constructor(e){super(e);this[LD]=PRe}pause(){}resume(){}[RD](e){let t=this.follow?"statSync":"lstatSync";this[EB](e,QB[t](e.absolute))}[FD](e,t){this[BB](e,QB.readdirSync(e.absolute))}[bB](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[wB](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[Y_](n)})}};OD.Sync=J_;K_.exports=OD});var wf=w(eC=>{"use strict";var NRe=uf(),LRe=require("events").EventEmitter,Us=require("fs"),vB=process.binding("fs"),Wot=vB.writeBuffers,TRe=vB.FSReqWrap||vB.FSReqCallback,Cf=Symbol("_autoClose"),Aa=Symbol("_close"),tC=Symbol("_ended"),or=Symbol("_fd"),W_=Symbol("_finished"),nu=Symbol("_flags"),MD=Symbol("_flush"),KD=Symbol("_handleChunk"),UD=Symbol("_makeBuf"),HD=Symbol("_mode"),xB=Symbol("_needDrain"),mf=Symbol("_onerror"),Ef=Symbol("_onopen"),jD=Symbol("_onread"),su=Symbol("_onwrite"),Ql=Symbol("_open"),Sl=Symbol("_path"),ou=Symbol("_pos"),la=Symbol("_queue"),If=Symbol("_read"),z_=Symbol("_readSize"),vl=Symbol("_reading"),kB=Symbol("_remain"),__=Symbol("_size"),PB=Symbol("_write"),yf=Symbol("_writing"),DB=Symbol("_defaultFlag"),GD=class extends NRe{constructor(e,t){if(t=t||{},super(t),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[or]=typeof t.fd=="number"?t.fd:null,this[Sl]=e,this[z_]=t.readSize||16*1024*1024,this[vl]=!1,this[__]=typeof t.size=="number"?t.size:Infinity,this[kB]=this[__],this[Cf]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[or]=="number"?this[If]():this[Ql]()}get fd(){return this[or]}get path(){return this[Sl]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Ql](){Us.open(this[Sl],"r",(e,t)=>this[Ef](e,t))}[Ef](e,t){e?this[mf](e):(this[or]=t,this.emit("open",t),this[If]())}[UD](){return Buffer.allocUnsafe(Math.min(this[z_],this[kB]))}[If](){if(!this[vl]){this[vl]=!0;let e=this[UD]();if(e.length===0)return process.nextTick(()=>this[jD](null,0,e));Us.read(this[or],e,0,e.length,null,(t,i,n)=>this[jD](t,i,n))}}[jD](e,t,i){this[vl]=!1,e?this[mf](e):this[KD](t,i)&&this[If]()}[Aa](){this[Cf]&&typeof this[or]=="number"&&(Us.close(this[or],e=>this.emit("close")),this[or]=null)}[mf](e){this[vl]=!0,this[Aa](),this.emit("error",e)}[KD](e,t){let i=!1;return this[kB]-=e,e>0&&(i=super.write(ethis[Ef](e,t))}[Ef](e,t){this[DB]&&this[nu]==="r+"&&e&&e.code==="ENOENT"?(this[nu]="w",this[Ql]()):e?this[mf](e):(this[or]=t,this.emit("open",t),this[MD]())}end(e,t){e&&this.write(e,t),this[tC]=!0,!this[yf]&&!this[la].length&&typeof this[or]=="number"&&this[su](null,0)}write(e,t){return typeof e=="string"&&(e=new Buffer(e,t)),this[tC]?(this.emit("error",new Error("write() after end()")),!1):this[or]===null||this[yf]||this[la].length?(this[la].push(e),this[xB]=!0,!1):(this[yf]=!0,this[PB](e),!0)}[PB](e){Us.write(this[or],e,0,e.length,this[ou],(t,i)=>this[su](t,i))}[su](e,t){e?this[mf](e):(this[ou]!==null&&(this[ou]+=t),this[la].length?this[MD]():(this[yf]=!1,this[tC]&&!this[W_]?(this[W_]=!0,this[Aa](),this.emit("finish")):this[xB]&&(this[xB]=!1,this.emit("drain"))))}[MD](){if(this[la].length===0)this[tC]&&this[su](null,0);else if(this[la].length===1)this[PB](this[la].pop());else{let e=this[la];this[la]=[],ORe(this[or],e,this[ou],(t,i)=>this[su](t,i))}}[Aa](){this[Cf]&&typeof this[or]=="number"&&(Us.close(this[or],e=>this.emit("close")),this[or]=null)}},X_=class extends YD{[Ql](){let e;try{e=Us.openSync(this[Sl],this[nu],this[HD])}catch(t){if(this[DB]&&this[nu]==="r+"&&t&&t.code==="ENOENT")return this[nu]="w",this[Ql]();throw t}this[Ef](null,e)}[Aa](){if(this[Cf]&&typeof this[or]=="number"){try{Us.closeSync(this[or])}catch(e){}this[or]=null,this.emit("close")}}[PB](e){try{this[su](null,Us.writeSync(this[or],e,0,e.length,this[ou]))}catch(t){this[su](t,0)}}},ORe=(r,e,t,i)=>{let n=(o,a)=>i(o,a,e),s=new TRe;s.oncomplete=n,vB.writeBuffers(r,e,t,s)};eC.ReadStream=GD;eC.ReadStreamSync=V_;eC.WriteStream=YD;eC.WriteStreamSync=X_});var nC=w((Xot,Z_)=>{"use strict";var MRe=fB(),_ot=require("path"),KRe=hf(),URe=require("events"),HRe=Bp(),jRe=1024*1024,GRe=Zd(),$_=gB(),YRe=fD(),qD=Buffer.from([31,139]),Hs=Symbol("state"),au=Symbol("writeEntry"),uA=Symbol("readEntry"),JD=Symbol("nextEntry"),eV=Symbol("processEntry"),js=Symbol("extendedHeader"),rC=Symbol("globalExtendedHeader"),xl=Symbol("meta"),tV=Symbol("emitMeta"),yr=Symbol("buffer"),gA=Symbol("queue"),Au=Symbol("ended"),rV=Symbol("emittedEnd"),lu=Symbol("emit"),Ln=Symbol("unzip"),RB=Symbol("consumeChunk"),FB=Symbol("consumeChunkSub"),WD=Symbol("consumeBody"),iV=Symbol("consumeMeta"),nV=Symbol("consumeHeader"),NB=Symbol("consuming"),zD=Symbol("bufferConcat"),_D=Symbol("maybeEnd"),iC=Symbol("writing"),kl=Symbol("aborted"),LB=Symbol("onDone"),cu=Symbol("sawValidEntry"),TB=Symbol("sawNullBlock"),OB=Symbol("sawEOF"),qRe=r=>!0;Z_.exports=MRe(class extends URe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[cu]=null,this.on(LB,t=>{(this[Hs]==="begin"||this[cu]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(LB,e.ondone):this.on(LB,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||jRe,this.filter=typeof e.filter=="function"?e.filter:qRe,this.writable=!0,this.readable=!1,this[gA]=new HRe,this[yr]=null,this[uA]=null,this[au]=null,this[Hs]="begin",this[xl]="",this[js]=null,this[rC]=null,this[Au]=!1,this[Ln]=null,this[kl]=!1,this[TB]=!1,this[OB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[nV](e,t){this[cu]===null&&(this[cu]=!1);let i;try{i=new KRe(e,t,this[js],this[rC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[TB]?(this[OB]=!0,this[Hs]==="begin"&&(this[Hs]="header"),this[lu]("eof")):(this[TB]=!0,this[lu]("nullBlock"));else if(this[TB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[au]=new GRe(i,this[js],this[rC]);if(!this[cu])if(s.remain){let o=()=>{s.invalid||(this[cu]=!0)};s.on("end",o)}else this[cu]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[lu]("ignoredEntry",s),this[Hs]="ignore",s.resume()):s.size>0&&(this[xl]="",s.on("data",o=>this[xl]+=o),this[Hs]="meta"):(this[js]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[lu]("ignoredEntry",s),this[Hs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[Hs]="body":(this[Hs]="header",s.end()),this[uA]?this[gA].push(s):(this[gA].push(s),this[JD]())))}}}[eV](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[uA]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[JD]()),t=!1)):(this[uA]=null,t=!1),t}[JD](){do;while(this[eV](this[gA].shift()));if(!this[gA].length){let e=this[uA];!e||e.flowing||e.size===e.remain?this[iC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[WD](e,t){let i=this[au],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[Hs]="header",this[au]=null,i.end()),s.length}[iV](e,t){let i=this[au],n=this[WD](e,t);return this[au]||this[tV](i),n}[lu](e,t,i){!this[gA].length&&!this[uA]?this.emit(e,t,i):this[gA].push([e,t,i])}[tV](e){switch(this[lu]("meta",this[xl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[js]=$_.parse(this[xl],this[js],!1);break;case"GlobalExtendedHeader":this[rC]=$_.parse(this[xl],this[rC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[js]=this[js]||Object.create(null),this[js].path=this[xl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[js]=this[js]||Object.create(null),this[js].linkpath=this[xl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[kl]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[kl])return;if(this[Ln]===null&&e){if(this[yr]&&(e=Buffer.concat([this[yr],e]),this[yr]=null),e.lengththis[RB](s)),this[Ln].on("error",s=>this.abort(s)),this[Ln].on("end",s=>{this[Au]=!0,this[RB]()}),this[iC]=!0;let n=this[Ln][i?"end":"write"](e);return this[iC]=!1,n}}this[iC]=!0,this[Ln]?this[Ln].write(e):this[RB](e),this[iC]=!1;let t=this[gA].length?!1:this[uA]?this[uA].flowing:!0;return!t&&!this[gA].length&&this[uA].once("drain",i=>this.emit("drain")),t}[zD](e){e&&!this[kl]&&(this[yr]=this[yr]?Buffer.concat([this[yr],e]):e)}[_D](){if(this[Au]&&!this[rV]&&!this[kl]&&!this[NB]){this[rV]=!0;let e=this[au];if(e&&e.blockRemain){let t=this[yr]?this[yr].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[yr]&&e.write(this[yr]),e.end()}this[lu](LB)}}[RB](e){if(this[NB])this[zD](e);else if(!e&&!this[yr])this[_D]();else{if(this[NB]=!0,this[yr]){this[zD](e);let t=this[yr];this[yr]=null,this[FB](t)}else this[FB](e);for(;this[yr]&&this[yr].length>=512&&!this[kl]&&!this[OB];){let t=this[yr];this[yr]=null,this[FB](t)}this[NB]=!1}(!this[yr]||this[Au])&&this[_D]()}[FB](e){let t=0,i=e.length;for(;t+512<=i&&!this[kl]&&!this[OB];)switch(this[Hs]){case"begin":case"header":this[nV](e,t),t+=512;break;case"ignore":case"body":t+=this[WD](e,t);break;case"meta":t+=this[iV](e,t);break;default:throw new Error("invalid state: "+this[Hs])}t{"use strict";var JRe=cf(),oV=nC(),Bf=require("fs"),WRe=wf(),aV=require("path"),Zot=sV.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=JRe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&_Re(i,e),i.noResume||zRe(i),i.file&&i.sync?VRe(i):i.file?XRe(i,t):AV(i)},zRe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},_Re=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=r.filter,n=(s,o)=>{let a=o||aV.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(aV.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},VRe=r=>{let e=AV(r),t=r.file,i=!0,n;try{let s=Bf.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new oV(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),Bf.stat(n,(l,c)=>{if(l)a(l);else{let u=new WRe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},AV=r=>new oV(r)});var hV=w((rat,lV)=>{"use strict";var ZRe=cf(),KB=SB(),eat=require("fs"),cV=wf(),uV=MB(),gV=require("path"),tat=lV.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=ZRe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?$Re(i,e):i.file?eFe(i,e,t):i.sync?tFe(i,e):rFe(i,e)},$Re=(r,e)=>{let t=new KB.Sync(r),i=new cV.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),fV(t,e)},eFe=(r,e,t)=>{let i=new KB(r),n=new cV.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return VD(i,e),t?s.then(t,t):s},fV=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?uV({file:gV.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},VD=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return uV({file:gV.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>VD(r,e));r.add(t)}r.end()},tFe=(r,e)=>{let t=new KB.Sync(r);return fV(t,e),t},rFe=(r,e)=>{let t=new KB(r);return VD(t,e),t}});var XD=w((sat,pV)=>{"use strict";var iFe=cf(),dV=SB(),iat=nC(),Gs=require("fs"),CV=wf(),mV=MB(),EV=require("path"),IV=hf(),nat=pV.exports=(r,e,t)=>{let i=iFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?nFe(i,e):sFe(i,e,t)},nFe=(r,e)=>{let t=new dV.Sync(r),i=!0,n,s;try{try{n=Gs.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=Gs.openSync(r.file,"w+");else throw l}let o=Gs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,oFe(r,t,s,n,e)}finally{if(i)try{Gs.closeSync(n)}catch(o){}}},oFe=(r,e,t,i,n)=>{let s=new CV.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),aFe(e,n)},sFe=(r,e,t)=>{e=Array.from(e);let i=new dV(r),n=(o,a,l)=>{let c=(p,m)=>{p?Gs.close(o,y=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return Gs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new IV(f);if(!y.cksumValid)return c(null,u);let b=512*Math.ceil(y.size/512);if(u+b+512>a||(u+=b+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,Gs.read(o,f,0,512,u,h)};Gs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Gs.open(r.file,l,c);if(u)return a(u);Gs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let y=new CV.WriteStream(r.file,{fd:g,start:m});i.pipe(y),y.on("error",a),y.on("close",o),yV(i,e)})})};Gs.open(r.file,l,c)});return t?s.then(t,t):s},aFe=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?mV({file:EV.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},yV=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return mV({file:EV.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>yV(r,e));r.add(t)}r.end()}});var BV=w((aat,wV)=>{"use strict";var AFe=cf(),lFe=XD(),oat=wV.exports=(r,e,t)=>{let i=AFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),cFe(i),lFe(i,e,t)},cFe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var SV=w((Aat,bV)=>{var{promisify:QV}=require("util"),Pl=require("fs"),uFe=r=>{if(!r)r={mode:511,fs:Pl};else if(typeof r=="object")r=N({mode:511,fs:Pl},r);else if(typeof r=="number")r={mode:r,fs:Pl};else if(typeof r=="string")r={mode:parseInt(r,8),fs:Pl};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||Pl.mkdir,r.mkdirAsync=QV(r.mkdir),r.stat=r.stat||r.fs.stat||Pl.stat,r.statAsync=QV(r.stat),r.statSync=r.statSync||r.fs.statSync||Pl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||Pl.mkdirSync,r};bV.exports=uFe});var xV=w((lat,vV)=>{var gFe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:fFe,parse:hFe}=require("path"),pFe=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=fFe(r),gFe==="win32"){let e=/[*|"<>?:]/,{root:t}=hFe(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};vV.exports=pFe});var FV=w((cat,kV)=>{var{dirname:PV}=require("path"),DV=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?DV(r,PV(e),e):void 0),RV=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?RV(r,PV(e),e):void 0}};kV.exports={findMade:DV,findMadeSync:RV}});var eR=w((uat,NV)=>{var{dirname:LV}=require("path"),ZD=(r,e,t)=>{e.recursive=!1;let i=LV(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return ZD(i,e).then(s=>ZD(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},$D=(r,e,t)=>{let i=LV(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return $D(r,e,$D(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch(s){throw n}}};NV.exports={mkdirpManual:ZD,mkdirpManualSync:$D}});var MV=w((gat,TV)=>{var{dirname:OV}=require("path"),{findMade:dFe,findMadeSync:CFe}=FV(),{mkdirpManual:mFe,mkdirpManualSync:EFe}=eR(),IFe=(r,e)=>(e.recursive=!0,OV(r)===r?e.mkdirAsync(r,e):dFe(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return mFe(r,e);throw n}))),yFe=(r,e)=>{if(e.recursive=!0,OV(r)===r)return e.mkdirSync(r,e);let i=CFe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return EFe(r,e);throw n}};TV.exports={mkdirpNative:IFe,mkdirpNativeSync:yFe}});var jV=w((fat,KV)=>{var UV=require("fs"),wFe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,tR=wFe.replace(/^v/,"").split("."),HV=+tR[0]>10||+tR[0]==10&&+tR[1]>=12,BFe=HV?r=>r.mkdir===UV.mkdir:()=>!1,bFe=HV?r=>r.mkdirSync===UV.mkdirSync:()=>!1;KV.exports={useNative:BFe,useNativeSync:bFe}});var zV=w((hat,GV)=>{var bf=SV(),Qf=xV(),{mkdirpNative:YV,mkdirpNativeSync:qV}=MV(),{mkdirpManual:JV,mkdirpManualSync:WV}=eR(),{useNative:QFe,useNativeSync:SFe}=jV(),Sf=(r,e)=>(r=Qf(r),e=bf(e),QFe(e)?YV(r,e):JV(r,e)),vFe=(r,e)=>(r=Qf(r),e=bf(e),SFe(e)?qV(r,e):WV(r,e));Sf.sync=vFe;Sf.native=(r,e)=>YV(Qf(r),bf(e));Sf.manual=(r,e)=>JV(Qf(r),bf(e));Sf.nativeSync=(r,e)=>qV(Qf(r),bf(e));Sf.manualSync=(r,e)=>WV(Qf(r),bf(e));GV.exports=Sf});var t6=w((pat,_V)=>{"use strict";var Ys=require("fs"),uu=require("path"),xFe=Ys.lchown?"lchown":"chown",kFe=Ys.lchownSync?"lchownSync":"chownSync",VV=Ys.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),XV=(r,e,t)=>{try{return Ys[kFe](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},PFe=(r,e,t)=>{try{return Ys.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},DFe=VV?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):Ys.chown(r,e,t,i)}:(r,e,t,i)=>i,rR=VV?(r,e,t)=>{try{return XV(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;PFe(r,e,t)}}:(r,e,t)=>XV(r,e,t),RFe=process.version,ZV=(r,e,t)=>Ys.readdir(r,e,t),FFe=(r,e)=>Ys.readdirSync(r,e);/^v4\./.test(RFe)&&(ZV=(r,e,t)=>Ys.readdir(r,t));var UB=(r,e,t,i)=>{Ys[xFe](r,e,t,DFe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},$V=(r,e,t,i,n)=>{if(typeof e=="string")return Ys.lstat(uu.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,$V(r,o,t,i,n)});if(e.isDirectory())iR(uu.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=uu.resolve(r,e.name);UB(o,t,i,n)});else{let s=uu.resolve(r,e.name);UB(s,t,i,n)}},iR=(r,e,t,i)=>{ZV(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return UB(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return UB(r,e,t,i)}};s.forEach(c=>$V(r,c,e,t,l))})},NFe=(r,e,t,i)=>{if(typeof e=="string")try{let n=Ys.lstatSync(uu.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&e6(uu.resolve(r,e.name),t,i),rR(uu.resolve(r,e.name),t,i)},e6=(r,e,t)=>{let i;try{i=FFe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return rR(r,e,t);throw n}return i&&i.length&&i.forEach(n=>NFe(r,n,e,t)),rR(r,e,t)};_V.exports=iR;iR.sync=e6});var s6=w((mat,nR)=>{"use strict";var r6=zV(),qs=require("fs"),HB=require("path"),i6=t6(),sR=class extends Error{constructor(e,t){super("Cannot extract through symbolic link");this.path=t,this.symlink=e}get name(){return"SylinkError"}},sC=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'");this.path=e,this.code=t}get name(){return"CwdError"}},dat=nR.exports=(r,e,t)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,b)=>{y?t(y):(g.set(r,!0),b&&l?i6(b,o,a,v=>h(v)):s?qs.chmod(r,n,t):t())};if(g&&g.get(r)===!0)return h();if(r===f)return qs.stat(r,(y,b)=>{(y||!b.isDirectory())&&(y=new sC(r,y&&y.code||"ENOTDIR")),h(y)});if(c)return r6(r,{mode:n}).then(y=>h(null,y),h);let m=HB.relative(f,r).split(/\/|\\/);jB(f,m,n,g,u,f,null,h)},jB=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=r+"/"+l;if(i.get(c))return jB(c,e,t,i,n,s,o,a);qs.mkdir(c,t,n6(c,e,t,i,n,s,o,a))},n6=(r,e,t,i,n,s,o,a)=>l=>{if(l){if(l.path&&HB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new sC(s,l.code));qs.lstat(r,(c,u)=>{if(c)a(c);else if(u.isDirectory())jB(r,e,t,i,n,s,o,a);else if(n)qs.unlink(r,g=>{if(g)return a(g);qs.mkdir(r,t,n6(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new sR(r,r+"/"+e.join("/")));a(l)}})}else o=o||r,jB(r,e,t,i,n,s,o,a)},Cat=nR.exports.sync=(r,e)=>{let t=e.umask,i=e.mode|448,n=(i&t)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(r,!0),y&&a&&i6.sync(y,s,o),n&&qs.chmodSync(r,i)};if(u&&u.get(r)===!0)return f();if(r===g){let y=!1,b="ENOTDIR";try{y=qs.statSync(r).isDirectory()}catch(v){b=v.code}finally{if(!y)throw new sC(r,b)}f();return}if(l)return f(r6.sync(r,i));let p=HB.relative(g,r).split(/\/|\\/),m=null;for(let y=p.shift(),b=g;y&&(b+="/"+y);y=p.shift())if(!u.get(b))try{qs.mkdirSync(b,i),m=m||b,u.set(b,!0)}catch(v){if(v.path&&HB.dirname(v.path)===g&&(v.code==="ENOTDIR"||v.code==="ENOENT"))return new sC(g,v.code);let x=qs.lstatSync(b);if(x.isDirectory()){u.set(b,!0);continue}else if(c){qs.unlinkSync(b),qs.mkdirSync(b,i),m=m||b,u.set(b,!0);continue}else if(x.isSymbolicLink())return new sR(b,b+"/"+p.join("/"))}return f(m)}});var A6=w((Eat,o6)=>{var a6=require("assert");o6.exports=()=>{let r=new Map,e=new Map,{join:t}=require("path"),i=u=>t(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(t(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>r.get(f)),dirs:[...g.dirs].map(f=>r.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let m=r.get(p);a6.equal(m[0],u),m.length===1?r.delete(p):(m.shift(),typeof m[0]=="function"?h.add(m[0]):m[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let m=r.get(p);a6(m[0]instanceof Set),m[0].size===1&&m.length===1?r.delete(p):m[0].size===1?(m.shift(),h.add(m[0])):m[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=r.get(h);p?p.push(g):r.set(h,[g])}),f.forEach(h=>{let p=r.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):r.set(h,[new Set([g])])}),a(g)}}}});var u6=w((Iat,l6)=>{var LFe=process.env.__FAKE_PLATFORM__||process.platform,TFe=LFe==="win32",OFe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:MFe,O_TRUNC:KFe,O_WRONLY:UFe,UV_FS_O_FILEMAP:c6=0}=OFe.constants,HFe=TFe&&!!c6,jFe=512*1024,GFe=c6|KFe|MFe|UFe;l6.exports=HFe?r=>r"w"});var hR=w((bat,g6)=>{"use strict";var YFe=require("assert"),yat=require("events").EventEmitter,qFe=nC(),$t=require("fs"),JFe=wf(),fA=require("path"),oR=s6(),wat=oR.sync,f6=yD(),WFe=A6(),h6=Symbol("onEntry"),aR=Symbol("checkFs"),p6=Symbol("checkFs2"),AR=Symbol("isReusable"),hA=Symbol("makeFs"),lR=Symbol("file"),cR=Symbol("directory"),GB=Symbol("link"),d6=Symbol("symlink"),C6=Symbol("hardlink"),m6=Symbol("unsupported"),Bat=Symbol("unknown"),E6=Symbol("checkPath"),vf=Symbol("mkdir"),dn=Symbol("onError"),YB=Symbol("pending"),I6=Symbol("pend"),xf=Symbol("unpend"),uR=Symbol("ended"),gR=Symbol("maybeClose"),fR=Symbol("skip"),oC=Symbol("doChown"),aC=Symbol("uid"),AC=Symbol("gid"),y6=require("crypto"),w6=u6(),qB=()=>{throw new Error("sync function called cb somehow?!?")},zFe=(r,e)=>{if(process.platform!=="win32")return $t.unlink(r,e);let t=r+".DELETE."+y6.randomBytes(16).toString("hex");$t.rename(r,t,i=>{if(i)return e(i);$t.unlink(t,e)})},_Fe=r=>{if(process.platform!=="win32")return $t.unlinkSync(r);let e=r+".DELETE."+y6.randomBytes(16).toString("hex");$t.renameSync(r,e),$t.unlinkSync(e)},B6=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,JB=class extends qFe{constructor(e){if(e||(e={}),e.ondone=t=>{this[uR]=!0,this[gR]()},super(e),this.reservations=WFe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[YB]=0,this[uR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=fA.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[h6](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[gR](){this[uR]&&this[YB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[E6](e){if(this.strip){let t=e.path.split(/\/|\\/);if(t.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let t=e.path;if(t.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;if(fA.win32.isAbsolute(t)){let i=fA.win32.parse(t);e.path=t.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t})}}if(this.win32){let t=fA.win32.parse(e.path);e.path=t.root===""?f6.encode(e.path):t.root+f6.encode(e.path.substr(t.root.length))}return fA.isAbsolute(e.path)?e.absolute=e.path:e.absolute=fA.resolve(this.cwd,e.path),!0}[h6](e){if(!this[E6](e))return e.resume();switch(YFe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[aR](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[m6](e)}}[dn](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[xf](),t.resume())}[vf](e,t,i){oR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t},i)}[oC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[aC](e){return B6(this.uid,e.uid,this.processUid)}[AC](e){return B6(this.gid,e.gid,this.processGid)}[lR](e,t){let i=e.mode&4095||this.fmode,n=new JFe.WriteStream(e.absolute,{flags:w6(e.size),mode:i,autoClose:!1});n.on("error",l=>this[dn](l,e));let s=1,o=l=>{if(l)return this[dn](l,e);--s==0&&$t.close(n.fd,c=>{t(),c?this[dn](c,e):this[xf]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;$t.futimes(u,g,f,h=>h?$t.utimes(c,g,f,p=>o(p&&h)):o())}if(this[oC](e)){s++;let g=this[aC](e),f=this[AC](e);$t.fchown(u,g,f,h=>h?$t.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.pipe(n)}[cR](e,t){let i=e.mode&4095||this.dmode;this[vf](e.absolute,i,n=>{if(n)return t(),this[dn](n,e);let s=1,o=a=>{--s==0&&(t(),this[xf](),e.resume())};e.mtime&&!this.noMtime&&(s++,$t.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[oC](e)&&(s++,$t.chown(e.absolute,this[aC](e),this[AC](e),o)),o()})}[m6](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[d6](e,t){this[GB](e,e.linkpath,"symlink",t)}[C6](e,t){this[GB](e,fA.resolve(this.cwd,e.linkpath),"link",t)}[I6](){this[YB]++}[xf](){this[YB]--,this[gR]()}[fR](e){this[xf](),e.resume()}[AR](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&process.platform!=="win32"}[aR](e){this[I6]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[p6](e,i))}[p6](e,t){this[vf](fA.dirname(e.absolute),this.dmode,i=>{if(i)return t(),this[dn](i,e);$t.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[fR](e),t()):n||this[AR](e,s)?this[hA](null,e,t):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[hA](null,e,t):$t.chmod(e.absolute,e.mode,o=>this[hA](o,e,t)):$t.rmdir(e.absolute,o=>this[hA](o,e,t)):zFe(e.absolute,o=>this[hA](o,e,t))})})}[hA](e,t,i){if(e)return this[dn](e,t);switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[lR](t,i);case"Link":return this[C6](t,i);case"SymbolicLink":return this[d6](t,i);case"Directory":case"GNUDumpDir":return this[cR](t,i)}}[GB](e,t,i,n){$t[i](t,e.absolute,s=>{if(s)return this[dn](s,e);n(),this[xf](),e.resume()})}},b6=class extends JB{constructor(e){super(e)}[aR](e){let t=this[vf](fA.dirname(e.absolute),this.dmode,qB);if(t)return this[dn](t,e);try{let i=$t.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[fR](e);if(this[AR](e,i))return this[hA](null,e,qB);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&$t.chmodSync(e.absolute,e.mode):$t.rmdirSync(e.absolute):_Fe(e.absolute),this[hA](null,e,qB)}catch(n){return this[dn](n,e)}}catch(i){return this[hA](null,e,qB)}}[lR](e,t){let i=e.mode&4095||this.fmode,n=l=>{let c;try{$t.closeSync(o)}catch(u){c=u}(l||c)&&this[dn](l||c,e)},s,o;try{o=$t.openSync(e.absolute,w6(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.on("data",l=>{try{$t.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{$t.futimesSync(o,u,g)}catch(f){try{$t.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[oC](e)){let u=this[aC](e),g=this[AC](e);try{$t.fchownSync(o,u,g)}catch(f){try{$t.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[cR](e,t){let i=e.mode&4095||this.dmode,n=this[vf](e.absolute,i);if(n)return this[dn](n,e);if(e.mtime&&!this.noMtime)try{$t.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[oC](e))try{$t.chownSync(e.absolute,this[aC](e),this[AC](e))}catch(s){}e.resume()}[vf](e,t){try{return oR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[GB](e,t,i,n){try{$t[i+"Sync"](t,e.absolute),e.resume()}catch(s){return this[dn](s,e)}}};JB.Sync=b6;g6.exports=JB});var k6=w((Sat,Q6)=>{"use strict";var VFe=cf(),WB=hR(),S6=require("fs"),v6=wf(),x6=require("path"),Qat=Q6.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=VFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&XFe(i,e),i.file&&i.sync?ZFe(i):i.file?$Fe(i,t):i.sync?eNe(i):tNe(i)},XFe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=r.filter,n=(s,o)=>{let a=o||x6.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(x6.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},ZFe=r=>{let e=new WB.Sync(r),t=r.file,i=!0,n,s=S6.statSync(t),o=r.maxReadSize||16*1024*1024;new v6.ReadStreamSync(t,{readSize:o,size:s.size}).pipe(e)},$Fe=(r,e)=>{let t=new WB(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),S6.stat(n,(l,c)=>{if(l)a(l);else{let u=new v6.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},eNe=r=>new WB.Sync(r),tNe=r=>new WB(r)});var P6=w(pi=>{"use strict";pi.c=pi.create=hV();pi.r=pi.replace=XD();pi.t=pi.list=MB();pi.u=pi.update=BV();pi.x=pi.extract=k6();pi.Pack=SB();pi.Unpack=hR();pi.Parse=nC();pi.ReadEntry=Zd();pi.WriteEntry=xD();pi.Header=hf();pi.Pax=gB();pi.types=Xd()});var L6=w((kat,N6)=>{var dR;N6.exports.getContent=()=>(typeof dR=="undefined"&&(dR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),dR)});var H6=w((CR,U6)=>{(function(r,e){typeof CR=="object"?U6.exports=e():typeof define=="function"&&define.amd?define(e):r.treeify=e()})(CR,function(){function r(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g="",f=0,h,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(b,v){v>0&&(g+=(b[1]?" ":"\u2502")+" "),!p&&b[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(b){h=++f===y.length,t(b,s[b],h,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;t(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return t(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var _B=w((sAt,X6)=>{var ENe=Ks(),INe=Id(),yNe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wNe=/^\w*$/;function BNe(r,e){if(ENe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||INe(r)?!0:wNe.test(r)||!yNe.test(r)||e!=null&&r in Object(e)}X6.exports=BNe});var VB=w((oAt,Z6)=>{var bNe=Wc(),QNe=Rn(),SNe="[object AsyncFunction]",vNe="[object Function]",xNe="[object GeneratorFunction]",kNe="[object Proxy]";function PNe(r){if(!QNe(r))return!1;var e=bNe(r);return e==vNe||e==xNe||e==SNe||e==kNe}Z6.exports=PNe});var e7=w((aAt,$6)=>{var DNe=Ns(),RNe=DNe["__core-js_shared__"];$6.exports=RNe});var i7=w((AAt,t7)=>{var QR=e7(),r7=function(){var r=/[^.]+$/.exec(QR&&QR.keys&&QR.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function FNe(r){return!!r7&&r7 in r}t7.exports=FNe});var SR=w((lAt,n7)=>{var NNe=Function.prototype,LNe=NNe.toString;function TNe(r){if(r!=null){try{return LNe.call(r)}catch(e){}try{return r+""}catch(e){}}return""}n7.exports=TNe});var o7=w((cAt,s7)=>{var ONe=VB(),MNe=i7(),KNe=Rn(),UNe=SR(),HNe=/[\\^$.*+?()[\]{}|]/g,jNe=/^\[object .+?Constructor\]$/,GNe=Function.prototype,YNe=Object.prototype,qNe=GNe.toString,JNe=YNe.hasOwnProperty,WNe=RegExp("^"+qNe.call(JNe).replace(HNe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function zNe(r){if(!KNe(r)||MNe(r))return!1;var e=ONe(r)?WNe:jNe;return e.test(UNe(r))}s7.exports=zNe});var A7=w((uAt,a7)=>{function _Ne(r,e){return r==null?void 0:r[e]}a7.exports=_Ne});var Rl=w((gAt,l7)=>{var VNe=o7(),XNe=A7();function ZNe(r,e){var t=XNe(r,e);return VNe(t)?t:void 0}l7.exports=ZNe});var cC=w((fAt,c7)=>{var $Ne=Rl(),eLe=$Ne(Object,"create");c7.exports=eLe});var f7=w((hAt,u7)=>{var g7=cC();function tLe(){this.__data__=g7?g7(null):{},this.size=0}u7.exports=tLe});var p7=w((pAt,h7)=>{function rLe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}h7.exports=rLe});var C7=w((dAt,d7)=>{var iLe=cC(),nLe="__lodash_hash_undefined__",sLe=Object.prototype,oLe=sLe.hasOwnProperty;function aLe(r){var e=this.__data__;if(iLe){var t=e[r];return t===nLe?void 0:t}return oLe.call(e,r)?e[r]:void 0}d7.exports=aLe});var E7=w((CAt,m7)=>{var ALe=cC(),lLe=Object.prototype,cLe=lLe.hasOwnProperty;function uLe(r){var e=this.__data__;return ALe?e[r]!==void 0:cLe.call(e,r)}m7.exports=uLe});var y7=w((mAt,I7)=>{var gLe=cC(),fLe="__lodash_hash_undefined__";function hLe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=gLe&&e===void 0?fLe:e,this}I7.exports=hLe});var B7=w((EAt,w7)=>{var pLe=f7(),dLe=p7(),CLe=C7(),mLe=E7(),ELe=y7();function kf(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{function ILe(){this.__data__=[],this.size=0}b7.exports=ILe});var Pf=w((yAt,S7)=>{function yLe(r,e){return r===e||r!==r&&e!==e}S7.exports=yLe});var uC=w((wAt,v7)=>{var wLe=Pf();function BLe(r,e){for(var t=r.length;t--;)if(wLe(r[t][0],e))return t;return-1}v7.exports=BLe});var k7=w((BAt,x7)=>{var bLe=uC(),QLe=Array.prototype,SLe=QLe.splice;function vLe(r){var e=this.__data__,t=bLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():SLe.call(e,t,1),--this.size,!0}x7.exports=vLe});var D7=w((bAt,P7)=>{var xLe=uC();function kLe(r){var e=this.__data__,t=xLe(e,r);return t<0?void 0:e[t][1]}P7.exports=kLe});var F7=w((QAt,R7)=>{var PLe=uC();function DLe(r){return PLe(this.__data__,r)>-1}R7.exports=DLe});var L7=w((SAt,N7)=>{var RLe=uC();function FLe(r,e){var t=this.__data__,i=RLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}N7.exports=FLe});var gC=w((vAt,T7)=>{var NLe=Q7(),LLe=k7(),TLe=D7(),OLe=F7(),MLe=L7();function Df(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var KLe=Rl(),ULe=Ns(),HLe=KLe(ULe,"Map");O7.exports=HLe});var U7=w((kAt,M7)=>{var K7=B7(),jLe=gC(),GLe=XB();function YLe(){this.size=0,this.__data__={hash:new K7,map:new(GLe||jLe),string:new K7}}M7.exports=YLe});var j7=w((PAt,H7)=>{function qLe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}H7.exports=qLe});var fC=w((DAt,G7)=>{var JLe=j7();function WLe(r,e){var t=r.__data__;return JLe(e)?t[typeof e=="string"?"string":"hash"]:t.map}G7.exports=WLe});var q7=w((RAt,Y7)=>{var zLe=fC();function _Le(r){var e=zLe(this,r).delete(r);return this.size-=e?1:0,e}Y7.exports=_Le});var W7=w((FAt,J7)=>{var VLe=fC();function XLe(r){return VLe(this,r).get(r)}J7.exports=XLe});var _7=w((NAt,z7)=>{var ZLe=fC();function $Le(r){return ZLe(this,r).has(r)}z7.exports=$Le});var X7=w((LAt,V7)=>{var eTe=fC();function tTe(r,e){var t=eTe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}V7.exports=tTe});var ZB=w((TAt,Z7)=>{var rTe=U7(),iTe=q7(),nTe=W7(),sTe=_7(),oTe=X7();function Rf(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var eX=ZB(),aTe="Expected a function";function vR(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(aTe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(vR.Cache||eX),t}vR.Cache=eX;$7.exports=vR});var iX=w((MAt,rX)=>{var ATe=tX(),lTe=500;function cTe(r){var e=ATe(r,function(i){return t.size===lTe&&t.clear(),i}),t=e.cache;return e}rX.exports=cTe});var sX=w((KAt,nX)=>{var uTe=iX(),gTe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fTe=/\\(\\)?/g,hTe=uTe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(gTe,function(t,i,n,s){e.push(n?s.replace(fTe,"$1"):i||t)}),e});nX.exports=hTe});var Ff=w((UAt,oX)=>{var pTe=Ks(),dTe=_B(),CTe=sX(),mTe=lf();function ETe(r,e){return pTe(r)?r:dTe(r,e)?[r]:CTe(mTe(r))}oX.exports=ETe});var gu=w((HAt,aX)=>{var ITe=Id(),yTe=1/0;function wTe(r){if(typeof r=="string"||ITe(r))return r;var e=r+"";return e=="0"&&1/r==-yTe?"-0":e}aX.exports=wTe});var hC=w((jAt,AX)=>{var BTe=Ff(),bTe=gu();function QTe(r,e){e=BTe(e,r);for(var t=0,i=e.length;r!=null&&t{var STe=Rl(),vTe=function(){try{var r=STe(Object,"defineProperty");return r({},"",{}),r}catch(e){}}();lX.exports=vTe});var Nf=w((YAt,cX)=>{var uX=xR();function xTe(r,e,t){e=="__proto__"&&uX?uX(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}cX.exports=xTe});var $B=w((qAt,gX)=>{var kTe=Nf(),PTe=Pf(),DTe=Object.prototype,RTe=DTe.hasOwnProperty;function FTe(r,e,t){var i=r[e];(!(RTe.call(r,e)&&PTe(i,t))||t===void 0&&!(e in r))&&kTe(r,e,t)}gX.exports=FTe});var pC=w((JAt,fX)=>{var NTe=9007199254740991,LTe=/^(?:0|[1-9]\d*)$/;function TTe(r,e){var t=typeof r;return e=e==null?NTe:e,!!e&&(t=="number"||t!="symbol"&<e.test(r))&&r>-1&&r%1==0&&r{var OTe=$B(),MTe=Ff(),KTe=pC(),pX=Rn(),UTe=gu();function HTe(r,e,t,i){if(!pX(r))return r;e=MTe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n{var jTe=hC(),GTe=kR(),YTe=Ff();function qTe(r,e,t){for(var i=-1,n=e.length,s={};++i{function JTe(r,e){return r!=null&&e in Object(r)}mX.exports=JTe});var yX=w((VAt,IX)=>{var WTe=Wc(),zTe=ta(),_Te="[object Arguments]";function VTe(r){return zTe(r)&&WTe(r)==_Te}IX.exports=VTe});var dC=w((XAt,wX)=>{var BX=yX(),XTe=ta(),bX=Object.prototype,ZTe=bX.hasOwnProperty,$Te=bX.propertyIsEnumerable,eOe=BX(function(){return arguments}())?BX:function(r){return XTe(r)&&ZTe.call(r,"callee")&&!$Te.call(r,"callee")};wX.exports=eOe});var e0=w((ZAt,QX)=>{var tOe=9007199254740991;function rOe(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=tOe}QX.exports=rOe});var PR=w(($At,SX)=>{var iOe=Ff(),nOe=dC(),sOe=Ks(),oOe=pC(),aOe=e0(),AOe=gu();function lOe(r,e,t){e=iOe(e,r);for(var i=-1,n=e.length,s=!1;++i{var cOe=EX(),uOe=PR();function gOe(r,e){return r!=null&&uOe(r,e,cOe)}vX.exports=gOe});var kX=w((tlt,xX)=>{var fOe=CX(),hOe=DR();function pOe(r,e){return fOe(r,e,function(t,i){return hOe(r,i)})}xX.exports=pOe});var t0=w((rlt,PX)=>{function dOe(r,e){for(var t=-1,i=e.length,n=r.length;++t{var RX=Jc(),COe=dC(),mOe=Ks(),FX=RX?RX.isConcatSpreadable:void 0;function EOe(r){return mOe(r)||COe(r)||!!(FX&&r&&r[FX])}DX.exports=EOe});var OX=w((nlt,LX)=>{var IOe=t0(),yOe=NX();function TX(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=yOe),n||(n=[]);++s0&&t(a)?e>1?TX(a,e-1,t,i,n):IOe(n,a):i||(n[n.length]=a)}return n}LX.exports=TX});var KX=w((slt,MX)=>{var wOe=OX();function BOe(r){var e=r==null?0:r.length;return e?wOe(r,1):[]}MX.exports=BOe});var HX=w((olt,UX)=>{function bOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}UX.exports=bOe});var RR=w((alt,jX)=>{var QOe=HX(),GX=Math.max;function SOe(r,e,t){return e=GX(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=GX(i.length-e,0),o=Array(s);++n{function vOe(r){return function(){return r}}YX.exports=vOe});var r0=w((llt,JX)=>{function xOe(r){return r}JX.exports=xOe});var _X=w((clt,WX)=>{var kOe=qX(),zX=xR(),POe=r0(),DOe=zX?function(r,e){return zX(r,"toString",{configurable:!0,enumerable:!1,value:kOe(e),writable:!0})}:POe;WX.exports=DOe});var XX=w((ult,VX)=>{var ROe=800,FOe=16,NOe=Date.now;function LOe(r){var e=0,t=0;return function(){var i=NOe(),n=FOe-(i-t);if(t=i,n>0){if(++e>=ROe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}VX.exports=LOe});var FR=w((glt,ZX)=>{var TOe=_X(),OOe=XX(),MOe=OOe(TOe);ZX.exports=MOe});var eZ=w((flt,$X)=>{var KOe=KX(),UOe=RR(),HOe=FR();function jOe(r){return HOe(UOe(r,void 0,KOe),r+"")}$X.exports=jOe});var rZ=w((hlt,tZ)=>{var GOe=kX(),YOe=eZ(),qOe=YOe(function(r,e){return r==null?{}:GOe(r,e)});tZ.exports=qOe});var hZ=w((uut,uZ)=>{"use strict";var GR;try{GR=Map}catch(r){}var YR;try{YR=Set}catch(r){}function gZ(r,e,t){if(!r||typeof r!="object"||typeof r=="function")return r;if(r.nodeType&&"cloneNode"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(fZ);if(GR&&r instanceof GR)return new Map(Array.from(r.entries()));if(YR&&r instanceof YR)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:gZ(r[n],e,t)}return i}return r}function fZ(r){return gZ(r,[],[])}uZ.exports=fZ});var IC=w(qR=>{"use strict";Object.defineProperty(qR,"__esModule",{value:!0});qR.default=eMe;var tMe=Object.prototype.toString,rMe=Error.prototype.toString,iMe=RegExp.prototype.toString,nMe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",sMe=/^Symbol\((.*)\)(.*)$/;function oMe(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function pZ(r,e=!1){if(r==null||r===!0||r===!1)return""+r;let t=typeof r;if(t==="number")return oMe(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return nMe.call(r).replace(sMe,"Symbol($1)");let i=tMe.call(r).slice(8,-1);return i==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):i==="Error"||r instanceof Error?"["+rMe.call(r)+"]":i==="RegExp"?iMe.call(r):null}function eMe(r,e){let t=pZ(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=pZ(this[i],e);return s!==null?s:n},2)}});var CA=w(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.default=bi.array=bi.object=bi.boolean=bi.date=bi.number=bi.string=bi.mixed=void 0;var dZ=aMe(IC());function aMe(r){return r&&r.__esModule?r:{default:r}}var CZ={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \`${e}\` type, but the final value was: \`${(0,dZ.default)(t,!0)}\``+(n?` (cast from the value \`${(0,dZ.default)(i,!0)}\`).`:".");return t===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};bi.mixed=CZ;var mZ={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};bi.string=mZ;var EZ={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};bi.number=EZ;var IZ={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};bi.date=IZ;var yZ={isValue:"${path} field must be ${value}"};bi.boolean=yZ;var wZ={noUnknown:"${path} field has unspecified keys: ${unknown}"};bi.object=wZ;var BZ={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};bi.array=BZ;var AMe=Object.assign(Object.create(null),{mixed:CZ,string:mZ,number:EZ,date:IZ,object:wZ,array:BZ,boolean:yZ});bi.default=AMe});var QZ=w((hut,bZ)=>{var lMe=Object.prototype,cMe=lMe.hasOwnProperty;function uMe(r,e){return r!=null&&cMe.call(r,e)}bZ.exports=uMe});var yC=w((put,SZ)=>{var gMe=QZ(),fMe=PR();function hMe(r,e){return r!=null&&fMe(r,e,gMe)}SZ.exports=hMe});var Tf=w(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});o0.default=void 0;var pMe=r=>r&&r.__isYupSchema__;o0.default=pMe});var kZ=w(a0=>{"use strict";Object.defineProperty(a0,"__esModule",{value:!0});a0.default=void 0;var dMe=vZ(yC()),CMe=vZ(Tf());function vZ(r){return r&&r.__esModule?r:{default:r}}var xZ=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t=="function"){this.fn=t;return}if(!(0,dMe.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=t,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,CMe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}},mMe=xZ;a0.default=mMe});var WR=w(JR=>{"use strict";Object.defineProperty(JR,"__esModule",{value:!0});JR.default=EMe;function EMe(r){return r==null?[]:[].concat(r)}});var fu=w(A0=>{"use strict";Object.defineProperty(A0,"__esModule",{value:!0});A0.default=void 0;var IMe=PZ(IC()),yMe=PZ(WR());function PZ(r){return r&&r.__esModule?r:{default:r}}function zR(){return zR=Object.assign||function(r){for(var e=1;e(0,IMe.default)(t[s])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,i,n){super();this.name="ValidationError",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,yMe.default)(e).forEach(s=>{wC.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,wC)}};A0.default=wC});var l0=w(_R=>{"use strict";Object.defineProperty(_R,"__esModule",{value:!0});_R.default=BMe;var VR=bMe(fu());function bMe(r){return r&&r.__esModule?r:{default:r}}var QMe=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function BMe(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=QMe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new VR.default(o,s,l)):c(null,s);for(let f=0;f{function SMe(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}DZ.exports=SMe});var XR=w((wut,FZ)=>{var vMe=RZ(),xMe=vMe();FZ.exports=xMe});var LZ=w((But,NZ)=>{function kMe(r,e){for(var t=-1,i=Array(r);++t{function PMe(){return!1}TZ.exports=PMe});var bC=w((BC,Of)=>{var DMe=Ns(),RMe=OZ(),MZ=typeof BC=="object"&&BC&&!BC.nodeType&&BC,KZ=MZ&&typeof Of=="object"&&Of&&!Of.nodeType&&Of,FMe=KZ&&KZ.exports===MZ,UZ=FMe?DMe.Buffer:void 0,NMe=UZ?UZ.isBuffer:void 0,LMe=NMe||RMe;Of.exports=LMe});var jZ=w((Qut,HZ)=>{var TMe=Wc(),OMe=e0(),MMe=ta(),KMe="[object Arguments]",UMe="[object Array]",HMe="[object Boolean]",jMe="[object Date]",GMe="[object Error]",YMe="[object Function]",qMe="[object Map]",JMe="[object Number]",WMe="[object Object]",zMe="[object RegExp]",_Me="[object Set]",VMe="[object String]",XMe="[object WeakMap]",ZMe="[object ArrayBuffer]",$Me="[object DataView]",e1e="[object Float32Array]",t1e="[object Float64Array]",r1e="[object Int8Array]",i1e="[object Int16Array]",n1e="[object Int32Array]",s1e="[object Uint8Array]",o1e="[object Uint8ClampedArray]",a1e="[object Uint16Array]",A1e="[object Uint32Array]",wr={};wr[e1e]=wr[t1e]=wr[r1e]=wr[i1e]=wr[n1e]=wr[s1e]=wr[o1e]=wr[a1e]=wr[A1e]=!0;wr[KMe]=wr[UMe]=wr[ZMe]=wr[HMe]=wr[$Me]=wr[jMe]=wr[GMe]=wr[YMe]=wr[qMe]=wr[JMe]=wr[WMe]=wr[zMe]=wr[_Me]=wr[VMe]=wr[XMe]=!1;function l1e(r){return MMe(r)&&OMe(r.length)&&!!wr[TMe(r)]}HZ.exports=l1e});var c0=w((Sut,GZ)=>{function c1e(r){return function(e){return r(e)}}GZ.exports=c1e});var u0=w((QC,Mf)=>{var u1e=rk(),YZ=typeof QC=="object"&&QC&&!QC.nodeType&&QC,SC=YZ&&typeof Mf=="object"&&Mf&&!Mf.nodeType&&Mf,g1e=SC&&SC.exports===YZ,ZR=g1e&&u1e.process,f1e=function(){try{var r=SC&&SC.require&&SC.require("util").types;return r||ZR&&ZR.binding&&ZR.binding("util")}catch(e){}}();Mf.exports=f1e});var g0=w((vut,qZ)=>{var h1e=jZ(),p1e=c0(),JZ=u0(),WZ=JZ&&JZ.isTypedArray,d1e=WZ?p1e(WZ):h1e;qZ.exports=d1e});var $R=w((xut,zZ)=>{var C1e=LZ(),m1e=dC(),E1e=Ks(),I1e=bC(),y1e=pC(),w1e=g0(),B1e=Object.prototype,b1e=B1e.hasOwnProperty;function Q1e(r,e){var t=E1e(r),i=!t&&m1e(r),n=!t&&!i&&I1e(r),s=!t&&!i&&!n&&w1e(r),o=t||i||n||s,a=o?C1e(r.length,String):[],l=a.length;for(var c in r)(e||b1e.call(r,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||y1e(c,l)))&&a.push(c);return a}zZ.exports=Q1e});var f0=w((kut,_Z)=>{var S1e=Object.prototype;function v1e(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||S1e;return r===t}_Z.exports=v1e});var eF=w((Put,VZ)=>{function x1e(r,e){return function(t){return r(e(t))}}VZ.exports=x1e});var ZZ=w((Dut,XZ)=>{var k1e=eF(),P1e=k1e(Object.keys,Object);XZ.exports=P1e});var e$=w((Rut,$Z)=>{var D1e=f0(),R1e=ZZ(),F1e=Object.prototype,N1e=F1e.hasOwnProperty;function L1e(r){if(!D1e(r))return R1e(r);var e=[];for(var t in Object(r))N1e.call(r,t)&&t!="constructor"&&e.push(t);return e}$Z.exports=L1e});var vC=w((Fut,t$)=>{var T1e=VB(),O1e=e0();function M1e(r){return r!=null&&O1e(r.length)&&!T1e(r)}t$.exports=M1e});var Kf=w((Nut,r$)=>{var K1e=$R(),U1e=e$(),H1e=vC();function j1e(r){return H1e(r)?K1e(r):U1e(r)}r$.exports=j1e});var tF=w((Lut,i$)=>{var G1e=XR(),Y1e=Kf();function q1e(r,e){return r&&G1e(r,e,Y1e)}i$.exports=q1e});var s$=w((Tut,n$)=>{var J1e=gC();function W1e(){this.__data__=new J1e,this.size=0}n$.exports=W1e});var a$=w((Out,o$)=>{function z1e(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}o$.exports=z1e});var l$=w((Mut,A$)=>{function _1e(r){return this.__data__.get(r)}A$.exports=_1e});var u$=w((Kut,c$)=>{function V1e(r){return this.__data__.has(r)}c$.exports=V1e});var f$=w((Uut,g$)=>{var X1e=gC(),Z1e=XB(),$1e=ZB(),eKe=200;function tKe(r,e){var t=this.__data__;if(t instanceof X1e){var i=t.__data__;if(!Z1e||i.length{var rKe=gC(),iKe=s$(),nKe=a$(),sKe=l$(),oKe=u$(),aKe=f$();function Uf(r){var e=this.__data__=new rKe(r);this.size=e.size}Uf.prototype.clear=iKe;Uf.prototype.delete=nKe;Uf.prototype.get=sKe;Uf.prototype.has=oKe;Uf.prototype.set=aKe;h$.exports=Uf});var d$=w((jut,p$)=>{var AKe="__lodash_hash_undefined__";function lKe(r){return this.__data__.set(r,AKe),this}p$.exports=lKe});var m$=w((Gut,C$)=>{function cKe(r){return this.__data__.has(r)}C$.exports=cKe});var I$=w((Yut,E$)=>{var uKe=ZB(),gKe=d$(),fKe=m$();function h0(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new uKe;++e{function hKe(r,e){for(var t=-1,i=r==null?0:r.length;++t{function pKe(r,e){return r.has(e)}B$.exports=pKe});var rF=w((Wut,Q$)=>{var dKe=I$(),CKe=w$(),mKe=b$(),EKe=1,IKe=2;function yKe(r,e,t,i,n,s){var o=t&EKe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&IKe?new dKe:void 0;for(s.set(r,e),s.set(e,r);++g{var wKe=Ns(),BKe=wKe.Uint8Array;S$.exports=BKe});var x$=w((_ut,v$)=>{function bKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}v$.exports=bKe});var P$=w((Vut,k$)=>{function QKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}k$.exports=QKe});var L$=w((Xut,D$)=>{var R$=Jc(),F$=iF(),SKe=Pf(),vKe=rF(),xKe=x$(),kKe=P$(),PKe=1,DKe=2,RKe="[object Boolean]",FKe="[object Date]",NKe="[object Error]",LKe="[object Map]",TKe="[object Number]",OKe="[object RegExp]",MKe="[object Set]",KKe="[object String]",UKe="[object Symbol]",HKe="[object ArrayBuffer]",jKe="[object DataView]",N$=R$?R$.prototype:void 0,nF=N$?N$.valueOf:void 0;function GKe(r,e,t,i,n,s,o){switch(t){case jKe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case HKe:return!(r.byteLength!=e.byteLength||!s(new F$(r),new F$(e)));case RKe:case FKe:case TKe:return SKe(+r,+e);case NKe:return r.name==e.name&&r.message==e.message;case OKe:case KKe:return r==e+"";case LKe:var a=xKe;case MKe:var l=i&PKe;if(a||(a=kKe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=DKe,o.set(r,e);var u=vKe(a(r),a(e),i,n,s,o);return o.delete(r),u;case UKe:if(nF)return nF.call(r)==nF.call(e)}return!1}D$.exports=GKe});var sF=w((Zut,T$)=>{var YKe=t0(),qKe=Ks();function JKe(r,e,t){var i=e(r);return qKe(r)?i:YKe(i,t(r))}T$.exports=JKe});var M$=w(($ut,O$)=>{function WKe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t{function zKe(){return[]}K$.exports=zKe});var p0=w((tgt,U$)=>{var _Ke=M$(),VKe=oF(),XKe=Object.prototype,ZKe=XKe.propertyIsEnumerable,H$=Object.getOwnPropertySymbols,$Ke=H$?function(r){return r==null?[]:(r=Object(r),_Ke(H$(r),function(e){return ZKe.call(r,e)}))}:VKe;U$.exports=$Ke});var aF=w((rgt,j$)=>{var eUe=sF(),tUe=p0(),rUe=Kf();function iUe(r){return eUe(r,rUe,tUe)}j$.exports=iUe});var q$=w((igt,G$)=>{var Y$=aF(),nUe=1,sUe=Object.prototype,oUe=sUe.hasOwnProperty;function aUe(r,e,t,i,n,s){var o=t&nUe,a=Y$(r),l=a.length,c=Y$(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:oUe.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var m=!0;s.set(r,e),s.set(e,r);for(var y=o;++g{var AUe=Rl(),lUe=Ns(),cUe=AUe(lUe,"DataView");J$.exports=cUe});var _$=w((sgt,z$)=>{var uUe=Rl(),gUe=Ns(),fUe=uUe(gUe,"Promise");z$.exports=fUe});var X$=w((ogt,V$)=>{var hUe=Rl(),pUe=Ns(),dUe=hUe(pUe,"Set");V$.exports=dUe});var $$=w((agt,Z$)=>{var CUe=Rl(),mUe=Ns(),EUe=CUe(mUe,"WeakMap");Z$.exports=EUe});var kC=w((Agt,eee)=>{var AF=W$(),lF=XB(),cF=_$(),uF=X$(),gF=$$(),tee=Wc(),Hf=SR(),ree="[object Map]",IUe="[object Object]",iee="[object Promise]",nee="[object Set]",see="[object WeakMap]",oee="[object DataView]",yUe=Hf(AF),wUe=Hf(lF),BUe=Hf(cF),bUe=Hf(uF),QUe=Hf(gF),hu=tee;(AF&&hu(new AF(new ArrayBuffer(1)))!=oee||lF&&hu(new lF)!=ree||cF&&hu(cF.resolve())!=iee||uF&&hu(new uF)!=nee||gF&&hu(new gF)!=see)&&(hu=function(r){var e=tee(r),t=e==IUe?r.constructor:void 0,i=t?Hf(t):"";if(i)switch(i){case yUe:return oee;case wUe:return ree;case BUe:return iee;case bUe:return nee;case QUe:return see}return e});eee.exports=hu});var hee=w((lgt,aee)=>{var fF=xC(),SUe=rF(),vUe=L$(),xUe=q$(),Aee=kC(),lee=Ks(),cee=bC(),kUe=g0(),PUe=1,uee="[object Arguments]",gee="[object Array]",d0="[object Object]",DUe=Object.prototype,fee=DUe.hasOwnProperty;function RUe(r,e,t,i,n,s){var o=lee(r),a=lee(e),l=o?gee:Aee(r),c=a?gee:Aee(e);l=l==uee?d0:l,c=c==uee?d0:c;var u=l==d0,g=c==d0,f=l==c;if(f&&cee(r)){if(!cee(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new fF),o||kUe(r)?SUe(r,e,t,i,n,s):vUe(r,e,l,t,i,n,s);if(!(t&PUe)){var h=u&&fee.call(r,"__wrapped__"),p=g&&fee.call(e,"__wrapped__");if(h||p){var m=h?r.value():r,y=p?e.value():e;return s||(s=new fF),n(m,y,t,i,s)}}return f?(s||(s=new fF),xUe(r,e,t,i,n,s)):!1}aee.exports=RUe});var hF=w((cgt,pee)=>{var FUe=hee(),dee=ta();function Cee(r,e,t,i,n){return r===e?!0:r==null||e==null||!dee(r)&&!dee(e)?r!==r&&e!==e:FUe(r,e,t,i,Cee,n)}pee.exports=Cee});var Eee=w((ugt,mee)=>{var NUe=xC(),LUe=hF(),TUe=1,OUe=2;function MUe(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n{var KUe=Rn();function UUe(r){return r===r&&!KUe(r)}Iee.exports=UUe});var wee=w((fgt,yee)=>{var HUe=pF(),jUe=Kf();function GUe(r){for(var e=jUe(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,HUe(n)]}return e}yee.exports=GUe});var dF=w((hgt,Bee)=>{function YUe(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}Bee.exports=YUe});var Qee=w((pgt,bee)=>{var qUe=Eee(),JUe=wee(),WUe=dF();function zUe(r){var e=JUe(r);return e.length==1&&e[0][2]?WUe(e[0][0],e[0][1]):function(t){return t===r||qUe(t,r,e)}}bee.exports=zUe});var C0=w((dgt,See)=>{var _Ue=hC();function VUe(r,e,t){var i=r==null?void 0:_Ue(r,e);return i===void 0?t:i}See.exports=VUe});var xee=w((Cgt,vee)=>{var XUe=hF(),ZUe=C0(),$Ue=DR(),e2e=_B(),t2e=pF(),r2e=dF(),i2e=gu(),n2e=1,s2e=2;function o2e(r,e){return e2e(r)&&t2e(e)?r2e(i2e(r),e):function(t){var i=ZUe(t,r);return i===void 0&&i===e?$Ue(t,r):XUe(e,i,n2e|s2e)}}vee.exports=o2e});var Pee=w((mgt,kee)=>{function a2e(r){return function(e){return e==null?void 0:e[r]}}kee.exports=a2e});var Ree=w((Egt,Dee)=>{var A2e=hC();function l2e(r){return function(e){return A2e(e,r)}}Dee.exports=l2e});var Nee=w((Igt,Fee)=>{var c2e=Pee(),u2e=Ree(),g2e=_B(),f2e=gu();function h2e(r){return g2e(r)?c2e(f2e(r)):u2e(r)}Fee.exports=h2e});var CF=w((ygt,Lee)=>{var p2e=Qee(),d2e=xee(),C2e=r0(),m2e=Ks(),E2e=Nee();function I2e(r){return typeof r=="function"?r:r==null?C2e:typeof r=="object"?m2e(r)?d2e(r[0],r[1]):p2e(r):E2e(r)}Lee.exports=I2e});var mF=w((wgt,Tee)=>{var y2e=Nf(),w2e=tF(),B2e=CF();function b2e(r,e){var t={};return e=B2e(e,3),w2e(r,function(i,n,s){y2e(t,n,e(i,n,s))}),t}Tee.exports=b2e});var PC=w((Bgt,Oee)=>{"use strict";function pu(r){this._maxSize=r,this.clear()}pu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};pu.prototype.get=function(r){return this._values[r]};pu.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var Q2e=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Mee=/^\d+$/,S2e=/^\d/,v2e=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,x2e=/^\s*(['"]?)(.*?)(\1)\s*$/,EF=512,Kee=new pu(EF),Uee=new pu(EF),Hee=new pu(EF);Oee.exports={Cache:pu,split:yF,normalizePath:IF,setter:function(r){var e=IF(r);return Uee.get(r)||Uee.set(r,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(DC,"__esModule",{value:!0});DC.create=F2e;DC.default=void 0;var N2e=PC(),m0={context:"$",value:"."};function F2e(r,e){return new E0(r,e)}var E0=class{constructor(e,t={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===m0.context,this.isValue=this.key[0]===m0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?m0.context:this.isValue?m0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,N2e.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};DC.default=E0;E0.prototype.__isYupRef=!0});var jee=w(BF=>{"use strict";Object.defineProperty(BF,"__esModule",{value:!0});BF.default=L2e;var T2e=bF(mF()),I0=bF(fu()),O2e=bF(du());function bF(r){return r&&r.__esModule?r:{default:r}}function y0(){return y0=Object.assign||function(r){for(var e=1;e=0)&&(t[n]=r[n]);return t}function L2e(r){function e(t,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=t,u=M2e(t,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=r,{parent:m,context:y}=a;function b(Y){return O2e.default.isRef(Y)?Y.getValue(n,m,y):Y}function v(Y={}){let $=(0,T2e.default)(y0({value:n,originalValue:l,label:o,path:Y.path||s},h,Y.params),b),_=new I0.default(I0.default.formatError(Y.message||p,$),n,$.path,Y.type||g);return _.params=$,_}let x=y0({path:s,parent:m,type:g,createError:v,resolve:b,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(x,n,x)).then(Y=>{I0.default.isError(Y)?i(Y):Y?i(null,Y):i(v())})}catch(Y){i(Y)}return}let T;try{var q;if(T=f.call(x,n,x),typeof((q=T)==null?void 0:q.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(Y){i(Y);return}I0.default.isError(T)?i(T):T?i(null,T):i(v())}return e.OPTIONS=r,e}});var QF=w(RC=>{"use strict";Object.defineProperty(RC,"__esModule",{value:!0});RC.getIn=Gee;RC.default=void 0;var K2e=PC(),U2e=r=>r.substr(0,r.length-1).substr(1);function Gee(r,e,t,i=t){let n,s,o;return e?((0,K2e.forEach)(e,(a,l,c)=>{let u=l?U2e(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${r._type}")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var H2e=(r,e,t,i)=>Gee(r,e,t,i).schema,j2e=H2e;RC.default=j2e});var qee=w(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});w0.default=void 0;var Yee=G2e(du());function G2e(r){return r&&r.__esModule?r:{default:r}}var B0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){Yee.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){Yee.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new B0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};w0.default=B0});var EA=w(b0=>{"use strict";Object.defineProperty(b0,"__esModule",{value:!0});b0.default=void 0;var Jee=mA(hZ()),jf=CA(),Y2e=mA(kZ()),Wee=mA(l0()),Q0=mA(jee()),zee=mA(IC()),q2e=mA(du()),J2e=QF(),W2e=mA(WR()),_ee=mA(fu()),Vee=mA(qee());function mA(r){return r&&r.__esModule?r:{default:r}}function Js(){return Js=Object.assign||function(r){for(var e=1;e{this.typeError(jf.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Js({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Js({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,Jee.default)(Js({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Js({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Js({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,zee.default)(e),o=(0,zee.default)(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Js({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,Wee.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,Wee.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Js({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Js({},t,{value:e})),n;return i._validate(e,Js({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(_ee.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(_ee.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Jee.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=jf.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=jf.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=jf.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,Q0.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,W2e.default)(e).map(s=>new q2e.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new Y2e.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,Q0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=jf.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,Q0.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=jf.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,Q0.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};b0.default=ua;ua.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])ua.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,J2e.getIn)(this,e,t,i.context);return o[r](n&&n[s],Js({},i,{parent:n,path:e}))};for(let r of["equals","is"])ua.prototype[r]=ua.prototype.oneOf;for(let r of["not","nope"])ua.prototype[r]=ua.prototype.notOneOf;ua.prototype.optional=ua.prototype.notRequired});var Zee=w(FC=>{"use strict";Object.defineProperty(FC,"__esModule",{value:!0});FC.create=Xee;FC.default=void 0;var _2e=z2e(EA());function z2e(r){return r&&r.__esModule?r:{default:r}}var SF=_2e.default,V2e=SF;FC.default=V2e;function Xee(){return new SF}Xee.prototype=SF.prototype});var Gf=w(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});S0.default=void 0;var X2e=r=>r==null;S0.default=X2e});var ite=w(NC=>{"use strict";Object.defineProperty(NC,"__esModule",{value:!0});NC.create=$ee;NC.default=void 0;var Z2e=ete(EA()),tte=CA(),rte=ete(Gf());function ete(r){return r&&r.__esModule?r:{default:r}}function $ee(){return new v0}var v0=class extends Z2e.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=tte.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return(0,rte.default)(t)||t===!0}})}isFalse(e=tte.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return(0,rte.default)(t)||t===!1}})}};NC.default=v0;$ee.prototype=v0.prototype});var ote=w(LC=>{"use strict";Object.defineProperty(LC,"__esModule",{value:!0});LC.create=nte;LC.default=void 0;var ga=CA(),IA=ste(Gf()),$2e=ste(EA());function ste(r){return r&&r.__esModule?r:{default:r}}var eHe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,tHe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,rHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,iHe=r=>(0,IA.default)(r)||r===r.trim(),nHe={}.toString();function nte(){return new x0}var x0=class extends $2e.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===nHe?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=ga.string.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,IA.default)(i)||i.length===this.resolve(e)}})}min(e,t=ga.string.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,IA.default)(i)||i.length>=this.resolve(e)}})}max(e,t=ga.string.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(i){return(0,IA.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t=="object"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||"matches",message:n||ga.string.matches,params:{regex:e},test:o=>(0,IA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=ga.string.email){return this.matches(eHe,{name:"email",message:e,excludeEmptyString:!0})}url(e=ga.string.url){return this.matches(tHe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ga.string.uuid){return this.matches(rHe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ga.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:iHe})}lowercase(e=ga.string.lowercase){return this.transform(t=>(0,IA.default)(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,IA.default)(t)||t===t.toLowerCase()})}uppercase(e=ga.string.uppercase){return this.transform(t=>(0,IA.default)(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,IA.default)(t)||t===t.toUpperCase()})}};LC.default=x0;nte.prototype=x0.prototype});var lte=w(TC=>{"use strict";Object.defineProperty(TC,"__esModule",{value:!0});TC.create=ate;TC.default=void 0;var Cu=CA(),mu=Ate(Gf()),sHe=Ate(EA());function Ate(r){return r&&r.__esModule?r:{default:r}}var oHe=r=>r!=+r;function ate(){return new k0}var k0=class extends sHe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t=="string"){if(t=t.replace(/\s/g,""),t==="")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!oHe(e)}min(e,t=Cu.number.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,mu.default)(i)||i>=this.resolve(e)}})}max(e,t=Cu.number.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,mu.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=Cu.number.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(i){return(0,mu.default)(i)||ithis.resolve(e)}})}positive(e=Cu.number.positive){return this.moreThan(0,e)}negative(e=Cu.number.negative){return this.lessThan(0,e)}integer(e=Cu.number.integer){return this.test({name:"integer",message:e,test:t=>(0,mu.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,mu.default)(e)?e:e|0)}round(e){var t,i=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,mu.default)(n)?n:Math[e](n))}};TC.default=k0;ate.prototype=k0.prototype});var cte=w(vF=>{"use strict";Object.defineProperty(vF,"__esModule",{value:!0});vF.default=aHe;var AHe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function aHe(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=AHe.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]==="+"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var fte=w(OC=>{"use strict";Object.defineProperty(OC,"__esModule",{value:!0});OC.create=xF;OC.default=void 0;var lHe=P0(cte()),ute=CA(),gte=P0(Gf()),cHe=P0(du()),uHe=P0(EA());function P0(r){return r&&r.__esModule?r:{default:r}}var kF=new Date(""),gHe=r=>Object.prototype.toString.call(r)==="[object Date]";function xF(){return new MC}var MC=class extends uHe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,lHe.default)(e),isNaN(e)?kF:new Date(e))})})}_typeCheck(e){return gHe(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(cHe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,t=ute.date.min){let i=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(n){return(0,gte.default)(n)||n>=this.resolve(i)}})}max(e,t=ute.date.max){var i=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(n){return(0,gte.default)(n)||n<=this.resolve(i)}})}};OC.default=MC;MC.INVALID_DATE=kF;xF.prototype=MC.prototype;xF.INVALID_DATE=kF});var pte=w((Tgt,hte)=>{function fHe(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n{function hHe(r){return function(e){return r==null?void 0:r[e]}}dte.exports=hHe});var Ete=w((Mgt,mte)=>{var pHe=Cte(),dHe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},CHe=pHe(dHe);mte.exports=CHe});var yte=w((Kgt,Ite)=>{var mHe=Ete(),EHe=lf(),IHe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yHe="\\u0300-\\u036f",wHe="\\ufe20-\\ufe2f",BHe="\\u20d0-\\u20ff",bHe=yHe+wHe+BHe,QHe="["+bHe+"]",SHe=RegExp(QHe,"g");function vHe(r){return r=EHe(r),r&&r.replace(IHe,mHe).replace(SHe,"")}Ite.exports=vHe});var Bte=w((Ugt,wte)=>{var xHe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function kHe(r){return r.match(xHe)||[]}wte.exports=kHe});var Qte=w((Hgt,bte)=>{var PHe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function DHe(r){return PHe.test(r)}bte.exports=DHe});var Yte=w((jgt,Ste)=>{var vte="\\ud800-\\udfff",RHe="\\u0300-\\u036f",FHe="\\ufe20-\\ufe2f",NHe="\\u20d0-\\u20ff",LHe=RHe+FHe+NHe,xte="\\u2700-\\u27bf",kte="a-z\\xdf-\\xf6\\xf8-\\xff",THe="\\xac\\xb1\\xd7\\xf7",OHe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",MHe="\\u2000-\\u206f",KHe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pte="A-Z\\xc0-\\xd6\\xd8-\\xde",UHe="\\ufe0e\\ufe0f",Dte=THe+OHe+MHe+KHe,Rte="['\u2019]",Fte="["+Dte+"]",HHe="["+LHe+"]",Nte="\\d+",jHe="["+xte+"]",Lte="["+kte+"]",Tte="[^"+vte+Dte+Nte+xte+kte+Pte+"]",GHe="\\ud83c[\\udffb-\\udfff]",YHe="(?:"+HHe+"|"+GHe+")",qHe="[^"+vte+"]",Ote="(?:\\ud83c[\\udde6-\\uddff]){2}",Mte="[\\ud800-\\udbff][\\udc00-\\udfff]",Yf="["+Pte+"]",JHe="\\u200d",Kte="(?:"+Lte+"|"+Tte+")",WHe="(?:"+Yf+"|"+Tte+")",Ute="(?:"+Rte+"(?:d|ll|m|re|s|t|ve))?",Hte="(?:"+Rte+"(?:D|LL|M|RE|S|T|VE))?",jte=YHe+"?",Gte="["+UHe+"]?",zHe="(?:"+JHe+"(?:"+[qHe,Ote,Mte].join("|")+")"+Gte+jte+")*",_He="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",VHe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",XHe=Gte+jte+zHe,ZHe="(?:"+[jHe,Ote,Mte].join("|")+")"+XHe,$He=RegExp([Yf+"?"+Lte+"+"+Ute+"(?="+[Fte,Yf,"$"].join("|")+")",WHe+"+"+Hte+"(?="+[Fte,Yf+Kte,"$"].join("|")+")",Yf+"?"+Kte+"+"+Ute,Yf+"+"+Hte,VHe,_He,Nte,ZHe].join("|"),"g");function eje(r){return r.match($He)||[]}Ste.exports=eje});var Jte=w((Ggt,qte)=>{var tje=Bte(),rje=Qte(),ije=lf(),nje=Yte();function sje(r,e,t){return r=ije(r),e=t?void 0:e,e===void 0?rje(r)?nje(r):tje(r):r.match(e)||[]}qte.exports=sje});var PF=w((Ygt,Wte)=>{var oje=pte(),aje=yte(),Aje=Jte(),lje="['\u2019]",cje=RegExp(lje,"g");function uje(r){return function(e){return oje(Aje(aje(e).replace(cje,"")),r,"")}}Wte.exports=uje});var _te=w((qgt,zte)=>{var gje=PF(),fje=gje(function(r,e,t){return r+(t?"_":"")+e.toLowerCase()});zte.exports=fje});var Xte=w((Jgt,Vte)=>{var hje=Zw(),pje=PF(),dje=pje(function(r,e,t){return e=e.toLowerCase(),r+(t?hje(e):e)});Vte.exports=dje});var $te=w((Wgt,Zte)=>{var Cje=Nf(),mje=tF(),Eje=CF();function Ije(r,e){var t={};return e=Eje(e,3),mje(r,function(i,n,s){Cje(t,e(i,n,s),i)}),t}Zte.exports=Ije});var tre=w((zgt,DF)=>{DF.exports=function(r){return ere(yje(r),r)};DF.exports.array=ere;function ere(r,e){var t=r.length,i=new Array(t),n={},s=t,o=wje(e),a=Bje(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(m){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function yje(r){for(var e=new Set,t=0,i=r.length;t{"use strict";Object.defineProperty(RF,"__esModule",{value:!0});RF.default=bje;var Qje=D0(yC()),Sje=D0(tre()),vje=PC(),xje=D0(du()),kje=D0(Tf());function D0(r){return r&&r.__esModule?r:{default:r}}function bje(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,vje.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,Qje.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),xje.default.isRef(o)&&o.isSibling?n(o.path,s):(0,kje.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return Sje.default.array(i,t).reverse()}});var nre=w(FF=>{"use strict";Object.defineProperty(FF,"__esModule",{value:!0});FF.default=Pje;function ire(r,e){let t=Infinity;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function Pje(r){return(e,t)=>ire(r,e)-ire(r,t)}});var ure=w(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});KC.create=sre;KC.default=void 0;var ore=fa(yC()),are=fa(_te()),Dje=fa(Xte()),Rje=fa($te()),Fje=fa(mF()),Nje=PC(),Are=CA(),Lje=fa(rre()),lre=fa(nre()),Tje=fa(l0()),Oje=fa(fu()),NF=fa(EA());function fa(r){return r&&r.__esModule?r:{default:r}}function qf(){return qf=Object.assign||function(r){for(var e=1;eObject.prototype.toString.call(r)==="[object Object]";function Mje(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var Kje=(0,lre.default)([]),R0=class extends NF.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=Kje,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return cre(e)||typeof e=="function"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=qf({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,ore.default)(n,g);if(f){let p,m=n[g];c.path=(t.path?`${t.path}.`:"")+g,f=f.resolve({value:m,context:t.context,parent:l});let y="spec"in f?f.spec:void 0,b=y==null?void 0:y.strict;if(y==null?void 0:y.strip){u=u||g in n;continue}p=!t.__validating||!b?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!Oje.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!cre(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let y=h.indexOf(".")===-1?(t.path?`${t.path}.`:"")+h:`${t.path||""}["${h}"]`,b=this.fields[h];if(b&&"validate"in b){b.validate(g[h],qf({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,Tje.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=qf({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof NF.default&&s instanceof NF.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,lre.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,Lje.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,Nje.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,ore.default)(s,e)&&(o=qf({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=Are.object.noUnknown){typeof e=="string"&&(t=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=Mje(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=Are.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,Rje.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(Dje.default)}snakeCase(){return this.transformKeys(are.default)}constantCase(){return this.transformKeys(e=>(0,are.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Fje.default)(this.fields,t=>t.describe()),e}};KC.default=R0;function sre(r){return new R0(r)}sre.prototype=R0.prototype});var fre=w(UC=>{"use strict";Object.defineProperty(UC,"__esModule",{value:!0});UC.create=gre;UC.default=void 0;var LF=Jf(Gf()),Uje=Jf(Tf()),Hje=Jf(IC()),TF=CA(),jje=Jf(l0()),Gje=Jf(fu()),Yje=Jf(EA());function Jf(r){return r&&r.__esModule?r:{default:r}}function F0(){return F0=Object.assign||function(r){for(var e=1;e{this.transform(function(t){if(typeof t=="string")try{t=JSON.parse(t)}catch(i){t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,F0({},t,{path:`${t.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!Gje.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let m=new Array(p.length);for(let y=0;yc.validate(b,x,q)}(0,jje.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,Uje.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,Hje.default)(e));return t.innerType=e,t}length(e,t=TF.array.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,LF.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||TF.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,LF.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||TF.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,LF.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};UC.default=N0;gre.prototype=N0.prototype});var hre=w(HC=>{"use strict";Object.defineProperty(HC,"__esModule",{value:!0});HC.create=qje;HC.default=void 0;var Wje=Jje(Tf());function Jje(r){return r&&r.__esModule?r:{default:r}}function qje(r){return new OF(r)}var OF=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,Wje.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},zje=OF;HC.default=zje});var pre=w(MF=>{"use strict";Object.defineProperty(MF,"__esModule",{value:!0});MF.default=_je;var Xje=Vje(CA());function Vje(r){return r&&r.__esModule?r:{default:r}}function _je(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{Xje.default[e][t]=r[e][t]})})}});var UF=w(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.addMethod=Zje;Object.defineProperty(Br,"MixedSchema",{enumerable:!0,get:function(){return dre.default}});Object.defineProperty(Br,"mixed",{enumerable:!0,get:function(){return dre.create}});Object.defineProperty(Br,"BooleanSchema",{enumerable:!0,get:function(){return KF.default}});Object.defineProperty(Br,"bool",{enumerable:!0,get:function(){return KF.create}});Object.defineProperty(Br,"boolean",{enumerable:!0,get:function(){return KF.create}});Object.defineProperty(Br,"StringSchema",{enumerable:!0,get:function(){return Cre.default}});Object.defineProperty(Br,"string",{enumerable:!0,get:function(){return Cre.create}});Object.defineProperty(Br,"NumberSchema",{enumerable:!0,get:function(){return mre.default}});Object.defineProperty(Br,"number",{enumerable:!0,get:function(){return mre.create}});Object.defineProperty(Br,"DateSchema",{enumerable:!0,get:function(){return Ere.default}});Object.defineProperty(Br,"date",{enumerable:!0,get:function(){return Ere.create}});Object.defineProperty(Br,"ObjectSchema",{enumerable:!0,get:function(){return Ire.default}});Object.defineProperty(Br,"object",{enumerable:!0,get:function(){return Ire.create}});Object.defineProperty(Br,"ArraySchema",{enumerable:!0,get:function(){return yre.default}});Object.defineProperty(Br,"array",{enumerable:!0,get:function(){return yre.create}});Object.defineProperty(Br,"ref",{enumerable:!0,get:function(){return $je.create}});Object.defineProperty(Br,"lazy",{enumerable:!0,get:function(){return eGe.create}});Object.defineProperty(Br,"ValidationError",{enumerable:!0,get:function(){return tGe.default}});Object.defineProperty(Br,"reach",{enumerable:!0,get:function(){return rGe.default}});Object.defineProperty(Br,"isSchema",{enumerable:!0,get:function(){return wre.default}});Object.defineProperty(Br,"setLocale",{enumerable:!0,get:function(){return iGe.default}});Object.defineProperty(Br,"BaseSchema",{enumerable:!0,get:function(){return nGe.default}});var dre=Eu(Zee()),KF=Eu(ite()),Cre=Eu(ote()),mre=Eu(lte()),Ere=Eu(fte()),Ire=Eu(ure()),yre=Eu(fre()),$je=du(),eGe=hre(),tGe=jC(fu()),rGe=jC(QF()),wre=jC(Tf()),iGe=jC(pre()),nGe=jC(EA());function jC(r){return r&&r.__esModule?r:{default:r}}function Bre(){if(typeof WeakMap!="function")return null;var r=new WeakMap;return Bre=function(){return r},r}function Eu(r){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var e=Bre();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function Zje(r,e,t){if(!r||!(0,wre.default)(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}});var xre=w((hft,YC)=>{"use strict";var aGe=process.env.TERM_PROGRAM==="Hyper",AGe=process.platform==="win32",Qre=process.platform==="linux",HF={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Sre=Object.assign({},HF,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),vre=Object.assign({},HF,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Qre?"\u25B8":"\u276F",pointerSmall:Qre?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});YC.exports=AGe&&!aGe?Sre:vre;Reflect.defineProperty(YC.exports,"common",{enumerable:!1,value:HF});Reflect.defineProperty(YC.exports,"windows",{enumerable:!1,value:Sre});Reflect.defineProperty(YC.exports,"other",{enumerable:!1,value:vre})});var Eo=w((pft,jF)=>{"use strict";var lGe=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),cGe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,kre=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(r.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(r.enabled===!1)return s;if(r.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),r.ansiRegex=cGe,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o=="string"?r[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!lGe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias("unstyle",s=>typeof s=="string"&&s!==""?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,"")):""),r.alias("noop",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=xre(),r.define=n,r};jF.exports=kre();jF.exports.create=kre});var Xi=w(Lt=>{"use strict";var uGe=Object.prototype.toString,Ws=Eo(),Pre=!1,GF=[],Dre={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Lt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Lt.hasColor=r=>!!r&&Ws.hasColor(r);var T0=Lt.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);Lt.nativeType=r=>uGe.call(r).slice(8,-1).toLowerCase().replace(/\s/g,"");Lt.isAsyncFn=r=>Lt.nativeType(r)==="asyncfunction";Lt.isPrimitive=r=>r!=null&&typeof r!="object"&&typeof r!="function";Lt.resolve=(r,e,...t)=>typeof e=="function"?e.call(r,...t):e;Lt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Lt.scrollUp=(r=[])=>[r.pop(),...r];Lt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Lt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[0]),process.platform==="win32"?t-1:t};Lt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[1]),t};Lt.wordWrap=(r,e={})=>{if(!r)return r;typeof e=="number"&&(e={width:e});let{indent:t="",newline:i=` +`+t,width:n=80}=e;n-=((i+t).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),t+c.join(i)};Lt.unmute=r=>{let e=r.stack.find(i=>Ws.keys.color.includes(i));return e?Ws[e]:r.stack.find(i=>i.slice(2)==="bg")?Ws[e.slice(2)]:i=>i};Lt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):"";Lt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ws.keys.color.includes(i));if(e){let i=Ws["bg"+Lt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)==="bg");return t?Ws[t.slice(2).toLowerCase()]||r:Ws.none};Lt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ws.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)==="bg");if(e&&!t)return Ws[Dre[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=Dre[i];return n&&Ws["bg"+Lt.pascal(n)]||r}return Ws.none};Lt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=t<10?"0"+t:t;return n+":"+s+" "+i};Lt.set=(r={},e="",t)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Lt.isObject(a)&&s{let i=r[e]==null?e.split(".").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Lt.mixin=(r,e)=>{if(!T0(r))return e;if(!T0(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty("value"))if(r.hasOwnProperty(t)&&T0(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);T0(n.value)?r[t]=Lt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Lt.merge=(...r)=>{let e={};for(let t of r)Lt.mixin(e,t);return e};Lt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n=="function"?Lt.define(r,i,n.bind(e)):Lt.define(r,i,n)}};Lt.onExit=r=>{let e=(t,i)=>{Pre||(Pre=!0,GF.forEach(n=>n()),t===!0&&process.exit(128+i))};GF.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),GF.push(r)};Lt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Lt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var Rre=w(zf=>{"use strict";zf.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};zf.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};zf.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};zf.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};zf.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Lre=w((mft,Fre)=>{"use strict";var Nre=require("readline"),gGe=Rre(),fGe=/^(?:\x1b)([a-zA-Z0-9])$/,hGe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,pGe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function dGe(r){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(r)}function CGe(r){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(r)}var O0=(r="",e={})=>{let t,i=N({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r},e);if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r=""+String(r)):r=String(r):r!==void 0&&typeof r!="string"?r=String(r):r||(r=i.sequence||""),i.sequence=i.sequence||r||i.name,r==="\r")i.raw=void 0,i.name="return";else if(r===` +`)i.name="enter";else if(r===" ")i.name="tab";else if(r==="\b"||r==="\x7F"||r==="\x7F"||r==="\b")i.name="backspace",i.meta=r.charAt(0)==="";else if(r===""||r==="")i.name="escape",i.meta=r.length===2;else if(r===" "||r===" ")i.name="space",i.meta=r.length===2;else if(r<="")i.name=String.fromCharCode(r.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>="0"&&r<="9")i.name="number";else if(r.length===1&&r>="a"&&r<="z")i.name=r;else if(r.length===1&&r>="A"&&r<="Z")i.name=r.toLowerCase(),i.shift=!0;else if(t=fGe.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=hGe.exec(r)){let n=[...r];n[0]===""&&n[1]===""&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=pGe[s],i.shift=dGe(s)||i.shift,i.ctrl=CGe(s)||i.ctrl}return i};O0.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error("Invalid stream passed");let i=Nre.createInterface({terminal:!0,input:t});Nre.emitKeypressEvents(t,i);let n=(a,l)=>e(a,O0(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on("keypress",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener("keypress",n),i.pause(),i.close()}};O0.action=(r,e,t)=>{let i=N(N({},gGe),t);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};Fre.exports=O0});var Ore=w((Eft,Tre)=>{"use strict";Tre.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i=="number"&&(i={interval:i}),mGe(r,t,i)}};function mGe(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),r.once("close",()=>i.stop()),i.stop}});var Ure=w((Ift,Mre)=>{"use strict";var{define:EGe,width:IGe}=Xi(),Kre=class{constructor(e){let t=e.options;EGe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=IGe(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=N({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t=="function"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Mre.exports=Kre});var jre=w((yft,Hre)=>{"use strict";var YF=Xi(),Ni=Eo(),qF={default:Ni.noop,noop:Ni.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||YF.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||YF.complement(this.primary)},primary:Ni.cyan,success:Ni.green,danger:Ni.magenta,strong:Ni.bold,warning:Ni.yellow,muted:Ni.dim,disabled:Ni.gray,dark:Ni.dim.gray,underline:Ni.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};qF.merge=(r={})=>{r.styles&&typeof r.styles.enabled=="boolean"&&(Ni.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible=="boolean"&&(Ni.visible=r.styles.visible);let e=YF.merge({},qF,r.styles);delete e.merge;for(let t of Object.keys(Ni))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Ni[t]});for(let t of Object.keys(Ni.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Ni[t]});return e};Hre.exports=qF});var Yre=w((wft,Gre)=>{"use strict";var JF=process.platform==="win32",yA=Eo(),yGe=Xi(),WF=te(N({},yA.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:yA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:yA.symbols.question,submitted:yA.symbols.check,cancelled:yA.symbols.cross},separator:{pending:yA.symbols.pointerSmall,submitted:yA.symbols.middot,cancelled:yA.symbols.middot},radio:{off:JF?"( )":"\u25EF",on:JF?"(*)":"\u25C9",disabled:JF?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});WF.merge=r=>{let e=yGe.merge({},yA.symbols,WF,r.symbols);return delete e.merge,e};Gre.exports=WF});var Jre=w((Bft,qre)=>{"use strict";var wGe=jre(),BGe=Yre(),bGe=Xi();qre.exports=r=>{r.options=bGe.merge({},r.options.theme,r.options),r.symbols=BGe.merge(r.options),r.styles=wGe.merge(r.options)}});var Xre=w((Wre,zre)=>{"use strict";var _re=process.env.TERM_PROGRAM==="Apple_Terminal",QGe=Eo(),zF=Xi(),Io=zre.exports=Wre,Lr="[",Vre="\x07",_F=!1,Fl=Io.code={bell:Vre,beep:Vre,beginning:`${Lr}G`,down:`${Lr}J`,esc:Lr,getPosition:`${Lr}6n`,hide:`${Lr}?25l`,line:`${Lr}2K`,lineEnd:`${Lr}K`,lineStart:`${Lr}1K`,restorePosition:Lr+(_re?"8":"u"),savePosition:Lr+(_re?"7":"s"),screen:`${Lr}2J`,show:`${Lr}?25h`,up:`${Lr}1J`},Iu=Io.cursor={get hidden(){return _F},hide(){return _F=!0,Fl.hide},show(){return _F=!1,Fl.show},forward:(r=1)=>`${Lr}${r}C`,backward:(r=1)=>`${Lr}${r}D`,nextLine:(r=1)=>`${Lr}E`.repeat(r),prevLine:(r=1)=>`${Lr}F`.repeat(r),up:(r=1)=>r?`${Lr}${r}A`:"",down:(r=1)=>r?`${Lr}${r}B`:"",right:(r=1)=>r?`${Lr}${r}C`:"",left:(r=1)=>r?`${Lr}${r}D`:"",to(r,e){return e?`${Lr}${e+1};${r+1}H`:`${Lr}${r+1}G`},move(r=0,e=0){let t="";return t+=r<0?Iu.left(-r):r>0?Iu.right(r):"",t+=e<0?Iu.up(-e):e>0?Iu.down(e):"",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=zF.isPrimitive(i)?String(i):"",n=zF.isPrimitive(n)?String(n):"",a=zF.isPrimitive(a)?String(a):"",o){let l=Io.cursor.up(o)+Io.cursor.to(s.length),c=n.length-t;return c>0&&(l+=Io.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Io.cursor.move(l)}}},VF=Io.erase={screen:Fl.screen,up:Fl.up,down:Fl.down,line:Fl.line,lineEnd:Fl.lineEnd,lineStart:Fl.lineStart,lines(r){let e="";for(let t=0;t{if(!e)return VF.line+Iu.to(0);let t=s=>[...QGe.unstyle(s)].length,i=r.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(VF.line+Iu.prevLine()).repeat(n-1)+VF.line+Iu.to(0)}});var _f=w((bft,Zre)=>{"use strict";var SGe=require("events"),$re=Eo(),XF=Lre(),vGe=Ore(),xGe=Ure(),kGe=Jre(),Tn=Xi(),yu=Xre(),M0=class extends SGe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,kGe(this),vGe(this),this.state=new xGe(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=DGe(this.options.margin),this.setMaxListeners(0),PGe(this)}async keypress(e,t={}){this.keypressed=!0;let i=XF.action(e,XF(e,t),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(yu.code.beep)}cursorHide(){this.stdout.write(yu.cursor.hide()),Tn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(yu.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",!(!t&&!e||this.options.show===!1)&&this.stdout.write(yu.cursor.down(e)+yu.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=yu.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=$re.unstyle(i);let n=$re.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(t?" "+t:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial=="function"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun=="function"&&await t.onRun.call(this,this),typeof t.onSubmit=="function"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,Tn.isObject(e)&&(e=e[i.status]||e.pending),Tn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Tn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Tn.isObject(s)&&(s=s[i.status]||s.pending),Tn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element("pointer",e,t);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Tn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,t){let i=await this.element("indicator",e,t);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Tn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Tn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return Tn.resolve(this,e,...t)}get base(){return M0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Tn.height(this.stdout,25)}get width(){return this.options.columns||Tn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function PGe(r){let e=n=>r[n]===void 0||typeof r[n]=="function",t=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s=="function"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!="function"&&(r[n]=s)}}function DGe(r){typeof r=="number"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}Zre.exports=M0});var rie=w((Qft,eie)=>{"use strict";var RGe=Xi(),tie={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return tie.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};eie.exports=(r,e={})=>{let t=RGe.merge({},tie,e.roles);return t[r]||t.default}});var qC=w((Sft,iie)=>{"use strict";var FGe=Eo(),NGe=_f(),LGe=rie(),K0=Xi(),{reorder:ZF,scrollUp:TGe,scrollDown:OGe,isObject:nie,swap:MGe}=K0,sie=class extends NGe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");nie(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=LGe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,K0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,FGe.unstyle(e.message).length));let o=N({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n=N({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedt.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return oie(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=ZF(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=ZF(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=ZF(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=TGe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=OGe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){MGe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(nie(e))return t?e[t]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=K0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t=="string"||typeof t=="number"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return oie(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function oie(r,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(K0.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}iie.exports=sie});var Nl=w((vft,aie)=>{"use strict";var KGe=qC(),$F=Xi(),Aie=class extends KGe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role==="heading"&&!$F.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);o&&!$F.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?($F.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let i=this.margin[0]+t.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};aie.exports=Aie});var uie=w((xft,lie)=>{"use strict";var UGe=Nl(),HGe=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},cie=class extends UGe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=HGe(this.input,e),i=this.choices;this.choices=i.map(n=>te(N({},n),{message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};lie.exports=cie});var tN=w((kft,gie)=>{"use strict";var eN=Xi();gie.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=eN.inverse(r.styles.primary),c=m=>l(r.styles.black(m)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=m=>m,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=eN.isPrimitive(i)?`${i}`:"",t=eN.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let m=r.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var U0=w((Pft,fie)=>{"use strict";var jGe=Eo(),GGe=Nl(),YGe=tN(),hie=class extends GGe{constructor(e){super(te(N({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===t,y=e.validate||(()=>!0),b=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let x=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,x,this.state)!==!0&&(T="danger");let Y=n[T](await this.indicator(e,t))+(e.pad||""),$=this.indent(e),_=()=>[$,Y,v+b,c,p].filter(Boolean).join(" ");if(i.submitted)return v=jGe.unstyle(v),c=g(c),p="",_();if(e.format)c=await e.format.call(this,c,e,t);else{let ne=this.styles.muted;c=YGe(this,{input:c,initial:o,pos:s,showCursor:m,color:ne})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,t)),m&&(v=f(v)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),_()}async submit(){return this.value=this.values,super.base.submit.call(this)}};fie.exports=hie});var rN=w((Dft,pie)=>{"use strict";var qGe=U0(),JGe=()=>{throw new Error("expected prompt to have a custom authenticate method")},die=(r=JGe)=>{class e extends qGe{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return die(i)}}return e};pie.exports=die()});var Eie=w((Rft,Cie)=>{"use strict";var WGe=rN();function zGe(r,e){return r.username===this.options.username&&r.password===this.options.password}var mie=(r=zGe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends WGe.create(r){constructor(n){super(te(N({},n),{choices:e}))}static create(n){return mie(n)}}return t};Cie.exports=mie()});var H0=w((Fft,Iie)=>{"use strict";var _Ge=_f(),{isPrimitive:VGe,hasColor:XGe}=Xi(),yie=class extends _Ge{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return VGe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return XGe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Iie.exports=yie});var bie=w((Nft,wie)=>{"use strict";var ZGe=H0(),Bie=class extends ZGe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};wie.exports=Bie});var vie=w((Lft,Qie)=>{"use strict";var $Ge=Nl(),eYe=U0(),Vf=eYe.prototype,Sie=class extends $Ge{constructor(e){super(te(N({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(t=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():Vf.dispatch.call(this,e,t)}append(e,t){return Vf.append.call(this,e,t)}delete(e,t){return Vf.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Vf.next.call(this):super.next()}prev(){return this.focused.editable?Vf.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||"",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?Vf.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!="function"||t.role==="heading")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Qie.exports=Sie});var wu=w((Tft,xie)=>{"use strict";var tYe=_f(),rYe=tN(),{isPrimitive:iYe}=Xi(),kie=class extends tYe{constructor(e){super(e);this.initial=iYe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name==="return"&&(!i||i.name!=="return")?this.append(` +`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):rYe(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};xie.exports=kie});var Die=w((Oft,Pie)=>{"use strict";var nYe=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),j0=r=>nYe(r).filter(Boolean);Pie.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:j0([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:j0([...s,t]),present:o};case"save":return{past:j0([...i,t]),present:""};case"remove":return o=j0(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var iN=w((Mft,Rie)=>{"use strict";var sYe=wu(),Fie=Die(),Nie=class extends sYe{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Fie(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Fie("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Rie.exports=Nie});var Oie=w((Kft,Lie)=>{"use strict";var oYe=wu(),Tie=class extends oYe{format(){return""}};Lie.exports=Tie});var Uie=w((Uft,Mie)=>{"use strict";var aYe=wu(),Kie=class extends aYe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Mie.exports=Kie});var Gie=w((Hft,Hie)=>{"use strict";var AYe=Nl(),jie=class extends AYe{constructor(e){super(te(N({},e),{multiple:!0}))}};Hie.exports=jie});var nN=w((jft,Yie)=>{"use strict";var lYe=wu(),qie=class extends lYe{constructor(e={}){super(N({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};Yie.exports=qie});var Wie=w((Gft,Jie)=>{Jie.exports=nN()});var Vie=w((Yft,zie)=>{"use strict";var cYe=wu(),_ie=class extends cYe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};zie.exports=_ie});var ene=w((qft,Xie)=>{"use strict";var uYe=Eo(),gYe=qC(),Zie=Xi(),$ie=class extends gYe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let t=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join("").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!Zie.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=uYe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=Zie.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),t=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...t.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(t),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Xie.exports=$ie});var nne=w((Jft,tne)=>{"use strict";var rne=Eo(),fYe=(r="")=>typeof r=="string"?r.replace(/^['"]|['"]$/g,""):"",ine=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=fYe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},hYe=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uT.name===b.key);b.field=n.find(T=>T.name===b.key),x||(x=new ine(b),a.push(x)),x.lines.push(b.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};tne.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i=N(N({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await hYe(e,i),a=sN("result",r,e),l=sN("format",r,e),c=sN("validate",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output="";let p=async(v,x,T,q)=>{let Y=await c(v,x,T,q);return Y===!1?"Invalid field "+T.name:Y};for(let v of n){let x=v.value,T=v.key;if(v.type!=="template"){x&&(g.output+=x);continue}if(v.type==="template"){let q=s.find(ee=>ee.name===T);e.required===!0&&g.required.add(q.name);let Y=[q.input,g.values[q.value],q.value,x].find(u),_=(q.field||{}).message||v.inner;if(f){let ee=await p(g.values[T],g,q,h);if(ee&&typeof ee=="string"||ee===!1){g.invalid.set(T,ee);continue}g.invalid.delete(T);let A=await a(g.values[T],g,q,h);g.output+=rne.unstyle(A);continue}q.placeholder=!1;let ne=x;x=await l(x,g,q,h),Y!==x?(g.values[T]=Y,x=r.styles.typing(Y),g.missing.delete(_)):(g.values[T]=void 0,Y=`<${_}>`,x=r.styles.primary(Y),q.placeholder=!0,g.required.has(T)&&g.missing.add(_)),g.missing.has(_)&&g.validating&&(x=r.styles.warning(Y)),g.invalid.has(T)&&g.validating&&(x=r.styles.danger(Y)),h===g.index&&(ne!==x?x=r.styles.underline(x):x=r.styles.heading(rne.unstyle(x))),h++}x&&(g.output+=x)}let m=g.output.split(` +`).map(v=>" "+v),y=s.length,b=0;for(let v of s)g.invalid.has(v.name)&&v.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),r.isValue(g.values[v.name])&&b++;return g.completed=(b/y*100).toFixed(0),g.output=m.join(` +`),g.output}};function sN(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]=="function"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var ane=w((Wft,sne)=>{"use strict";var pYe=Eo(),dYe=nne(),CYe=_f(),one=class extends CYe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await dYe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=t[e]||"",m=await this.format(p),y=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let b=[u,c,h,y,g.trim()];this.write(b.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=pYe.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};sne.exports=one});var cne=w((zft,Ane)=>{"use strict";var mYe="(Use + to sort)",EYe=Nl(),lne=class extends EYe{constructor(e){super(te(N({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,mYe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Ane.exports=lne});var fne=w((_ft,une)=>{"use strict";var IYe=qC(),gne=class extends IYe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=yYe(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=t+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((x,T)=>c(T===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,y=h+e.scale.map((x,T)=>m(T)).join(l),b=()=>[u,f].filter(Boolean).join(" "),v=()=>[b(),p,y," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join(` +`)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function yYe(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>N({},i));let t=[];for(let i=1;i{hne.exports=iN()});var mne=w((Xft,dne)=>{"use strict";var wYe=H0(),Cne=class extends wYe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};dne.exports=Cne});var yne=w((Zft,Ene)=>{"use strict";var BYe=Nl(),Ine=class extends BYe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ene.exports=Ine});var Bne=w(oN=>{"use strict";var wne=Xi(),mi=(r,e)=>{wne.defineExport(oN,r,e),wne.defineExport(oN,r.toLowerCase(),e)};mi("AutoComplete",()=>uie());mi("BasicAuth",()=>Eie());mi("Confirm",()=>bie());mi("Editable",()=>vie());mi("Form",()=>U0());mi("Input",()=>iN());mi("Invisible",()=>Oie());mi("List",()=>Uie());mi("MultiSelect",()=>Gie());mi("Numeral",()=>Wie());mi("Password",()=>Vie());mi("Scale",()=>ene());mi("Select",()=>Nl());mi("Snippet",()=>ane());mi("Sort",()=>cne());mi("Survey",()=>fne());mi("Text",()=>pne());mi("Toggle",()=>mne());mi("Quiz",()=>yne())});var Qne=w((eht,bne)=>{bne.exports={ArrayPrompt:qC(),AuthPrompt:rN(),BooleanPrompt:H0(),NumberPrompt:nN(),StringPrompt:wu()}});var WC=w((tht,Sne)=>{"use strict";var vne=require("assert"),aN=require("events"),Ll=Xi(),ha=class extends aN{constructor(e,t){super();this.options=Ll.merge({},e),this.answers=N({},t)}register(e,t){if(Ll.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}vne.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(Ll.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=Ll.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=Ll;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];vne(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||_f()}static get prompts(){return Bne()}static get types(){return Qne()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return Ll.mixinEmitter(e,new aN),e}};Ll.mixinEmitter(ha,new aN);var AN=ha.prompts;for(let r of Object.keys(AN)){let e=r.toLowerCase(),t=i=>new AN[r](i).run();ha.prompt[e]=t,ha[e]=t,ha[r]||Reflect.defineProperty(ha,r,{get:()=>AN[r]})}var JC=r=>{Ll.defineExport(ha,r,()=>ha.types[r])};JC("ArrayPrompt");JC("AuthPrompt");JC("BooleanPrompt");JC("NumberPrompt");JC("StringPrompt");Sne.exports=ha});var Une=w((Yht,Kne)=>{function xYe(r,e){for(var t=-1,i=r==null?0:r.length;++t{var kYe=$B(),PYe=Nf();function DYe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var RYe=Zf(),FYe=Kf();function NYe(r,e){return r&&RYe(e,FYe(e),r)}jne.exports=NYe});var qne=w((Wht,Yne)=>{function LYe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}Yne.exports=LYe});var Wne=w((zht,Jne)=>{var TYe=Rn(),OYe=f0(),MYe=qne(),KYe=Object.prototype,UYe=KYe.hasOwnProperty;function HYe(r){if(!TYe(r))return MYe(r);var e=OYe(r),t=[];for(var i in r)i=="constructor"&&(e||!UYe.call(r,i))||t.push(i);return t}Jne.exports=HYe});var $f=w((_ht,zne)=>{var jYe=$R(),GYe=Wne(),YYe=vC();function qYe(r){return YYe(r)?jYe(r,!0):GYe(r)}zne.exports=qYe});var Vne=w((Vht,_ne)=>{var JYe=Zf(),WYe=$f();function zYe(r,e){return r&&JYe(e,WYe(e),r)}_ne.exports=zYe});var hN=w((em,eh)=>{var _Ye=Ns(),Xne=typeof em=="object"&&em&&!em.nodeType&&em,Zne=Xne&&typeof eh=="object"&&eh&&!eh.nodeType&&eh,VYe=Zne&&Zne.exports===Xne,$ne=VYe?_Ye.Buffer:void 0,ese=$ne?$ne.allocUnsafe:void 0;function XYe(r,e){if(e)return r.slice();var t=r.length,i=ese?ese(t):new r.constructor(t);return r.copy(i),i}eh.exports=XYe});var pN=w((Xht,tse)=>{function ZYe(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var $Ye=Zf(),eqe=p0();function tqe(r,e){return $Ye(r,eqe(r),e)}rse.exports=tqe});var G0=w(($ht,nse)=>{var rqe=eF(),iqe=rqe(Object.getPrototypeOf,Object);nse.exports=iqe});var dN=w((ept,sse)=>{var nqe=t0(),sqe=G0(),oqe=p0(),aqe=oF(),Aqe=Object.getOwnPropertySymbols,lqe=Aqe?function(r){for(var e=[];r;)nqe(e,oqe(r)),r=sqe(r);return e}:aqe;sse.exports=lqe});var ase=w((tpt,ose)=>{var cqe=Zf(),uqe=dN();function gqe(r,e){return cqe(r,uqe(r),e)}ose.exports=gqe});var lse=w((rpt,Ase)=>{var fqe=sF(),hqe=dN(),pqe=$f();function dqe(r){return fqe(r,pqe,hqe)}Ase.exports=dqe});var use=w((ipt,cse)=>{var Cqe=Object.prototype,mqe=Cqe.hasOwnProperty;function Eqe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&mqe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}cse.exports=Eqe});var Y0=w((npt,gse)=>{var fse=iF();function Iqe(r){var e=new r.constructor(r.byteLength);return new fse(e).set(new fse(r)),e}gse.exports=Iqe});var pse=w((spt,hse)=>{var yqe=Y0();function wqe(r,e){var t=e?yqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}hse.exports=wqe});var Cse=w((opt,dse)=>{var Bqe=/\w*$/;function bqe(r){var e=new r.constructor(r.source,Bqe.exec(r));return e.lastIndex=r.lastIndex,e}dse.exports=bqe});var wse=w((apt,mse)=>{var Ese=Jc(),Ise=Ese?Ese.prototype:void 0,yse=Ise?Ise.valueOf:void 0;function Qqe(r){return yse?Object(yse.call(r)):{}}mse.exports=Qqe});var CN=w((Apt,Bse)=>{var Sqe=Y0();function vqe(r,e){var t=e?Sqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}Bse.exports=vqe});var Qse=w((lpt,bse)=>{var xqe=Y0(),kqe=pse(),Pqe=Cse(),Dqe=wse(),Rqe=CN(),Fqe="[object Boolean]",Nqe="[object Date]",Lqe="[object Map]",Tqe="[object Number]",Oqe="[object RegExp]",Mqe="[object Set]",Kqe="[object String]",Uqe="[object Symbol]",Hqe="[object ArrayBuffer]",jqe="[object DataView]",Gqe="[object Float32Array]",Yqe="[object Float64Array]",qqe="[object Int8Array]",Jqe="[object Int16Array]",Wqe="[object Int32Array]",zqe="[object Uint8Array]",_qe="[object Uint8ClampedArray]",Vqe="[object Uint16Array]",Xqe="[object Uint32Array]";function Zqe(r,e,t){var i=r.constructor;switch(e){case Hqe:return xqe(r);case Fqe:case Nqe:return new i(+r);case jqe:return kqe(r,t);case Gqe:case Yqe:case qqe:case Jqe:case Wqe:case zqe:case _qe:case Vqe:case Xqe:return Rqe(r,t);case Lqe:return new i;case Tqe:case Kqe:return new i(r);case Oqe:return Pqe(r);case Mqe:return new i;case Uqe:return Dqe(r)}}bse.exports=Zqe});var xse=w((cpt,Sse)=>{var $qe=Rn(),vse=Object.create,eJe=function(){function r(){}return function(e){if(!$qe(e))return{};if(vse)return vse(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Sse.exports=eJe});var mN=w((upt,kse)=>{var tJe=xse(),rJe=G0(),iJe=f0();function nJe(r){return typeof r.constructor=="function"&&!iJe(r)?tJe(rJe(r)):{}}kse.exports=nJe});var Dse=w((gpt,Pse)=>{var sJe=kC(),oJe=ta(),aJe="[object Map]";function AJe(r){return oJe(r)&&sJe(r)==aJe}Pse.exports=AJe});var Lse=w((fpt,Rse)=>{var lJe=Dse(),cJe=c0(),Fse=u0(),Nse=Fse&&Fse.isMap,uJe=Nse?cJe(Nse):lJe;Rse.exports=uJe});var Ose=w((hpt,Tse)=>{var gJe=kC(),fJe=ta(),hJe="[object Set]";function pJe(r){return fJe(r)&&gJe(r)==hJe}Tse.exports=pJe});var Hse=w((ppt,Mse)=>{var dJe=Ose(),CJe=c0(),Kse=u0(),Use=Kse&&Kse.isSet,mJe=Use?CJe(Use):dJe;Mse.exports=mJe});var Jse=w((dpt,jse)=>{var EJe=xC(),IJe=Une(),yJe=$B(),wJe=Gne(),BJe=Vne(),bJe=hN(),QJe=pN(),SJe=ise(),vJe=ase(),xJe=aF(),kJe=lse(),PJe=kC(),DJe=use(),RJe=Qse(),FJe=mN(),NJe=Ks(),LJe=bC(),TJe=Lse(),OJe=Rn(),MJe=Hse(),KJe=Kf(),UJe=$f(),HJe=1,jJe=2,GJe=4,Gse="[object Arguments]",YJe="[object Array]",qJe="[object Boolean]",JJe="[object Date]",WJe="[object Error]",Yse="[object Function]",zJe="[object GeneratorFunction]",_Je="[object Map]",VJe="[object Number]",qse="[object Object]",XJe="[object RegExp]",ZJe="[object Set]",$Je="[object String]",e3e="[object Symbol]",t3e="[object WeakMap]",r3e="[object ArrayBuffer]",i3e="[object DataView]",n3e="[object Float32Array]",s3e="[object Float64Array]",o3e="[object Int8Array]",a3e="[object Int16Array]",A3e="[object Int32Array]",l3e="[object Uint8Array]",c3e="[object Uint8ClampedArray]",u3e="[object Uint16Array]",g3e="[object Uint32Array]",dr={};dr[Gse]=dr[YJe]=dr[r3e]=dr[i3e]=dr[qJe]=dr[JJe]=dr[n3e]=dr[s3e]=dr[o3e]=dr[a3e]=dr[A3e]=dr[_Je]=dr[VJe]=dr[qse]=dr[XJe]=dr[ZJe]=dr[$Je]=dr[e3e]=dr[l3e]=dr[c3e]=dr[u3e]=dr[g3e]=!0;dr[WJe]=dr[Yse]=dr[t3e]=!1;function q0(r,e,t,i,n,s){var o,a=e&HJe,l=e&jJe,c=e&GJe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!OJe(r))return r;var u=NJe(r);if(u){if(o=DJe(r),!a)return QJe(r,o)}else{var g=PJe(r),f=g==Yse||g==zJe;if(LJe(r))return bJe(r,a);if(g==qse||g==Gse||f&&!n){if(o=l||f?{}:FJe(r),!a)return l?vJe(r,BJe(o,r)):SJe(r,wJe(o,r))}else{if(!dr[g])return n?r:{};o=RJe(r,g,a)}}s||(s=new EJe);var h=s.get(r);if(h)return h;s.set(r,o),MJe(r)?r.forEach(function(y){o.add(q0(y,e,t,y,r,s))}):TJe(r)&&r.forEach(function(y,b){o.set(b,q0(y,e,t,b,r,s))});var p=c?l?kJe:xJe:l?UJe:KJe,m=u?void 0:p(r);return IJe(m||r,function(y,b){m&&(b=y,y=r[b]),yJe(o,b,q0(y,e,t,b,r,s))}),o}jse.exports=q0});var EN=w((Cpt,Wse)=>{var f3e=Jse(),h3e=1,p3e=4;function d3e(r){return f3e(r,h3e|p3e)}Wse.exports=d3e});var _se=w((mpt,zse)=>{var C3e=kR();function m3e(r,e,t){return r==null?r:C3e(r,e,t)}zse.exports=m3e});var toe=w((bpt,eoe)=>{function E3e(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}eoe.exports=E3e});var ioe=w((Qpt,roe)=>{var I3e=hC(),y3e=VP();function w3e(r,e){return e.length<2?r:I3e(r,y3e(e,0,-1))}roe.exports=w3e});var soe=w((Spt,noe)=>{var B3e=Ff(),b3e=toe(),Q3e=ioe(),S3e=gu();function v3e(r,e){return e=B3e(e,r),r=Q3e(r,e),r==null||delete r[S3e(b3e(e))]}noe.exports=v3e});var aoe=w((vpt,ooe)=>{var x3e=soe();function k3e(r,e){return r==null?!0:x3e(r,e)}ooe.exports=k3e});var doe=w((idt,poe)=>{poe.exports={name:"@yarnpkg/cli",version:"3.2.2",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var DN=w((LEt,rae)=>{"use strict";rae.exports=function(e,t){t===!0&&(t=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof t=="number"?n[t]:n}});var RN=w((TEt,iae)=>{"use strict";var V3e=DN();function nae(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=V3e(r);return r=r.substring(r.indexOf("://")+3),nae(e)?!0:r.indexOf("@"){"use strict";var X3e=DN(),Z3e=RN(),$3e=require("querystring");function eWe(r){r=(r||"").trim();var e={protocols:X3e(r),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:r,query:Object.create(null)},t=r.indexOf("://"),i=-1,n=null,s=null;r.startsWith(".")&&(r.startsWith("./")&&(r=r.substring(2)),e.pathname=r,e.protocol="file");var o=r.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(Z3e(r)?e.protocol="ssh":((o==="/"||o==="~")&&(r=r.substring(2)),e.protocol="file"))),t!==-1&&(r=r.substring(t+3)),s=r.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=$3e.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}sae.exports=eWe});var lae=w((MEt,aae)=>{"use strict";var tWe="text/plain",rWe="us-ascii",Aae=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),iWe=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===rWe)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length!==0||l&&l!==tWe)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`},nWe=(r,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),r=r.trim(),/^data:/i.test(r))return iWe(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname&&(n.pathname=n.pathname.replace(/(?0){let o=n.pathname.split("/"),a=o[o.length-1];Aae(a,e.removeDirectoryIndex)&&(o=o.slice(0,o.length-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Aae(o,e.removeQueryParameters)&&n.searchParams.delete(o);e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};aae.exports=nWe});var uae=w((KEt,cae)=>{"use strict";var sWe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},oWe=oae(),aWe=lae();function AWe(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof r!="string"||!r.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":sWe(e))!=="object"&&(e={stripHash:!1}),r=aWe(r,e));var t=oWe(r);return t}cae.exports=AWe});var hae=w((UEt,gae)=>{"use strict";var lWe=uae(),fae=RN();function cWe(r){var e=lWe(r);e.token="";var t=e.user.split(":");return t.length===2&&(t[1]==="x-oauth-basic"?e.token=t[0]:t[0]==="x-token-auth"&&(e.token=t[1])),fae(e.protocols)||fae(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}gae.exports=cWe});var dae=w((HEt,pae)=>{"use strict";var uWe=hae();function FN(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=uWe(r),t=e.resource.split("."),i=null;switch(e.toString=function(l){return FN.stringify(this,l)},e.source=t.length>2?t.slice(1-t.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=t[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}FN.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?gWe(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+r.full_name+n;default:return r.href}};function gWe(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}pae.exports=FN});var cL=w((Vwt,Mae)=>{var DWe=Nf(),RWe=Pf();function FWe(r,e,t){(t!==void 0&&!RWe(r[e],t)||t===void 0&&!(e in r))&&DWe(r,e,t)}Mae.exports=FWe});var Uae=w((Xwt,Kae)=>{var NWe=vC(),LWe=ta();function TWe(r){return LWe(r)&&NWe(r)}Kae.exports=TWe});var Gae=w((Zwt,Hae)=>{var OWe=Wc(),MWe=G0(),KWe=ta(),UWe="[object Object]",HWe=Function.prototype,jWe=Object.prototype,jae=HWe.toString,GWe=jWe.hasOwnProperty,YWe=jae.call(Object);function qWe(r){if(!KWe(r)||OWe(r)!=UWe)return!1;var e=MWe(r);if(e===null)return!0;var t=GWe.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&jae.call(t)==YWe}Hae.exports=qWe});var uL=w(($wt,Yae)=>{function JWe(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}Yae.exports=JWe});var Jae=w((eBt,qae)=>{var WWe=Zf(),zWe=$f();function _We(r){return WWe(r,zWe(r))}qae.exports=_We});var Zae=w((tBt,Wae)=>{var zae=cL(),VWe=hN(),XWe=CN(),ZWe=pN(),$We=mN(),_ae=dC(),Vae=Ks(),e4e=Uae(),t4e=bC(),r4e=VB(),i4e=Rn(),n4e=Gae(),s4e=g0(),Xae=uL(),o4e=Jae();function a4e(r,e,t,i,n,s,o){var a=Xae(r,t),l=Xae(e,t),c=o.get(l);if(c){zae(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=Vae(l),h=!f&&t4e(l),p=!f&&!h&&s4e(l);u=l,f||h||p?Vae(a)?u=a:e4e(a)?u=ZWe(a):h?(g=!1,u=VWe(l,!0)):p?(g=!1,u=XWe(l,!0)):u=[]:n4e(l)||_ae(l)?(u=a,_ae(a)?u=o4e(a):(!i4e(a)||r4e(a))&&(u=$We(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),zae(r,t,u)}Wae.exports=a4e});var tAe=w((rBt,$ae)=>{var A4e=xC(),l4e=cL(),c4e=XR(),u4e=Zae(),g4e=Rn(),f4e=$f(),h4e=uL();function eAe(r,e,t,i,n){r!==e&&c4e(e,function(s,o){if(n||(n=new A4e),g4e(s))u4e(r,e,o,t,eAe,i,n);else{var a=i?i(h4e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),l4e(r,o,a)}},f4e)}$ae.exports=eAe});var iAe=w((iBt,rAe)=>{var p4e=r0(),d4e=RR(),C4e=FR();function m4e(r,e){return C4e(d4e(r,e,p4e),r+"")}rAe.exports=m4e});var sAe=w((nBt,nAe)=>{var E4e=Pf(),I4e=vC(),y4e=pC(),w4e=Rn();function B4e(r,e,t){if(!w4e(t))return!1;var i=typeof e;return(i=="number"?I4e(t)&&y4e(e,t.length):i=="string"&&e in t)?E4e(t[e],r):!1}nAe.exports=B4e});var aAe=w((sBt,oAe)=>{var b4e=iAe(),Q4e=sAe();function S4e(r){return b4e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&Q4e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var v4e=tAe(),x4e=aAe(),k4e=x4e(function(r,e,t){v4e(r,e,t)});AAe.exports=k4e});var QAe=w((u0t,bAe)=>{var QL;bAe.exports=()=>(typeof QL=="undefined"&&(QL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),QL)});var TAe=w((Y0t,LAe)=>{var kL;LAe.exports=()=>(typeof kL=="undefined"&&(kL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),kL)});var YAe=w((TL,OL)=>{(function(r){TL&&typeof TL=="object"&&typeof OL!="undefined"?OL.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window!="undefined"?window.isWindows=r():typeof global!="undefined"?global.isWindows=r():typeof self!="undefined"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var zAe=w((Vbt,qAe)=>{"use strict";ML.ifExists=C8e;var ah=require("util"),zs=require("path"),JAe=YAe(),m8e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,E8e={createPwshFile:!0,createCmdFile:JAe(),fs:require("fs")},I8e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function WAe(r){let e=N(N({},E8e),r),t=e.fs;return e.fs_={chmod:t.chmod?ah.promisify(t.chmod):async()=>{},mkdir:ah.promisify(t.mkdir),readFile:ah.promisify(t.readFile),stat:ah.promisify(t.stat),unlink:ah.promisify(t.unlink),writeFile:ah.promisify(t.writeFile)},e}async function ML(r,e,t){let i=WAe(t);await i.fs_.stat(r),await y8e(r,e,i)}function C8e(r,e,t){return ML(r,e,t).catch(()=>{})}function w8e(r,e){return e.fs_.unlink(r).catch(()=>{})}async function y8e(r,e,t){let i=await Q8e(r,t);return await B8e(e,t),b8e(r,e,i,t)}function B8e(r,e){return e.fs_.mkdir(zs.dirname(r),{recursive:!0})}function b8e(r,e,t,i){let n=WAe(i),s=[{generator:x8e,extension:""}];return n.createCmdFile&&s.push({generator:v8e,extension:".cmd"}),n.createPwshFile&&s.push({generator:k8e,extension:".ps1"}),Promise.all(s.map(o=>S8e(r,e+o.extension,t,o.generator,n)))}function P8e(r,e){return w8e(r,e)}function R8e(r,e){return D8e(r,e)}async function Q8e(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(m8e);if(!n){let s=zs.extname(r).toLowerCase();return{program:I8e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function S8e(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await P8e(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),R8e(e,n)}function v8e(r,e,t){let n=zs.relative(zs.dirname(e),r).split("/").join("\\"),s=zs.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=KL(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function x8e(r,e,t){let i=zs.relative(zs.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=zs.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=KL(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=t.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function k8e(r,e,t){let i=zs.relative(zs.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=zs.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=KL(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${t.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return t.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${t.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${t.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function D8e(r,e){return e.fs_.chmod(r,493)}function KL(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(zs.delimiter):Array.from(r),t={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}qAe.exports=ML});var eT=w((RSt,hle)=>{hle.exports=require("stream")});var mle=w((FSt,ple)=>{"use strict";function dle(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function Z8e(r){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return lb.alloc(0);for(var i=lb.allocUnsafe(t>>>0),n=this.head,s=0;n;)nze(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return to.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=lb.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:ize,value:function(t,i){return tT(this,Z8e({},i,{depth:0,customInspect:!1}))}}]),r}()});var iT=w((NSt,Ele)=>{"use strict";function sze(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(rT,this,r)):process.nextTick(rT,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(cb,t):(t._writableState.errorEmitted=!0,process.nextTick(Ile,t,s)):process.nextTick(Ile,t,s):e?(process.nextTick(cb,t),e(s)):process.nextTick(cb,t)}),this)}function Ile(r,e){rT(r,e),cb(r)}function cb(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function oze(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function rT(r,e){r.emit("error",e)}function aze(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit("error",e)}Ele.exports={destroy:sze,undestroy:oze,errorOrDestroy:aze}});var Ul=w((LSt,yle)=>{"use strict";var wle={};function _s(r,e,t){t||(t=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,wle[r]=n}function Ble(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(", ")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function Aze(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function lze(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function cze(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}_s("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError);_s("ERR_INVALID_ARG_TYPE",function(r,e,t){let i;typeof e=="string"&&Aze(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(lze(r," argument"))n=`The ${r} ${i} ${Ble(e,"type")}`;else{let s=cze(r,".")?"property":"argument";n=`The "${r}" ${s} ${i} ${Ble(e,"type")}`}return n+=`. Received type ${typeof t}`,n},TypeError);_s("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");_s("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"});_s("ERR_STREAM_PREMATURE_CLOSE","Premature close");_s("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"});_s("ERR_MULTIPLE_CALLBACK","Callback called multiple times");_s("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");_s("ERR_STREAM_WRITE_AFTER_END","write after end");_s("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);_s("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError);_s("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");yle.exports.codes=wle});var nT=w((TSt,ble)=>{"use strict";var uze=Ul().codes.ERR_INVALID_OPT_VALUE;function gze(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function fze(r,e,t,i){var n=gze(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:"highWaterMark";throw new uze(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}ble.exports={getHighWaterMark:fze}});var Qle=w((OSt,sT)=>{typeof Object.create=="function"?sT.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:sT.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var Hl=w((MSt,oT)=>{try{if(aT=require("util"),typeof aT.inherits!="function")throw"";oT.exports=aT.inherits}catch(r){oT.exports=Qle()}var aT});var vle=w((KSt,Sle)=>{Sle.exports=require("util").deprecate});var cT=w((USt,xle)=>{"use strict";xle.exports=Gr;function kle(r){var e=this;this.next=null,this.entry=null,this.finish=function(){hze(e,r)}}var ch;Gr.WritableState=Gm;var pze={deprecate:vle()},Ple=eT(),ub=require("buffer").Buffer,dze=global.Uint8Array||function(){};function Cze(r){return ub.from(r)}function mze(r){return ub.isBuffer(r)||r instanceof dze}var AT=iT(),Eze=nT(),Ize=Eze.getHighWaterMark,jl=Ul().codes,yze=jl.ERR_INVALID_ARG_TYPE,wze=jl.ERR_METHOD_NOT_IMPLEMENTED,Bze=jl.ERR_MULTIPLE_CALLBACK,bze=jl.ERR_STREAM_CANNOT_PIPE,Qze=jl.ERR_STREAM_DESTROYED,Sze=jl.ERR_STREAM_NULL_VALUES,vze=jl.ERR_STREAM_WRITE_AFTER_END,xze=jl.ERR_UNKNOWN_ENCODING,uh=AT.errorOrDestroy;Hl()(Gr,Ple);function kze(){}function Gm(r,e,t){ch=ch||ku(),r=r||{},typeof t!="boolean"&&(t=e instanceof ch),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=Ize(this,r,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){Pze(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new kle(this)}Gm.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(Gm.prototype,"buffer",{get:pze.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(r){}})();var gb;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(gb=Function.prototype[Symbol.hasInstance],Object.defineProperty(Gr,Symbol.hasInstance,{value:function(e){return gb.call(this,e)?!0:this!==Gr?!1:e&&e._writableState instanceof Gm}})):gb=function(e){return e instanceof this};function Gr(r){ch=ch||ku();var e=this instanceof ch;if(!e&&!gb.call(Gr,this))return new Gr(r);this._writableState=new Gm(r,this,e),this.writable=!0,r&&(typeof r.write=="function"&&(this._write=r.write),typeof r.writev=="function"&&(this._writev=r.writev),typeof r.destroy=="function"&&(this._destroy=r.destroy),typeof r.final=="function"&&(this._final=r.final)),Ple.call(this)}Gr.prototype.pipe=function(){uh(this,new bze)};function Dze(r,e){var t=new vze;uh(r,t),process.nextTick(e,t)}function Rze(r,e,t,i){var n;return t===null?n=new Sze:typeof t!="string"&&!e.objectMode&&(n=new yze("chunk",["string","Buffer"],t)),n?(uh(r,n),process.nextTick(i,n),!1):!0}Gr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&mze(r);return s&&!ub.isBuffer(r)&&(r=Cze(r)),typeof e=="function"&&(t=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof t!="function"&&(t=kze),i.ending?Dze(this,t):(s||Rze(this,i,r,t))&&(i.pendingcb++,n=Fze(this,i,s,r,e,t)),n};Gr.prototype.cork=function(){this._writableState.corked++};Gr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Dle(this,r))};Gr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new xze(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Gr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Nze(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e=="string"&&(e=ub.from(e,t)),e}Object.defineProperty(Gr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Fze(r,e,t,i,n,s){if(!t){var o=Nze(e,i,n);i!==o&&(t=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var Hze=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};Nle.exports=Ea;var Lle=uT(),gT=cT();Hl()(Ea,Lle);for(fT=Hze(gT.prototype),fb=0;fb{var pb=require("buffer"),vA=pb.Buffer;function Ole(r,e){for(var t in r)e[t]=r[t]}vA.from&&vA.alloc&&vA.allocUnsafe&&vA.allocUnsafeSlow?Tle.exports=pb:(Ole(pb,hT),hT.Buffer=gh);function gh(r,e,t){return vA(r,e,t)}Ole(vA,gh);gh.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return vA(r,e,t)};gh.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=vA(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};gh.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return vA(r)};gh.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return pb.SlowBuffer(r)}});var CT=w(Kle=>{"use strict";var pT=Mle().Buffer,Ule=pT.isEncoding||function(r){switch(r=""+r,r&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Yze(r){if(!r)return"utf8";for(var e;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(e)return;r=(""+r).toLowerCase(),e=!0}}function qze(r){var e=Yze(r);if(typeof e!="string"&&(pT.isEncoding===Ule||!Ule(r)))throw new Error("Unknown encoding: "+r);return e||r}Kle.StringDecoder=qm;function qm(r){this.encoding=qze(r);var e;switch(this.encoding){case"utf16le":this.text=Wze,this.end=zze,e=4;break;case"utf8":this.fillLast=Jze,e=4;break;case"base64":this.text=_ze,this.end=Vze,e=3;break;default:this.write=Xze,this.end=Zze;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=pT.allocUnsafe(e)}qm.prototype.write=function(r){if(r.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t>5==6?2:r>>4==14?3:r>>3==30?4:r>>6==2?-1:-2}function t5e(r,e,t){var i=e.length-1;if(i=0?(n>0&&(r.lastNeed=n-1),n):--i=0?(n>0&&(r.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function r5e(r,e,t){if((e[0]&192)!=128)return r.lastNeed=0,"\uFFFD";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return r.lastNeed=1,"\uFFFD";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return r.lastNeed=2,"\uFFFD"}}function Jze(r){var e=this.lastTotal-this.lastNeed,t=r5e(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function e5e(r,e){var t=t5e(this,r,e);if(!this.lastNeed)return r.toString("utf8",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString("utf8",e,i)}function $ze(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+"\uFFFD":e}function Wze(r,e){if((r.length-e)%2==0){var t=r.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",e,r.length-1)}function zze(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function _ze(r,e){var t=(r.length-e)%3;return t===0?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function Vze(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Xze(r){return r.toString(this.encoding)}function Zze(r){return r&&r.length?this.write(r):""}});var db=w((GSt,Hle)=>{"use strict";var jle=Ul().codes.ERR_STREAM_PREMATURE_CLOSE;function i5e(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n{"use strict";var Cb;function Gl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var o5e=db(),Yl=Symbol("lastResolve"),Pu=Symbol("lastReject"),Jm=Symbol("error"),mb=Symbol("ended"),Du=Symbol("lastPromise"),mT=Symbol("handlePromise"),Ru=Symbol("stream");function ql(r,e){return{value:r,done:e}}function a5e(r){var e=r[Yl];if(e!==null){var t=r[Ru].read();t!==null&&(r[Du]=null,r[Yl]=null,r[Pu]=null,e(ql(t,!1)))}}function A5e(r){process.nextTick(a5e,r)}function l5e(r,e){return function(t,i){r.then(function(){if(e[mb]){t(ql(void 0,!0));return}e[mT](t,i)},i)}}var c5e=Object.getPrototypeOf(function(){}),u5e=Object.setPrototypeOf((Cb={get stream(){return this[Ru]},next:function(){var e=this,t=this[Jm];if(t!==null)return Promise.reject(t);if(this[mb])return Promise.resolve(ql(void 0,!0));if(this[Ru].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[Jm]?a(e[Jm]):o(ql(void 0,!0))})});var i=this[Du],n;if(i)n=new Promise(l5e(i,this));else{var s=this[Ru].read();if(s!==null)return Promise.resolve(ql(s,!1));n=new Promise(this[mT])}return this[Du]=n,n}},Gl(Cb,Symbol.asyncIterator,function(){return this}),Gl(Cb,"return",function(){var e=this;return new Promise(function(t,i){e[Ru].destroy(null,function(n){if(n){i(n);return}t(ql(void 0,!0))})})}),Cb),c5e),g5e=function(e){var t,i=Object.create(u5e,(t={},Gl(t,Ru,{value:e,writable:!0}),Gl(t,Yl,{value:null,writable:!0}),Gl(t,Pu,{value:null,writable:!0}),Gl(t,Jm,{value:null,writable:!0}),Gl(t,mb,{value:e._readableState.endEmitted,writable:!0}),Gl(t,mT,{value:function(s,o){var a=i[Ru].read();a?(i[Du]=null,i[Yl]=null,i[Pu]=null,s(ql(a,!1))):(i[Yl]=s,i[Pu]=o)},writable:!0}),t));return i[Du]=null,o5e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Pu];s!==null&&(i[Du]=null,i[Yl]=null,i[Pu]=null,s(n)),i[Jm]=n;return}var o=i[Yl];o!==null&&(i[Du]=null,i[Yl]=null,i[Pu]=null,o(ql(void 0,!0))),i[mb]=!0}),e.on("readable",A5e.bind(null,i)),i};Yle.exports=g5e});var _le=w((qSt,Jle)=>{"use strict";function Wle(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function f5e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Wle(s,i,n,o,a,"next",l)}function a(l){Wle(s,i,n,o,a,"throw",l)}o(void 0)})}}function zle(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function p5e(r){for(var e=1;e{"use strict";Vle.exports=Ut;var fh;Ut.ReadableState=Xle;var JSt=require("events").EventEmitter,Zle=function(e,t){return e.listeners(t).length},Wm=eT(),Eb=require("buffer").Buffer,m5e=global.Uint8Array||function(){};function E5e(r){return Eb.from(r)}function I5e(r){return Eb.isBuffer(r)||r instanceof m5e}var ET=require("util"),Pt;ET&&ET.debuglog?Pt=ET.debuglog("stream"):Pt=function(){};var y5e=mle(),IT=iT(),w5e=nT(),B5e=w5e.getHighWaterMark,Ib=Ul().codes,b5e=Ib.ERR_INVALID_ARG_TYPE,Q5e=Ib.ERR_STREAM_PUSH_AFTER_EOF,S5e=Ib.ERR_METHOD_NOT_IMPLEMENTED,v5e=Ib.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,hh,yT,wT;Hl()(Ut,Wm);var zm=IT.errorOrDestroy,BT=["error","close","destroy","pause","resume"];function x5e(r,e,t){if(typeof r.prependListener=="function")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Xle(r,e,t){fh=fh||ku(),r=r||{},typeof t!="boolean"&&(t=e instanceof fh),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=B5e(this,r,"readableHighWaterMark",t),this.buffer=new y5e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(hh||(hh=CT().StringDecoder),this.decoder=new hh(r.encoding),this.encoding=r.encoding)}function Ut(r){if(fh=fh||ku(),!(this instanceof Ut))return new Ut(r);var e=this instanceof fh;this._readableState=new Xle(r,this,e),this.readable=!0,r&&(typeof r.read=="function"&&(this._read=r.read),typeof r.destroy=="function"&&(this._destroy=r.destroy)),Wm.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=IT.destroy;Ut.prototype._undestroy=IT.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=Eb.from(r,e),e=""),i=!0),$le(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return $le(this,r,null,!0,!1)};function $le(r,e,t,i,n){Pt("readableAddChunk",e);var s=r._readableState;if(e===null)s.reading=!1,P5e(r,s);else{var o;if(n||(o=k5e(s,e)),o)zm(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==Eb.prototype&&(e=E5e(e)),i)s.endEmitted?zm(r,new v5e):bT(r,s,e,!0);else if(s.ended)zm(r,new Q5e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?bT(r,s,e,!1):QT(r,s)):bT(r,s,e,!1)}else i||(s.reading=!1,QT(r,s))}return!s.ended&&(s.length=ece?r=ece:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function tce(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=D5e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Pt("read",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Pt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?ST(this):yb(this),null;if(r=tce(r,e),r===0&&e.ended)return e.length===0&&ST(this),null;var i=e.needReadable;Pt("need readable",i),(e.length===0||e.length-r0?n=rce(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&ST(this)),n!==null&&this.emit("data",n),n};function P5e(r,e){if(Pt("onEofChunk"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?yb(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,ice(r)))}}function yb(r){var e=r._readableState;Pt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Pt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(ice,r))}function ice(r){var e=r._readableState;Pt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,vT(r)}function QT(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(R5e,r,e))}function R5e(r,e){for(;!e.reading&&!e.ended&&(e.length1&&nce(i.pipes,r)!==-1)&&!c&&(Pt("false write response, pause",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Pt("onerror",y),m(),r.removeListener("error",f),Zle(r,"error")===0&&zm(r,y)}x5e(r,"error",f);function h(){r.removeListener("finish",p),m()}r.once("close",h);function p(){Pt("onfinish"),r.removeListener("close",h),m()}r.once("finish",p);function m(){Pt("unpipe"),t.unpipe(r)}return r.emit("pipe",t),i.flowing||(Pt("pipe resume"),t.resume()),r};function F5e(r){return function(){var t=r._readableState;Pt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&Zle(r,"data")&&(t.flowing=!0,vT(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit("unpipe",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):r==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Pt("on readable",i.length,i.reading),i.length?yb(this):i.reading||process.nextTick(N5e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=Wm.prototype.removeListener.call(this,r,e);return r==="readable"&&process.nextTick(sce,this),t};Ut.prototype.removeAllListeners=function(r){var e=Wm.prototype.removeAllListeners.apply(this,arguments);return(r==="readable"||r===void 0)&&process.nextTick(sce,this),e};function sce(r){var e=r._readableState;e.readableListening=r.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount("data")>0&&r.resume()}function N5e(r){Pt("readable nexttick read 0"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Pt("resume"),r.flowing=!r.readableListening,L5e(this,r)),r.paused=!1,this};function L5e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(T5e,r,e))}function T5e(r,e){Pt("resume",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit("resume"),vT(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Pt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Pt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function vT(r){var e=r._readableState;for(Pt("flow",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on("end",function(){if(Pt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on("data",function(o){if(Pt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]=="function"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function ST(r){var e=r._readableState;Pt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(O5e,e,r))}function O5e(r,e){if(Pt("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit("end"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(r,e){return wT===void 0&&(wT=_le()),wT(Ut,r,e)});function nce(r,e){for(var t=0,i=r.length;t{"use strict";oce.exports=xA;var wb=Ul().codes,M5e=wb.ERR_METHOD_NOT_IMPLEMENTED,K5e=wb.ERR_MULTIPLE_CALLBACK,U5e=wb.ERR_TRANSFORM_ALREADY_TRANSFORMING,H5e=wb.ERR_TRANSFORM_WITH_LENGTH_0,Bb=ku();Hl()(xA,Bb);function j5e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit("error",new K5e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Ace.exports=_m;var lce=xT();Hl()(_m,lce);function _m(r){if(!(this instanceof _m))return new _m(r);lce.call(this,r)}_m.prototype._transform=function(r,e,t){t(null,r)}});var pce=w((VSt,uce)=>{"use strict";var kT;function Y5e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var gce=Ul().codes,q5e=gce.ERR_MISSING_ARGS,J5e=gce.ERR_STREAM_DESTROYED;function fce(r){if(r)throw r}function W5e(r){return r.setHeader&&typeof r.abort=="function"}function z5e(r,e,t,i){i=Y5e(i);var n=!1;r.on("close",function(){n=!0}),kT===void 0&&(kT=db()),kT(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,W5e(r))return r.abort();if(typeof r.destroy=="function")return r.destroy();i(o||new J5e("pipe"))}}}function hce(r){r()}function _5e(r,e){return r.pipe(e)}function V5e(r){return!r.length||typeof r[r.length-1]!="function"?fce:r.pop()}function X5e(){for(var r=arguments.length,e=new Array(r),t=0;t0;return z5e(o,l,c,function(u){n||(n=u),u&&s.forEach(hce),!l&&(s.forEach(hce),i(n))})});return e.reduce(_5e)}uce.exports=X5e});var ph=w((Vs,Vm)=>{var Xm=require("stream");process.env.READABLE_STREAM==="disable"&&Xm?(Vm.exports=Xm.Readable,Object.assign(Vm.exports,Xm),Vm.exports.Stream=Xm):(Vs=Vm.exports=uT(),Vs.Stream=Xm||Vs,Vs.Readable=Vs,Vs.Writable=cT(),Vs.Duplex=ku(),Vs.Transform=xT(),Vs.PassThrough=cce(),Vs.finished=db(),Vs.pipeline=pce())});var mce=w((XSt,dce)=>{"use strict";var{Buffer:So}=require("buffer"),Cce=Symbol.for("BufferList");function mr(r){if(!(this instanceof mr))return new mr(r);mr._init.call(this,r)}mr._init=function(e){Object.defineProperty(this,Cce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};mr.prototype._new=function(e){return new mr(e)};mr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;ithis.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};mr.prototype.slice=function(e,t){return typeof e=="number"&&e<0&&(e+=this.length),typeof t=="number"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};mr.prototype.copy=function(e,t,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||So.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:So.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};mr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!="number"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};mr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};mr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};mr.prototype.duplicate=function(){let e=this._new();for(let t=0;tthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};mr.prototype._match=function(r,e){if(this.length-r{"use strict";var PT=ph().Duplex,Z5e=Hl(),Zm=mce();function Zi(r){if(!(this instanceof Zi))return new Zi(r);if(typeof r=="function"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),r=null}Zm._init.call(this,r),PT.call(this)}Z5e(Zi,PT);Object.assign(Zi.prototype,Zm.prototype);Zi.prototype._new=function(e){return new Zi(e)};Zi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i=="function"&&i()};Zi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Zi.prototype.end=function(e){PT.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Zi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Zi.prototype._isBufferList=function(e){return e instanceof Zi||e instanceof Zm||Zi.isBufferList(e)};Zi.isBufferList=Zm.isBufferList;bb.exports=Zi;bb.exports.BufferListStream=Zi;bb.exports.BufferList=Zm});var FT=w(dh=>{var $5e=Buffer.alloc,e9e="0000000000000000000",t9e="7777777777777777777",Ice="0".charCodeAt(0),yce=Buffer.from("ustar\0","binary"),r9e=Buffer.from("00","binary"),i9e=Buffer.from("ustar ","binary"),n9e=Buffer.from(" \0","binary"),s9e=parseInt("7777",8),$m=257,DT=263,o9e=function(r,e,t){return typeof r!="number"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},a9e=function(r){switch(r){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},A9e=function(r){switch(r){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},wce=function(r,e,t,i){for(;te?t9e.slice(0,e)+" ":e9e.slice(0,e-r.length)+r+" "};function l9e(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i=Math.pow(10,t)&&t++,e+t+r};dh.decodeLongPath=function(r,e){return Ch(r,0,r.length,e)};dh.encodePax=function(r){var e="";r.name&&(e+=RT(" path="+r.name+` +`)),r.linkname&&(e+=RT(" linkpath="+r.linkname+` +`));var t=r.pax;if(t)for(var i in t)e+=RT(" "+i+"="+t[i]+` +`);return Buffer.from(e)};dh.decodePax=function(r){for(var e={};r.length;){for(var t=0;t100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(Jl(r.mode&s9e,6),100),e.write(Jl(r.uid,6),108),e.write(Jl(r.gid,6),116),e.write(Jl(r.size,11),124),e.write(Jl(r.mtime.getTime()/1e3|0,11),136),e[156]=Ice+A9e(r.type),r.linkname&&e.write(r.linkname,157),yce.copy(e,$m),r9e.copy(e,DT),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(Jl(r.devmajor||0,6),329),e.write(Jl(r.devminor||0,6),337),i&&e.write(i,345),e.write(Jl(Bce(e),6),148),e)};dh.decode=function(r,e,t){var i=r[156]===0?0:r[156]-Ice,n=Ch(r,0,100,e),s=Wl(r,100,8),o=Wl(r,108,8),a=Wl(r,116,8),l=Wl(r,124,12),c=Wl(r,136,12),u=a9e(i),g=r[157]===0?null:Ch(r,157,100,e),f=Ch(r,265,32),h=Ch(r,297,32),p=Wl(r,329,8),m=Wl(r,337,8),y=Bce(r);if(y===8*32)return null;if(y!==Wl(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(yce.compare(r,$m,$m+6)===0)r[345]&&(n=Ch(r,345,155,e)+"/"+n);else if(!(i9e.compare(r,$m,$m+6)===0&&n9e.compare(r,DT,DT+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var Pce=w((evt,bce)=>{var Qce=require("util"),c9e=Ece(),eE=FT(),Sce=ph().Writable,vce=ph().PassThrough,xce=function(){},kce=function(r){return r&=511,r&&512-r},u9e=function(r,e){var t=new Qb(r,e);return t.end(),t},g9e=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},Qb=function(r,e){this._parent=r,this.offset=e,vce.call(this,{autoDestroy:!1})};Qce.inherits(Qb,vce);Qb.prototype.destroy=function(r){this._parent.destroy(r)};var kA=function(r){if(!(this instanceof kA))return new kA(r);Sce.call(this,r),r=r||{},this._offset=0,this._buffer=c9e(),this._missing=0,this._partial=!1,this._onparse=xce,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=kce(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(kce(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=eE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=eE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=eE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=eE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=eE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=g9e(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,u9e(e,f),n);return}e._stream=new Qb(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};Qce.inherits(kA,Sce);kA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};kA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};kA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=xce,this._overflow?this._write(this._overflow,void 0,r):r()}};kA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.lengths&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};kA.prototype._final=function(r){if(this._partial)return this.destroy(new Error("Unexpected end of data"));r()};bce.exports=kA});var Rce=w((tvt,Dce)=>{Dce.exports=require("fs").constants||require("constants")});var Oce=w((rvt,Fce)=>{var mh=Rce(),Nce=Mk(),Sb=Hl(),f9e=Buffer.alloc,Lce=ph().Readable,Eh=ph().Writable,h9e=require("string_decoder").StringDecoder,vb=FT(),p9e=parseInt("755",8),d9e=parseInt("644",8),Tce=f9e(1024),NT=function(){},LT=function(r,e){e&=511,e&&r.push(Tce.slice(0,512-e))};function C9e(r){switch(r&mh.S_IFMT){case mh.S_IFBLK:return"block-device";case mh.S_IFCHR:return"character-device";case mh.S_IFDIR:return"directory";case mh.S_IFIFO:return"fifo";case mh.S_IFLNK:return"symlink"}return"file"}var xb=function(r){Eh.call(this),this.written=0,this._to=r,this._destroyed=!1};Sb(xb,Eh);xb.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};xb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var kb=function(){Eh.call(this),this.linkname="",this._decoder=new h9e("utf-8"),this._destroyed=!1};Sb(kb,Eh);kb.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};kb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var tE=function(){Eh.call(this),this._destroyed=!1};Sb(tE,Eh);tE.prototype._write=function(r,e,t){t(new Error("No body allowed for this entry"))};tE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Ia=function(r){if(!(this instanceof Ia))return new Ia(r);Lce.call(this,r),this._drain=NT,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Sb(Ia,Lce);Ia.prototype.entry=function(r,e,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(t=e,e=null),t||(t=NT);var i=this;if((!r.size||r.type==="symlink")&&(r.size=0),r.type||(r.type=C9e(r.mode)),r.mode||(r.mode=r.type==="directory"?p9e:d9e),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return LT(i,r.size),n?process.nextTick(t):this._drain=t,new tE}if(r.type==="symlink"&&!r.linkname){var s=new kb;return Nce(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!=="file"&&r.type!=="contiguous-file")return process.nextTick(t),new tE;var o=new xb(this);return this._stream=o,Nce(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error("size mismatch"));LT(i,r.size),i._finalizing&&i.finalize(),t()}),o}};Ia.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Tce),this.push(null))};Ia.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Ia.prototype._encode=function(r){if(!r.pax){var e=vb.encode(r);if(e){this.push(e);return}}this._encodePax(r)};Ia.prototype._encodePax=function(r){var e=vb.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:"PaxHeader",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:"pax-header",linkname:r.linkname&&"PaxHeader",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(vb.encode(t)),this.push(e),LT(this,e.length),t.size=r.size,t.type=r.type,this.push(vb.encode(t))};Ia.prototype._read=function(r){var e=this._drain;this._drain=NT,e()};Fce.exports=Ia});var Mce=w(TT=>{TT.extract=Pce();TT.pack=Oce()});var Xce=w((Qvt,Wce)=>{"use strict";var Ih=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=_ce(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return jT(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):P9e(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Ih(this.__specs,this.__opts,_ce(this.__providers).concat(e)),zce)}};try{let r=require("util");Ih.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+" "+r.inspect(this.toJSON(),t)}}catch(r){}function D9e(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:"EBADKEY"})}function jT(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))D9e(e);else{i||(i={});let n;for(let s of r.__providers){if(n=Vce(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Vce(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(r):i.default:n}}function Vce(r,e){let t;return e.__isFiggyPudding?t=jT(e,r,!1):typeof e.get=="function"?t=e.get(r):t=e[r],t}var zce={has(r,e){return e in r.__specs&&jT(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Ih.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e=="symbol"||e.slice(0,2)==="__")return r[e]=t,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Wce.exports=R9e;function R9e(r,e){function t(...i){return new Proxy(new Ih(r,e,i),zce)}return t}function _ce(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function P9e(r){return Object.keys(r).map(e=>[e,r[e]])}});var eue=w((Svt,ya)=>{"use strict";var iE=require("crypto"),F9e=Xce(),N9e=require("stream").Transform,Zce=["sha256","sha384","sha512"],L9e=/^[a-z0-9+/]+(?:=?=?)$/i,T9e=/^([^-]+)-([^?]+)([?\S*]*)$/,O9e=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,M9e=/^[\x21-\x7E]+$/,Cn=F9e({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>K9e},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Fu=class{get isHash(){return!0}constructor(e,t){t=Cn(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?O9e:T9e);if(!n||i&&!Zce.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=Cn(e),e.strict&&!(Zce.some(i=>i===this.algorithm)&&this.digest.match(L9e)&&(this.options||[]).every(i=>i.match(M9e))))return"";let t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}},yh=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=Cn(e);let t=e.sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Fu.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=Cn(t);let i=typeof e=="string"?e:nE(e,t);return wa(`${this.toString(t)} ${i}`,t)}hexDigest(){return wa(this,{single:!0}).hexDigest()}match(e,t){t=Cn(t);let i=wa(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=Cn(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};ya.exports.parse=wa;function wa(r,e){if(e=Cn(e),typeof r=="string")return GT(r,e);if(r.algorithm&&r.digest){let t=new yh;return t[r.algorithm]=[r],GT(nE(t,e),e)}else return GT(nE(r,e),e)}function GT(r,e){return e.single?new Fu(r,e):r.trim().split(/\s+/).reduce((t,i)=>{let n=new Fu(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new yh)}ya.exports.stringify=nE;function nE(r,e){return e=Cn(e),r.algorithm&&r.digest?Fu.prototype.toString.call(r,e):typeof r=="string"?nE(wa(r,e),e):yh.prototype.toString.call(r,e)}ya.exports.fromHex=U9e;function U9e(r,e,t){t=Cn(t);let i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return wa(`${e}-${Buffer.from(r,"hex").toString("base64")}${i}`,t)}ya.exports.fromData=H9e;function H9e(r,e){e=Cn(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return t.reduce((n,s)=>{let o=iE.createHash(s).update(r).digest("base64"),a=new Fu(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new yh)}ya.exports.fromStream=j9e;function j9e(r,e){e=Cn(e);let t=e.Promise||Promise,i=YT(e);return new t((n,s)=>{r.pipe(i),r.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ya.exports.checkData=G9e;function G9e(r,e,t){if(t=Cn(t),e=wa(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(t),n=iE.createHash(i).update(r).digest("base64"),s=wa({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size=="number"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ya.exports.checkStream=Y9e;function Y9e(r,e,t){t=Cn(t);let i=t.Promise||Promise,n=YT(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ya.exports.integrityStream=YT;function YT(r){r=Cn(r);let e=r.integrity&&wa(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(iE.createHash),a=0,l=new N9e({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=wa(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ya.exports.create=q9e;function q9e(r){r=Cn(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(iE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Fu(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new yh)}}}var J9e=new Set(iE.getHashes()),$ce=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>J9e.has(r));function K9e(r,e){return $ce.indexOf(r.toLowerCase())>=$ce.indexOf(e.toLowerCase())?r:e}});var EC={};ft(EC,{BuildType:()=>cs,Cache:()=>Nt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>fk,DEFAULT_RC_FILENAME:()=>gk,FormatType:()=>Ri,InstallMode:()=>Ci,LightReport:()=>pA,LinkType:()=>Qt,Manifest:()=>At,MessageName:()=>X,MultiFetcher:()=>yd,PackageExtensionStatus:()=>qi,PackageExtensionType:()=>wi,Project:()=>ze,ProjectLookup:()=>ul,Report:()=>Ji,ReportError:()=>ct,SettingsType:()=>Ie,StreamReport:()=>Je,TAG_REGEXP:()=>zg,TelemetryManager:()=>mC,ThrowReport:()=>di,VirtualFetcher:()=>Bd,Workspace:()=>CC,WorkspaceFetcher:()=>bd,WorkspaceResolver:()=>oi,YarnVersion:()=>Ur,execUtils:()=>Nr,folderUtils:()=>sk,formatUtils:()=>ae,hashUtils:()=>Dn,httpUtils:()=>ir,miscUtils:()=>Se,nodeUtils:()=>Vg,parseMessageName:()=>II,scriptUtils:()=>Zt,semverUtils:()=>Wt,stringifyMessageName:()=>_A,structUtils:()=>P,tgzUtils:()=>Bi,treeUtils:()=>ls});var Nr={};ft(Nr,{EndStrategy:()=>ss,ExecError:()=>Ik,PipeError:()=>ww,execvp:()=>pve,pipevp:()=>ra});var Zh={};ft(Zh,{AliasFS:()=>Na,CwdFS:()=>_t,DEFAULT_COMPRESSION_LEVEL:()=>lc,FakeFS:()=>YA,Filename:()=>kt,JailFS:()=>La,LazyFS:()=>_h,LinkStrategy:()=>Gh,NoFS:()=>jE,NodeFS:()=>ar,PortablePath:()=>Me,PosixFS:()=>Vh,ProxiedFS:()=>Qi,VirtualFS:()=>Wr,ZipFS:()=>li,ZipOpenFS:()=>Is,constants:()=>Rr,extendFs:()=>WE,normalizeLineEndings:()=>sc,npath:()=>H,opendir:()=>KE,patchFs:()=>pQ,ppath:()=>k,statUtils:()=>rQ,toFilename:()=>Jr,xfs:()=>K});var Rr={};ft(Rr,{SAFE_TIME:()=>tQ,S_IFDIR:()=>Da,S_IFLNK:()=>Fa,S_IFMT:()=>_n,S_IFREG:()=>Ra});var _n=61440,Da=16384,Ra=32768,Fa=40960,tQ=456789e3;var rQ={};ft(rQ,{BigIntStatsEntry:()=>Uh,DEFAULT_MODE:()=>Kh,DirEntry:()=>KO,StatEntry:()=>jA,areStatsEqual:()=>nQ,clearStats:()=>RE,convertToBigIntStats:()=>FE,makeDefaultStats:()=>Hh,makeEmptyStats:()=>fge});var iQ=ge(require("util"));var Kh=Ra|420,KO=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&_n)===Da}isFIFO(){return!1}isFile(){return(this.mode&_n)===Ra}isSocket(){return!1}isSymbolicLink(){return(this.mode&_n)===Fa}},jA=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Kh;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&_n)===Da}isFIFO(){return!1}isFile(){return(this.mode&_n)===Ra}isSocket(){return!1}isSymbolicLink(){return(this.mode&_n)===Fa}},Uh=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Kh);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(_n))===BigInt(Da)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(_n))===BigInt(Ra)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(_n))===BigInt(Fa)}};function Hh(){return new jA}function fge(){return RE(Hh())}function RE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):iQ.types.isDate(t)&&(r[e]=new Date(0))}return r}function FE(r){let e=new Uh;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):iQ.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function nQ(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var LE=ge(require("fs"));var jh=ge(require("path")),UO;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(UO||(UO={}));var Me={root:"/",dot:"."},kt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},H=Object.create(jh.default),k=Object.create(jh.default.posix);H.cwd=()=>process.cwd();k.cwd=()=>sQ(process.cwd());k.resolve=(...r)=>r.length>0&&k.isAbsolute(r[0])?jh.default.posix.resolve(...r):jh.default.posix.resolve(k.cwd(),...r);var HO=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?".":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};H.fromPortablePath=jO;H.toPortablePath=sQ;H.contains=(r,e)=>HO(H,r,e);k.contains=(r,e)=>HO(k,r,e);var hge=/^([a-zA-Z]:.*)$/,pge=/^\/\/(\.\/)?(.*)$/,dge=/^\/([a-zA-Z]:.*)$/,Cge=/^\/unc\/(\.dot\/)?(.*)$/;function jO(r){if(process.platform!=="win32")return r;let e,t;if(e=r.match(dge))r=e[1];else if(t=r.match(Cge))r=`\\\\${t[1]?".\\":""}${t[2]}`;else return r;return r.replace(/\//g,"\\")}function sQ(r){if(process.platform!=="win32")return r;r=r.replace(/\\/g,"/");let e,t;return(e=r.match(hge))?r=`/${e[1]}`:(t=r.match(pge))&&(r=`/unc/${t[1]?".dot/":""}${t[2]}`),r}function NE(r,e){return r===H?jO(e):sQ(e)}function Jr(r){if(H.parse(r).dir!==""||k.parse(r).dir!=="")throw new Error(`Invalid filename: "${r}"`);return r}var TE=new Date(tQ*1e3),Gh;(function(t){t.Allow="allow",t.ReadOnly="readOnly"})(Gh||(Gh={}));async function GO(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:TE,mtime:TE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise=="function"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await oQ(a,l,g,r,s,t,o,te(N({},n),{didParentExist:!0}));for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function oQ(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await mge(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:TE,mtime:TE}:c,f;switch(!0){case c.isDirectory():f=await Ege(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await Ige(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await yge(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function mge(r,e){try{return await r.lstatPromise(e)}catch(t){return null}}async function Ege(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?te(N({},c),{didParentExist:!1}):c;if(c.stableSort)for(let h of g.sort())await oQ(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await oQ(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var aQ=new WeakMap;function AQ(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n===Gh.ReadOnly&&(i.mode&=~146,await r.chmodPromise(e,i.mode))}}function wge(r,e,t,i,n){let s=aQ.get(r);return typeof s=="undefined"?async()=>{try{await r.copyFilePromise(t,e,LE.default.constants.COPYFILE_FICLONE_FORCE),aQ.set(r,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")aQ.set(r,!1),await AQ(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,LE.default.constants.COPYFILE_FICLONE_FORCE):AQ(r,e,t,i,n)}async function Ige(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?wge(i,n,a,l,u):async()=>i.copyFilePromise(a,n,LE.default.constants.COPYFILE_FICLONE):u!==null?AQ(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function yge(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(NE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function Es(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function OE(r){return Es("EBUSY",r)}function Yh(r,e){return Es("ENOSYS",`${r}, ${e}`)}function GA(r){return Es("EINVAL",`invalid argument, ${r}`)}function Ai(r){return Es("EBADF",`bad file descriptor, ${r}`)}function io(r){return Es("ENOENT",`no such file or directory, ${r}`)}function Ro(r){return Es("ENOTDIR",`not a directory, ${r}`)}function qh(r){return Es("EISDIR",`illegal operation on a directory, ${r}`)}function ME(r){return Es("EEXIST",`file already exists, ${r}`)}function In(r){return Es("EROFS",`read-only filesystem, ${r}`)}function YO(r){return Es("ENOTEMPTY",`directory not empty, ${r}`)}function qO(r){return Es("EOPNOTSUPP",`operation not supported, ${r}`)}function JO(){return Es("ERR_DIR_CLOSED","Directory handle was closed")}var lQ=class extends Error{constructor(e,t){super(e);this.name="Libzip Error",this.code=t}};var WO=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw JO()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e!="undefined"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function KE(r,e,t,i){let n=()=>{let s=t.shift();return typeof s=="undefined"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new WO(e,n,i)}var zO=ge(require("os"));var YA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await GO(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(NE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch(s){}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch(a){}let o=i?sc(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch(s){}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch(a){}let o=i?sc(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code==="EXDEV")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code==="EXDEV")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)} +`)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)} +`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},oc=class extends YA{constructor(){super(k)}};function Bge(r){let e=r.match(/\r?\n/g);if(e===null)return zO.EOL;let t=e.filter(n=>n===`\r +`).length,i=e.length-t;return t>i?`\r +`:` +`}function sc(r,e){return e.replace(/\r?\n/g,Bge(r))}var zu=ge(require("fs")),cQ=ge(require("stream")),ZO=ge(require("util")),uQ=ge(require("zlib"));var _O=ge(require("fs"));var ar=class extends oc{constructor(e=_O.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Me.root}resolve(e){return k.resolve(e)}async openPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.open(H.fromPortablePath(e),t,i,this.makeCallback(n,s))})}openSync(e,t,i){return this.realFs.openSync(H.fromPortablePath(e),t,i)}async opendirPromise(e,t){return await new Promise((i,n)=>{typeof t!="undefined"?this.realFs.opendir(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.opendir(H.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,t){let i=typeof t!="undefined"?this.realFs.opendirSync(H.fromPortablePath(e),t):this.realFs.opendirSync(H.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,t,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,t,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,t,i,n,s){return this.realFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return await new Promise((o,a)=>typeof t=="string"?this.realFs.write(e,t,i,this.makeCallback(o,a)):this.realFs.write(e,t,i,n,s,this.makeCallback(o,a)))}writeSync(e,t,i,n,s){return typeof t=="string"?this.realFs.writeSync(e,t,i):this.realFs.writeSync(e,t,i,n,s)}async closePromise(e){await new Promise((t,i)=>{this.realFs.close(e,this.makeCallback(t,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,t){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createReadStream(i,t)}createWriteStream(e,t){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createWriteStream(i,t)}async realpathPromise(e){return await new Promise((t,i)=>{this.realFs.realpath(H.fromPortablePath(e),{},this.makeCallback(t,i))}).then(t=>H.toPortablePath(t))}realpathSync(e){return H.toPortablePath(this.realFs.realpathSync(H.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(t=>{this.realFs.exists(H.fromPortablePath(e),t)})}accessSync(e,t){return this.realFs.accessSync(H.fromPortablePath(e),t)}async accessPromise(e,t){return await new Promise((i,n)=>{this.realFs.access(H.fromPortablePath(e),t,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(H.fromPortablePath(e))}async statPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.stat(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.stat(H.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,t){return t?this.realFs.statSync(H.fromPortablePath(e),t):this.realFs.statSync(H.fromPortablePath(e))}async fstatPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.fstat(e,t,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,t){return t?this.realFs.fstatSync(e,t):this.realFs.fstatSync(e)}async lstatPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.lstat(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.lstat(H.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,t){return t?this.realFs.lstatSync(H.fromPortablePath(e),t):this.realFs.lstatSync(H.fromPortablePath(e))}async fchmodPromise(e,t){return await new Promise((i,n)=>{this.realFs.fchmod(e,t,this.makeCallback(i,n))})}fchmodSync(e,t){return this.realFs.fchmodSync(e,t)}async chmodPromise(e,t){return await new Promise((i,n)=>{this.realFs.chmod(H.fromPortablePath(e),t,this.makeCallback(i,n))})}chmodSync(e,t){return this.realFs.chmodSync(H.fromPortablePath(e),t)}async chownPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.chown(H.fromPortablePath(e),t,i,this.makeCallback(n,s))})}chownSync(e,t,i){return this.realFs.chownSync(H.fromPortablePath(e),t,i)}async renamePromise(e,t){return await new Promise((i,n)=>{this.realFs.rename(H.fromPortablePath(e),H.fromPortablePath(t),this.makeCallback(i,n))})}renameSync(e,t){return this.realFs.renameSync(H.fromPortablePath(e),H.fromPortablePath(t))}async copyFilePromise(e,t,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(H.fromPortablePath(e),H.fromPortablePath(t),i,this.makeCallback(n,s))})}copyFileSync(e,t,i=0){return this.realFs.copyFileSync(H.fromPortablePath(e),H.fromPortablePath(t),i)}async appendFilePromise(e,t,i){return await new Promise((n,s)=>{let o=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.appendFile(o,t,i,this.makeCallback(n,s)):this.realFs.appendFile(o,t,this.makeCallback(n,s))})}appendFileSync(e,t,i){let n=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,t,i):this.realFs.appendFileSync(n,t)}async writeFilePromise(e,t,i){return await new Promise((n,s)=>{let o=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.writeFile(o,t,i,this.makeCallback(n,s)):this.realFs.writeFile(o,t,this.makeCallback(n,s))})}writeFileSync(e,t,i){let n=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,t,i):this.realFs.writeFileSync(n,t)}async unlinkPromise(e){return await new Promise((t,i)=>{this.realFs.unlink(H.fromPortablePath(e),this.makeCallback(t,i))})}unlinkSync(e){return this.realFs.unlinkSync(H.fromPortablePath(e))}async utimesPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.utimes(H.fromPortablePath(e),t,i,this.makeCallback(n,s))})}utimesSync(e,t,i){this.realFs.utimesSync(H.fromPortablePath(e),t,i)}async lutimesPromiseImpl(e,t,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Yh("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,H.fromPortablePath(e),t,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,t,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Yh("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,H.fromPortablePath(e),t,i)}async mkdirPromise(e,t){return await new Promise((i,n)=>{this.realFs.mkdir(H.fromPortablePath(e),t,this.makeCallback(i,n))})}mkdirSync(e,t){return this.realFs.mkdirSync(H.fromPortablePath(e),t)}async rmdirPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.rmdir(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.rmdir(H.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,t){return this.realFs.rmdirSync(H.fromPortablePath(e),t)}async linkPromise(e,t){return await new Promise((i,n)=>{this.realFs.link(H.fromPortablePath(e),H.fromPortablePath(t),this.makeCallback(i,n))})}linkSync(e,t){return this.realFs.linkSync(H.fromPortablePath(e),H.fromPortablePath(t))}async symlinkPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.symlink(H.fromPortablePath(e.replace(/\/+$/,"")),H.fromPortablePath(t),i,this.makeCallback(n,s))})}symlinkSync(e,t,i){return this.realFs.symlinkSync(H.fromPortablePath(e.replace(/\/+$/,"")),H.fromPortablePath(t),i)}async readFilePromise(e,t){return await new Promise((i,n)=>{let s=typeof e=="string"?H.fromPortablePath(e):e;this.realFs.readFile(s,t,this.makeCallback(i,n))})}readFileSync(e,t){let i=typeof e=="string"?H.fromPortablePath(e):e;return this.realFs.readFileSync(i,t)}async readdirPromise(e,t){return await new Promise((i,n)=>{(t==null?void 0:t.withFileTypes)?this.realFs.readdir(H.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(H.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,t){return(t==null?void 0:t.withFileTypes)?this.realFs.readdirSync(H.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(H.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((t,i)=>{this.realFs.readlink(H.fromPortablePath(e),this.makeCallback(t,i))}).then(t=>H.toPortablePath(t))}readlinkSync(e){return H.toPortablePath(this.realFs.readlinkSync(H.fromPortablePath(e)))}async truncatePromise(e,t){return await new Promise((i,n)=>{this.realFs.truncate(H.fromPortablePath(e),t,this.makeCallback(i,n))})}truncateSync(e,t){return this.realFs.truncateSync(H.fromPortablePath(e),t)}async ftruncatePromise(e,t){return await new Promise((i,n)=>{this.realFs.ftruncate(e,t,this.makeCallback(i,n))})}ftruncateSync(e,t){return this.realFs.ftruncateSync(e,t)}watch(e,t,i){return this.realFs.watch(H.fromPortablePath(e),t,i)}watchFile(e,t,i){return this.realFs.watchFile(H.fromPortablePath(e),t,i)}unwatchFile(e,t){return this.realFs.unwatchFile(H.fromPortablePath(e),t)}makeCallback(e,t){return(i,n)=>{i?t(i):e(n)}}};var VO=ge(require("events"));var ac;(function(t){t.Change="change",t.Stop="stop"})(ac||(ac={}));var Ac;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(Ac||(Ac={}));function XO(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var Jh=class extends VO.EventEmitter{constructor(e,t,{bigint:i=!1}={}){super();this.status=Ac.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=t,this.bigint=i,this.lastStats=this.stat()}static create(e,t,i){let n=new Jh(e,t,i);return n.start(),n}start(){XO(this.status,Ac.Ready),this.status=Ac.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(ac.Change,this.lastStats,this.lastStats)},3)}stop(){XO(this.status,Ac.Running),this.status=Ac.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(ac.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let t=this.bigint?new Uh:new jA;return RE(t)}}makeInterval(e){let t=setInterval(()=>{let i=this.stat(),n=this.lastStats;nQ(i,n)||(this.lastStats=i,this.emit(ac.Change,i,n))},e.interval);return e.persistent?t:t.unref()}registerChangeListener(e,t){this.addListener(ac.Change,e),this.changeListeners.set(e,this.makeInterval(t))}unregisterChangeListener(e){this.removeListener(ac.Change,e);let t=this.changeListeners.get(e);typeof t!="undefined"&&clearInterval(t),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var UE=new WeakMap;function HE(r,e,t,i){let n,s,o,a;switch(typeof t){case"function":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=UE.get(r);typeof l=="undefined"&&UE.set(r,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=Jh.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Wh(r,e,t){let i=UE.get(r);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof t=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function zh(r){let e=UE.get(r);if(typeof e!="undefined")for(let t of e.keys())Wh(r,t)}var lc="mixed";function bge(r){if(typeof r=="string"&&String(+r)===r)return+r;if(Number.isFinite(r))return r<0?Date.now()/1e3:r;if(ZO.types.isDate(r))return r.getTime()/1e3;throw new Error("Invalid time")}function $O(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var li=class extends oc{constructor(e,t){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=t.libzip;let i=t;if(this.level=typeof i.level!="undefined"?i.level:lc,e!=null||(e=$O()),typeof e=="string"){let{baseFs:o=new ar}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(t.stats)this.stats=t.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Hh();else throw o}else this.stats=Hh();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),t.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(H.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Me.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(t,t+e);return Buffer.from(n)}finally{this.libzip.free(t)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw OE("archive closed, close");zh(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===Kh?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,$O(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return k.resolve(Me.root,e)}async openPromise(e,t,i){return this.openSync(e,t,i)}openSync(e,t,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,t){return this.opendirSync(e,t)}opendirSync(e,t={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw io(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Ro(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return KE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,t,i,n,s){return this.readSync(e,t,i,n,s)}readSync(e,t,i=0,n=t.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw Ai("read");let a=s===-1||s===null?o.cursor:s,l=this.readFileSync(o.p);l.copy(t,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,t,i,n,s){return typeof t=="string"?this.writeSync(e,t,s):this.writeSync(e,t,i,n,s)}writeSync(e,t,i,n,s){throw typeof this.fds.get(e)=="undefined"?Ai("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw Ai("read");this.fds.delete(e)}createReadStream(e,{encoding:t}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new cQ.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,t);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:t}={}){if(this.readOnly)throw In(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new cQ.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),t),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let t=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw io(`lstat '${e}'`);return t}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw OE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=k.resolve(Me.root,e);return this.entries.has(i)||this.listings.has(i)}let t;try{t=this.resolveFilename(`stat '${e}'`,e,void 0,!1)}catch(i){return!1}return t===void 0?!1:this.entries.has(t)||this.listings.has(t)}async accessPromise(e,t){return this.accessSync(e,t)}accessSync(e,t=zu.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw io(`access '${e}'`);if(this.readOnly&&t&zu.constants.W_OK)throw In(`access '${e}'`)}async statPromise(e,t={bigint:!1}){return t.bigint?this.statSync(e,{bigint:!0}):this.statSync(e)}statSync(e,t={bigint:!1,throwIfNoEntry:!0}){let i=this.resolveFilename(`stat '${e}'`,e,void 0,t.throwIfNoEntry);if(i!==void 0){if(!this.entries.has(i)&&!this.listings.has(i)){if(t.throwIfNoEntry===!1)return;throw io(`stat '${e}'`)}if(e[e.length-1]==="/"&&!this.listings.has(i))throw Ro(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,t)}}async fstatPromise(e,t){return this.fstatSync(e,t)}fstatSync(e,t){let i=this.fds.get(e);if(typeof i=="undefined")throw Ai("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw io(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Ro(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,t)}async lstatPromise(e,t={bigint:!1}){return t.bigint?this.lstatSync(e,{bigint:!0}):this.lstatSync(e)}lstatSync(e,t={bigint:!1,throwIfNoEntry:!0}){let i=this.resolveFilename(`lstat '${e}'`,e,!1,t.throwIfNoEntry);if(i!==void 0){if(!this.entries.has(i)&&!this.listings.has(i)){if(t.throwIfNoEntry===!1)return;throw io(`lstat '${e}'`)}if(e[e.length-1]==="/"&&!this.listings.has(i))throw Ro(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,t)}}statImpl(e,t,i={}){let n=this.entries.get(t);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,m=f,y=new Date(h),b=new Date(p),v=new Date(m),x=new Date(f),T=this.listings.has(t)?Da:this.isSymbolicLink(n)?Fa:Ra,q=T===Da?493:420,Y=T|this.getUnixMode(n,q)&511,$=this.libzip.struct.statCrc(s),_=Object.assign(new jA,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:y,birthtime:b,ctime:v,mtime:x,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:Y,crc:$});return i.bigint===!0?FE(_):_}if(this.listings.has(t)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),m=new Date(g),y=new Date(f),b=new Date(h),v=Da|493,x=0,T=Object.assign(new jA,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:y,mtime:b,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:v,crc:x});return i.bigint===!0?FE(T):T}throw new Error("Unreachable")}getUnixMode(e,t){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?t:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let t=this.listings.get(e);if(t)return t;this.registerListing(k.dirname(e)).add(k.basename(e));let n=new Set;return this.listings.set(e,n),n}registerEntry(e,t){this.registerListing(k.dirname(e)).add(k.basename(e)),this.entries.set(e,t)}unregisterListing(e){this.listings.delete(e);let t=this.listings.get(k.dirname(e));t==null||t.delete(k.basename(e))}unregisterEntry(e){this.unregisterListing(e);let t=this.entries.get(e);this.entries.delete(e),typeof t!="undefined"&&(this.fileSources.delete(t),this.isSymbolicLink(t)&&this.symlinkCount--)}deleteEntry(e,t){if(this.unregisterEntry(e),this.libzip.delete(this.zip,t)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,t,i=!0,n=!0){if(!this.ready)throw OE(`archive closed, ${e}`);let s=k.resolve(Me.root,t);if(s==="/")return Me.root;let o=this.entries.get(s);if(i&&o!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(o)){let a=this.getFileSource(o).toString();return this.resolveFilename(e,k.resolve(k.dirname(s),a),!0,n)}else return s;for(;;){let a=this.resolveFilename(e,k.dirname(s),!0,n);if(a===void 0)return a;let l=this.listings.has(a),c=this.entries.has(a);if(!l&&!c){if(n===!1)return;throw io(e)}if(!l)throw Ro(e);if(s=k.resolve(a,k.basename(s)),!i||this.symlinkCount===0)break;let u=this.libzip.name.locate(this.zip,s.slice(1));if(u===-1)break;if(this.isSymbolicLink(u)){let g=this.getFileSource(u).toString();s=k.resolve(k.dirname(s),g)}else break}return s}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let t=this.libzip.malloc(e.byteLength);if(!t)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,t,e.byteLength).set(e),{buffer:t,byteLength:e.byteLength}}allocateUnattachedSource(e){let t=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,t);if(s===0)throw this.libzip.free(t),this.makeLibzipError(t);return s}allocateSource(e){let{buffer:t,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,t,i,0,!0);if(n===0)throw this.libzip.free(t),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,t){let i=Buffer.isBuffer(t)?t:Buffer.from(t),n=k.relative(Me.root,e),s=this.allocateSource(t);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&_n)===Fa}getFileSource(e,t={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(t.asyncDecompress)return new Promise((h,p)=>{uQ.default.inflateRaw(f,(m,y)=>{m?p(m):(this.fileSources.set(e,y),h(y))})});{let h=uQ.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async fchmodPromise(e,t){return this.chmodPromise(this.fdToPath(e,"fchmod"),t)}fchmodSync(e,t){return this.chmodSync(this.fdToPath(e,"fchmodSync"),t)}async chmodPromise(e,t){return this.chmodSync(e,t)}chmodSync(e,t){if(this.readOnly)throw In(`chmod '${e}'`);t&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Ra|0)&~511|t;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,t,i){return this.chownSync(e,t,i)}chownSync(e,t,i){throw new Error("Unimplemented")}async renamePromise(e,t){return this.renameSync(e,t)}renameSync(e,t){throw new Error("Unimplemented")}async copyFilePromise(e,t,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,t,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,t,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,t,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,t,i=0){if(this.readOnly)throw In(`copyfile '${e} -> '${t}'`);if((i&zu.constants.COPYFILE_FICLONE_FORCE)!=0)throw Yh("unsupported clone operation",`copyfile '${e}' -> ${t}'`);let n=this.resolveFilename(`copyfile '${e} -> ${t}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw GA(`copyfile '${e}' -> '${t}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${t}'`,t),a=this.entries.get(o);if((i&(zu.constants.COPYFILE_EXCL|zu.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw ME(`copyfile '${e}' -> '${t}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,t,i){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFilePromise(e,t,i)}appendFileSync(e,t,i={}){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFileSync(e,t,i)}fdToPath(e,t){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw Ai(t);return i}async writeFilePromise(e,t,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(t=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(t)])),n!==null&&(t=t.toString(n));let l=this.setFileSource(a,t);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,t,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(t=Buffer.concat([this.getFileSource(o),Buffer.from(t)])),n!==null&&(t=t.toString(n));let l=this.setFileSource(a,t);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,t){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw In(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw qh(`open '${e}'`);let n=null,s=null;typeof t=="string"?n=t:typeof t=="object"&&({encoding:n=null,mode:s=null}=t);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw In(`unlink '${e}'`);let t=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(t))throw qh(`unlink '${e}'`);let i=this.entries.get(t);if(typeof i=="undefined")throw GA(`unlink '${e}'`);this.deleteEntry(t,i)}async utimesPromise(e,t,i){return this.utimesSync(e,t,i)}utimesSync(e,t,i){if(this.readOnly)throw In(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,t,i){return this.lutimesSync(e,t,i)}lutimesSync(e,t,i){if(this.readOnly)throw In(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,t){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,bge(t),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,t){return this.mkdirSync(e,t)}mkdirSync(e,{mode:t=493,recursive:i=!1}={}){if(i)return this.mkdirpSync(e,{chmod:t});if(this.readOnly)throw In(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw ME(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,t)}async rmdirPromise(e,t){return this.rmdirSync(e,t)}rmdirSync(e,{recursive:t=!1}={}){if(this.readOnly)throw In(`rmdir '${e}'`);if(t){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Ro(`rmdir '${e}'`);if(n.size>0)throw YO(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw GA(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let t=this.libzip.dir.add(this.zip,k.relative(Me.root,e));if(t===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,t),t}async linkPromise(e,t){return this.linkSync(e,t)}linkSync(e,t){throw qO(`link '${e}' -> '${t}'`)}async symlinkPromise(e,t){return this.symlinkSync(e,t)}symlinkSync(e,t){if(this.readOnly)throw In(`symlink '${e}' -> '${t}'`);let i=this.resolveFilename(`symlink '${e}' -> '${t}'`,t);if(this.listings.has(i))throw qh(`symlink '${e}' -> '${t}'`);if(this.entries.has(i))throw ME(`symlink '${e}' -> '${t}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(Fa|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,t){typeof t=="object"&&(t=t?t.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return t?i.toString(t):i}readFileSync(e,t){typeof t=="object"&&(t=t?t.encoding:void 0);let i=this.readFileBuffer(e);return t?i.toString(t):i}readFileBuffer(e,t={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw io(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Ro(`open '${e}'`);if(this.listings.has(i))throw qh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,t)}async readdirPromise(e,t){return this.readdirSync(e,t)}readdirSync(e,t){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw io(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Ro(`scandir '${e}'`);let s=[...n];return(t==null?void 0:t.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",k.join(e,o)),{name:o})):s}async readlinkPromise(e){let t=this.prepareReadlink(e);return(await this.getFileSource(t,{asyncDecompress:!0})).toString()}readlinkSync(e){let t=this.prepareReadlink(e);return this.getFileSource(t).toString()}prepareReadlink(e){let t=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw io(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(t))throw Ro(`open '${e}'`);if(this.listings.has(t))throw GA(`readlink '${e}'`);let i=this.entries.get(t);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw GA(`readlink '${e}'`);return i}async truncatePromise(e,t=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw GA(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(t,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,t=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw GA(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(t,0);return s.copy(o),this.writeFileSync(e,o)}async ftruncatePromise(e,t){return this.truncatePromise(this.fdToPath(e,"ftruncate"),t)}ftruncateSync(e,t){return this.truncateSync(this.fdToPath(e,"ftruncateSync"),t)}watch(e,t,i){let n;switch(typeof t){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=t);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,t,i){let n=k.resolve(Me.root,e);return HE(this,n,t,i)}unwatchFile(e,t){let i=k.resolve(Me.root,e);return Wh(this,i,t)}};var Qi=class extends YA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Na=class extends Qi{constructor(e,{baseFs:t,pathUtils:i}){super(i);this.target=e,this.baseFs=t}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var _t=class extends Qi{constructor(e,{baseFs:t=new ar}={}){super(k);this.target=this.pathUtils.normalize(e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?k.normalize(e):this.baseFs.resolve(k.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var eM=Me.root,La=class extends Qi{constructor(e,{baseFs:t=new ar}={}){super(k);this.target=this.pathUtils.resolve(Me.root,e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Me.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let t=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(eM,e));if(t.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(eM,this.pathUtils.relative(this.target,e))}};var _h=class extends Qi{constructor(e,t){super(t);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var et=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),gQ=class extends YA{constructor(){super(k)}getExtractHint(){throw et()}getRealPath(){throw et()}resolve(){throw et()}async openPromise(){throw et()}openSync(){throw et()}async opendirPromise(){throw et()}opendirSync(){throw et()}async readPromise(){throw et()}readSync(){throw et()}async writePromise(){throw et()}writeSync(){throw et()}async closePromise(){throw et()}closeSync(){throw et()}createWriteStream(){throw et()}createReadStream(){throw et()}async realpathPromise(){throw et()}realpathSync(){throw et()}async readdirPromise(){throw et()}readdirSync(){throw et()}async existsPromise(e){throw et()}existsSync(e){throw et()}async accessPromise(){throw et()}accessSync(){throw et()}async statPromise(){throw et()}statSync(){throw et()}async fstatPromise(e){throw et()}fstatSync(e){throw et()}async lstatPromise(e){throw et()}lstatSync(e){throw et()}async fchmodPromise(){throw et()}fchmodSync(){throw et()}async chmodPromise(){throw et()}chmodSync(){throw et()}async chownPromise(){throw et()}chownSync(){throw et()}async mkdirPromise(){throw et()}mkdirSync(){throw et()}async rmdirPromise(){throw et()}rmdirSync(){throw et()}async linkPromise(){throw et()}linkSync(){throw et()}async symlinkPromise(){throw et()}symlinkSync(){throw et()}async renamePromise(){throw et()}renameSync(){throw et()}async copyFilePromise(){throw et()}copyFileSync(){throw et()}async appendFilePromise(){throw et()}appendFileSync(){throw et()}async writeFilePromise(){throw et()}writeFileSync(){throw et()}async unlinkPromise(){throw et()}unlinkSync(){throw et()}async utimesPromise(){throw et()}utimesSync(){throw et()}async readFilePromise(){throw et()}readFileSync(){throw et()}async readlinkPromise(){throw et()}readlinkSync(){throw et()}async truncatePromise(){throw et()}truncateSync(){throw et()}async ftruncatePromise(e,t){throw et()}ftruncateSync(e,t){throw et()}watch(){throw et()}watchFile(){throw et()}unwatchFile(){throw et()}},jE=gQ;jE.instance=new gQ;var Vh=class extends Qi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return H.fromPortablePath(e)}mapToBase(e){return H.toPortablePath(e)}};var Qge=/^[0-9]+$/,fQ=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,Sge=/^([^/]+-)?[a-f0-9]+$/,Wr=class extends Qi{static makeVirtualPath(e,t,i){if(k.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!k.basename(t).match(Sge))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=k.relative(k.dirname(e),i).split("/"),o=0;for(;o{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==k.sep);){if(r[t-1]===k.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==k.sep?null:r.slice(0,i)},Is=class extends oc{constructor({libzip:e,baseFs:t=new ar,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=t,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,t){let i=new Is(t);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(zh(this),this.zipInstances)for(let[e,{zipFs:t}]of this.zipInstances.entries())t.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(zh(this),this.zipInstances)for(let[e,{zipFs:t}]of this.zipInstances.entries())t.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,t){let i=this.nextFd++|Vn;return this.fdMap.set(i,[e,t]),i}async openPromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,t,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,t,i)))}openSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,t,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,t,i)))}async opendirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,t),async(i,{subPath:n})=>await i.opendirPromise(n,t),{requireSubpath:!1})}opendirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,t),(i,{subPath:n})=>i.opendirSync(n,t),{requireSubpath:!1})}async readPromise(e,t,i,n,s){if((e&Vn)==0)return await this.baseFs.readPromise(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Ai("read");let[a,l]=o;return await a.readPromise(l,t,i,n,s)}readSync(e,t,i,n,s){if((e&Vn)==0)return this.baseFs.readSync(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Ai("readSync");let[a,l]=o;return a.readSync(l,t,i,n,s)}async writePromise(e,t,i,n,s){if((e&Vn)==0)return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Ai("write");let[a,l]=o;return typeof t=="string"?await a.writePromise(l,t,i):await a.writePromise(l,t,i,n,s)}writeSync(e,t,i,n,s){if((e&Vn)==0)return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Ai("writeSync");let[a,l]=o;return typeof t=="string"?a.writeSync(l,t,i):a.writeSync(l,t,i,n,s)}async closePromise(e){if((e&Vn)==0)return await this.baseFs.closePromise(e);let t=this.fdMap.get(e);if(typeof t=="undefined")throw Ai("close");this.fdMap.delete(e);let[i,n]=t;return await i.closePromise(n)}closeSync(e){if((e&Vn)==0)return this.baseFs.closeSync(e);let t=this.fdMap.get(e);if(typeof t=="undefined")throw Ai("closeSync");this.fdMap.delete(e);let[i,n]=t;return i.closeSync(n)}createReadStream(e,t){return e===null?this.baseFs.createReadStream(e,t):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,t),(i,{archivePath:n,subPath:s})=>{let o=i.createReadStream(s,t);return o.path=H.fromPortablePath(this.pathUtils.join(n,s)),o})}createWriteStream(e,t){return e===null?this.baseFs.createWriteStream(e,t):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,t),(i,{subPath:n})=>i.createWriteStream(n,t))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(t,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,await t.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(t,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,t.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(t,{subPath:i})=>await t.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(t,{subPath:i})=>t.existsSync(i))}async accessPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,t),async(i,{subPath:n})=>await i.accessPromise(n,t))}accessSync(e,t){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,t),(i,{subPath:n})=>i.accessSync(n,t))}async statPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,t),async(i,{subPath:n})=>await i.statPromise(n,t))}statSync(e,t){return this.makeCallSync(e,()=>this.baseFs.statSync(e,t),(i,{subPath:n})=>i.statSync(n,t))}async fstatPromise(e,t){if((e&Vn)==0)return this.baseFs.fstatPromise(e,t);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Ai("fstat");let[n,s]=i;return n.fstatPromise(s,t)}fstatSync(e,t){if((e&Vn)==0)return this.baseFs.fstatSync(e,t);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Ai("fstatSync");let[n,s]=i;return n.fstatSync(s,t)}async lstatPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,t),async(i,{subPath:n})=>await i.lstatPromise(n,t))}lstatSync(e,t){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,t),(i,{subPath:n})=>i.lstatSync(n,t))}async fchmodPromise(e,t){if((e&Vn)==0)return this.baseFs.fchmodPromise(e,t);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Ai("fchmod");let[n,s]=i;return n.fchmodPromise(s,t)}fchmodSync(e,t){if((e&Vn)==0)return this.baseFs.fchmodSync(e,t);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Ai("fchmodSync");let[n,s]=i;return n.fchmodSync(s,t)}async chmodPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,t),async(i,{subPath:n})=>await i.chmodPromise(n,t))}chmodSync(e,t){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,t),(i,{subPath:n})=>i.chmodSync(n,t))}async chownPromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,t,i),async(n,{subPath:s})=>await n.chownPromise(s,t,i))}chownSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,t,i),(n,{subPath:s})=>n.chownSync(s,t,i))}async renamePromise(e,t){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.renamePromise(e,t),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(t,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,t){return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.renameSync(e,t),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(t,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,t,i=0){let n=async(s,o,a,l)=>{if((i&Xh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Xh.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.copyFilePromise(e,t,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(t,async()=>await n(s,o,this.baseFs,t),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,t,i=0){let n=(s,o,a,l)=>{if((i&Xh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Xh.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.copyFileSync(e,t,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(t,()=>n(s,o,this.baseFs,t),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,t,i),async(n,{subPath:s})=>await n.appendFilePromise(s,t,i))}appendFileSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,t,i),(n,{subPath:s})=>n.appendFileSync(s,t,i))}async writeFilePromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,t,i),async(n,{subPath:s})=>await n.writeFilePromise(s,t,i))}writeFileSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,t,i),(n,{subPath:s})=>n.writeFileSync(s,t,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(t,{subPath:i})=>await t.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(t,{subPath:i})=>t.unlinkSync(i))}async utimesPromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,t,i),async(n,{subPath:s})=>await n.utimesPromise(s,t,i))}utimesSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,t,i),(n,{subPath:s})=>n.utimesSync(s,t,i))}async mkdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,t),async(i,{subPath:n})=>await i.mkdirPromise(n,t))}mkdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,t),(i,{subPath:n})=>i.mkdirSync(n,t))}async rmdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,t),async(i,{subPath:n})=>await i.rmdirPromise(n,t))}rmdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,t),(i,{subPath:n})=>i.rmdirSync(n,t))}async linkPromise(e,t){return await this.makeCallPromise(t,async()=>await this.baseFs.linkPromise(e,t),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,t){return this.makeCallSync(t,()=>this.baseFs.linkSync(e,t),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.symlinkPromise(e,t,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,t,i){return this.makeCallSync(t,()=>this.baseFs.symlinkSync(e,t,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,t){return this.makeCallPromise(e,async()=>{switch(t){case"utf8":return await this.baseFs.readFilePromise(e,t);default:return await this.baseFs.readFilePromise(e,t)}},async(i,{subPath:n})=>await i.readFilePromise(n,t))}readFileSync(e,t){return this.makeCallSync(e,()=>{switch(t){case"utf8":return this.baseFs.readFileSync(e,t);default:return this.baseFs.readFileSync(e,t)}},(i,{subPath:n})=>i.readFileSync(n,t))}async readdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,t),async(i,{subPath:n})=>await i.readdirPromise(n,t),{requireSubpath:!1})}readdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,t),(i,{subPath:n})=>i.readdirSync(n,t),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(t,{subPath:i})=>await t.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(t,{subPath:i})=>t.readlinkSync(i))}async truncatePromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,t),async(i,{subPath:n})=>await i.truncatePromise(n,t))}truncateSync(e,t){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,t),(i,{subPath:n})=>i.truncateSync(n,t))}async ftruncatePromise(e,t){if((e&Vn)==0)return this.baseFs.ftruncatePromise(e,t);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Ai("ftruncate");let[n,s]=i;return n.ftruncatePromise(s,t)}ftruncateSync(e,t){if((e&Vn)==0)return this.baseFs.ftruncateSync(e,t);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Ai("ftruncateSync");let[n,s]=i;return n.ftruncateSync(s,t)}watch(e,t,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,t,i),(n,{subPath:s})=>n.watch(s,t,i))}watchFile(e,t,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,t,i),()=>HE(this,e,t,i))}unwatchFile(e,t){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,t),()=>Wh(this,e,t))}async makeCallPromise(e,t,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await t();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await t():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await t()}makeCallSync(e,t,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return t();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?t():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let t="";for(;;){let i=e.substring(t.length),n;if(!this.fileExtensions)n=tM(i,".zip");else for(let s of this.fileExtensions)if(n=tM(i,s),n)break;if(!n)return null;if(t=this.pathUtils.join(t,n),this.isZip.has(t)===!1){if(this.notZip.has(t))continue;try{if(!this.baseFs.lstatSync(t).isFile()){this.notZip.add(t);continue}}catch{return null}this.isZip.add(t)}return{archivePath:t,subPath:this.pathUtils.join(Me.root,e.substring(t.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let t=Date.now(),i=t+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(t>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-t).unref())}async getZipPromise(e,t){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new li(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await t(n.zipFs)}finally{n.refCount-=1}}else{let n=new li(e,await i());try{return await t(n)}finally{n.saveAndClose()}}}getZipSync(e,t){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new li(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,t(n.zipFs)}else{let n=new li(e,i());try{return t(n)}finally{n.saveAndClose()}}}};var Vu=ge(require("util"));var GE=ge(require("url"));var hQ=class extends Qi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof GE.URL?(0,GE.fileURLToPath)(e):e}};var en=Symbol("kBaseFs"),Ta=Symbol("kFd"),qA=Symbol("kClosePromise"),YE=Symbol("kCloseResolve"),qE=Symbol("kCloseReject"),_u=Symbol("kRefs"),Fo=Symbol("kRef"),No=Symbol("kUnref"),Q6e,S6e,v6e,x6e,JE=class{constructor(e,t){this[Q6e]=1;this[S6e]=void 0;this[v6e]=void 0;this[x6e]=void 0;this[en]=t,this[Ta]=e}get fd(){return this[Ta]}async appendFile(e,t){var i;try{this[Fo](this.appendFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[en].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[No]()}}chown(e,t){throw new Error("Method not implemented.")}async chmod(e){try{return this[Fo](this.chmod),await this[en].fchmodPromise(this.fd,e)}finally{this[No]()}}createReadStream(e){return this[en].createReadStream(null,te(N({},e),{fd:this.fd}))}createWriteStream(e){return this[en].createWriteStream(null,te(N({},e),{fd:this.fd}))}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,i,n){var s,o,a;try{this[Fo](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[en].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[No]()}}async readFile(e){var t;try{this[Fo](this.readFile);let i=(t=typeof e=="string"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[en].readFilePromise(this.fd,i)}finally{this[No]()}}async stat(e){try{return this[Fo](this.stat),await this[en].fstatPromise(this.fd,e)}finally{this[No]()}}async truncate(e){try{return this[Fo](this.truncate),await this[en].ftruncatePromise(this.fd,e)}finally{this[No]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var i;try{this[Fo](this.writeFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[en].writeFilePromise(this.fd,e,n)}finally{this[No]()}}async write(...e){try{if(this[Fo](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[en].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[en].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[No]()}}async writev(e,t){try{this[Fo](this.writev);let i=0;if(typeof t!="undefined")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e)i+=(await this.write(n)).bytesWritten;return{buffers:e,bytesWritten:i}}finally{this[No]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(this[Ta]===-1)return Promise.resolve();if(this[qA])return this[qA];if(this[_u]--,this[_u]===0){let e=this[Ta];this[Ta]=-1,this[qA]=this[en].closePromise(e).finally(()=>{this[qA]=void 0})}else this[qA]=new Promise((e,t)=>{this[YE]=e,this[qE]=t}).finally(()=>{this[qA]=void 0,this[qE]=void 0,this[YE]=void 0});return this[qA]}[(en,Ta,Q6e=_u,S6e=qA,v6e=YE,x6e=qE,Fo)](e){if(this[Ta]===-1){let t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[_u]++}[No](){if(this[_u]--,this[_u]===0){let e=this[Ta];this[Ta]=-1,this[en].closePromise(e).then(this[YE],this[qE])}}};var vge=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),rM=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function pQ(r,e){e=new hQ(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Vu.promisify.custom])!="undefined"&&(s[Vu.promisify.custom]=o[Vu.promisify.custom])};{t(r,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of rM){let n=i.replace(/Promise$/,"");if(typeof r[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}}),t(r,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of vge){let n=i;if(typeof r[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let s of rM){let o=s.replace(/Promise$/,"");if(typeof n[o]=="undefined")continue;let a=e[s];typeof a!="undefined"&&s!=="open"&&t(n,o,(l,...c)=>l instanceof JE?l[o].apply(l,c):a.call(e,l,...c))}t(n,"open",async(...s)=>{let o=await e.openPromise(...s);return new JE(o,e)})}}r.read[Vu.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Vu.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function WE(r,e){let t=Object.create(r);return pQ(t,e),t}var iM=ge(require("os"));function nM(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${r}${e}`}var no=new Set,dQ=null;function sM(){if(dQ)return dQ;let r=H.toPortablePath(iM.default.tmpdir()),e=K.realpathSync(r);return process.once("exit",()=>{K.rmtempSync()}),dQ={tmpdir:r,realTmpdir:e}}var K=Object.assign(new ar,{detachTemp(r){no.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=sM();for(;;){let i=nM("xfs-");try{this.mkdirSync(k.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=k.join(t,i);if(no.add(n),typeof r=="undefined")return n;try{return r(n)}finally{if(no.has(n)){no.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=sM();for(;;){let i=nM("xfs-");try{await this.mkdirPromise(k.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=k.join(t,i);if(no.add(n),typeof r=="undefined")return n;try{return await r(n)}finally{if(no.has(n)){no.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(no.values()).map(async r=>{try{await K.removePromise(r,{maxRetries:0}),no.delete(r)}catch{}}))},rmtempSync(){for(let r of no)try{K.removeSync(r),no.delete(r)}catch{}}});var mk=ge(SQ());var op={};ft(op,{parseResolution:()=>$E,parseShell:()=>_E,parseSyml:()=>Si,stringifyArgument:()=>PQ,stringifyArgumentSegment:()=>DQ,stringifyArithmeticExpression:()=>ZE,stringifyCommand:()=>kQ,stringifyCommandChain:()=>eg,stringifyCommandChainThen:()=>xQ,stringifyCommandLine:()=>VE,stringifyCommandLineThen:()=>vQ,stringifyEnvSegment:()=>XE,stringifyRedirectArgument:()=>$h,stringifyResolution:()=>eI,stringifyShell:()=>$u,stringifyShellLine:()=>$u,stringifySyml:()=>Ma,stringifyValueArgument:()=>uc});var _M=ge(zM());function _E(r,e={isGlobPattern:()=>!1}){try{return(0,_M.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function $u(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${VE(t)}${i===";"?n!==r.length-1||e?";":"":" &"}`).join(" ")}function VE(r){return`${eg(r.chain)}${r.then?` ${vQ(r.then)}`:""}`}function vQ(r){return`${r.type} ${VE(r.line)}`}function eg(r){return`${kQ(r)}${r.then?` ${xQ(r.then)}`:""}`}function xQ(r){return`${r.type} ${eg(r.chain)}`}function kQ(r){switch(r.type){case"command":return`${r.envs.length>0?`${r.envs.map(e=>XE(e)).join(" ")} `:""}${r.args.map(e=>PQ(e)).join(" ")}`;case"subshell":return`(${$u(r.subshell)})${r.args.length>0?` ${r.args.map(e=>$h(e)).join(" ")}`:""}`;case"group":return`{ ${$u(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>$h(e)).join(" ")}`:""}`;case"envs":return r.envs.map(e=>XE(e)).join(" ");default:throw new Error(`Unsupported command type: "${r.type}"`)}}function XE(r){return`${r.name}=${r.args[0]?uc(r.args[0]):""}`}function PQ(r){switch(r.type){case"redirection":return $h(r);case"argument":return uc(r);default:throw new Error(`Unsupported argument type: "${r.type}"`)}}function $h(r){return`${r.subtype} ${r.args.map(e=>uc(e)).join(" ")}`}function uc(r){return r.segments.map(e=>DQ(e)).join("")}function DQ(r){let e=(i,n)=>n?`"${i}"`:i,t=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(r.type){case"text":return t(r.text);case"glob":return r.pattern;case"shell":return e(`\${${$u(r.shell)}}`,r.quoted);case"variable":return e(typeof r.defaultValue=="undefined"?typeof r.alternativeValue=="undefined"?`\${${r.name}}`:r.alternativeValue.length===0?`\${${r.name}:+}`:`\${${r.name}:+${r.alternativeValue.map(i=>uc(i)).join(" ")}}`:r.defaultValue.length===0?`\${${r.name}:-}`:`\${${r.name}:-${r.defaultValue.map(i=>uc(i)).join(" ")}}`,r.quoted);case"arithmetic":return`$(( ${ZE(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${r.type}"`)}}function ZE(r){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(ZE(n),!["number","variable"].includes(n.type));switch(r.type){case"number":return String(r.value);case"variable":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var ZM=ge(XM());function $E(r){let e=r.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,ZM.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function eI(r){let e="";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+="/"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var uI=ge(jK()),qK=ge(YK()),Tpe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,JK=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],YQ=class{constructor(e){this.data=e}};function WK(r){return r.match(Tpe)?r:JSON.stringify(r)}function zK(r){return typeof r=="undefined"?!0:typeof r=="object"&&r!==null?Object.keys(r).every(e=>zK(r[e])):!1}function qQ(r,e,t){if(r===null)return`null +`;if(typeof r=="number"||typeof r=="boolean")return`${r.toString()} +`;if(typeof r=="string")return`${WK(r)} +`;if(Array.isArray(r)){if(r.length===0)return`[] +`;let i=" ".repeat(e);return` +${r.map(s=>`${i}- ${qQ(s,e+1,!1)}`).join("")}`}if(typeof r=="object"&&r){let i,n;r instanceof YQ?(i=r.data,n=!1):(i=r,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=JK.indexOf(l),g=JK.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!zK(i[l])).map((l,c)=>{let u=i[l],g=WK(l),f=qQ(u,e+1,!0),h=c>0||t?s:"",p=g.length>1024?`? ${g} +${h}:`:`${g}:`,m=f.startsWith(` +`)?f:` ${f}`;return`${h}${p}${m}`}).join(e===0?` +`:"")||` +`;return t?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function Ma(r){try{let e=qQ(r,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Ma.PreserveOrdering=YQ;function Ope(r){return r.endsWith(` +`)||(r+=` +`),(0,qK.parse)(r)}var Mpe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function Kpe(r){if(Mpe.test(r))return Ope(r);let e=(0,uI.safeLoad)(r,{schema:uI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Si(r){return Kpe(r)}var T4=ge(VK()),mw=ge(Ic());var Cp={};ft(Cp,{Builtins:()=>oS,Cli:()=>ws,Command:()=>Re,Option:()=>J,UsageError:()=>Pe,formatMarkdownish:()=>Ui});var yc=0,ap=1,tn=2,WQ="",vi="\0",lg=-1,zQ=/^(-h|--help)(?:=([0-9]+))?$/,gI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,tU=/^-[a-zA-Z]{2,}$/,_Q=/^([^=]+)=([\s\S]*)$/,VQ=process.env.DEBUG_CLI==="1";var Pe=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ap=class extends Error{constructor(e,t){super();if(this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${XQ(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${XQ(e)}`}},ZQ=class extends Error{constructor(e,t){super();this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${XQ(e)}`}},XQ=r=>`While running ${r.filter(e=>e!==vi).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;var lp=Symbol("clipanion/isOption");function rn(r){return te(N({},r),{[lp]:!0})}function Oo(r,e){return typeof r=="undefined"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function fI(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function cp(r,e){return e.length===1?new Pe(`${r}: ${fI(e[0],!0)}`):new Pe(`${r}: +${e.map(t=>` +- ${fI(t)}`).join("")}`)}function up(r,e,t){if(typeof t=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw cp(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var Re=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ys(),cg)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw cp("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i!="undefined"?i:0}};Re.isOption=lp;Re.Default=[];var uU=80,tS=Array(uU).fill("\u2501");for(let r=0;r<=24;++r)tS[tS.length-r]=`[38;5;${232+r}m\u2501`;var rS={header:r=>`\u2501\u2501\u2501 ${r}${r.length`${r}`,error:r=>`${r}`,code:r=>`${r}`},gU={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function yde(r){let e=r.split(` +`),t=e.filter(n=>n.match(/\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Ui(r,{format:e,paragraphs:t}){return r=r.replace(/\r\n?/g,` +`),r=yde(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),r=r.replace(/\n(\n)?\n*/g,"$1"),t&&(r=r.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),r=r.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r} +`:""}var sS=ge(require("tty"));function wn(r){VQ&&console.log(r)}var fU={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:lg};function hU(){return{nodes:[sn(),sn(),sn()]}}function Bde(r){let e=hU(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(yc)}function Qde(r,{prefix:e=""}={}){if(VQ){wn(`${e}Nodes are:`);for(let t=0;tl!==tn).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===tn))throw new Ap(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=Sde(a)}if(i.length>0){wn(" Results:");for(let s of i)wn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else wn(" No results");return i}function vde(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,vi)){for(let{to:t}of r.statics[vi])if(t===ap)return!0}return!1}function kde(r,e,t){let i=t&&e.length>0?[""]:[],n=dU(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=r.nodes[p],y=Object.keys(m.statics);for(let b of Object.keys(m.statics)){let v=y[0];for(let{to:x,reducer:T}of m.statics[v])T==="pushPath"&&(u||l.push(v),g.push(x))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=vde(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==vi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===tn)continue;let p=xde(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function Dde(r,e){let t=dU(r,[...e,vi]);return Pde(e,t.map(({state:i})=>i))}function Sde(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function Pde(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ap(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=Rde(c);if(u.length>1)throw new ZQ(r,u.map(g=>g.candidateUsage));return u[0]}function Rde(r){let e=[],t=[];for(let i of r)i.selectedIndex===lg?t.push(i):e.push(i);return t.length>0&&e.push(te(N({},fU),{path:CU(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])})),e}function CU(r,e,...t){return e===void 0?Array.from(r):CU(r.filter((i,n)=>i===e[n]),...t)}function sn(){return{dynamics:[],shortcuts:[],statics:{}}}function pU(r){return r===ap||r===tn}function nS(r,e=0){return{to:pU(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function wde(r,e=0){let t=sn();for(let[i,n]of r.dynamics)t.dynamics.push([i,nS(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(nS(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>nS(s,e));return t}function xi(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function ug(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function Ka(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function pI(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function xde(r,e){let t=Array.isArray(r)?dI[r[0]]:dI[r];if(typeof t.suggest=="undefined")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var dI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(r,e)=>r.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&tU.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(_Q);return!r.ignoreOptions&&!!n&&gI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&zQ.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith("-")&&gI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith("-")&&!gI.test(e)};dI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var iS={setCandidateState:(r,e,t)=>N(N({},r),t),setSelectedIndex:(r,e,t)=>te(N({},r),{selectedIndex:t}),pushBatch:(r,e)=>te(N({},r),{options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(_Q);return te(N({},r),{options:r.options.concat({name:t,value:i})})},pushPath:(r,e)=>te(N({},r),{path:r.path.concat(e)}),pushPositional:(r,e)=>te(N({},r),{positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>te(N({},r),{positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>te(N({},r),{positionals:r.positionals.concat({value:e,extra:Zn})}),pushTrue:(r,e,t=e)=>te(N({},r),{options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>te(N({},r),{options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>te(N({},r),{options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i=te(N({},r),{options:[...r.options]}),n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t=te(N({},r),{options:[...r.options]}),i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>te(N({},r),{ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(zQ);return typeof i!="undefined"?te(N({},r),{options:[{name:"-c",value:String(t)},{name:"-i",value:i}]}):te(N({},r),{options:[{name:"-c",value:String(t)}]})},setError:(r,e,t)=>e===vi?te(N({},r),{errorMessage:`${t}.`}):te(N({},r),{errorMessage:`${t} ("${e}").`}),setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return te(N({},r),{errorMessage:`Not enough arguments to option ${t.name}.`})}},Zn=Symbol(),mU=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===Zn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!t&&this.arity.extra!==Zn?this.arity.extra.push(e):this.arity.extra!==Zn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===Zn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Zn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=hU(),t=yc,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=so(e,sn()),Ka(e,yc,WQ,t,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=so(e,sn());ug(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=so(e,sn());xi(e,l,"isHelp",f,["useHelp",this.cliIndex]),Ka(e,f,vi,ap,["setSelectedIndex",lg]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ka(e,l,vi,tn,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Ka(e,h,vi,tn,["setError","Not enough positional arguments"]),xi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Zn||this.arity.extra.length>0){let f=so(e,sn());if(ug(e,c,f),this.arity.extra===Zn){let h=so(e,sn());this.arity.proxy||this.registerOptions(e,h),xi(e,c,s,h,"pushExtraNoLimits"),xi(e,h,s,h,"pushExtraNoLimits"),ug(e,h,f)}else for(let h=0;h0&&Ka(e,u,vi,tn,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)xi(e,t,["isOption",s,i.hidden||s!==n],t,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&xi(e,t,["isNegatedOption",s],t,["pushFalse",s]);else{let s=so(e,sn());for(let o of i.names)xi(e,t,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eDde(i,n),suggest:(n,s)=>kde(i,n,s)}}};var dp=class extends Re{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,t){let i=new dp(t);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var EU=Symbol("clipanion/errorCommand");function Fde(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY?8:1}var ws=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new pp({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new ws(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[Re.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case lg:return dp.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[EU]=a,l}}break}}async run(e,t){var i;let n,s=N(N({},ws.defaultContext),t),o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,N(N({},s),u)),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?Nde(s):IU,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Ui(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Ui(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Ui(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Ui(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof Re?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ui(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(t).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${rS.header("Options")} +`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=` +`;for(let{definition:p,description:m}of f)a+=` ${this.format(t).bold(p.padEnd(h))} ${Ui(m,{format:this.format(t),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(t).header("Details")} +`,a+=` +`,a+=Ui(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(t).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Ui(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(t).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Ui(f.usage.category,{format:this.format(t),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:y}=this.getUsageByIndex(h);m.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(t).header(`${this.binaryLabel}`)} +`:a+=`${this.format(t).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(t).bold(n)}${this.binaryName} +`):a+=`${this.format(t).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((m,y)=>m.usage.localeCompare(y.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(t).header(`${p}`)} +`;for(let{commandClass:m,usage:y}of h){let b=m.usage.description||"undocumented";a+=` +`,a+=` ${this.format(t).bold(y)} +`,a+=` ${Ui(b,{format:this.format(t),paragraphs:!1})}`}}a+=` +`,a+=Ui("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[EU])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:ws.defaultContext.colorDepth>1)?rS:gU}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};ws.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in sS.default.WriteStream.prototype?sS.default.WriteStream.prototype.getColorDepth():Fde()};var yU;function Nde(r){let e=yU;if(typeof e=="undefined"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return IU;let{AsyncLocalStorage:t}=require("async_hooks");e=yU=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function IU(r){return r()}var oS={};ft(oS,{DefinitionsCommand:()=>CI,HelpCommand:()=>mI,VersionCommand:()=>EI});var CI=class extends Re{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};CI.paths=[["--clipanion=definitions"]];var mI=class extends Re{async execute(){this.context.stdout.write(this.cli.usage())}};mI.paths=[["-h"],["--help"]];var EI=class extends Re{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};EI.paths=[["-v"],["--version"]];var J={};ft(J,{Array:()=>wU,Boolean:()=>BU,Counter:()=>bU,Proxy:()=>QU,Rest:()=>SU,String:()=>vU,applyValidator:()=>up,cleanValidationError:()=>fI,formatError:()=>cp,isOptionSymbol:()=>lp,makeCommandOption:()=>rn,rerouteArguments:()=>Oo});function wU(r,e,t){let[i,n]=Oo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function BU(r,e,t){let[i,n]=Oo(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function bU(r,e,t){let[i,n]=Oo(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function QU(r={}){return rn({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function SU(r={}){return rn({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Zn||a.extra===!1&&oo)}})}function Lde(r,e,t){let[i,n]=Oo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?up(g!=null?g:c,f,n.validator):f}})}function Tde(r={}){let{required:e=!0}=r;return rn({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;oYW,areIdentsEqual:()=>fd,areLocatorsEqual:()=>hd,areVirtualPackagesEquivalent:()=>aSe,bindDescriptor:()=>sSe,bindLocator:()=>oSe,convertDescriptorToLocator:()=>Aw,convertLocatorToDescriptor:()=>_x,convertPackageToLocator:()=>nSe,convertToIdent:()=>iSe,convertToManifestRange:()=>cSe,copyPackage:()=>cd,devirtualizeDescriptor:()=>ud,devirtualizeLocator:()=>gd,getIdentVendorPath:()=>ek,isPackageCompatible:()=>gw,isVirtualDescriptor:()=>Al,isVirtualLocator:()=>ea,makeDescriptor:()=>rr,makeIdent:()=>$o,makeLocator:()=>cn,makeRange:()=>cw,parseDescriptor:()=>ll,parseFileStyleRange:()=>ASe,parseIdent:()=>An,parseLocator:()=>Yc,parseRange:()=>qg,prettyDependent:()=>Lv,prettyDescriptor:()=>sr,prettyIdent:()=>fi,prettyLocator:()=>It,prettyLocatorNoColors:()=>$x,prettyRange:()=>aw,prettyReference:()=>dd,prettyResolution:()=>Tv,prettyWorkspace:()=>Cd,renamePackage:()=>ld,slugifyIdent:()=>Zx,slugifyLocator:()=>Jg,sortDescriptors:()=>Wg,stringifyDescriptor:()=>Pn,stringifyIdent:()=>Ot,stringifyLocator:()=>Rs,tryParseDescriptor:()=>pd,tryParseIdent:()=>qW,tryParseLocator:()=>lw,virtualizeDescriptor:()=>Vx,virtualizePackage:()=>Xx});var Yg=ge(require("querystring")),HW=ge(ri()),jW=ge(nY());var ae={};ft(ae,{LogLevel:()=>ho,Style:()=>Tc,Type:()=>qe,addLogFilterSupport:()=>nd,applyColor:()=>ns,applyHyperlink:()=>Mg,applyStyle:()=>Ry,json:()=>Oc,jsonOrPretty:()=>KBe,mark:()=>Hv,pretty:()=>tt,prettyField:()=>_o,prettyList:()=>Uv,supportsColor:()=>Py,supportsHyperlinks:()=>Mv,tuple:()=>fo});var rd=ge(uv()),id=ge(Ic());var sJ=ge(is()),oJ=ge(Jq());var Se={};ft(Se,{AsyncActions:()=>$q,BufferStream:()=>Zq,CachingStrategy:()=>Lc,DefaultStream:()=>eJ,allSettledSafe:()=>go,assertNever:()=>Pv,bufferStream:()=>Tg,buildIgnorePattern:()=>LBe,convertMapsToIndexableObjects:()=>ky,dynamicRequire:()=>Og,escapeRegExp:()=>PBe,getArrayWithDefault:()=>Fg,getFactoryWithDefault:()=>_a,getMapWithDefault:()=>Ng,getSetWithDefault:()=>Nc,isIndexableObject:()=>Dv,isPathLike:()=>TBe,isTaggedYarnVersion:()=>kBe,mapAndFilter:()=>zo,mapAndFind:()=>$p,overrideType:()=>kv,parseBoolean:()=>td,parseOptionalBoolean:()=>nJ,prettifyAsyncErrors:()=>Lg,prettifySyncErrors:()=>Rv,releaseAfterUseAsync:()=>RBe,replaceEnvVariables:()=>Fv,sortMap:()=>kn,tryParseOptionalBoolean:()=>Nv,validateEnum:()=>DBe});var Wq=ge(is()),zq=ge(gg()),_q=ge(ri()),xv=ge(require("stream"));function kBe(r){return!!(_q.default.valid(r)&&r.match(/^[^-]+(-rc\.[0-9]+)?$/))}function PBe(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kv(r){}function Pv(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function DBe(r,e){let t=Object.values(r);if(!t.includes(e))throw new Pe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(", ")})`);return e}function zo(r,e){let t=[];for(let i of r){let n=e(i);n!==Vq&&t.push(n)}return t}var Vq=Symbol();zo.skip=Vq;function $p(r,e){for(let t of r){let i=e(t);if(i!==Xq)return i}}var Xq=Symbol();$p.skip=Xq;function Dv(r){return typeof r=="object"&&r!==null}async function go(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status==="rejected")throw i.reason;t.push(i.value)}return t}function ky(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Dv(r))for(let e of Object.keys(r)){let t=r[e];Dv(t)&&(r[e]=ky(t))}return r}function _a(r,e,t){let i=r.get(e);return typeof i=="undefined"&&r.set(e,i=t()),i}function Fg(r,e){let t=r.get(e);return typeof t=="undefined"&&r.set(e,t=[]),t}function Nc(r,e){let t=r.get(e);return typeof t=="undefined"&&r.set(e,t=new Set),t}function Ng(r,e){let t=r.get(e);return typeof t=="undefined"&&r.set(e,t=new Map),t}async function RBe(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function Lg(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Rv(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function Tg(r){return await new Promise((e,t)=>{let i=[];r.on("error",n=>{t(n)}),r.on("data",n=>{i.push(n)}),r.on("end",()=>{e(Buffer.concat(i))})})}var Zq=class extends xv.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,t,i){if(t!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}};function FBe(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var $q=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,zq.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=FBe());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},eJ=class extends xv.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,t,i){if(t!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},ed=eval("require");function tJ(r){return ed(H.fromPortablePath(r))}function rJ(path){let physicalPath=H.fromPortablePath(path),currentCacheEntry=ed.cache[physicalPath];delete ed.cache[physicalPath];let result;try{result=tJ(physicalPath);let freshCacheEntry=ed.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{ed.cache[physicalPath]=currentCacheEntry}return result}var iJ=new Map;function NBe(r){let e=iJ.get(r),t=K.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=rJ(r);return iJ.set(r,{mtime:t.mtimeMs,instance:i}),i}var Lc;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(Lc||(Lc={}));function Og(r,{cachingStrategy:e=2}={}){switch(e){case 0:return rJ(r);case 1:return NBe(r);case 2:return tJ(r);default:throw new Error("Unsupported caching strategy")}}function kn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function LBe(r){return r.length===0?null:r.map(e=>`(${Wq.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Fv(r,{env:e}){let t=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Pe(`Environment variable not found (${n})`)})}function td(r){switch(r){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${r}" as a boolean`)}}function nJ(r){return typeof r=="undefined"?r:td(r)}function Nv(r){try{return nJ(r)}catch{return null}}function TBe(r){return!!(H.isAbsolute(r)||r.match(/^(\.{1,2}|~)\//))}var Qt;(function(t){t.HARD="HARD",t.SOFT="SOFT"})(Qt||(Qt={}));var wi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(wi||(wi={}));var qi;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qi||(qi={}));var qe={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},Tc;(function(e){e[e.BOLD=2]="BOLD"})(Tc||(Tc={}));var Ov=id.default.GITHUB_ACTIONS?{level:2}:rd.default.supportsColor?{level:rd.default.supportsColor.level}:{level:0},Py=Ov.level!==0,Mv=Py&&!id.default.GITHUB_ACTIONS&&!id.default.CIRCLE&&!id.default.GITLAB,Kv=new rd.default.Instance(Ov),OBe=new Map([[qe.NO_HINT,null],[qe.NULL,["#a853b5",129]],[qe.SCOPE,["#d75f00",166]],[qe.NAME,["#d7875f",173]],[qe.RANGE,["#00afaf",37]],[qe.REFERENCE,["#87afff",111]],[qe.NUMBER,["#ffd700",220]],[qe.PATH,["#d75fd7",170]],[qe.URL,["#d75fd7",170]],[qe.ADDED,["#5faf00",70]],[qe.REMOVED,["#d70000",160]],[qe.CODE,["#87afff",111]],[qe.SIZE,["#ffd700",220]]]),Fs=r=>r,Dy={[qe.NUMBER]:Fs({pretty:(r,e)=>`${e}`,json:r=>r}),[qe.IDENT]:Fs({pretty:(r,e)=>fi(r,e),json:r=>Ot(r)}),[qe.LOCATOR]:Fs({pretty:(r,e)=>It(r,e),json:r=>Rs(r)}),[qe.DESCRIPTOR]:Fs({pretty:(r,e)=>sr(r,e),json:r=>Pn(r)}),[qe.RESOLUTION]:Fs({pretty:(r,{descriptor:e,locator:t})=>Tv(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Pn(r),locator:e!==null?Rs(e):null})}),[qe.DEPENDENT]:Fs({pretty:(r,{locator:e,descriptor:t})=>Lv(r,e,t),json:({locator:r,descriptor:e})=>({locator:Rs(r),descriptor:Pn(e)})}),[qe.PACKAGE_EXTENSION]:Fs({pretty:(r,e)=>{switch(e.type){case wi.Dependency:return`${fi(r,e.parentDescriptor)} \u27A4 ${ns(r,"dependencies",qe.CODE)} \u27A4 ${fi(r,e.descriptor)}`;case wi.PeerDependency:return`${fi(r,e.parentDescriptor)} \u27A4 ${ns(r,"peerDependencies",qe.CODE)} \u27A4 ${fi(r,e.descriptor)}`;case wi.PeerDependencyMeta:return`${fi(r,e.parentDescriptor)} \u27A4 ${ns(r,"peerDependenciesMeta",qe.CODE)} \u27A4 ${fi(r,An(e.selector))} \u27A4 ${ns(r,e.key,qe.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case wi.Dependency:return`${Ot(r.parentDescriptor)} > ${Ot(r.descriptor)}`;case wi.PeerDependency:return`${Ot(r.parentDescriptor)} >> ${Ot(r.descriptor)}`;case wi.PeerDependencyMeta:return`${Ot(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[qe.SETTING]:Fs({pretty:(r,e)=>(r.get(e),Mg(r,ns(r,e,qe.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[qe.DURATION]:Fs({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[qe.SIZE]:Fs({pretty:(r,e)=>{let t=["KB","MB","GB","TB"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return ns(r,`${s} ${t[i-1]}`,qe.NUMBER)},json:r=>r}),[qe.PATH]:Fs({pretty:(r,e)=>ns(r,H.fromPortablePath(e),qe.PATH),json:r=>H.fromPortablePath(r)}),[qe.MARKDOWN]:Fs({pretty:(r,{text:e,format:t,paragraphs:i})=>Ui(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function fo(r,e){return[e,r]}function Ry(r,e,t){return r.get("enableColors")&&t&2&&(e=rd.default.bold(e)),e}function ns(r,e,t){if(!r.get("enableColors"))return e;let i=OBe.get(t);if(i===null)return e;let n=typeof i=="undefined"?t:Ov.level>=3?i[0]:i[1],s=typeof n=="number"?Kv.ansi256(n):n.startsWith("#")?Kv.hex(n):Kv[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var MBe=!!process.env.KONSOLE_VERSION;function Mg(r,e,t){return r.get("enableHyperlinks")?MBe?`]8;;${t}\\${e}]8;;\\`:`]8;;${t}\x07${e}]8;;\x07`:e}function tt(r,e,t){if(e===null)return ns(r,"null",qe.NULL);if(Object.prototype.hasOwnProperty.call(Dy,t))return Dy[t].pretty(r,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return ns(r,e,t)}function Uv(r,e,t,{separator:i=", "}={}){return[...e].map(n=>tt(r,n,t)).join(i)}function Oc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Dy,e))return kv(e),Dy[e].json(r);if(typeof r!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function KBe(r,e,[t,i]){return r?Oc(t,i):tt(e,t,i)}function Hv(r){return{Check:ns(r,"\u2713","green"),Cross:ns(r,"\u2718","red"),Question:ns(r,"?","cyan")}}function _o(r,{label:e,value:[t,i]}){return`${tt(r,e,qe.CODE)}: ${tt(r,t,i)}`}var ho;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(ho||(ho={}));function nd(r,{configuration:e}){let t=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let m=g.get("pattern");typeof m!="undefined"&&s.push([sJ.default.matcher(m,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===X.UNNAMED)return h;let p=n.size>0||s.length>0?(0,oJ.default)(f):f;if(n.size>0){let m=n.get(p);if(typeof m!="undefined")return m!=null?m:h}if(s.length>0){for(let[m,y]of s)if(m(p))return y!=null?y:h}if(i.size>0){let m=i.get(_A(g));if(typeof m!="undefined")return m!=null?m:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case ho.Info:a.call(g,f,h);break;case ho.Warning:l.call(g,f!=null?f:X.UNNAMED,h);break;case ho.Error:c.call(g,f!=null?f:X.UNNAMED,h);break}};r.reportInfo=function(...g){return u(this,...g,ho.Info)},r.reportWarning=function(...g){return u(this,...g,ho.Warning)},r.reportError=function(...g){return u(this,...g,ho.Error)}}var Dn={};ft(Dn,{checksumFile:()=>sw,checksumPattern:()=>ow,makeHash:()=>ln});var nw=ge(require("crypto")),zx=ge(Wx());function ln(...r){let e=(0,nw.createHash)("sha512"),t="";for(let i of r)typeof i=="string"?t+=i:i&&(t&&(e.update(t),t=""),e.update(i));return t&&e.update(t),e.digest("hex")}async function sw(r,{baseFs:e,algorithm:t}={baseFs:K,algorithm:"sha512"}){let i=await e.openPromise(r,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,nw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function ow(r,{cwd:e}){let i=(await(0,zx.default)(r,{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,zx.default)([r,...i],{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=H.toPortablePath(a),u=await K.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await K.readlinkPromise(c))):u.isFile()&&l.push(await K.readFilePromise(c)),l.join("\0")})),o=(0,nw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Ad="virtual:",tSe=5,GW=/(os|cpu|libc)=([a-z0-9_-]+)/,rSe=(0,jW.makeParser)(GW);function $o(r,e){if(r==null?void 0:r.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ln(r,e),scope:r,name:e}}function rr(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:ln(r.identHash,e),range:e}}function cn(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:ln(r.identHash,e),reference:e}}function iSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function Aw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function _x(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function nSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function ld(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function cd(r){return ld(r,r)}function Vx(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return rr(r,`virtual:${e}#${r.range}`)}function Xx(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return ld(r,cn(r,`virtual:${e}#${r.reference}`))}function Al(r){return r.range.startsWith(Ad)}function ea(r){return r.reference.startsWith(Ad)}function ud(r){if(!Al(r))throw new Error("Not a virtual descriptor");return rr(r,r.range.replace(/^[^#]*#/,""))}function gd(r){if(!ea(r))throw new Error("Not a virtual descriptor");return cn(r,r.reference.replace(/^[^#]*#/,""))}function sSe(r,e){return r.range.includes("::")?r:rr(r,`${r.range}::${Yg.default.stringify(e)}`)}function oSe(r,e){return r.reference.includes("::")?r:cn(r,`${r.reference}::${Yg.default.stringify(e)}`)}function fd(r,e){return r.identHash===e.identHash}function YW(r,e){return r.descriptorHash===e.descriptorHash}function hd(r,e){return r.locatorHash===e.locatorHash}function aSe(r,e){if(!ea(r))throw new Error("Invalid package type");if(!ea(e))throw new Error("Invalid package type");if(!fd(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!YW(t,i))return!1}return!0}function An(r){let e=qW(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function qW(r){let e=r.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e,n=typeof t!="undefined"?t:null;return $o(n,i)}function ll(r,e=!1){let t=pd(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function pd(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid range (${r})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return rr($o(o,n),a)}function Yc(r,e=!1){let t=lw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function lw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid reference (${r})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return cn($o(o,n),a)}function qg(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]!="undefined"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]!="undefined"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]!="undefined"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=(e==null?void 0:e.parseSelector)?Yg.default.parse(s):s,a=typeof t[4]!="undefined"?Yg.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function ASe(r,{protocol:e}){let{selector:t,params:i}=qg(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Yc(i.locator,!0),path:t}}function JW(r){return r=r.replace(/%/g,"%25"),r=r.replace(/:/g,"%3A"),r=r.replace(/#/g,"%23"),r}function lSe(r){return r===null?!1:Object.entries(r).length>0}function cw({protocol:r,source:e,selector:t,params:i}){let n="";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${JW(e)}#`),n+=JW(t),lSe(i)&&(n+=`::${Yg.default.stringify(i)}`),n}function cSe(r){let{params:e,protocol:t,source:i,selector:n}=qg(r);for(let s in e)s.startsWith("__")&&delete e[s];return cw({protocol:t,source:i,params:e,selector:n})}function Ot(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Pn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function Rs(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function Zx(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function Jg(r){let{protocol:e,selector:t}=qg(r.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=HW.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${Zx(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${Zx(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Jr(a)}function fi(r,e){return e.scope?`${tt(r,`@${e.scope}/`,qe.SCOPE)}${tt(r,e.name,qe.NAME)}`:`${tt(r,e.name,qe.NAME)}`}function uw(r){if(r.startsWith(Ad)){let e=uw(r.substring(r.indexOf("#")+1)),t=r.substring(Ad.length,Ad.length+tSe);return`${e} [${t}]`}else return r.replace(/\?.*/,"?[...]")}function aw(r,e){return`${tt(r,uw(e),qe.RANGE)}`}function sr(r,e){return`${fi(r,e)}${tt(r,"@",qe.RANGE)}${aw(r,e.range)}`}function dd(r,e){return`${tt(r,uw(e),qe.REFERENCE)}`}function It(r,e){return`${fi(r,e)}${tt(r,"@",qe.REFERENCE)}${dd(r,e.reference)}`}function $x(r){return`${Ot(r)}@${uw(r.reference)}`}function Wg(r){return kn(r,[e=>Ot(e),e=>e.range])}function Cd(r,e){return fi(r,e.locator)}function Tv(r,e,t){let i=Al(e)?ud(e):e;return t===null?`${sr(r,i)} \u2192 ${Hv(r).Cross}`:i.identHash===t.identHash?`${sr(r,i)} \u2192 ${dd(r,t.reference)}`:`${sr(r,i)} \u2192 ${It(r,t)}`}function Lv(r,e,t){return t===null?`${It(r,e)}`:`${It(r,e)} (via ${aw(r,t.range)})`}function ek(r){return`node_modules/${Ot(r)}`}function gw(r,e){return r.conditions?rSe(r.conditions,t=>{let[,i,n]=t.match(GW),s=e[i];return s?s.includes(n):!0}):!0}var WW={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Ot(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(rr(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=Cd(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error("Resolutions field will be ignored"));for(let i of t.errors)e.reportWarning(X.INVALID_MANIFEST,i.message)}}};var XW=ge(ri());var md=class{supportsDescriptor(e,t){return!!(e.range.startsWith(md.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith(md.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice(md.protocol.length));return te(N({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:Qt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},oi=md;oi.protocol="workspace:";var Wt={};ft(Wt,{SemVer:()=>zW.SemVer,clean:()=>gSe,satisfiesWithPrereleases:()=>qc,validRange:()=>po});var fw=ge(ri()),zW=ge(ri()),_W=new Map;function qc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=_W.get(i);if(typeof n=="undefined")try{n=new fw.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{_W.set(i,n||null)}else if(n===null)return!1;let s;try{s=new fw.default.SemVer(r,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var VW=new Map;function po(r){if(r.indexOf(":")!==-1)return null;let e=VW.get(r);if(typeof e!="undefined")return e;try{e=new fw.default.Range(r)}catch{e=null}return VW.set(r,e),e}var uSe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function gSe(r){let e=uSe.exec(r);return e?e[1]:null}var cl=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new ar}={}){let i=k.join(e,"package.json");try{return await cl.fromFile(i,{baseFs:t})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await cl.tryFind(e,{baseFs:t});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:t=new ar}={}){let i=new cl;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new cl;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse($W(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=ZW(e)}async loadFile(e,{baseFs:t=new ar}){let i=await t.readFilePromise(e,"utf8"),n;try{n=JSON.parse($W(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=ZW(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=An(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=un(e.main):this.main=null,typeof e.module=="string"?this.module=un(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=un(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(un(s),typeof o=="string"?un(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,un(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=An(s);this.bin.set(a.name,un(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(oi.protocol)&&!po(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=rr(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=ll(s),l=this.ensureDependencyMeta(a),c=hw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=hw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=hw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=ll(s),l=this.ensurePeerDependencyMeta(a),c=hw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:$E(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=un(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=un(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=un(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(un(s),typeof o=="string"?un(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,un(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,un(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(un(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l);let c=rr(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(tk("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(tk("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(tk("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return cl.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return cl.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!XW.default.valid(e.range))throw new Error(`Invalid meta field range for '${Pn(e)}'`);let t=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Pn(e)}'`);let t=Ot(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=te(N({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Wg(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Wg(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Wg(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Wg(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of kn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of kn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Pn(rr(An(o),l)):o,g=N({},c);t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...kn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[eI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},At=cl;At.fileName="package.json",At.allDependencies=["dependencies","devDependencies","peerDependencies"],At.hardDependencies=["dependencies","devDependencies"];function ZW(r){let e=r.match(/^[ \t]+/m);return e?e[0]:" "}function $W(r){return r.charCodeAt(0)===65279?r.slice(1):r}function un(r){return r.replace(/\\/g,"/")}function hw(r,{yamlCompatibilityMode:e}){return e?Nv(r):typeof r=="undefined"||typeof r=="boolean"?r:null}function e4(r,e){let t=e.search(/[^!]/);if(t===-1)return"invalid";let i=t%2==0?"":"!",n=e.slice(t);return`${i}${r}=${n}`}function tk(r,e){return e.length===1?e4(r,e[0]):`(${e.map(t=>e4(r,t)).join(" | ")})`}var D4=ge(P4()),R4=ge(require("stream")),F4=ge(require("string_decoder"));var sve=15,ct=class extends Error{constructor(e,t,i){super(t);this.reportExtra=i;this.reportCode=e}};function ove(r){return typeof r.reportCode!="undefined"}var Ji=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t{t=o}),n=(0,D4.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/sve),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){ove(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(X.EXCEPTION,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new R4.PassThrough,i=new F4.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var yd=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new ct(X.FETCHER_NOT_FOUND,`${It(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var wd=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${sr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${It(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var N4=ge(ri());var zg=/^(?!v)[a-z0-9._-]+$/i,nk=class{supportsDescriptor(e,t){return!!(po(e.range)||zg.test(e.range))}supportsLocator(e,t){return!!(N4.default.valid(e.reference)||zg.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return ld(i,e)}forwardDescriptor(e,t){return rr(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return cn(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Bd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return Jg(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Wr.makeVirtualPath(s,o,n),l=new Na(a,{baseFs:t.packageFs,pathUtils:k});return te(N({},t),{packageFs:l})}};var _g=class{static isVirtualDescriptor(e){return!!e.range.startsWith(_g.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(_g.protocol)}supportsDescriptor(e,t){return _g.isVirtualDescriptor(e)}supportsLocator(e,t){return _g.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},pw=_g;pw.protocol="virtual:";var bd=class{supports(e){return!!e.reference.startsWith(oi.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new _t(i),prefixPath:Me.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(oi.protocol.length))}};var sk={};ft(sk,{getDefaultGlobalFolder:()=>ak,getHomeFolder:()=>Qd,isFolderInside:()=>Ak});var ok=ge(require("os"));function ak(){if(process.platform==="win32"){let r=H.toPortablePath(process.env.LOCALAPPDATA||H.join((0,ok.homedir)(),"AppData","Local"));return k.resolve(r,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let r=H.toPortablePath(process.env.XDG_DATA_HOME);return k.resolve(r,"yarn/berry")}return k.resolve(Qd(),".yarn/berry")}function Qd(){return H.toPortablePath((0,ok.homedir)()||"/usr/local/share")}function Ak(r,e){let t=k.relative(e,r);return t&&!t.startsWith("..")&&!k.isAbsolute(t)}var Vg={};ft(Vg,{builtinModules:()=>lk,getArchitecture:()=>Sd,getArchitectureName:()=>Ave,getArchitectureSet:()=>ck});var L4=ge(require("module"));function lk(){return new Set(L4.default.builtinModules||Object.keys(process.binding("natives")))}function ave(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=$p(e,a=>{let l=a.match(t);if(!l)return $p.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var dw,Cw;function Sd(){return dw=dw!=null?dw:{os:process.platform,cpu:process.arch,libc:ave()}}function Ave(r=Sd()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function ck(){let r=Sd();return Cw=Cw!=null?Cw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}var lve=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),Ew="yarn_",gk=".yarnrc.yml",fk="yarn.lock",cve="********",Ie;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(Ie||(Ie={}));var Ri=qe,hk={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:Ie.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:Ie.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:Ie.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:Ie.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:Ie.STRING,default:null},globalFolder:{description:"Folder where all system-global files are stored",type:Ie.ABSOLUTE_PATH,default:ak()},cacheFolder:{description:"Folder where the cache files must be written",type:Ie.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:Ie.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:lc},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:Ie.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:Ie.STRING,default:fk},installStatePath:{description:"Path of the file where the install state will be persisted",type:Ie.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:Ie.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:Ie.STRING,default:Iw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:Ie.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:Ie.BOOLEAN,default:Py,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:Ie.BOOLEAN,default:Mv,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:Ie.BOOLEAN,default:mw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:Ie.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:Ie.BOOLEAN,default:!mw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:Ie.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:Ie.BOOLEAN,default:mw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:Ie.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:Ie.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:Ie.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:Ie.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:Ie.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:Ie.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:Ie.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:Ie.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ie.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ie.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ie.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:Ie.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:Ie.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:Ie.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:Ie.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:Ie.MAP,valueDefinition:{description:"",type:Ie.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:Ie.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ie.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ie.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ie.STRING,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:Ie.ABSOLUTE_PATH,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:Ie.ABSOLUTE_PATH,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:Ie.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:Ie.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:Ie.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:Ie.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:Ie.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:Ie.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:Ie.STRING,values:Object.values(ho),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:Ie.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:Ie.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:Ie.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:Ie.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:Ie.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:Ie.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:Ie.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:Ie.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:Ie.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:Ie.MAP,valueDefinition:{description:"A range",type:Ie.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:Ie.MAP,valueDefinition:{description:"A semver range",type:Ie.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:Ie.MAP,valueDefinition:{description:"The peerDependency meta",type:Ie.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:Ie.BOOLEAN,default:!1}}}}}}}};function dk(r,e,t,i,n){if(i.isArray||i.type===Ie.ANY&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>pk(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>pk(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return pk(r,e,t,i,n)}function pk(r,e,t,i,n){var a;switch(i.type){case Ie.ANY:return t;case Ie.SHAPE:return uve(r,e,t,i,n);case Ie.MAP:return gve(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(t))return t;let o=(()=>{if(i.type===Ie.BOOLEAN&&typeof t!="string")return td(t);if(typeof t!="string")throw new Error(`Expected value (${t}) to be a string`);let l=Fv(t,{env:process.env});switch(i.type){case Ie.ABSOLUTE_PATH:return k.resolve(n,H.toPortablePath(l));case Ie.LOCATOR_LOOSE:return Yc(l,!1);case Ie.NUMBER:return parseInt(l);case Ie.LOCATOR:return Yc(l);case Ie.BOOLEAN:return td(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function uve(r,e,t,i,n){if(typeof t!="object"||Array.isArray(t))throw new Pe(`Object configuration settings "${e}" must be an object`);let s=Ck(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new Pe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,dk(r,l,a,i.properties[o],n))}return s}function gve(r,e,t,i,n){let s=new Map;if(typeof t!="object"||Array.isArray(t))throw new Pe(`Map configuration settings "${e}" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,dk(r,c,a,u,n))}return s}function Ck(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case Ie.SHAPE:{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,Ck(r,s));return i}break;case Ie.MAP:return e.isArray&&!t?[]:new Map;case Ie.ABSOLUTE_PATH:return e.default===null?null:r.projectCwd===null?k.isAbsolute(e.default)?k.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>k.resolve(r.projectCwd,i)):k.resolve(r.projectCwd,e.default);default:return e.default}}function yw(r,e,t){if(e.type===Ie.SECRET&&typeof r=="string"&&t.hideSecrets)return cve;if(e.type===Ie.ABSOLUTE_PATH&&typeof r=="string"&&t.getNativePaths)return H.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(yw(n,e,t));return i}if(e.type===Ie.MAP&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,yw(s,e.valueDefinition,t));return i}if(e.type===Ie.SHAPE&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,yw(s,o,t))}return i}return r}function fve(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(Ew)&&(e=(0,T4.default)(e.slice(Ew.length)),r[e]=t);return r}function Iw(){let r=`${Ew}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t=="string")return t;return gk}var ul;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(ul||(ul={}));var tA=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new tA(e);typeof t!="undefined"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(hk);let s=typeof i!="undefined"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=fve();delete a.rcFilename;let l=await tA.findRcFiles(e),c=await tA.findHomeRcFile();if(c){let b=l.find(v=>v.path===c.path);b?b.strict=!1:l.push(te(N({},c),{strict:!1}))}let u=({ignoreCwd:b,yarnPath:v,ignorePath:x,lockfileFilename:T})=>({ignoreCwd:b,yarnPath:v,ignorePath:x,lockfileFilename:T}),g=Y=>{var $=Y,{ignoreCwd:b,yarnPath:v,ignorePath:x,lockfileFilename:T}=$,q=Or($,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return q},f=new tA(e);f.importSettings(u(hk)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:b,cwd:v,data:x}of l)f.useWithSource(b,u(x),v,{strict:!1});if(s){let b=f.get("yarnPath"),v=f.get("ignorePath");if(b!==null&&!v)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await tA.findProjectCwd(e,h);break;case 1:p=await tA.findProjectCwd(e,null);break;case 2:K.existsSync(k.join(e,"package.json"))?p=k.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(hk));let m=new Map([["@@core",WW]]),y=b=>"default"in b?b.default:b;if(t!==null){for(let T of t.plugins.keys())m.set(T,y(t.modules.get(T)));let b=new Map;for(let T of lk())b.set(T,()=>Og(T));for(let[T,q]of t.modules)b.set(T,()=>q);let v=new Set,x=async(T,q)=>{let{factory:Y,name:$}=Og(T);if(v.has($))return;let _=new Map(b),ne=A=>{if(_.has(A))return _.get(A)();throw new Pe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},ee=await Lg(async()=>y(await Y(ne)),A=>`${A} (when initializing ${$}, defined in ${q})`);b.set($,()=>ee),v.add($),m.set($,ee)};if(a.plugins)for(let T of a.plugins.split(";")){let q=k.resolve(e,H.toPortablePath(T));await x(q,"")}for(let{path:T,cwd:q,data:Y}of l)if(!!o&&!!Array.isArray(Y.plugins))for(let $ of Y.plugins){let _=typeof $!="string"?$.path:$,ne=k.resolve(q,H.toPortablePath(_));await x(ne,T)}}for(let[b,v]of m)f.activatePlugin(b,v);f.useWithSource("",g(a),e,{strict:n});for(let{path:b,cwd:v,data:x,strict:T}of l)f.useWithSource(b,g(x),v,{strict:T!=null?T:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=Iw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=k.join(s,t);if(K.existsSync(o)){let a=await K.readFilePromise(o,"utf8"),l;try{l=Si(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Pe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=k.dirname(s)}return i}static async findHomeRcFile(){let e=Iw(),t=Qd(),i=k.join(t,e);if(K.existsSync(i)){let n=await K.readFilePromise(i,"utf8"),s=Si(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,K.existsSync(k.join(s,"package.json"))&&(i=s),t!==null){if(K.existsSync(k.join(s,t))){i=s;break}}else if(i!==null)break;n=k.dirname(s)}return i}static async updateConfiguration(e,t){let i=Iw(),n=k.join(e,i),s=K.existsSync(n)?Si(await K.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof t=="function"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await K.changeFilePromise(n,Ma(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=Qd();return await tA.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration!="undefined"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,i),this.values.set(t,Ck(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${tt(this,e,qe.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(t)]){if(typeof t[o]=="undefined"||o==="plugins"||e===""&&lve.has(o))continue;if(o==="rcFilename")throw new Pe(`The rcFilename settings can only be set via ${`${Ew}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Pe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===Ie.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=dk(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${tt(this,e,qe.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===Ie.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new Pe(`Couldn't find a configuration settings named "${e}"`);return yw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=K.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${tt(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${tt(this,"STDERR","red")}`);s=new uk.PassThrough,s.pipe(l),s.pipe(a),o=new uk.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t!="undefined"&&s.write(`${t} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new wd([new pw,new oi,new nk,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new yd([new Bd,new bd,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=Sd(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=zo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:zo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!po(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new At;o.load(n,{yamlCompatibilityMode:!0});let a=Fg(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qi.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(te(N({},c),{type:wi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(te(N({},c),{type:wi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(te(N({},c),{type:wi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(ll(i,!0),ky(n),{userProvided:!0})}normalizePackage(e){let t=cd(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!qc(s,o))for(let l of a)switch(l.status===qi.Inactive&&(l.status=qi.Redundant),l.type){case wi.Dependency:typeof t.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case wi.PeerDependency:typeof t.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case wi.PeerDependencyMeta:{let c=t.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qi.Active,_a(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Pv(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=An(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,rr(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=$o("types",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,rr(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(kn(t.dependencies,([,s])=>Pn(s))),t.peerDependencies=new Map(kn(t.peerDependencies,([,s])=>Pn(s))),t}getLimit(e){return _a(this.limits,e,()=>(0,O4.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o!="undefined")return o}return null}},ye=tA;ye.telemetry=null;var ss;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(ss||(ss={}));var ww=class extends ct{constructor({fileName:e,code:t,signal:i}){let n=ye.create(k.cwd()),s=tt(n,e,qe.PATH);super(X.EXCEPTION,`Child ${s} reported an error`,o=>{hve(t,i,{configuration:n,report:o})});this.code=Ek(t,i)}},Ik=class extends ww{constructor({fileName:e,code:t,signal:i,stdout:n,stderr:s}){super({fileName:e,code:t,signal:i});this.stdout=n,this.stderr=s}};function zc(r){return r!==null&&typeof r.fd=="number"}var _c=new Set;function yk(){}function wk(){for(let r of _c)r.kill()}async function ra(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":zc(s)&&(c[0]=s),zc(o)&&(c[1]=o),zc(a)&&(c[2]=a);let u=(0,mk.default)(r,e,{cwd:H.fromPortablePath(t),env:te(N({},i),{PWD:H.fromPortablePath(t)}),stdio:c});_c.add(u),_c.size===1&&(process.on("SIGINT",yk),process.on("SIGTERM",wk)),!zc(s)&&s!==null&&s.pipe(u.stdin),zc(o)||u.stdout.pipe(o,{end:!1}),zc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))zc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{_c.delete(u),_c.size===0&&(process.off("SIGINT",yk),process.off("SIGTERM",wk)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,m)=>{_c.delete(u),_c.size===0&&(process.off("SIGINT",yk),process.off("SIGTERM",wk)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:Ek(p,m)}):h(new ww({fileName:r,code:p,signal:m}))})})}async function pve(r,e,{cwd:t,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=H.fromPortablePath(t);typeof i.PWD!="undefined"&&(i=te(N({},i),{PWD:c}));let u=(0,mk.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(t),m=tt(p,r,qe.PATH);f(new ct(X.EXCEPTION,`Process ${m} failed to spawn`,y=>{y.reportError(X.EXCEPTION,` ${_o(p,{label:"Thrown Error",value:fo(qe.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:Ek(h,p),stdout:m,stderr:y}):f(new Ik({fileName:r,code:h,signal:p,stdout:m,stderr:y}))})})}var dve=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Ek(r,e){let t=dve.get(e);return typeof t!="undefined"?128+t:r!=null?r:1}function hve(r,e,{configuration:t,report:i}){i.reportError(X.EXCEPTION,` ${_o(t,r!==null?{label:"Exit Code",value:fo(qe.NUMBER,r)}:{label:"Exit Signal",value:fo(qe.CODE,e)})}`)}var ir={};ft(ir,{Method:()=>Cl,RequestError:()=>w5.RequestError,del:()=>xPe,get:()=>SPe,getNetworkSettings:()=>S5,post:()=>HP,put:()=>vPe,request:()=>Od});var E5=ge(Uw()),I5=ge(require("https")),y5=ge(require("http")),MP=ge(is()),KP=ge(m5()),Hw=ge(require("url"));var w5=ge(Uw()),B5=new Map,b5=new Map,wPe=new y5.Agent({keepAlive:!0}),BPe=new I5.Agent({keepAlive:!0});function Q5(r){let e=new Hw.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function UP(r){return _a(b5,r,()=>K.readFilePromise(r).then(e=>(b5.set(r,e),e)))}function bPe({statusCode:r,statusMessage:e},t){let i=tt(t,r,qe.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return Mg(t,`${i}${e?` (${e})`:""}`,n)}async function jw(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof E5.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${tt(e,"httpTimeout",qe.SETTING)})`);let a=new ct(X.NETWORK_ERROR,o,l=>{s.response&&l.reportError(X.NETWORK_ERROR,` ${_o(e,{label:"Response Code",value:fo(qe.NO_HINT,bPe(s.response,e))})}`),s.request&&(l.reportError(X.NETWORK_ERROR,` ${_o(e,{label:"Request Method",value:fo(qe.NO_HINT,s.request.options.method)})}`),l.reportError(X.NETWORK_ERROR,` ${_o(e,{label:"Request URL",value:fo(qe.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(X.NETWORK_ERROR,` ${_o(e,{label:"Request Redirects",value:fo(qe.NO_HINT,Uv(e,s.request.redirects,qe.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(X.NETWORK_ERROR,` ${_o(e,{label:"Request Retry Count",value:fo(qe.NO_HINT,`${tt(e,s.request.retryCount,qe.NUMBER)} (can be increased via ${tt(e,"httpRetry",qe.SETTING)})`)})}`)});throw a.originalError=s,a}}function S5(r,e){let t=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r=="string"?new Hw.URL(r):r;for(let[o,a]of t)if(MP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var Cl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(Cl||(Cl={}));async function Od(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=Cl.GET}){let a=async()=>await QPe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function SPe(r,n){var s=n,{configuration:e,jsonResponse:t}=s,i=Or(s,["configuration","jsonResponse"]);let o=_a(B5,r,()=>jw(Od(r,null,N({configuration:e},i)),{configuration:e}).then(a=>(B5.set(r,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),t?JSON.parse(o.toString()):o}async function vPe(r,e,n){var s=n,{customErrorMessage:t}=s,i=Or(s,["customErrorMessage"]);return(await jw(Od(r,e,te(N({},i),{method:Cl.PUT})),i)).body}async function HP(r,e,n){var s=n,{customErrorMessage:t}=s,i=Or(s,["customErrorMessage"]);return(await jw(Od(r,e,te(N({},i),{method:Cl.POST})),i)).body}async function xPe(r,i){var n=i,{customErrorMessage:e}=n,t=Or(n,["customErrorMessage"]);return(await jw(Od(r,null,te(N({},t),{method:Cl.DELETE})),t)).body}async function QPe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=Cl.GET}){let a=typeof r=="string"?new Hw.URL(r):r,l=S5(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!MP.default.isMatch(a.hostname,t.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?KP.default.httpOverHttp(Q5(l.httpProxy)):wPe,https:l.httpsProxy?KP.default.httpsOverHttp(Q5(l.httpsProxy)):BPe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=t.get("httpTimeout"),f=t.get("httpRetry"),h=t.get("enableStrictSsl"),p=l.caFilePath,m=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:b}=await Promise.resolve().then(()=>ge(Uw())),v=p?await UP(p):void 0,x=m?await UP(m):void 0,T=y?await UP(y):void 0,q=b.extend(N({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:x,key:T}},u));return t.getLimit("networkConcurrency")(()=>q(a))}var Zt={};ft(Zt,{PackageManager:()=>hn,detectPackageManager:()=>K9,executePackageAccessibleBinary:()=>Y9,executePackageScript:()=>nB,executePackageShellcode:()=>rD,executeWorkspaceAccessibleBinary:()=>WDe,executeWorkspaceLifecycleScript:()=>G9,executeWorkspaceScript:()=>j9,getPackageAccessibleBinaries:()=>sB,getWorkspaceAccessibleBinaries:()=>H9,hasPackageScript:()=>YDe,hasWorkspaceScript:()=>tD,makeScriptEnv:()=>Yd,maybeExecuteWorkspaceLifecycleScript:()=>JDe,prepareExternalProject:()=>GDe});var Md={};ft(Md,{getLibzipPromise:()=>fn,getLibzipSync:()=>D5});var P5=ge(x5());var ml=["number","number"],YP;(function(L){L[L.ZIP_ER_OK=0]="ZIP_ER_OK",L[L.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",L[L.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",L[L.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",L[L.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",L[L.ZIP_ER_READ=5]="ZIP_ER_READ",L[L.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",L[L.ZIP_ER_CRC=7]="ZIP_ER_CRC",L[L.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",L[L.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",L[L.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",L[L.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",L[L.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",L[L.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",L[L.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",L[L.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",L[L.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",L[L.ZIP_ER_EOF=17]="ZIP_ER_EOF",L[L.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",L[L.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",L[L.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",L[L.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",L[L.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",L[L.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",L[L.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",L[L.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",L[L.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",L[L.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",L[L.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",L[L.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",L[L.ZIP_ER_TELL=30]="ZIP_ER_TELL",L[L.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(YP||(YP={}));var k5=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:YP,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap("zip_open","number",["string","number","number"]),openFromSource:r.cwrap("zip_open_from_source","number",["number","number","number"]),close:r.cwrap("zip_close","number",["number"]),discard:r.cwrap("zip_discard",null,["number"]),getError:r.cwrap("zip_get_error","number",["number"]),getName:r.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:r.cwrap("zip_get_num_entries","number",["number","number"]),delete:r.cwrap("zip_delete","number",["number","number"]),stat:r.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:r.cwrap("zip_stat_index","number",["number",...ml,"number","number"]),fopen:r.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:r.cwrap("zip_fopen_index","number",["number",...ml,"number"]),fread:r.cwrap("zip_fread","number",["number","number","number","number"]),fclose:r.cwrap("zip_fclose","number",["number"]),dir:{add:r.cwrap("zip_dir_add","number",["number","string"])},file:{add:r.cwrap("zip_file_add","number",["number","string","number","number"]),getError:r.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:r.cwrap("zip_file_get_external_attributes","number",["number",...ml,"number","number","number"]),setExternalAttributes:r.cwrap("zip_file_set_external_attributes","number",["number",...ml,"number","number","number"]),setMtime:r.cwrap("zip_file_set_mtime","number",["number",...ml,"number","number"]),setCompression:r.cwrap("zip_set_file_compression","number",["number",...ml,"number","number"])},ext:{countSymlinks:r.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:r.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:r.cwrap("zip_error_strerror","string",["number"])},name:{locate:r.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:r.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:r.cwrap("zip_source_buffer","number",["number","number",...ml,"number"]),free:r.cwrap("zip_source_free",null,["number"]),keep:r.cwrap("zip_source_keep",null,["number"]),open:r.cwrap("zip_source_open","number",["number"]),close:r.cwrap("zip_source_close","number",["number"]),seek:r.cwrap("zip_source_seek","number",["number",...ml,"number"]),tell:r.cwrap("zip_source_tell","number",["number"]),read:r.cwrap("zip_source_read","number",["number","number","number"]),error:r.cwrap("zip_source_error","number",["number"]),setMtime:r.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:r.cwrap("zipstruct_stat","number",[]),statS:r.cwrap("zipstruct_statS","number",[]),statName:r.cwrap("zipstruct_stat_name","string",["number"]),statIndex:r.cwrap("zipstruct_stat_index","number",["number"]),statSize:r.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:r.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:r.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:r.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:r.cwrap("zipstruct_stat_crc","number",["number"]),error:r.cwrap("zipstruct_error","number",[]),errorS:r.cwrap("zipstruct_errorS","number",[]),errorCodeZip:r.cwrap("zipstruct_error_code_zip","number",["number"])}});var qP=null;function D5(){return qP===null&&(qP=k5((0,P5.default)())),qP}async function fn(){return D5()}var Ud={};ft(Ud,{ShellError:()=>Ms,execute:()=>Xw,globUtils:()=>Yw});var G5=ge(uv()),Y5=ge(require("os")),os=ge(require("stream")),q5=ge(require("util"));var Ms=class extends Error{constructor(e){super(e);this.name="ShellError"}};var Yw={};ft(Yw,{fastGlobOptions:()=>N5,isBraceExpansion:()=>L5,isGlobPattern:()=>kPe,match:()=>PPe,micromatchOptions:()=>Jw});var R5=ge(Zy()),F5=ge(require("fs")),qw=ge(is()),Jw={strictBrackets:!0},N5={onlyDirectories:!1,onlyFiles:!1};function kPe(r){if(!qw.default.scan(r,Jw).isGlob)return!1;try{qw.default.parse(r,Jw)}catch{return!1}return!0}function PPe(r,{cwd:e,baseFs:t}){return(0,R5.default)(r,te(N({},N5),{cwd:H.fromPortablePath(e),fs:WE(F5.default,new Vh(t))}))}function L5(r){return qw.default.scan(r,Jw).isBrace}var T5=ge(SQ()),na=ge(require("stream")),O5=ge(require("string_decoder")),Fn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(Fn||(Fn={}));var Xc=new Set;function JP(){}function WP(){for(let r of Xc)r.kill()}function M5(r,e,t,i){return n=>{let s=n[0]instanceof na.Transform?"pipe":n[0],o=n[1]instanceof na.Transform?"pipe":n[1],a=n[2]instanceof na.Transform?"pipe":n[2],l=(0,T5.default)(r,e,te(N({},i),{stdio:[s,o,a]}));return Xc.add(l),Xc.size===1&&(process.on("SIGINT",JP),process.on("SIGTERM",WP)),n[0]instanceof na.Transform&&n[0].pipe(l.stdin),n[1]instanceof na.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof na.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Xc.delete(l),Xc.size===0&&(process.off("SIGINT",JP),process.off("SIGTERM",WP)),u.code){case"ENOENT":n[2].write(`command not found: ${r} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${r} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("close",u=>{Xc.delete(l),Xc.size===0&&(process.off("SIGINT",JP),process.off("SIGTERM",WP)),c(u!==null?u:129)})})}}}function K5(r){return e=>{let t=e[0]==="pipe"?new na.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var mo=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},U5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Kd=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new Kd(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new Kd(this,e),n=new U5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function Ww(r,e){return Kd.start(r,e)}function H5(r,e=null){let t=new na.PassThrough,i=new O5.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&r(e!==null?`${e} ${s}`:s)}),t}function j5(r,{prefix:e}){return{stdout:H5(t=>r.stdout.write(`${t} +`),r.stdout.isTTY?e:null),stderr:H5(t=>r.stderr.write(`${t} +`),r.stderr.isTTY?e:null)}}var DPe=(0,q5.promisify)(setTimeout);var zi;(function(t){t[t.Readable=1]="Readable",t[t.Writable=2]="Writable"})(zi||(zi={}));function J5(r,e,t){let i=new os.PassThrough({autoDestroy:!0});switch(r){case Fn.STDIN:(e&1)==1&&t.stdin.pipe(i,{end:!1}),(e&2)==2&&t.stdin instanceof os.Writable&&i.pipe(t.stdin,{end:!1});break;case Fn.STDOUT:(e&1)==1&&t.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(t.stdout,{end:!1});break;case Fn.STDERR:(e&1)==1&&t.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(t.stderr,{end:!1});break;default:throw new Ms(`Bad file descriptor: "${r}"`)}return i}function zw(r,e={}){let t=N(N({},r),e);return t.environment=N(N({},r.environment),e.environment),t.variables=N(N({},r.variables),e.variables),t}var RPe=new Map([["cd",async([r=(0,Y5.homedir)(),...e],t,i)=>{let n=k.resolve(i.cwd,H.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new Ms(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new Ms(`cd: not a directory: ${r}`);return i.cwd=n,0}],["pwd",async(r,e,t)=>(t.stdout.write(`${H.fromPortablePath(t.cwd)} +`),0)],[":",async(r,e,t)=>0],["true",async(r,e,t)=>0],["false",async(r,e,t)=>1],["exit",async([r,...e],t,i)=>i.exitCode=parseInt(r!=null?r:i.variables["?"],10)],["echo",async(r,e,t)=>(t.stdout.write(`${r.join(" ")} +`),0)],["sleep",async([r],e,t)=>{if(typeof r=="undefined")throw new Ms("sleep: missing operand");let i=Number(r);if(Number.isNaN(i))throw new Ms(`sleep: invalid time interval '${r}'`);return await DPe(1e3*i,0)}],["__ysh_run_procedure",async(r,e,t)=>{let i=t.procedures[r[0]];return await Ww(i,{stdin:new mo(t.stdin),stdout:new mo(t.stdout),stderr:new mo(t.stderr)}).run()}],["__ysh_set_redirects",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!=="--";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(r[c++]),b=c+y;for(let v=c;ve.baseFs.createReadStream(k.resolve(t.cwd,H.toPortablePath(r[v]))));break;case"<<<":p(()=>{let x=new os.PassThrough;return process.nextTick(()=>{x.write(`${r[v]} +`),x.end()}),x});break;case"<&":p(()=>J5(Number(r[v]),1,t));break;case">":case">>":{let x=k.resolve(t.cwd,H.toPortablePath(r[v]));m(x==="/dev/null"?new os.Writable({autoDestroy:!0,emitClose:!0,write(T,q,Y){setImmediate(Y)}}):e.baseFs.createWriteStream(x,f===">>"?{flags:"a"}:void 0))}break;case">&":m(J5(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new os.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new os.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new os.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await Ww(Hd(r.slice(c+1),e,t),{stdin:new mo(i),stdout:new mo(n),stderr:new mo(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function FPe(r,e,t){let i=[],n=new os.PassThrough;return n.on("data",s=>i.push(s)),await _w(r,e,zw(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function W5(r,e,t){let i=r.map(async s=>{let o=await aA(s.args,e,t);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function Vw(r){return r.match(/[^ \r\n\t]+/g)||[]}async function z5(r,e,t,i,n=i){switch(r.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=Vw(s);for(let a=0;a=0&&sr+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function jd(r,e,t){if(r.type==="number"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: "${r.value}", only integers are allowed`)}else if(r.type==="variable"){let i=[];await z5(te(N({},r),{quoted:!0}),e,t,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?jd({type:"variable",name:i.join(" ")},e,t):jd({type:"number",value:n},e,t)}else return NPe[r.type](await jd(r.left,e,t),await jd(r.right,e,t))}async function aA(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case"redirection":{let f=await aA(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await FPe(f.shell,e,t);if(f.quoted)o(h);else{let p=Vw(h);for(let m=0;m0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Hd(r,e,t){e.builtins.has(r[0])||(r=["command",...r]);let i=H.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD!="undefined"&&(n=te(N({},n),{PWD:i}));let[s,...o]=r;if(s==="command")return M5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return K5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function LPe(r,e,t){return i=>{let n=new os.PassThrough,s=_w(r,e,zw(t,{stdin:n}));return{stdin:n,promise:s}}}function TPe(r,e,t){return i=>{let n=new os.PassThrough,s=_w(r,e,t);return{stdin:n,promise:s}}}function _5(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=N({},i.procedures),i.procedures[n]=r,Hd([...e,"__ysh_run_procedure",n],t,i)}}async function V5(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?N({},t):t,a;switch(i.type){case"command":{let l=await aA(i.args,e,t),c=await W5(i.envs,e,t);a=i.envs.length?Hd(l,e,zw(o,{environment:c})):Hd(l,e,o)}break;case"subshell":{let l=await aA(i.args,e,t),c=LPe(i.subshell,e,o);a=_5(c,l,e,o)}break;case"group":{let l=await aA(i.args,e,t),c=TPe(i.group,e,o);a=_5(c,l,e,o)}break;case"envs":{let l=await W5(i.envs,e,t);o.environment=N(N({},o.environment),l),a=Hd(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=Ww(a,{stdin:new mo(o.stdin),stdout:new mo(o.stdout),stderr:new mo(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Fn.STDOUT);break;case"|&":s=s.pipeTo(a,Fn.STDOUT|Fn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function OPe(r,e,t,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return G5.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=j5(t,{prefix:l});return t.backgroundJobs.push(V5(r,e,zw(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(eg(r))}' has ended +`)})),0}return await V5(r,e,t)}async function MPe(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables["?"]=String(a)},o=async a=>{try{return await OPe(a.chain,e,t,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof Ms))throw l;return t.stderr.write(`${l.message} +`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case"&&":n===0&&s(await o(r.then.line));break;case"||":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${r.then.type}"`)}r=r.then.line}return n}async function _w(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await MPe(s,e,t,{background:o==="&"}),t.exitCode!==null)return t.exitCode;t.variables["?"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function X5(r){switch(r.type){case"variable":return r.name==="@"||r.name==="#"||r.name==="*"||Number.isFinite(parseInt(r.name,10))||"defaultValue"in r&&!!r.defaultValue&&r.defaultValue.some(e=>Gd(e))||"alternativeValue"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>Gd(e));case"arithmetic":return zP(r.arithmetic);case"shell":return _P(r.shell);default:return!1}}function Gd(r){switch(r.type){case"redirection":return r.args.some(e=>Gd(e));case"argument":return r.segments.some(e=>X5(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${r.type}"`)}}function zP(r){switch(r.type){case"variable":return X5(r);case"number":return!1;default:return zP(r.left)||zP(r.right)}}function _P(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case"subshell":i=_P(t.subshell);break;case"command":i=t.envs.some(n=>n.args.some(s=>Gd(s)))||t.args.some(n=>Gd(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Xw(r,e=[],{baseFs:t=new ar,builtins:i={},cwd:n=H.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=Yw}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(RPe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new os.PassThrough,o.end());let h=_E(r,u);if(!_P(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await _w(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var O9=ge(Zw()),M9=ge(gg()),El=ge(require("stream"));var R9=ge(D9()),tB=ge(Ic());var F9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],N9=80,TDe=new Set([X.FETCH_NOT_CACHED,X.UNUSED_CACHE_ENTRY]),ODe=5,rB=tB.default.GITHUB_ACTIONS?{start:r=>`::group::${r} +`,end:r=>`::endgroup:: +`}:tB.default.TRAVIS?{start:r=>`travis_fold:start:${r} +`,end:r=>`travis_fold:end:${r} +`}:tB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${r} +`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r`}:null,L9=new Date,MDe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,KDe=r=>r,iB=KDe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),UDe=MDe&&Object.keys(iB).find(r=>{let e=iB[r];return!(e.date&&(e.date[0]!==L9.getDate()||e.date[1]!==L9.getMonth()+1))})||"default";function T9(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=_A(r===null?0:r);return!t&&r===null?tt(e,n,"grey"):n}function eD(r,{configuration:e,json:t}){let i=T9(r,{configuration:e,json:t});if(!i||r===null||r===X.UNNAMED)return i;let n=X[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Mg(e,i,s)}var Je=class extends Ji{constructor({configuration:e,stdout:t,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=ODe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(nd(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...TDe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=t,e.get("enableProgressBars")&&!i&&t.isTTY&&t.columns>22){let u=e.get("progressBarStyle")||UDe;if(!Object.prototype.hasOwnProperty.call(iB,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=iB[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(t.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}}static async start(e,t){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(X.UNNAMED,a)};try{await t(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,t){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof t!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(X.FETCH_NOT_CACHED,t)}startSectionSync({reportHeader:e,reportFooter:t,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(t==null||t(a-o))}}async startSectionPromise({reportHeader:e,reportFooter:t,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return await n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(t==null||t(a-o))}}startTimerImpl(e,t,i){let n=typeof t=="function"?{}:t;return{cb:typeof t=="function"?t:i,reportHeader:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,rB!==null&&!this.json&&this.includeInfos&&this.stdout.write(rB.start(e))},reportFooter:o=>{this.indent-=1,rB!==null&&!this.json&&this.includeInfos&&this.stdout.write(rB.end(e)),this.configuration.get("enableTimers")&&o>200?this.reportInfo(null,`\u2514 Completed in ${tt(this.configuration,o,qe.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:n.skipIfEmpty}}startTimerSync(e,t,i){let o=this.startTimerImpl(e,t,i),{cb:n}=o,s=Or(o,["cb"]);return this.startSectionSync(s,n)}async startTimerPromise(e,t,i){let o=this.startTimerImpl(e,t,i),{cb:n}=o,s=Or(o,["cb"]);return this.startSectionPromise(s,n)}async startCacheReport(e){let t=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{t!==null&&this.reportCacheChanges(t)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,t){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${tt(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${t}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,t){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${tt(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${t}`)}reportError(e,t){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${tt(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${t}`,{truncate:!1})}reportProgress(e){if(this.progressStyle===null)return te(N({},Promise.resolve()),{stop:()=>{}});if(e.hasProgress&&e.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let t=!1,i=Promise.resolve().then(async()=>{let s={progress:e.hasProgress?0:void 0,title:e.hasTitle?"":void 0};this.progress.set(e,{definition:s,lastScaledSize:e.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:o,title:a}of e)t||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{t||(t=!0,this.progress.delete(e),this.refreshProgress({delta:1}))};return te(N({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let t=tt(this.configuration,Date.now()-this.startTime,qe.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${t}`:e;this.errorCount>0?this.reportError(X.UNNAMED,i):this.warningCount>0?this.reportWarning(X.UNNAMED,i):this.reportInfo(X.UNNAMED,i)}writeLine(e,{truncate:t}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:t})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:t}={}){this.forgettableLines=[],this.writeLine(e,{truncate:t})}writeLines(e,{truncate:t}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:t})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:t}){let i=this.cacheHitCount-e,n=this.cacheMissCount-t;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${It(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${It(this.configuration,this.lastCacheMiss)})`),this.reportInfo(X.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let t of e)t.committed=!0,t.action()}clearProgress({delta:e=0,clear:t=!1}){this.progressStyle!==null&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||t)&&this.stdout.write(""))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>N9&&(this.progressFrame=(this.progressFrame+1)%F9.length,this.progressTime=e);let t=F9[this.progressFrame];for(let i of this.progress.values()){let n="";if(typeof i.lastScaledSize!="undefined"){let l=this.progressStyle.chars[0].repeat(i.lastScaledSize),c=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize);n=` ${l}${c}`}let s=this.formatName(null),o=s?`${s}: `:"",a=i.definition.title?` ${i.definition.title}`:"";this.stdout.write(`${tt(this.configuration,"\u27A4","blueBright")} ${o}${t}${n}${a} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},N9)}refreshProgress({delta:e=0,force:t=!1}={}){let i=!1,n=!1;if(t||this.progress.size===0)i=!0;else for(let s of this.progress.values()){let o=typeof s.definition.progress!="undefined"?Math.trunc(this.progressMaxScaledSize*s.definition.progress):void 0,a=s.lastScaledSize;s.lastScaledSize=o;let l=s.lastTitle;if(s.lastTitle=s.definition.title,o!==a||(n=l!==s.definition.title)){i=!0;break}}i&&(this.clearProgress({delta:e,clear:n}),this.writeProgress())}truncate(e,{truncate:t}={}){return this.progressStyle===null&&(t=!1),typeof t=="undefined"&&(t=this.configuration.get("preferTruncatedLines")),t&&(e=(0,R9.default)(e,0,this.stdout.columns-1)),e}formatName(e){return T9(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Ur="3.2.2";var hn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(hn||(hn={}));async function AA(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await K.writeFilePromise(k.format({dir:r,name:e,ext:".cmd"}),n)}await K.writeFilePromise(k.join(r,e),`#!/bin/sh +exec "${t}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function K9(r){let e=await At.tryFind(r);if(e==null?void 0:e.packageManager){let i=lw(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?hn.Yarn1:hn.Yarn2,reason:n};case"npm":return{packageManager:hn.Npm,reason:n};case"pnpm":return{packageManager:hn.Pnpm,reason:n}}}}let t;try{t=await K.readFilePromise(k.join(r,kt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:hn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:hn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:K.existsSync(k.join(r,"package-lock.json"))?{packageManager:hn.Npm,reason:`found npm's "package-lock.json" lockfile`}:K.existsSync(k.join(r,"pnpm-lock.yaml"))?{packageManager:hn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Yd({project:r,locator:e,binFolder:t,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=H.fromPortablePath(t);n.BERRY_BIN_FOLDER=H.fromPortablePath(s);let o=process.env.COREPACK_ROOT?H.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([AA(t,"node",process.execPath),...Ur!==null?[AA(t,"run",process.execPath,[o,"run"]),AA(t,"yarn",process.execPath,[o]),AA(t,"yarnpkg",process.execPath,[o]),AA(t,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),r&&(n.INIT_CWD=H.fromPortablePath(r.configuration.startingCwd),n.PROJECT_CWD=H.fromPortablePath(r.cwd)),n.PATH=n.PATH?`${s}${H.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${H.sep}yarn`,n.npm_node_execpath=`${s}${H.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let u=r.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=r.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=Ot(e),n.npm_package_version=g;let f;if(u)f=u.cwd;else{let h=r.storedPackages.get(e.locatorHash);if(!h)throw new Error(`Package for ${It(r.configuration,e)} not found in the project`);let p=r.configuration.getLinkers(),m={project:r,report:new Je({stdout:new El.PassThrough,configuration:r.configuration})},y=p.find(b=>b.supportsPackage(h,m));if(!y)throw new Error(`The package ${It(r.configuration,h)} isn't supported by any of the available linkers`);f=await y.findPackageLocation(h,m)}n.npm_package_json=H.fromPortablePath(k.join(f,kt.manifest))}let a=Ur!==null?`yarn/${Ur}`:`yarn/${Og("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.version} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),r&&await r.configuration.triggerHook(u=>u.setupScriptEnvironment,r,n,async(u,g,f)=>await AA(t,Jr(u),g,f)),n}var HDe=2,jDe=(0,M9.default)(HDe);async function GDe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await jDe(async()=>{await K.mktempPromise(async o=>{let a=k.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:H.fromPortablePath(r),report:i}),g=s&&ea(s)?gd(s):s,f=g?Rs(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await K9(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=hn.Yarn2),await K.mktempPromise(async m=>{let y=await Yd({binFolder:m}),v=new Map([[hn.Yarn1,async()=>{let T=n!==null?["workspace",n]:[],q=await ra("yarn",["set","version","classic","--only-if-needed"],{cwd:r,env:y,stdin:l,stdout:c,stderr:u,end:ss.ErrorCode});if(q.code!==0)return q.code;await K.appendFilePromise(k.join(r,".npmignore"),`/.yarn +`),c.write(` +`),delete y.NODE_ENV;let Y=await ra("yarn",["install"],{cwd:r,env:y,stdin:l,stdout:c,stderr:u,end:ss.ErrorCode});if(Y.code!==0)return Y.code;c.write(` +`);let $=await ra("yarn",[...T,"pack","--filename",H.fromPortablePath(e)],{cwd:r,env:y,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],[hn.Yarn2,async()=>{let T=n!==null?["workspace",n]:[];y.YARN_ENABLE_INLINE_BUILDS="1";let q=k.join(r,kt.lockfile);await K.existsPromise(q)||await K.writeFilePromise(q,"");let Y=await ra("yarn",[...T,"pack","--install-if-needed","--filename",H.fromPortablePath(e)],{cwd:r,env:y,stdin:l,stdout:c,stderr:u});return Y.code!==0?Y.code:0}],[hn.Npm,async()=>{if(n!==null){let A=new El.PassThrough,oe=Tg(A);A.pipe(c,{end:!1});let ce=await ra("npm",["--version"],{cwd:r,env:y,stdin:l,stdout:A,stderr:u,end:ss.Never});if(A.end(),ce.code!==0)return c.end(),u.end(),ce.code;let Z=(await oe).toString().trim();if(!qc(Z,">=7.x")){let O=$o(null,"npm"),L=rr(O,Z),de=rr(O,">=7.x");throw new Error(`Workspaces aren't supported by ${sr(t,L)}; please upgrade to ${sr(t,de)} (npm has been detected as the primary package manager for ${tt(t,r,qe.PATH)})`)}}let T=n!==null?["--workspace",n]:[];delete y.npm_config_user_agent,delete y.npm_config_production,delete y.NPM_CONFIG_PRODUCTION,delete y.NODE_ENV;let q=await ra("npm",["install"],{cwd:r,env:y,stdin:l,stdout:c,stderr:u,end:ss.ErrorCode});if(q.code!==0)return q.code;let Y=new El.PassThrough,$=Tg(Y);Y.pipe(c);let _=await ra("npm",["pack","--silent",...T],{cwd:r,env:y,stdin:l,stdout:Y,stderr:u});if(_.code!==0)return _.code;let ne=(await $).toString().trim().replace(/^.*\n/s,""),ee=k.resolve(r,H.toPortablePath(ne));return await K.renamePromise(ee,e),0}]]).get(p);if(typeof v=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await v();if(!(x===0||typeof x=="undefined"))throw K.detachTemp(o),new ct(X.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${tt(t,a,qe.PATH)})`)})})})}async function YDe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return tD(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${It(t.configuration,r)} not found in the project`);return await Is.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Je({stdout:new El.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${It(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new _t(u,{baseFs:s});return(await At.find(Me.dot,{baseFs:g})).scripts.has(e)},{libzip:await fn()})}async function nB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await U9(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await Xw(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function rD(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{env:c,cwd:u}=await U9(r,{project:n,binFolder:l,cwd:i});return await Xw(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function qDe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await Yd({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await H9(r),([s,[,o]])=>AA(e,Jr(s),process.execPath,[o]))),typeof t=="undefined"&&(t=k.dirname(await K.realpathPromise(k.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function U9(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return qDe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${It(e.configuration,r)} not found in the project`);return await Is.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Je({stdout:new El.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${It(e.configuration,o)} isn't supported by any of the available linkers`);let f=await Yd({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await sB(r,{project:e}),([y,[,b]])=>AA(t,Jr(y),process.execPath,[b])));let h=await g.findPackageLocation(o,u),p=new _t(h,{baseFs:a}),m=await At.find(Me.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:t,env:f,cwd:i}},{libzip:await fn()})}async function j9(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await nB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function tD(r,e){return r.manifest.scripts.has(e)}async function G9(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await K.mktempPromise(async o=>{let a=k.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${H.fromPortablePath(r.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:It(n,r.anchoredLocator),header:l});i.reportInfo(X.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await j9(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw K.detachTemp(o),new ct(X.LIFECYCLE_SCRIPT,`${(0,O9.default)(e)} script failed (exit code ${tt(n,g,qe.NUMBER)}, logs can be found here: ${tt(n,a,qe.PATH)}); run ${tt(n,`yarn ${e}`,qe.CODE)} to investigate`)})}async function JDe(r,e,t){tD(r,e)&&await G9(r,e,t)}async function sB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${It(t,r)} not found in the project`);let s=new El.Writable,o=t.getLinkers(),a={project:e,report:new Je({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${sr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return zo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return zo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return zo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===zo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,H.fromPortablePath(k.resolve(f,p))])}return i}async function H9(r){return await sB(r.anchoredLocator,{project:r.project})}async function Y9(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await sB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${It(n.configuration,r)}`);return await K.mktempPromise(async g=>{let[,f]=u,h=await Yd({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([m,[,y]])=>AA(h.BERRY_BIN_FOLDER,Jr(m),process.execPath,[y])));let p;try{p=await ra(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await K.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function WDe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await Y9(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Bi={};ft(Bi,{convertToZip:()=>iNe,extractArchiveTo:()=>sNe,makeArchiveFromDirectory:()=>rNe});var T6=ge(require("stream")),O6=ge(P6());var D6=ge(require("os")),R6=ge(gg()),F6=ge(require("worker_threads")),Dl=Symbol("kTaskInfo"),pR=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,R6.default)(Math.max(1,(0,D6.cpus)().length));this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new F6.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[Dl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[Dl].resolve(t),e[Dl]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[Dl])==null||i.reject(t),e[Dl]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[Dl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[Dl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[Dl]={resolve:n,reject:s},t.postMessage(e)})})}};var M6=ge(L6());async function rNe(r,{baseFs:e=new ar,prefixPath:t=Me.root,compressionLevel:i,inMemory:n=!1}={}){let s=await fn(),o;if(n)o=new li(null,{libzip:s,level:i});else{let l=await K.mktempPromise(),c=k.join(l,"archive.zip");o=new li(c,{create:!0,libzip:s,level:i})}let a=k.resolve(Me.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var K6;async function iNe(r,e){let t=await K.mktempPromise(),i=k.join(t,"archive.zip");return K6||(K6=new pR((0,M6.getContent)())),await K6.run({tmpFile:i,tgz:r,opts:e}),new li(i,{libzip:await fn(),level:e.compressionLevel})}async function*nNe(r){let e=new O6.default.Parse,t=new T6.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function sNe(r,e,{stripComponents:t=0,prefixPath:i=Me.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of nNe(r)){if(n(a))continue;let l=k.normalize(H.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=k.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,Rr.SAFE_TIME,Rr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),e.writeFileSync(u,await Tg(a),{mode:g}),e.utimesSync(u,Rr.SAFE_TIME,Rr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,Rr.SAFE_TIME,Rr.SAFE_TIME);break}}return e}var ls={};ft(ls,{emitList:()=>oNe,emitTree:()=>q6,treeNodeToJson:()=>Y6,treeNodeToTreeify:()=>G6});var j6=ge(H6());function G6(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Ry(e,l,Tc.BOLD)),typeof c!="undefined"&&g.push(tt(e,c[0],c[1])),g.length===0&&g.push(Ry(e,`${a}`,Tc.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof r.children=="undefined")throw new Error("The root node must only contain children");return i(r.children,t),t}function Y6(r){let e=t=>{var s;if(typeof t.children=="undefined"){if(typeof t.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Oc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value=="undefined"?n:{value:Oc(t.value[0],t.value[1]),children:n}};return e(r)}function oNe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));q6({children:n},{configuration:e,stdout:t,json:i})}function q6(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(Y6(l))} +`);return}let s=(0,j6.asTree)(G6(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var J6=ge(require("crypto")),mR=ge(require("fs"));var aNe=8,Nt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,J6.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==lc?`c${o}`:"";this.cacheKey=[aNe,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Nt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Jg(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=ANe(t).slice(0,10);return`${Jg(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?k.resolve(this.cwd,this.getVersionFilename(e)):t===null||ER(t)!==this.cacheKey?null:k.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?k.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await K.existsPromise(this.cwd))throw new ct(X.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await K.mkdirPromise(this.cwd,{recursive:!0});let e=k.resolve(this.cwd,".gitignore");await K.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await K.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=Or(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new ar,g=()=>{let oe=new li(null,{libzip:q}),ce=k.join(Me.root,ek(e));return oe.mkdirSync(ce,{recursive:!0}),oe.writeJsonSync(k.join(ce,kt.manifest),{name:Ot(e),mocked:!0}),oe},f=async(oe,ce=null)=>{var O;if(ce===null&&((O=o.unstablePackages)==null?void 0:O.has(e.locatorHash)))return null;let Z=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await sw(oe)}`:t;if(ce!==null){let L=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await sw(ce)}`:t;if(Z!==L)throw new ct(X.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&Z!==t){let L;switch(this.check?L="throw":ER(t)!==ER(Z)?L="update":L=this.configuration.get("checksumBehavior"),L){case"ignore":return t;case"update":return Z;default:case"throw":throw new ct(X.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return Z},h=async oe=>{if(!s)throw new Error(`Cache check required but no loader configured for ${It(this.configuration,e)}`);let ce=await s(),Z=ce.getRealPath();return ce.saveAndClose(),await K.chmodPromise(Z,420),await f(oe,Z)},p=async()=>{if(c===null||!await K.existsPromise(c)){let oe=await s(),ce=oe.getRealPath();return oe.saveAndClose(),{source:"loader",path:ce}}return{source:"mirror",path:c}},m=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${It(this.configuration,e)}`);if(this.immutable)throw new ct(X.IMMUTABLE_CACHE,`Cache entry required but missing for ${It(this.configuration,e)}`);let{path:oe,source:ce}=await p(),Z=await f(oe),O=this.getLocatorPath(e,Z,o);if(!O)throw new Error("Assertion failed: Expected the cache path to be available");let L=[];ce!=="mirror"&&c!==null&&L.push(async()=>{let Be=`${c}${this.cacheId}`;await K.copyFilePromise(oe,Be,mR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(Be,420),await K.renamePromise(Be,c)}),(!o.mirrorWriteOnly||c===null)&&L.push(async()=>{let Be=`${O}${this.cacheId}`;await K.copyFilePromise(oe,Be,mR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(Be,420),await K.renamePromise(Be,O)});let de=o.mirrorWriteOnly&&c!=null?c:O;return await Promise.all(L.map(Be=>Be())),[!1,de,Z]},y=async()=>{let ce=(async()=>{var je;let Z=this.getLocatorPath(e,t,o),O=Z!==null?await u.existsPromise(Z):!1,L=!!((je=o.mockedPackages)==null?void 0:je.has(e.locatorHash))&&(!this.check||!O),de=L||O,Be=de?i:n;if(Be&&Be(),de){let re=null,se=Z;return L||(re=this.check?await h(se):await f(se)),[L,se,re]}else return m()})();this.mutexes.set(e.locatorHash,ce);try{return await ce}finally{this.mutexes.delete(e.locatorHash)}};for(let oe;oe=this.mutexes.get(e.locatorHash);)await oe;let[b,v,x]=await y();this.markedFiles.add(v);let T,q=await fn(),Y=b?()=>g():()=>new li(v,{baseFs:u,libzip:q,readOnly:!0}),$=new _h(()=>Rv(()=>T=Y(),oe=>`Failed to open the cache entry for ${It(this.configuration,e)}: ${oe}`),k),_=new Na(v,{baseFs:$,pathUtils:k}),ne=()=>{T==null||T.discardAndClose()},ee=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:x;return[_,ne,ee]}};function ER(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function ANe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var cs;(function(t){t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE"})(cs||(cs={}));var pA=class extends Ji{constructor({configuration:e,stdout:t,suggestInstall:i=!0}){super();this.errorCount=0;nd(this,{configuration:e}),this.configuration=e,this.stdout=t,this.suggestInstall=i}static async start(e,t){let i=new this(e);try{await t(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){this.errorCount+=1,this.stdout.write(`${tt(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${t} +`)}reportProgress(e){let t=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},t),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${tt(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${tt(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:!1})}};var i0=ge(require("crypto"));function dA(){}dA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var y=void 0,b=g[m-1],v=g[m+1],x=(v?v.newPos:0)-m;b&&(g[m-1]=void 0);var T=b&&b.newPos+1=a&&x+1>=l)return o(lNe(s,y.components,t,e,s.useLongestToken));g[m]=y}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?m:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function cNe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var nAt=new dA;var W6=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,z6=/\S/,_6=new dA;_6.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!z6.test(r)&&!z6.test(e)};_6.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;tr.length)&&(e=r.length);for(var t=0,i=new Array(e);t0?l(Y.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(q=f).push.apply(q,yR(T.map(function(Z){return(x.added?"+":"-")+Z}))),x.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&v=a.length-2&&T.length<=o.context){var A=/\n$/.test(t),oe=/\n$/.test(i),ce=T.length==0&&f.length>ee.oldLines;!A&&ce&&t.length>0&&f.splice(ee.oldLines,0,"\\ No newline at end of file"),(!A&&!ce||!oe)&&f.push("\\ No newline at end of file")}c.push(ee),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>cw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],NR=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=k.join(e.cwd,e.configuration.get("lockfileFilename"));if(!K.existsSync(i))return;let n=await K.readFilePromise(i,"utf8"),s=Si(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=pd(a);if(!l){t.reportWarning(X.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}po(l.range)&&(l=rr(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of JOe){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){t.reportWarning(X.YARN_IMPORT_FAILED,`${sr(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=qg(l.range),p=pd(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,cn(f,g))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(_x(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var LR=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(Aw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(Aw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var TR=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new ct(X.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,t,i){throw new ct(X.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,t){throw new ct(X.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var di=class extends Ji{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){let t=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},t),{stop:i})}reportJson(e){}async finalize(){}};var iZ=ge(Wx());var CC=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await At.tryFind(this.cwd))!=null?s:new At,this.relativeCwd=k.relative(this.project.cwd,this.cwd)||Me.dot;let e=this.manifest.name?this.manifest.name:$o(null,`${this.computeCandidateName()}-${ln(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=cn(e,t),this.anchoredDescriptor=rr(this.locator,`${oi.protocol}${this.relativeCwd}`),this.anchoredLocator=cn(this.locator,`${oi.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,iZ.default)(i,{cwd:H.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let o of n){let a=k.resolve(this.cwd,H.toPortablePath(o));K.existsSync(k.join(a,"package.json"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let t=e.indexOf(":"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===oi.protocol&&k.normalize(n)===this.relativeCwd||i===oi.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=po(n);return s?i===oi.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${k.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=At.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=At.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&hd(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=k.join(this.cwd,At.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await K.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var oZ=6,WOe=1,zOe=/ *, */g,aZ=/\/$/,_Oe=32,VOe=(0,OR.promisify)(KR.default.gzip),XOe=(0,OR.promisify)(KR.default.gunzip),Ci;(function(t){t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build"})(Ci||(Ci={}));var UR={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},AZ=r=>ln(`${WOe}`,r),ze=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,m,y;if(!e.projectCwd)throw new Pe(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,K.existsSync(k.join(s,kt.manifest))){i=s;break}n=k.dirname(s)}let o=new ze(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(m=ye.telemetry)==null||m.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((b,v)=>b+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=tt(e,o.cwd,qe.PATH),u=tt(e,k.relative(o.cwd,i),qe.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Pe(`The nearest package directory (${tt(e,i,qe.PATH)}) doesn't seem to be part of the project declared in ${tt(e,o.cwd,qe.PATH)}. + +${[g,f,h].join(` +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=k.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(K.existsSync(e)){let n=await K.readFilePromise(e,"utf8");this.lockFileChecksum=AZ(n);let s=Si(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let t=e;e=[];for(let i of t){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let t=new CC(e,{project:this});await t.setup();let i=this.workspacesByIdent.get(t.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${fi(this.configuration,t.locator)}: ${H.fromPortablePath(e)} conflicts with ${H.fromPortablePath(i.cwd)}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){k.isAbsolute(e)||(e=k.resolve(this.cwd,e)),e=k.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)k.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t=="undefined"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${fi(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(Al(e)&&(e=ud(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${sr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(ea(e)&&(e=gd(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${It(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${Cd(this.configuration,e)} (${tt(this.configuration,k.join(e.cwd,kt.manifest),qe.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}forgetResolution(e){let t=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&t(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let t of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(t,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(t)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)Al(i)&&e.dependencies.set(t,ud(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!sZ.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new di,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(aZ,"")!==e.replace(aZ,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new NR(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new TR(t)]:[i,t],s=new wd([new LR(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,m=new Set,y=[],b=ck(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ji.progressViaTitle(),async ne=>{let ee=async O=>{let L=await Lg(async()=>await s.resolve(O,a),je=>`${It(this.configuration,O)}: ${je}`);if(!hd(O,L))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${It(this.configuration,O)} to ${It(this.configuration,L)})`);g.set(L.locatorHash,L);let de=this.configuration.normalizePackage(L);for(let[je,re]of de.dependencies){let se=await this.configuration.reduceHook(he=>he.reduceDependency,re,this,de,re,{resolver:s,resolveOptions:a});if(!fd(re,se))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let be=s.bindDescriptor(se,O,a);de.dependencies.set(je,be)}let Be=go([...de.dependencies.values()].map(je=>Z(je)));return y.push(Be),Be.catch(()=>{}),c.set(de.locatorHash,de),de},A=async O=>{let L=f.get(O.locatorHash);if(typeof L!="undefined")return L;let de=Promise.resolve().then(()=>ee(O));return f.set(O.locatorHash,de),de},oe=async(O,L)=>{let de=await Z(L);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,de.locatorHash),de},ce=async O=>{ne.setTitle(sr(this.configuration,O));let L=this.resolutionAliases.get(O.descriptorHash);if(typeof L!="undefined")return oe(O,this.storedDescriptors.get(L));let de=s.getResolutionDependencies(O,a),Be=new Map(await go(de.map(async se=>{let be=s.bindDescriptor(se,p,a),he=await Z(be);return m.add(he.locatorHash),[se.descriptorHash,he]}))),re=(await Lg(async()=>await s.getCandidates(O,Be,a),se=>`${sr(this.configuration,O)}: ${se}`))[0];if(typeof re=="undefined")throw new Error(`${sr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,re.locatorHash),A(re)},Z=O=>{let L=h.get(O.descriptorHash);if(typeof L!="undefined")return L;l.set(O.descriptorHash,O);let de=Promise.resolve().then(()=>ce(O));return h.set(O.descriptorHash,de),de};for(let O of this.workspaces){let L=O.anchoredDescriptor;y.push(Z(L))}for(;y.length>0;){let O=[...y];y.length=0,await go(O)}});let x=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),q=new Set,Y=new Map;ZOe({project:this,report:e.report,accessibleLocators:q,volatileDescriptors:x,optionalBuilds:T,peerRequirements:Y,allDescriptors:l,allResolutions:u,allPackages:c});for(let ne of m)T.delete(ne);for(let ne of x)l.delete(ne),u.delete(ne);let $=new Set,_=new Set;for(let ne of c.values())ne.conditions!=null&&(!T.has(ne.locatorHash)||(gw(ne,v)||(gw(ne,b)&&e.report.reportWarningOnce(X.GHOST_ARCHITECTURE,`${It(this.configuration,ne)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${tt(this.configuration,"supportedArchitectures",Ri.SETTING)} setting`),_.add(ne.locatorHash)),$.add(ne.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=q,this.conditionalLocators=$,this.disabledLocators=_,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=Y,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(kn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Rs(h)}])));n===Ci.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Ji.progressViaCounter(l.length);t.reportProgress(u);let g=(0,nZ.default)(_Oe);if(await t.startCacheReport(async()=>{await go(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(ea(h))return;let p;try{p=await o.fetch(h,a)}catch(m){m.message=`${It(this.configuration,h)}: ${m.message}`,t.reportExceptionOnce(m),c=m;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var A,oe,ce;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(Z=>{let O=Z.makeInstaller(c),L=O.getCustomDataKey(),de=this.installersCustomData.get(L);return typeof de!="undefined"&&O.attachCustomData(de),[Z,O]})),g=new Map,f=new Map,h=new Map,p=new Map(await go([...this.accessibleLocators].map(async Z=>{let O=this.storedPackages.get(Z);if(!O)throw new Error("Assertion failed: The locator should have been registered");return[Z,await o.fetch(O,a)]}))),m=[];for(let Z of this.accessibleLocators){let O=this.storedPackages.get(Z);if(typeof O=="undefined")throw new Error("Assertion failed: The locator should have been registered");let L=p.get(O.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let de=[],Be=re=>{de.push(re)},je=this.tryWorkspaceByLocator(O);if(je!==null){let re=[],{scripts:se}=je.manifest;for(let he of["preinstall","install","postinstall"])se.has(he)&&re.push([cs.SCRIPT,he]);try{for(let[he,Fe]of u)if(he.supportsPackage(O,c)&&(await Fe.installPackage(O,L,{holdFetchResult:Be})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{de.length===0?(A=L.releaseFs)==null||A.call(L):m.push(go(de).catch(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}let be=k.join(L.packageFs.getRealPath(),L.prefixPath);f.set(O.locatorHash,be),!ea(O)&&re.length>0&&h.set(O.locatorHash,{directives:re,buildLocations:[be]})}else{let re=l.find(he=>he.supportsPackage(O,c));if(!re)throw new ct(X.LINKER_NOT_FOUND,`${It(this.configuration,O)} isn't supported by any available linker`);let se=u.get(re);if(!se)throw new Error("Assertion failed: The installer should have been registered");let be;try{be=await se.installPackage(O,L,{holdFetchResult:Be})}finally{de.length===0?(oe=L.releaseFs)==null||oe.call(L):m.push(go(de).then(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}g.set(O.locatorHash,re),f.set(O.locatorHash,be.packageLocation),be.buildDirective&&be.buildDirective.length>0&&be.packageLocation&&h.set(O.locatorHash,{directives:be.buildDirective,buildLocations:[be.packageLocation]})}}let y=new Map;for(let Z of this.accessibleLocators){let O=this.storedPackages.get(Z);if(!O)throw new Error("Assertion failed: The locator should have been registered");let L=this.tryWorkspaceByLocator(O)!==null,de=async(Be,je)=>{let re=f.get(O.locatorHash);if(typeof re=="undefined")throw new Error(`Assertion failed: The package (${It(this.configuration,O)}) should have been registered`);let se=[];for(let be of O.dependencies.values()){let he=this.storedResolutions.get(be.descriptorHash);if(typeof he=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,be)}, from ${It(this.configuration,O)})should have been registered`);let Fe=this.storedPackages.get(he);if(typeof Fe=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);let Ke=this.tryWorkspaceByLocator(Fe)===null?g.get(he):null;if(typeof Ke=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);Ke===Be||Ke===null?f.get(Fe.locatorHash)!==null&&se.push([be,Fe]):!L&&re!==null&&Fg(y,he).push(re)}re!==null&&await je.attachInternalDependencies(O,se)};if(L)for(let[Be,je]of u)Be.supportsPackage(O,c)&&await de(Be,je);else{let Be=g.get(O.locatorHash);if(!Be)throw new Error("Assertion failed: The linker should have been found");let je=u.get(Be);if(!je)throw new Error("Assertion failed: The installer should have been registered");await de(Be,je)}}for(let[Z,O]of y){let L=this.storedPackages.get(Z);if(!L)throw new Error("Assertion failed: The package should have been registered");let de=g.get(L.locatorHash);if(!de)throw new Error("Assertion failed: The linker should have been found");let Be=u.get(de);if(!Be)throw new Error("Assertion failed: The installer should have been registered");await Be.attachExternalDependents(L,O)}let b=new Map;for(let Z of u.values()){let O=await Z.finalizeInstall();for(let L of(ce=O==null?void 0:O.records)!=null?ce:[])h.set(L.locatorHash,{directives:L.buildDirective,buildLocations:L.buildLocations});typeof(O==null?void 0:O.customData)!="undefined"&&b.set(Z.getCustomDataKey(),O.customData)}if(this.installersCustomData=b,await go(m),n===Ci.SkipBuild)return;let v=new Set(this.storedPackages.keys()),x=new Set(h.keys());for(let Z of x)v.delete(Z);let T=(0,i0.createHash)("sha512");T.update(process.versions.node),await this.configuration.triggerHook(Z=>Z.globalHashGeneration,this,Z=>{T.update("\0"),T.update(Z)});let q=T.digest("hex"),Y=new Map,$=Z=>{let O=Y.get(Z.locatorHash);if(typeof O!="undefined")return O;let L=this.storedPackages.get(Z.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The package should have been registered");let de=(0,i0.createHash)("sha512");de.update(Z.locatorHash),Y.set(Z.locatorHash,"");for(let Be of L.dependencies.values()){let je=this.storedResolutions.get(Be.descriptorHash);if(typeof je=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,Be)}) should have been registered`);let re=this.storedPackages.get(je);if(typeof re=="undefined")throw new Error("Assertion failed: The package should have been registered");de.update($(re))}return O=de.digest("hex"),Y.set(Z.locatorHash,O),O},_=(Z,O)=>{let L=(0,i0.createHash)("sha512");L.update(q),L.update($(Z));for(let de of O)L.update(de);return L.digest("hex")},ne=new Map,ee=!1;for(;x.size>0;){let Z=x.size,O=[];for(let L of x){let de=this.storedPackages.get(L);if(!de)throw new Error("Assertion failed: The package should have been registered");let Be=!0;for(let se of de.dependencies.values()){let be=this.storedResolutions.get(se.descriptorHash);if(!be)throw new Error(`Assertion failed: The resolution (${sr(this.configuration,se)}) should have been registered`);if(x.has(be)){Be=!1;break}}if(!Be)continue;x.delete(L);let je=h.get(de.locatorHash);if(!je)throw new Error("Assertion failed: The build directive should have been registered");let re=_(de,je.buildLocations);if(this.storedBuildState.get(de.locatorHash)===re){ne.set(de.locatorHash,re);continue}ee||(await this.persistInstallStateFile(),ee=!0),this.storedBuildState.has(de.locatorHash)?t.reportInfo(X.MUST_REBUILD,`${It(this.configuration,de)} must be rebuilt because its dependency tree changed`):t.reportInfo(X.MUST_BUILD,`${It(this.configuration,de)} must be built because it never has been before or the last one failed`);for(let se of je.buildLocations){if(!k.isAbsolute(se))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${se})`);O.push((async()=>{for(let[be,he]of je.directives){let Fe=`# This file contains the result of Yarn building a package (${Rs(de)}) +`;switch(be){case cs.SCRIPT:Fe+=`# Script name: ${he} +`;break;case cs.SHELLCODE:Fe+=`# Script code: ${he} +`;break}let Ke=null;if(!await K.mktempPromise(async ve=>{let pe=k.join(ve,"build.log"),{stdout:V,stderr:Qe}=this.configuration.getSubprocessStreams(pe,{header:Fe,prefix:It(this.configuration,de),report:t}),le;try{switch(be){case cs.SCRIPT:le=await nB(de,he,[],{cwd:se,project:this,stdin:Ke,stdout:V,stderr:Qe});break;case cs.SHELLCODE:le=await rD(de,he,[],{cwd:se,project:this,stdin:Ke,stdout:V,stderr:Qe});break}}catch(gt){Qe.write(gt.stack),le=1}if(V.end(),Qe.end(),le===0)return ne.set(de.locatorHash,re),!0;K.detachTemp(ve);let fe=`${It(this.configuration,de)} couldn't be built successfully (exit code ${tt(this.configuration,le,qe.NUMBER)}, logs can be found here: ${tt(this.configuration,pe,qe.PATH)})`;return this.optionalBuilds.has(de.locatorHash)?(t.reportInfo(X.BUILD_FAILED,fe),ne.set(de.locatorHash,re),!0):(t.reportError(X.BUILD_FAILED,fe),!1)}))return}})())}}if(await go(O),Z===x.size){let L=Array.from(x).map(de=>{let Be=this.storedPackages.get(de);if(!Be)throw new Error("Assertion failed: The package should have been registered");return It(this.configuration,Be)}).join(", ");t.reportError(X.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${L})`);break}}this.storedBuildState=ne}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qi.Inactive;let i=k.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await K.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new ct(X.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=tt(this.configuration,g,qe.PACKAGE_EXTENSION);switch(g.status){case qi.Inactive:e.report.reportWarning(X.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qi.Redundant:e.report.reportWarning(X.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=sc(n,this.generateLockfile());if(c!==n){let u=V6(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(X.FROZEN_LOCKFILE_EXCEPTION,tt(this.configuration,f,qe.ADDED)):f.startsWith("-")?e.report.reportError(X.FROZEN_LOCKFILE_EXCEPTION,tt(this.configuration,f,qe.REMOVED)):e.report.reportInfo(null,tt(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new ct(X.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qi.Active&&((l=ye.telemetry)==null||l.reportPackageExtension(Oc(g,qe.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==Ci.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>ow(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===Ci.UpdateLockfile){e.report.reportWarning(X.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${tt(this.configuration,"mode=update-lockfile",qe.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>ow(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:oZ,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Pn(f)).sort().join(", "),c=new At;c.version=o.linkType===Qt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey=="undefined"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]=te(N({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:Rs(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Ma(t)}async persistLockfile(){let e=k.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await K.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=sc(t,i);n!==t&&(await K.writeFilePromise(e,n),this.lockFileChecksum=AZ(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(UR))e.push(...o);let t=(0,n0.default)(this,e),i=MR.default.serialize(t),n=ln(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await K.mkdirPromise(k.dirname(s),{recursive:!0}),await K.writeFilePromise(s,await VOe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await XOe(await K.readFilePromise(n));s=MR.default.deserialize(o),this.installStateChecksum=ln(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData!="undefined"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,n0.default)(s,UR.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,n0.default)(s,UR.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new di}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!Ak(e.cwd,this.cwd)||!await K.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await K.readdirPromise(e.cwd)){if(i.has(a))continue;let l=k.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(X.IMMUTABLE_CACHE,`${tt(this.configuration,k.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(X.UNUSED_CACHE_ENTRY,`${tt(this.configuration,k.basename(l),"magenta")} appears to be unused - removing`),await K.removePromise(l)))}n&&s!==0&&t.reportInfo(X.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function ZOe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l,tolerateMissingPackages:c=!1}){var ne;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,y=new Map,b=new Map(r.workspaces.map(ee=>{let A=ee.anchoredLocator.locatorHash,oe=i.get(A);if(typeof oe=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,cd(oe)]})),v=()=>{let ee=K.mktempSync(),A=k.join(ee,"stacktrace.log"),oe=String(g.length+1).length,ce=g.map((Z,O)=>`${`${O+1}.`.padStart(oe," ")} ${Rs(Z)} +`).join("");throw K.writeFileSync(A,ce),K.detachTemp(ee),new ct(X.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${H.fromPortablePath(A)}`)},x=ee=>{let A=t.get(ee.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let oe=i.get(A);if(!oe)throw new Error("Assertion failed: The package could not be found");return oe},T=(ee,A,oe,{top:ce,optional:Z})=>{g.length>1e3&&v(),g.push(A);let O=q(ee,A,oe,{top:ce,optional:Z});return g.pop(),O},q=(ee,A,oe,{top:ce,optional:Z})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),Z||s.delete(A.locatorHash);let O=i.get(A.locatorHash);if(!O){if(c)return;throw new Error(`Assertion failed: The package (${It(r.configuration,A)}) should have been registered`)}let L=[],de=[],Be=[],je=[],re=[];for(let be of Array.from(O.dependencies.values())){if(O.peerDependencies.has(be.identHash)&&O.locatorHash!==ce)continue;if(Al(be))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(be.descriptorHash);let he=Z;if(!he){let Qe=O.dependenciesMeta.get(Ot(be));if(typeof Qe!="undefined"){let le=Qe.get(null);typeof le!="undefined"&&le.optional&&(he=!0)}}let Fe=t.get(be.descriptorHash);if(!Fe){if(c)continue;throw new Error(`Assertion failed: The resolution (${sr(r.configuration,be)}) should have been registered`)}let Ke=b.get(Fe)||i.get(Fe);if(!Ke)throw new Error(`Assertion failed: The package (${Fe}, resolved from ${sr(r.configuration,be)}) should have been registered`);if(Ke.peerDependencies.size===0){T(be,Ke,new Map,{top:ce,optional:he});continue}let ke,ve,pe=new Set,V;de.push(()=>{ke=Vx(be,A.locatorHash),ve=Xx(Ke,A.locatorHash),O.dependencies.delete(be.identHash),O.dependencies.set(ke.identHash,ke),t.set(ke.descriptorHash,ve.locatorHash),e.set(ke.descriptorHash,ke),i.set(ve.locatorHash,ve),L.push([Ke,ke,ve])}),Be.push(()=>{var Qe;V=new Map;for(let le of ve.peerDependencies.values()){let fe=O.dependencies.get(le.identHash);if(!fe&&fd(A,le)&&(ee.identHash===A.identHash?fe=ee:(fe=rr(A,ee.range),e.set(fe.descriptorHash,fe),t.set(fe.descriptorHash,A.locatorHash),a.delete(fe.descriptorHash))),(!fe||fe.range==="missing:")&&ve.dependencies.has(le.identHash)){ve.peerDependencies.delete(le.identHash);continue}fe||(fe=rr(le,"missing:")),ve.dependencies.set(fe.identHash,fe),Al(fe)&&Nc(p,fe.descriptorHash).add(ve.locatorHash),f.set(fe.identHash,fe),fe.range==="missing:"&&pe.add(fe.identHash),V.set(le.identHash,(Qe=oe.get(le.identHash))!=null?Qe:ve.locatorHash)}ve.dependencies=new Map(kn(ve.dependencies,([le,fe])=>Ot(fe)))}),je.push(()=>{if(!i.has(ve.locatorHash))return;let Qe=u.get(Ke.locatorHash);typeof Qe=="number"&&Qe>=2&&v();let le=u.get(Ke.locatorHash),fe=typeof le!="undefined"?le+1:1;u.set(Ke.locatorHash,fe),T(ke,ve,V,{top:ce,optional:he}),u.set(Ke.locatorHash,fe-1)}),re.push(()=>{let Qe=O.dependencies.get(be.identHash);if(typeof Qe=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let le=t.get(Qe.descriptorHash);if(typeof le=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(Nc(y,le).add(A.locatorHash),!!i.has(ve.locatorHash)){for(let fe of ve.peerDependencies.values()){let gt=V.get(fe.identHash);if(typeof gt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Fg(Ng(m,gt),Ot(fe)).push(ve.locatorHash)}for(let fe of pe)ve.dependencies.delete(fe)}})}for(let be of[...de,...Be])be();let se;do{se=!0;for(let[be,he,Fe]of L){let Ke=Ng(h,be.locatorHash),ke=ln(...[...Fe.dependencies.values()].map(Qe=>{let le=Qe.range!=="missing:"?t.get(Qe.descriptorHash):"missing:";if(typeof le=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${sr(r.configuration,Qe)} to have been registered`);return le===ce?`${le} (top)`:le}),he.identHash),ve=Ke.get(ke);if(typeof ve=="undefined"){Ke.set(ke,he);continue}if(ve===he)continue;i.delete(Fe.locatorHash),e.delete(he.descriptorHash),t.delete(he.descriptorHash),n.delete(Fe.locatorHash);let pe=p.get(he.descriptorHash)||[],V=[O.locatorHash,...pe];p.delete(he.descriptorHash);for(let Qe of V){let le=i.get(Qe);typeof le!="undefined"&&(le.dependencies.get(he.identHash).descriptorHash!==ve.descriptorHash&&(se=!1),le.dependencies.set(he.identHash,ve))}}}while(!se);for(let be of[...je,...re])be()};for(let ee of r.workspaces){let A=ee.anchoredLocator;a.delete(ee.anchoredDescriptor.descriptorHash),T(ee.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var Y;(function(oe){oe[oe.NotProvided=0]="NotProvided",oe[oe.NotCompatible=1]="NotCompatible"})(Y||(Y={}));let $=[];for(let[ee,A]of y){let oe=i.get(ee);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let ce=m.get(ee);if(typeof ce!="undefined")for(let Z of A){let O=i.get(Z);if(typeof O!="undefined")for(let[L,de]of ce){let Be=An(L);if(O.peerDependencies.has(Be.identHash))continue;let je=`p${ln(Z,L,ee).slice(0,5)}`;o.set(je,{subject:Z,requested:Be,rootRequester:ee,allRequesters:de});let re=oe.dependencies.get(Be.identHash);if(typeof re!="undefined"){let se=x(re),be=(ne=se.version)!=null?ne:"0.0.0",he=new Set;for(let Ke of de){let ke=i.get(Ke);if(typeof ke=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let ve=ke.peerDependencies.get(Be.identHash);if(typeof ve=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");he.add(ve.range)}[...he].every(Ke=>{if(Ke.startsWith(oi.protocol)){if(!r.tryWorkspaceByLocator(se))return!1;Ke=Ke.slice(oi.protocol.length),(Ke==="^"||Ke==="~")&&(Ke="*")}return qc(be,Ke)})||$.push({type:1,subject:O,requested:Be,requester:oe,version:be,hash:je,requirementCount:de.length})}else{let se=oe.peerDependenciesMeta.get(L);(se==null?void 0:se.optional)||$.push({type:0,subject:O,requested:Be,requester:oe,hash:je})}}}}let _=[ee=>$x(ee.subject),ee=>Ot(ee.requested),ee=>`${ee.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(X.UNNAMED,`Some peer dependencies are incorrectly met; run ${tt(r.configuration,"yarn explain peer-requirements ",qe.CODE)} for details, where ${tt(r.configuration,"",qe.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ee of kn($,_))switch(ee.type){case 0:l.reportWarning(X.MISSING_PEER_DEPENDENCY,`${It(r.configuration,ee.subject)} doesn't provide ${fi(r.configuration,ee.requested)} (${tt(r.configuration,ee.hash,qe.CODE)}), requested by ${fi(r.configuration,ee.requester)}`);break;case 1:{let A=ee.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning(X.INCOMPATIBLE_PEER_DEPENDENCY,`${It(r.configuration,ee.subject)} provides ${fi(r.configuration,ee.requested)} (${tt(r.configuration,ee.hash,qe.CODE)}) with version ${dd(r.configuration,ee.version)}, which doesn't satisfy what ${fi(r.configuration,ee.requester)} ${A}`)}break}})}var ca;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(ca||(ca={}));var mC=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!K.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue(ca.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(ca.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(ca.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(ca.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(ca.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(ca.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(ca.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(ca.DEPENDENCY_COUNT,String(e))}reportValue(e,t){Nc(this.values,e).add(t)}reportEnumerator(e,t){Nc(this.enumerators,e).add(ln(t))}reportHit(e,t="*"){let i=Ng(this.hits,e),n=_a(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return k.join(e,"telemetry.json")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=K.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{K.mkdirSync(k.dirname(t),{recursive:!0}),K.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>HP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=h,m.reportType="primary";for(let v of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[v]=m.enumerators[v].length;c(m);let y=new Map,b=20;for(let[v,x]of Object.entries(m.values))x.length>0&&y.set(v,x.slice(0,b));for(;y.size>0;){let v={};v.userId=h,v.reportType="secondary",v.metrics={};for(let[x,T]of y)v.metrics[x]=T.shift(),T.length===0&&y.delete(x);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=K.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},b=y[m]=(u=y[m])!=null?u:{};for(let[v,x]of this.hits.get(m))b[v]=((g=b[v])!=null?g:0)+x}for(let m of["values","enumerators"])for(let y of this[m].keys()){let b=s[m]=(f=s[m])!=null?f:{};b[y]=[...new Set([...(h=b[y])!=null?h:[],...(p=this[m].get(y))!=null?p:[]])]}K.mkdirSync(k.dirname(e),{recursive:!0}),K.writeJsonSync(e,t)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var HR=ge(require("child_process")),lZ=ge(Ic());var jR=ge(require("fs"));var Lf=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function $Oe(r){let e=H.fromPortablePath(r);process.on("SIGINT",()=>{}),e?(0,HR.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:te(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,HR.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:te(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function s0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new ws({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var m,y,b,v,x;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Se.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Wt.satisfiesWithPrereleases(s,o))throw new Pe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(H.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=H.toPortablePath(H.resolve(process.argv[1])),h=T=>K.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!K.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{$Oe(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!lZ.isCI&&process.stdout.isTTY&&(ye.telemetry=new mC(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(m=ye.telemetry)==null||m.reportVersion(r);for(let[$,_]of l.plugins.entries()){Lf.has((b=(y=$.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?b:"")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let ne of _.commands||[])n.register(ne)}let q=n.process(process.argv.slice(2));q.help||(x=ye.telemetry)==null||x.reportCommandName(q.path.join(" "));let Y=q.cwd;if(typeof Y!="undefined"&&!g){let $=(0,jR.realpathSync)(process.cwd()),_=(0,jR.realpathSync)(Y);if($!==_){process.chdir(Y),await t();return}}await n.runExit(q,{cwd:H.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>K.rmtempPromise())}function cZ(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var GC={};ft(GC,{BaseCommand:()=>Le,WorkspaceRequiredError:()=>ht,getDynamicLibs:()=>bre,getPluginConfiguration:()=>L0,main:()=>s0,openWorkspace:()=>Wf,pluginCommands:()=>Lf});var Le=class extends Re{constructor(){super(...arguments);this.cwd=J.String("--cwd",{hidden:!0})}};var ht=class extends Pe{constructor(e,t){let i=k.relative(e,t),n=k.join(e,At.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var sGe=ge(ri());ys();var oGe=ge(UF()),bre=()=>new Map([["@yarnpkg/cli",GC],["@yarnpkg/core",EC],["@yarnpkg/fslib",Zh],["@yarnpkg/libzip",Md],["@yarnpkg/parsers",op],["@yarnpkg/shell",Ud],["clipanion",Cp],["semver",sGe],["typanion",cg],["yup",oGe]]);async function Wf(r,e){let{project:t,workspace:i}=await ze.find(r,e);if(!i)throw new ht(t.cwd,e);return i}var Q_e=ge(ri());ys();var S_e=ge(UF());var GN={};ft(GN,{dedupeUtils:()=>wN,default:()=>mWe,suggestUtils:()=>lN});var Sae=ge(Ic());var Fne=ge(WC());ys();var lN={};ft(lN,{Modifier:()=>pa,Strategy:()=>Vr,Target:()=>Hr,WorkspaceModifier:()=>Xf,applyModifier:()=>kne,extractDescriptorFromPath:()=>gN,extractRangeModifier:()=>xne,fetchDescriptorFrom:()=>uN,findProjectDescriptors:()=>Rne,getModifier:()=>zC,getSuggestedDescriptors:()=>_C,makeWorkspaceDescriptor:()=>Dne,toWorkspaceModifier:()=>Pne});var cN=ge(ri()),bYe="workspace:",Hr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(Hr||(Hr={}));var pa;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(pa||(pa={}));var Xf;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(Xf||(Xf={}));var Vr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(Vr||(Vr={}));function zC(r,e){return r.exact?pa.EXACT:r.caret?pa.CARET:r.tilde?pa.TILDE:e.configuration.get("defaultSemverRangePrefix")}var QYe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function xne(r,{project:e}){let t=r.match(QYe);return t?t[1]:e.configuration.get("defaultSemverRangePrefix")}function kne(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return cN.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function Pne(r){switch(r){case pa.CARET:return Xf.CARET;case pa.TILDE:return Xf.TILDE;case pa.EXACT:return Xf.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${r}"`)}}function Dne(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${bYe}${Pne(e)}`)}async function Rne(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t===Hr.PEER){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t===Hr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function gN(r,{cwd:e,workspace:t}){return await SYe(async i=>{k.isAbsolute(r)||(r=k.relative(t.cwd,k.resolve(e,r)),r.match(/^\.{0,2}\//)||(r=`./${r}`));let{project:n}=t,s=await uN(P.makeIdent(null,"archive"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new di,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await At.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,r)})}async function _C(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!=="unknown")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof t!="undefined"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Vr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case Vr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await Rne(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes(Vr.KEEP))continue;let m=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case Vr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case Vr.PROJECT:await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=Dne(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ae.pretty(e.configuration,h.relativeCwd,ae.Type.PATH)})`})});break;case Vr.LATEST:await g(async()=>{if(r.range!=="unknown")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:"(explicit range requested)"});else if(n===Hr.PEER)c.push({descriptor:P.makeDescriptor(r,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ae.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await uN(r,"latest",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=kne(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function uN(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new di,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=te(N({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:m,source:y,params:b,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(m===t.configuration.get("defaultProtocol")&&(m=null),cN.default.valid(v)&&s!==!1){let x=typeof s=="string"?s:o.range;v=xne(x,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:m,source:y,params:b,selector:v}))}async function SYe(r){return await K.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Nt(e,{configuration:t,check:!1,immutable:!1}))})}var VC=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=J.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=J.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=J.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=J.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=J.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=J.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=J.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=J.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=J.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=J.String("--mode",{description:"Change what artifacts installs generate",validator:nn(Ci)});this.silent=J.Boolean("--silent",{hidden:!0});this.packages=J.Rest()}async execute(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=zC(this,t),a=[...s?[Vr.REUSE]:[],Vr.PROJECT,...this.cached?[Vr.CACHE]:[],Vr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async y=>{let b=y.match(/^\.{0,2}\//)?await gN(y,{cwd:this.context.cwd,workspace:i}):P.tryParseDescriptor(y),v=y.match(/^(https?:|git@github)/);if(v)throw new Pe(`It seems you are trying to add a package using a ${ae.pretty(e,`${v[0]}...`,Ri.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${ae.pretty(e,"yarn add",Ri.CODE)} ${ae.pretty(e,P.makeDescriptor(P.makeIdent(null,"my-package"),`${v[0]}...`),Ri.DESCRIPTOR)}`);if(!b)throw new Pe(`The ${ae.pretty(e,y,Ri.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let x=vYe(i,b,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),T=await _C(b,{project:t,workspace:i,cache:n,target:x,modifier:o,strategies:a,maxResults:l});return[b,T,x]})),u=await pA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[b,{suggestions:v,rejections:x}]of c)if(v.filter(q=>q.descriptor!==null).length===0){let[q]=x;if(typeof q=="undefined")throw new Error("Assertion failed: Expected an error to have been set");t.configuration.get("enableNetwork")?y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range`):y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),y.reportSeparator(),y.reportExceptionOnce(q)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:y},b]of c){let v,x=y.filter($=>$.descriptor!==null),T=x[0].descriptor,q=x.every($=>P.areDescriptorsEqual($.descriptor,T));x.length===1||q?v=T:(g=!0,{answer:v}=await(0,Fne.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:y.map(({descriptor:$,name:_,reason:ne})=>$?{name:_,hint:ne,descriptor:$}:{name:_,hint:ne,disabled:!0}),onCancel:()=>process.exit(130),result($){return this.find($,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let Y=i.manifest[b].get(v.identHash);(typeof Y=="undefined"||Y.descriptorHash!==v.descriptorHash)&&(i.manifest[b].set(v.identHash,v),this.optional&&(b==="dependencies"?i.manifest.ensureDependencyMeta(te(N({},v),{range:"unknown"})).optional=!0:b==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(te(N({},v),{range:"unknown"})).optional=!0)),typeof Y=="undefined"?f.push([i,b,v,a]):h.push([i,b,Y,v]))}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async y=>{await t.install({cache:n,report:y,mode:this.mode})})).exitCode()}};VC.paths=[["add"]],VC.usage=Re.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var Nne=VC;function vYe(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest[Hr.REGULAR].has(e.identHash),a=r.manifest[Hr.DEVELOPMENT].has(e.identHash),l=r.manifest[Hr.PEER].has(e.identHash);if((t||i)&&o)throw new Pe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new Pe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Pe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Pe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new Pe(`Package "${P.prettyIdent(r.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?Hr.PEER:t||n?Hr.DEVELOPMENT:o?Hr.REGULAR:a?Hr.DEVELOPMENT:Hr.REGULAR}var XC=class extends Le{constructor(){super(...arguments);this.verbose=J.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=J.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,locator:i}=await ze.find(e,this.context.cwd);if(await t.restoreInstallState(),this.name){let o=(await Zt.getPackageAccessibleBinaries(i,{project:t})).get(this.name);if(!o)throw new Pe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Zt.getPackageAccessibleBinaries(i,{project:t}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:P.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${P.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};XC.paths=[["bin"]],XC.usage=Re.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var Lne=XC;var ZC=class extends Le{constructor(){super(...arguments);this.mirror=J.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=J.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=await Nt.find(e);return(await Je.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&t.mirrorCwd!==null,s=!this.mirror;n&&(await K.removePromise(t.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await K.removePromise(t.cwd)})).exitCode()}};ZC.paths=[["cache","clean"],["cache","clear"]],ZC.usage=Re.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Tne=ZC;var One=ge(C0()),fN=ge(require("util")),$C=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=J.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(t)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${t}"`);let s=e.getSpecial(t,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=Se.convertMapsToIndexableObjects(s),a=i?(0,One.default)(o,i):o,l=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();fN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,fN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};$C.paths=[["config","get"]],$C.usage=Re.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Mne=$C;var Vse=ge(EN()),Xse=ge(C0()),Zse=ge(_se()),IN=ge(require("util")),tm=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=J.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=J.String();this.value=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new Pe("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>ye.updateHomeConfiguration(h):h=>ye.updateConfiguration(t(),h))(h=>{if(n){let p=(0,Vse.default)(h);return(0,Zse.default)(p,this.name,o),p}else return te(N({},h),{[i]:o})});let c=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=Se.convertMapsToIndexableObjects(c),g=n?(0,Xse.default)(u,n):u;return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{IN.inspect.styles.name="cyan",h.reportInfo(X.UNNAMED,`Successfully set ${this.name} to ${(0,IN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};tm.paths=[["config","set"]],tm.usage=Re.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var $se=tm;var Aoe=ge(EN()),loe=ge(yC()),coe=ge(aoe()),rm=class extends Le{constructor(){super(...arguments);this.home=J.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>ye.updateHomeConfiguration(l):l=>ye.updateConfiguration(t(),l);return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,loe.default)(u,this.name))return l.reportWarning(X.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,Aoe.default)(u):N({},u);return(0,coe.default)(g,this.name),g}),c||l.reportInfo(X.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};rm.paths=[["config","unset"]],rm.usage=Re.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var uoe=rm;var yN=ge(require("util")),im=class extends Le{constructor(){super(...arguments);this.verbose=J.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=J.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(X.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=Se.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(N({key:s,effective:a,source:l},o))}}else{let n=Se.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,yN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,yN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};im.paths=[["config"]],im.usage=Re.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var goe=im;ys();var wN={};ft(wN,{Strategy:()=>Bu,acceptedStrategies:()=>P3e,dedupe:()=>BN});var foe=ge(is()),Bu;(function(e){e.HIGHEST="highest"})(Bu||(Bu={}));var P3e=new Set(Object.values(Bu)),D3e={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Se.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!foe.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c=="undefined"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let b=r.originalPackages.get(y);if(typeof b=="undefined")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return b.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,m=r.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function BN(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new di,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await D3e[e](r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Ji.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(b=>b.then(v=>{if(v===null)return;p++;let{descriptor:x,currentPackage:T,updatedPackage:q}=v;n.reportInfo(X.UNNAMED,`${P.prettyDescriptor(s,x)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,q)}`),n.reportJson({descriptor:P.stringifyDescriptor(x),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(q)}),r.storedResolutions.set(x.descriptorHash,q.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let y=ae.pretty(s,e,ae.Type.CODE);return n.reportInfo(X.UNNAMED,`${m} can be deduped using the ${y} strategy`),p})}var nm=class extends Le{constructor(){super(...arguments);this.strategy=J.String("-s,--strategy",Bu.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:nn(Bu)});this.check=J.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=J.String("--mode",{description:"Change what artifacts installs generate",validator:nn(Ci)});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd),i=await Nt.find(e);await t.restoreInstallState({restoreResolutions:!1});let n=0,s=await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await BN(t,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await t.install({cache:i,report:a,mode:this.mode})})).exitCode()}};nm.paths=[["dedupe"]],nm.usage=Re.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var hoe=nm;var J0=class extends Le{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=ws.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=doe()["@yarnpkg/builder"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};J0.paths=[["--clipanion=definitions"]];var Coe=J0;var W0=class extends Le{async execute(){this.context.stdout.write(this.cli.usage(null))}};W0.paths=[["help"],["--help"],["-h"]];var moe=W0;var bN=class extends Le{constructor(){super(...arguments);this.leadingArgument=J.String();this.args=J.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let e=k.resolve(this.context.cwd,H.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Eoe=bN;var z0=class extends Le{async execute(){this.context.stdout.write(`${Ur||""} +`)}};z0.paths=[["-v"],["--version"]];var Ioe=z0;var sm=class extends Le{constructor(){super(...arguments);this.commandName=J.String();this.args=J.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,locator:i}=await ze.find(e,this.context.cwd);return await t.restoreInstallState(),await Zt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:t})}};sm.paths=[["exec"]],sm.usage=Re.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var yoe=sm;ys();var om=class extends Le{constructor(){super(...arguments);this.hash=J.String({required:!1,validator:fp(gp(),[hp(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd);return await t.restoreInstallState({restoreResolutions:!1}),await t.applyLightResolution(),typeof this.hash!="undefined"?await R3e(this.hash,t,{stdout:this.context.stdout}):(await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>P.stringifyLocator(t.storedPackages.get(a.subject)),([,a])=>P.stringifyIdent(a.requested)];for(let[a,l]of Se.sortMap(t.peerRequirements,s)){let c=t.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=t.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ae.pretty(e,a,ae.Type.CODE),h=P.prettyLocator(e,c),p=P.prettyIdent(e,l.requested),m=P.prettyIdent(e,u),y=l.allRequesters.length-1,b=`descendant${y===1?"":"s"}`,v=y>0?` and ${y} ${b}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${x} ${p} to ${m}${v}`)}})).exitCode()}};om.paths=[["explain","peer-requirements"]],om.usage=Re.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var woe=om;async function R3e(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Je.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var b,v;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(b=a.dependencies.get(n.requested.identHash))!=null?b:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(x=>{let T=e.storedPackages.get(x);if(typeof T=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let q=P.devirtualizeLocator(T),Y=e.storedPackages.get(q.locatorHash);if(typeof Y=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let $=Y.peerDependencies.get(n.requested.identHash);if(typeof $=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:$}});if(g!==null){let x=f.every(({peerDependency:T})=>Wt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo(X.UNNAMED,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(X.UNNAMED,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ae.mark(i),p=[];for(let{pkg:x,peerDependency:T}of Se.sortMap(f,q=>P.stringifyLocator(q.pkg))){let Y=(g!==null?Wt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(x),prettyLocator:P.prettyLocator(i,x),prettyRange:P.prettyRange(i,T.range),mark:Y})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),y=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:T,prettyRange:q,mark:Y}of Se.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${T.padEnd(m+(T.length-x.length)," ")} \u2192 ${q.padEnd(y," ")} ${Y}`);p.length>1&&(o.reportSeparator(),o.reportInfo(X.UNNAMED,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ys();var Boe=ge(ri()),am=class extends Le{constructor(){super(...arguments);this.onlyIfNeeded=J.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let t=()=>{if(typeof Ur=="undefined")throw new Pe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=t();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await Am(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await Am(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))i=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||H.isAbsolute(this.version))i=`file://${H.resolve(this.version)}`;else if(Wt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(Wt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(Wt.validRange(this.version))i=`https://repo.yarnpkg.com/${await F3e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Pe(`Invalid version descriptor "${this.version}"`);return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(X.UNNAMED,`Downloading ${ae.pretty(e,i,Ri.URL)}`),a=await K.readFilePromise(H.toPortablePath(i.slice(o.length)))):(s.reportInfo(X.UNNAMED,`Retrieving ${ae.pretty(e,i,Ri.PATH)}`),a=await ir.get(i,{configuration:e})),await QN(e,null,a,{report:s})})).exitCode()}};am.paths=[["set","version"]],am.usage=Re.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});var boe=am;async function F3e(r,e){let i=(await ir.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0})).tags.filter(n=>Wt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Pe(`No matching release found for range ${ae.pretty(r,e,ae.Type.RANGE)}.`);return i[0]}async function Am(r,e){let t=await ir.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new Pe(`Tag ${ae.pretty(r,e,ae.Type.RANGE)} not found`);return t.latest[e]}async function QN(r,e,t,{report:i}){var g;e===null&&await K.mktempPromise(async f=>{let h=k.join(f,"yarn.cjs");await K.writeFilePromise(h,t);let{stdout:p}=await Nr.execvp(process.execPath,[H.fromPortablePath(h),"--version"],{cwd:f,env:te(N({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!Boe.default.valid(e))throw new Error(`Invalid semver version. ${ae.pretty(r,"yarn --version",ae.Type.CODE)} returned: +${e}`)});let n=(g=r.projectCwd)!=null?g:r.startingCwd,s=k.resolve(n,".yarn/releases"),o=k.resolve(s,`yarn-${e}.cjs`),a=k.relative(r.startingCwd,o),l=k.relative(n,o),c=r.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(X.UNNAMED,`Saving the new release in ${ae.pretty(r,a,"magenta")}`),await K.removePromise(k.dirname(o)),await K.mkdirPromise(k.dirname(o),{recursive:!0}),await K.writeFilePromise(o,t,{mode:493}),u){await ye.updateConfiguration(n,{yarnPath:l});let f=await At.tryFind(n)||new At;f.packageManager=`yarn@${e&&Se.isTaggedYarnVersion(e)?e:await Am(r,"stable")}`;let h={};f.exportTo(h);let p=k.join(n,At.fileName),m=`${JSON.stringify(h,null,f.indent)} +`;await K.changeFilePromise(p,m,{automaticNewlines:!0})}}function Qoe(r){return X[II(r)]}var N3e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function L3e(r){let t=`https://repo.yarnpkg.com/${Se.isTaggedYarnVersion(Ur)?Ur:await Am(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await ir.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(N3e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=Qoe(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var lm=class extends Le{constructor(){super(...arguments);this.code=J.String({required:!1,validator:fp(gp(),[hp(/^YN[0-9]{4}$/)])});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code!="undefined"){let t=Qoe(this.code),i=ae.pretty(e,t,ae.Type.CODE),n=this.cli.format().header(`${this.code} - ${i}`),o=(await L3e(e)).get(this.code),a=typeof o!="undefined"?ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.MARKDOWN,{text:o,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:t,details:a})} +`):this.context.stdout.write(`${n} + +${a} +`)}else{let t={children:Se.mapAndFilter(Object.entries(X),([i,n])=>Number.isNaN(Number(i))?Se.mapAndFilter.skip:{label:_A(Number(i)),value:ae.tuple(ae.Type.CODE,n)})};ls.emitTree(t,{configuration:e,stdout:this.context.stdout,json:this.json})}}};lm.paths=[["explain"]],lm.usage=Re.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var Soe=lm;var voe=ge(is()),cm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=J.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=J.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=J.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=J.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=J.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=J.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=J.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i&&!this.all)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:T})=>{let q=x.anchoredLocator.locatorHash,Y=new Map,$=[q];for(;$.length>0;){let _=$.shift();if(Y.has(_))continue;let ne=t.storedPackages.get(_);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(Y.set(_,ne),P.isVirtualLocator(ne)&&$.push(P.devirtualizeLocator(ne).locatorHash),!(!T&&_!==q))for(let ee of ne.dependencies.values()){let A=t.storedResolutions.get(ee.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");$.push(A)}}return Y.values()},a=({recursive:x})=>{let T=new Map;for(let q of t.workspaces)for(let Y of o(q,{recursive:x}))T.set(Y.locatorHash,Y);return T.values()},l=({all:x,recursive:T})=>x&&T?t.storedPackages.values():x?a({recursive:T}):o(i,{recursive:T}),c=({all:x,recursive:T})=>{let q=l({all:x,recursive:T}),Y=this.patterns.map(ne=>{let ee=P.parseLocator(ne),A=voe.default.makeRe(P.stringifyIdent(ee)),oe=P.isVirtualLocator(ee),ce=oe?P.devirtualizeLocator(ee):ee;return Z=>{let O=P.stringifyIdent(Z);if(!A.test(O))return!1;if(ee.reference==="unknown")return!0;let L=P.isVirtualLocator(Z),de=L?P.devirtualizeLocator(Z):Z;return!(oe&&L&&ee.reference!==Z.reference||ce.reference!==de.reference)}}),$=Se.sortMap([...q],ne=>P.stringifyLocator(ne));return{selection:$.filter(ne=>Y.length===0||Y.some(ee=>ee(ne))),sortedLookup:$}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new Pe("No package matched your request");let f=new Map;if(this.dependents)for(let x of g)for(let T of x.dependencies.values()){let q=t.storedResolutions.get(T.descriptorHash);if(typeof q=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");Se.getArrayWithDefault(f,q).push(x)}let h=new Map;for(let x of g){if(!P.isVirtualLocator(x))continue;let T=P.devirtualizeLocator(x);Se.getArrayWithDefault(h,T.locatorHash).push(x)}let p={},m={children:p},y=e.makeFetcher(),b={project:t,fetcher:y,cache:n,checksums:t.storedChecksums,report:new di,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},v=[async(x,T,q)=>{var _,ne;if(!T.has("manifest"))return;let Y=await y.fetch(x,b),$;try{$=await At.find(Y.prefixPath,{baseFs:Y.packageFs})}finally{(_=Y.releaseFs)==null||_.call(Y)}q("Manifest",{License:ae.tuple(ae.Type.NO_HINT,$.license),Homepage:ae.tuple(ae.Type.URL,(ne=$.raw.homepage)!=null?ne:null)})},async(x,T,q)=>{var A;if(!T.has("cache"))return;let Y={mockedPackages:t.disabledLocators,unstablePackages:t.conditionalLocators},$=(A=t.storedChecksums.get(x.locatorHash))!=null?A:null,_=n.getLocatorPath(x,$,Y),ne;if(_!==null)try{ne=K.statSync(_)}catch{}let ee=typeof ne!="undefined"?[ne.size,ae.Type.SIZE]:void 0;q("Cache",{Checksum:ae.tuple(ae.Type.NO_HINT,$),Path:ae.tuple(ae.Type.PATH,_),Size:ee})}];for(let x of u){let T=P.isVirtualLocator(x);if(!this.virtuals&&T)continue;let q={},Y={value:[x,ae.Type.LOCATOR],children:q};if(p[P.stringifyLocator(x)]=Y,this.nameOnly){delete Y.children;continue}let $=h.get(x.locatorHash);typeof $!="undefined"&&(q.Instances={label:"Instances",value:ae.tuple(ae.Type.NUMBER,$.length)}),q.Version={label:"Version",value:ae.tuple(ae.Type.NO_HINT,x.version)};let _=(ee,A)=>{let oe={};if(q[ee]=oe,Array.isArray(A))oe.children=A.map(ce=>({value:ce}));else{let ce={};oe.children=ce;for(let[Z,O]of Object.entries(A))typeof O!="undefined"&&(ce[Z]={label:Z,value:O})}};if(!T){for(let ee of v)await ee(x,s,_);await e.triggerHook(ee=>ee.fetchPackageInfo,x,s,_)}x.bin.size>0&&!T&&_("Exported Binaries",[...x.bin.keys()].map(ee=>ae.tuple(ae.Type.PATH,ee)));let ne=f.get(x.locatorHash);typeof ne!="undefined"&&ne.length>0&&_("Dependents",ne.map(ee=>ae.tuple(ae.Type.LOCATOR,ee))),x.dependencies.size>0&&!T&&_("Dependencies",[...x.dependencies.values()].map(ee=>{var ce;let A=t.storedResolutions.get(ee.descriptorHash),oe=typeof A!="undefined"&&(ce=t.storedPackages.get(A))!=null?ce:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:ee,locator:oe})})),x.peerDependencies.size>0&&T&&_("Peer dependencies",[...x.peerDependencies.values()].map(ee=>{var Z,O;let A=x.dependencies.get(ee.identHash),oe=typeof A!="undefined"&&(Z=t.storedResolutions.get(A.descriptorHash))!=null?Z:null,ce=oe!==null&&(O=t.storedPackages.get(oe))!=null?O:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:ee,locator:ce})}))}ls.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};cm.paths=[["info"]],cm.usage=Re.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var xoe=cm;var _0=ge(Ic());ys();var um=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=J.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=J.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=J.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=J.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=J.String("--mode",{description:"Change what artifacts installs generate",validator:nn(Ci)});this.cacheFolder=J.String("--cache-folder",{hidden:!0});this.frozenLockfile=J.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=J.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=J.Boolean("--non-interactive",{hidden:!0});this.preferOffline=J.Boolean("--prefer-offline",{hidden:!0});this.production=J.Boolean("--production",{hidden:!0});this.registry=J.String("--registry",{hidden:!0});this.silent=J.Boolean("--silent",{hidden:!0});this.networkTimeout=J.String("--network-timeout",{hidden:!0})}async execute(){var g;let e=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let t=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(f,{error:h})=>{let p=await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError(X.DEPRECATED_CLI_SETTINGS,f):m.reportWarning(X.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let f=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!_0.default.VERCEL});if(f!==null)return f}if(typeof this.registry!="undefined"){let f=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(f!==null)return f}if(typeof this.preferOffline!="undefined"){let f=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!_0.default.VERCEL});if(f!==null)return f}if(typeof this.production!="undefined"){let f=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(f!==null)return f}if(typeof this.nonInteractive!="undefined"){let f=await i("The --non-interactive option is deprecated",{error:!t});if(f!==null)return f}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let f=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!_0.default.NETLIFY});if(f!==null)return f}let n=this.mode===Ci.UpdateLockfile;if(n&&(this.immutable||this.immutableCache))throw new Pe(`${ae.pretty(e,"--immutable",ae.Type.CODE)} and ${ae.pretty(e,"--immutable-cache",ae.Type.CODE)} cannot be used with ${ae.pretty(e,"--mode=update-lockfile",ae.Type.CODE)}`);let s=((g=this.immutable)!=null?g:e.get("enableImmutableInstalls"))&&!n,o=this.immutableCache&&!n;if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await T3e(e,s)&&(h.reportInfo(X.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let f=e.projectCwd,h;try{h=await K.readFilePromise(k.join(f,kt.lockfile),"utf8")}catch{}if(h==null?void 0:h.includes("yarn lockfile v1")){let p=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(X.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},f,{overwrite:!0}),await ye.updateConfiguration(f,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=ye.telemetry)==null?void 0:p.isNew)&&(h.reportInfo(X.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),h.reportInfo(X.TELEMETRY_NOTICE,`Run ${ae.pretty(e,"yarn config set --home enableTelemetry 0",ae.Type.CODE)} to disable`),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}let{project:a,workspace:l}=await ze.find(e,this.context.cwd),c=await Nt.find(e,{immutable:o,check:this.checkCache});if(!l)throw new ht(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:s,mode:this.mode})})).exitCode()}};um.paths=[["install"],Re.Default],um.usage=Re.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var koe=um,O3e="|||||||",M3e=">>>>>>>",K3e="=======",Poe="<<<<<<<";async function T3e(r,e){if(!r.projectCwd)return!1;let t=k.join(r.projectCwd,r.get("lockfileFilename"));if(!await K.existsPromise(t))return!1;let i=await K.readFilePromise(t,"utf8");if(!i.includes(Poe))return!1;if(e)throw new ct(X.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=U3e(i),o,a;try{o=Si(n),a=Si(s)}catch(c){throw new ct(X.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=N(N({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await K.changeFilePromise(t,Ma(l),{automaticNewlines:!0}),!0}function U3e(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Poe)){for(;t.length>0;){let s=t.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===K3e){i=!1;break}else if(i||s.startsWith(O3e)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(M3e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var gm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=J.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=J.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=k.resolve(this.context.cwd,H.toPortablePath(this.destination)),o=await ye.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await ze.find(o,s);if(t.cwd===a.cwd)throw new Pe("Invalid destination; Can't link the project to itself");if(!l)throw new ht(a.cwd,s);let c=t.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new Pe("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new Pe("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=P.stringifyIdent(f.locator),p=this.relative?k.relative(t.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Je.start({configuration:e,stdout:this.context.stdout},async f=>{await t.install({cache:n,report:f})})).exitCode()}};gm.paths=[["link"]],gm.usage=Re.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Doe=gm;var fm=class extends Le{constructor(){super(...arguments);this.args=J.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};fm.paths=[["node"]],fm.usage=Re.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Roe=fm;var Hoe=ge(require("os"));var Noe=ge(require("os"));var H3e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function bu(r){let e=await ir.get(H3e,{configuration:r});return Si(e.toString())}var hm=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await bu(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Or(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(N({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};hm.paths=[["plugin","list"]],hm.usage=Re.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Foe=hm;var j3e=/^[0-9]+$/;function Loe(r){return j3e.test(r)?`pull/${r}/head`:r}var G3e=({repository:r,branch:e},t)=>[["git","init",H.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",Loe(e)],["git","reset","--hard","FETCH_HEAD"]],Y3e=({branch:r})=>[["git","fetch","origin","--depth=1",Loe(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],q3e=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",k.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],pm=class extends Le{constructor(){super(...arguments);this.installPath=J.String("--path",{description:"The path where the repository should be cloned to"});this.repository=J.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=J.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=J.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=J.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=J.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=J.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?k.resolve(this.context.cwd,H.toPortablePath(this.installPath)):k.resolve(H.toPortablePath((0,Noe.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{await vN(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(X.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await dm(q3e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=k.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await K.readFilePromise(o);await QN(e,"sources",a,{report:s}),this.skipPlugins||await J3e(this,{project:t,report:s,target:i})})).exitCode()}};pm.paths=[["set","version","from","sources"]],pm.usage=Re.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var Toe=pm;async function dm(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Nr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await Nr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function vN(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&K.existsSync(k.join(i,".git"))){t.reportInfo(X.UNNAMED,"Fetching the latest commits"),t.reportSeparator();try{await dm(Y3e(r),{configuration:e,context:r.context,target:i}),n=!0}catch(s){t.reportSeparator(),t.reportWarning(X.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(X.UNNAMED,"Cloning the remote repository"),t.reportSeparator(),await K.removePromise(i),await K.mkdirPromise(i,{recursive:!0}),await dm(G3e(r,i),{configuration:e,context:r.context,target:i}))}async function J3e(r,{project:e,report:t,target:i}){let n=await bu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await SN(o,r,{project:e,report:t,target:i})}var Ooe=ge(ri()),Moe=ge(require("url")),Koe=ge(require("vm"));var Cm=class extends Le{constructor(){super(...arguments);this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await ze.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||H.isAbsolute(this.name)){let a=k.resolve(this.context.cwd,H.toPortablePath(this.name));i.reportInfo(X.UNNAMED,`Reading ${ae.pretty(e,a,ae.Type.PATH)}`),s=k.relative(n.cwd,a),o=await K.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Moe.URL(this.name)}catch{throw new ct(X.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Ooe.default.valid(l.reference))throw new ct(X.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=P.stringifyIdent(l),u=await bu(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new ct(X.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Ur!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Ur}/`))}i.reportInfo(X.UNNAMED,`Downloading ${ae.pretty(e,a,"green")}`),o=await ir.get(a,{configuration:e})}await xN(s,o,{project:n,report:i})})).exitCode()}};Cm.paths=[["plugin","import"]],Cm.usage=Re.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Uoe=Cm;async function xN(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Koe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=k.resolve(t.cwd,l);i.reportInfo(X.UNNAMED,`Saving the new plugin in ${ae.pretty(n,l,"magenta")}`),await K.mkdirPromise(k.dirname(c),{recursive:!0}),await K.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,y=k.resolve(t.cwd,H.toPortablePath(m)),{name:b}=Se.dynamicRequire(y);b!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),te(N({},g),{plugins:f})})}var W3e=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],mm=class extends Le{constructor(){super(...arguments);this.installPath=J.String("--path",{description:"The path where the repository should be cloned to"});this.repository=J.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=J.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=J.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=J.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=typeof this.installPath!="undefined"?k.resolve(this.context.cwd,H.toPortablePath(this.installPath)):k.resolve(H.toPortablePath((0,Hoe.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await ze.find(e,this.context.cwd),o=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=P.stringifyIdent(o),l=await bu(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new ct(X.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await vN(this,{configuration:e,report:n,target:t}),await SN(c,this,{project:s,report:n,target:t})})).exitCode()}};mm.paths=[["plugin","import","from","sources"]],mm.usage=Re.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var joe=mm;async function SN(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(X.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await dm(W3e({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=k.resolve(s,`packages/${o}/bundles/${r}.js`),c=await K.readFilePromise(l);await xN(r,c,{project:i,report:n})}var Em=class extends Le{constructor(){super(...arguments);this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=P.parseIdent(s);if(!e.plugins.has(s))throw new Pe(`${P.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=k.resolve(t.cwd,a);K.existsSync(l)&&(n.reportInfo(X.UNNAMED,`Removing ${ae.pretty(e,a,ae.Type.PATH)}...`),await K.removePromise(l)),n.reportInfo(X.UNNAMED,"Updating the configuration..."),await ye.updateConfiguration(t.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:te(N({},c),{plugins:u})})})).exitCode()}};Em.paths=[["plugin","remove"]],Em.usage=Re.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Goe=Em;var Im=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Im.paths=[["plugin","runtime"]],Im.usage=Re.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Yoe=Im;var ym=class extends Le{constructor(){super(...arguments);this.idents=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(P.parseIdent(a).identHash);if(await t.restoreInstallState({restoreResolutions:!1}),await t.resolveEverything({cache:n,report:new di}),s.size>0)for(let a of t.storedPackages.values())s.has(a.identHash)&&t.storedBuildState.delete(a.locatorHash);else t.storedBuildState.clear();return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await t.install({cache:n,report:a})})).exitCode()}};ym.paths=[["rebuild"]],ym.usage=Re.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var qoe=ym;var kN=ge(is());ys();var wm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=J.String("--mode",{description:"Change what artifacts installs generate",validator:nn(Ci)});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=this.all?t.workspaces:[i],o=[Hr.REGULAR,Hr.DEVELOPMENT,Hr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=P.parseIdent(h);for(let y of s){let b=[...y.manifest.peerDependenciesMeta.keys()];for(let v of(0,kN.default)(b,h))y.manifest.peerDependenciesMeta.delete(v),l=!0,p=!0;for(let v of o){let x=y.manifest.getForScope(v),T=[...x.values()].map(q=>P.stringifyIdent(q));for(let q of(0,kN.default)(T,P.stringifyIdent(m))){let{identHash:Y}=P.parseIdent(q),$=x.get(Y);if(typeof $=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");y.manifest[v].delete(Y),c.push([y,v,$]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new Pe(`${u} ${ae.prettyList(e,a,Ri.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Je.start({configuration:e,stdout:this.context.stdout},async p=>{await t.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};wm.paths=[["remove"]],wm.usage=Re.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Joe=wm;var Woe=ge(require("util")),V0=class extends Le{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Se.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Woe.inspect)(g,l)}`)})).exitCode()}};V0.paths=[["run"]];var zoe=V0;var Bm=class extends Le{constructor(){super(...arguments);this.inspect=J.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=J.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=J.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=J.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=J.Boolean("--silent",{hidden:!0});this.scriptName=J.String();this.args=J.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i,locator:n}=await ze.find(e,this.context.cwd);await t.restoreInstallState();let s=this.topLevel?t.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Zt.hasPackageScript(s,this.scriptName,{project:t}))return await Zt.executePackageScript(s,this.scriptName,this.args,{project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Zt.getPackageAccessibleBinaries(s,{project:t});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Zt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(t.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Zt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new Pe("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Lf)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new Pe(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new Pe(`Couldn't find a script named "${this.scriptName}".`)}}};Bm.paths=[["run"]],Bm.usage=Re.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var _oe=Bm;var bm=class extends Le{constructor(){super(...arguments);this.save=J.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=J.String();this.resolution=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(await t.restoreInstallState({restoreResolutions:!1}),!i)throw new ht(t.cwd,this.context.cwd);let s=P.parseDescriptor(this.descriptor,!0),o=P.makeDescriptor(s,this.resolution);return t.storedDescriptors.set(s.descriptorHash,s),t.storedDescriptors.set(o.descriptorHash,o),t.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await t.install({cache:n,report:l})})).exitCode()}};bm.paths=[["set","resolution"]],bm.usage=Re.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Voe=bm;var Xoe=ge(is()),Qm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);let s=t.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=k.resolve(this.context.cwd,H.toPortablePath(l));if(Se.isPathLike(l)){let u=await ye.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await ze.find(u,c);if(!f)throw new ht(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(P.stringifyIdent(h.locator));if(o.size===0)throw new Pe("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be unlinked");o.add(P.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,Xoe.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await t.install({cache:n,report:l})})).exitCode()}};Qm.paths=[["unlink"]],Qm.usage=Re.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Zoe=Qm;var $oe=ge(WC()),PN=ge(is());ys();var th=class extends Le{constructor(){super(...arguments);this.interactive=J.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=J.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=J.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=J.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=J.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=J.String("--mode",{description:"Change what artifacts installs generate",validator:nn(Ci)});this.patterns=J.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=[...t.storedDescriptors.values()],o=s.map(u=>P.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(P.parseDescriptor(u).range!=="unknown")throw new Pe("Ranges aren't allowed when using --recursive");for(let g of(0,PN.default)(o,u)){let f=P.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)t.storedDescriptors.delete(u.descriptorHash),t.storedResolutions.delete(u.descriptorHash);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{await t.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=zC(this,t),a=s?[Vr.KEEP,Vr.REUSE,Vr.PROJECT,Vr.LATEST]:[Vr.PROJECT,Vr.LATEST],l=[],c=[];for(let y of this.patterns){let b=!1,v=P.parseDescriptor(y);for(let x of t.workspaces)for(let T of[Hr.REGULAR,Hr.DEVELOPMENT]){let Y=[...x.manifest.getForScope(T).values()].map($=>P.stringifyIdent($));for(let $ of(0,PN.default)(Y,P.stringifyIdent(v))){let _=P.parseIdent($),ne=x.manifest[T].get(_.identHash);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let ee=P.makeDescriptor(_,v.range);l.push(Promise.resolve().then(async()=>[x,T,ne,await _C(ee,{project:t,workspace:x,cache:n,target:T,modifier:o,strategies:a})])),b=!0}}b||c.push(y)}if(c.length>1)throw new Pe(`Patterns ${ae.prettyList(e,c,Ri.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new Pe(`Pattern ${ae.prettyList(e,c,Ri.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await pA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[,,b,{suggestions:v,rejections:x}]of u){let T=v.filter(q=>q.descriptor!==null);if(T.length===0){let[q]=x;if(typeof q=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let Y=this.cli.error(q);t.configuration.get("enableNetwork")?y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range + +${Y}`):y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${Y}`)}else T.length>1&&!s&&y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[y,b,,{suggestions:v}]of u){let x,T=v.filter(_=>_.descriptor!==null),q=T[0].descriptor,Y=T.every(_=>P.areDescriptorsEqual(_.descriptor,q));T.length===1||Y?x=q:(f=!0,{answer:x}=await(0,$oe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(e,y)} \u276F ${b}?`,choices:v.map(({descriptor:_,name:ne,reason:ee})=>_?{name:ne,hint:ee,descriptor:_}:{name:ne,hint:ee,disabled:!0}),onCancel:()=>process.exit(130),result(_){return this.find(_,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=y.manifest[b].get(x.identHash);if(typeof $=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if($.descriptorHash!==x.descriptorHash)y.manifest[b].set(x.identHash,x),h.push([y,b,$,x]);else{let _=e.makeResolver(),ne={project:t,resolver:_},ee=_.bindDescriptor($,y.anchoredLocator,ne);t.forgetResolution(ee)}}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Je.start({configuration:e,stdout:this.context.stdout},async y=>{await t.install({cache:n,report:y,mode:this.mode})})).exitCode()}};th.paths=[["up"]],th.usage=Re.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),th.schema=[eS("recursive",Bc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var eae=th;var Sm=class extends Le{constructor(){super(...arguments);this.recursive=J.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=J.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let n=P.parseIdent(this.package).identHash,s=this.recursive?_3e(t,n,{configuration:e,peers:this.peers}):z3e(t,n,{configuration:e,peers:this.peers});ls.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Sm.paths=[["why"]],Sm.usage=Re.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var tae=Sm;function z3e(r,e,{configuration:t,peers:i}){let n=Se.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=P.stringifyLocator(a);s[p]={value:[a,ae.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ae.Type.DEPENDENT]}}}return o}function _3e(r,e,{configuration:t,peers:i}){let n=Se.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=r.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(m);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?ae.tuple(ae.Type.DEPENDENT,{locator:f,descriptor:p}):ae.tuple(ae.Type.LOCATOR,f),y={},b={value:m,children:y},v=P.stringifyLocator(f);if(h[v]=b,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let x of f.dependencies.values()){if(!i&&f.peerDependencies.has(x.identHash))continue;let T=r.storedResolutions.get(x.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let q=r.storedPackages.get(T);if(!q)throw new Error("Assertion failed: The package should have been registered");g(q,y,x)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var jN={};ft(jN,{default:()=>dWe,gitUtils:()=>Qu});var Qu={};ft(Qu,{TreeishProtocols:()=>On,clone:()=>KN,fetchBase:()=>wae,fetchChangedFiles:()=>Bae,fetchChangedWorkspaces:()=>hWe,fetchRoot:()=>yae,isGitUrl:()=>ih,lsRemote:()=>Iae,normalizeLocator:()=>TN,normalizeRepoUrl:()=>vm,resolveUrl:()=>MN,splitRepoUrl:()=>xm});var NN=ge(dae()),Cae=ge(Zw()),rh=ge(require("querystring")),LN=ge(ri()),mae=ge(require("url"));function Eae(){return te(N({},process.env),{GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`})}var fWe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],On;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(On||(On={}));function ih(r){return r?fWe.some(e=>!!r.match(e)):!1}function xm(r){r=vm(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:On.Head,request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=rh.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(On).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=On.Head,a="HEAD");for(let l of Object.values(On))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function vm(r,{git:e=!1}={}){var t;if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){r=r.replace(/^git\+([^:]+):/,"$1:");let i;try{i=mae.default.parse(r)}catch{i=null}i&&i.protocol==="ssh:"&&((t=i.path)==null?void 0:t.startsWith("/:"))&&(r=r.replace(/^ssh:\/\//,""))}return r}function TN(r){return P.makeLocator(r,vm(r.reference))}async function Iae(r,e){let t=vm(r,{git:!0});if(!ir.getNetworkSettings(`https://${(0,NN.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await ON("listing refs",["ls-remote",t],{cwd:e.startingCwd,env:Eae()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function MN(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=xm(r),o=await Iae(t,e),a=(c,u)=>{switch(c){case On.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return rh.default.stringify(te(N({},s),{commit:u}))}case On.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return rh.default.stringify(te(N({},s),{commit:g}))}case On.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return rh.default.stringify(te(N({},s),{commit:g}))}case On.Semver:{let g=Wt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[LN.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=LN.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return rh.default.stringify(te(N({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(On.Commit,u))!==null||(g=l(On.Tag,u))!==null||(g=l(On.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${t}#${a(i,n)}`}async function KN(r,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=xm(r);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=vm(t,{git:!0});if(ir.getNetworkSettings(`https://${(0,NN.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await K.mktempPromise(),a={cwd:o,env:Eae()};return await ON("cloning the repository",["clone","-c core.autocrlf=false",s,H.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await ON("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function yae(r){let e=null,t,i=r;do t=i,await K.existsPromise(k.join(t,".git"))&&(e=t),i=k.dirname(t);while(e===null&&i!==t);return e}async function wae(r,{baseRefs:e}){if(e.length===0)throw new Pe("Can't run this command with zero base refs specified.");let t=[];for(let a of e){let{code:l}=await Nr.execvp("git",["merge-base",a,"HEAD"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new Pe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Nr.execvp("git",["merge-base","HEAD",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Nr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function Bae(r,{base:e,project:t}){let i=Se.buildIgnorePattern(t.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Nr.execvp("git",["diff","--name-only",`${e}`],{cwd:r,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>k.resolve(r,H.toPortablePath(c))),{stdout:o}=await Nr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:r,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>k.resolve(r,H.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!k.relative(t.cwd,c).match(i)):l}async function hWe({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new Pe("This command can only be run from within a Yarn project");let t=[k.resolve(e.cwd,e.configuration.get("cacheFolder")),k.resolve(e.cwd,e.configuration.get("installStatePath")),k.resolve(e.cwd,e.configuration.get("lockfileFilename")),k.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await yae(e.configuration.projectCwd);if(i==null)throw new Pe("This command can only be run on Git repositories");let n=await wae(i,{baseRefs:typeof r=="string"?[r]:e.configuration.get("changesetBaseRefs")}),s=await Bae(i,{base:n.hash,project:e});return new Set(Se.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Se.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Se.mapAndFilter.skip:a}))}async function ON(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Nr.execvp("git",e,te(N({},t),{strict:!0}))}catch(s){if(!(s instanceof Nr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new ct(X.EXCEPTION,`Failed ${r}`,l=>{l.reportError(X.EXCEPTION,` ${ae.prettyField(i,{label:"Repository URL",value:ae.tuple(ae.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,Cae.default)(u)} Error`;l.reportError(X.EXCEPTION,` ${ae.prettyField(i,{label:f,value:ae.tuple(ae.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var UN=class{supports(e,t){return ih(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=TN(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o=te(N({},t),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await KN(e.reference,t.project.configuration),n=xm(e.reference),s=k.join(i,"package.tgz");await Zt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await K.readFilePromise(s);return await Se.releaseAfterUseAsync(async()=>await Bi.convertToZip(o,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var HN=class{supportsDescriptor(e,t){return ih(e.range)}supportsLocator(e,t){return ih(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await MN(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var pWe={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:Ie.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:Ie.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:Ie.NUMBER,default:2}},fetchers:[UN],resolvers:[HN]};var dWe=pWe;var km=class extends Le{constructor(){super(...arguments);this.since=J.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=J.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=J.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Qu.fetchChangedWorkspaces({ref:this.since,project:t}):t.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of At.hardDependencies)for(let[h,p]of l.getForScope(f)){let m=t.tryWorkspaceByDescriptor(p);m===null?t.workspacesByIdent.has(h)&&g.add(p):u.add(m)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>P.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(N({location:a.relativeCwd,name:l.name?P.stringifyIdent(l.name):null},c))}})).exitCode()}};km.paths=[["workspaces","list"]],km.usage=Re.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var bae=km;var Pm=class extends Le{constructor(){super(...arguments);this.workspaceName=J.String();this.commandName=J.String();this.args=J.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);let n=t.workspaces,s=new Map(n.map(a=>{let l=P.convertToIdent(a.locator);return[P.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new Pe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Pm.paths=[["workspace"]],Pm.usage=Re.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var Qae=Pm;var CWe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:Ie.BOOLEAN,default:Sae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:Ie.STRING,values:["^","~",""],default:pa.CARET}},commands:[Tne,Mne,$se,uoe,Voe,Toe,boe,bae,Coe,moe,Eoe,Ioe,Nne,Lne,goe,hoe,yoe,woe,Soe,xoe,koe,Doe,Zoe,Roe,joe,Uoe,Goe,Foe,Yoe,qoe,Joe,zoe,_oe,eae,tae,Qae]},mWe=CWe;var zN={};ft(zN,{default:()=>IWe});var Ge={optional:!0},YN=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Ge,zenObservable:Ge}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Ge,zenObservable:Ge}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Ge}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Ge,["postcss-jsx"]:Ge,["postcss-less"]:Ge,["postcss-markdown"]:Ge,["postcss-scss"]:Ge}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Ge}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Ge}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Ge,"vue-template-compiler":Ge}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Ge,"utf-8-validate":Ge}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Ge,"vuetify-loader":Ge}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Ge}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Ge}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Ge}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Ge}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Ge,tinyliquid:Ge,"liquid-node":Ge,jade:Ge,"then-jade":Ge,dust:Ge,"dustjs-helpers":Ge,"dustjs-linkedin":Ge,swig:Ge,"swig-templates":Ge,"razor-tmpl":Ge,atpl:Ge,liquor:Ge,twig:Ge,ejs:Ge,eco:Ge,jazz:Ge,jqtpl:Ge,hamljs:Ge,hamlet:Ge,whiskers:Ge,"haml-coffee":Ge,"hogan.js":Ge,templayed:Ge,handlebars:Ge,underscore:Ge,lodash:Ge,pug:Ge,"then-pug":Ge,qejs:Ge,walrus:Ge,mustache:Ge,just:Ge,ect:Ge,mote:Ge,toffee:Ge,dot:Ge,"bracket-template":Ge,ractive:Ge,nunjucks:Ge,htmling:Ge,"babel-core":Ge,plates:Ge,"react-dom":Ge,react:Ge,"arc-templates":Ge,vash:Ge,slm:Ge,marko:Ge,teacup:Ge,"coffee-script":Ge,squirrelly:Ge,twing:Ge}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Ge}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Ge,vue:Ge}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Ge}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Ge}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(r=>[r,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Ge,"webpack-command":Ge}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Ge}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Ge}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Ge,jimp:Ge}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Ge,"eslint-import-resolver-typescript":Ge,"eslint-import-resolver-webpack":Ge,"@typescript-eslint/parser":Ge}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Ge}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Ge}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Ge}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Ge}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@*",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Ge}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:{optional:!0}}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}]];var qN;function vae(){return typeof qN=="undefined"&&(qN=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),qN}var JN;function xae(){return typeof JN=="undefined"&&(JN=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),JN}var WN;function kae(){return typeof WN=="undefined"&&(WN=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),WN}var Pae=new Map([[P.makeIdent(null,"fsevents").identHash,vae],[P.makeIdent(null,"resolve").identHash,xae],[P.makeIdent(null,"typescript").identHash,kae]]),EWe={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of YN)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t="compat/";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=Pae.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(r,e,t,i)=>typeof Pae.get(r.identHash)=="undefined"?r:P.makeDescriptor(r,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(r),selector:`~builtin`,params:null}))}},IWe=EWe;var _N={};ft(_N,{default:()=>wWe});var X0=class extends Le{constructor(){super(...arguments);this.pkg=J.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=J.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=J.String();this.args=J.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let t=P.parseDescriptor(this.command),i;t.scope?i=P.makeIdent(t.scope,`create-${t.name}`):t.name.startsWith("@")?i=P.makeIdent(t.name.substring(1),"create"):i=P.makeIdent(null,`create-${t.name}`);let n=P.stringifyIdent(i);return t.range!=="unknown"&&(n+=`@${t.range}`),this.cli.run(["dlx",...e,n,...this.args])}};X0.paths=[["create"]];var Dae=X0;var Dm=class extends Le{constructor(){super(...arguments);this.packages=J.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=J.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=J.String();this.args=J.Proxy()}async execute(){return ye.telemetry=null,await K.mktempPromise(async e=>{var p;let t=k.join(e,`dlx-${process.pid}`);await K.mkdirPromise(t),await K.writeFilePromise(k.join(t,"package.json"),`{} +`),await K.writeFilePromise(k.join(t,"yarn.lock"),"");let i=k.join(t,".yarnrc.yml"),n=await ye.findProjectCwd(this.context.cwd,kt.lockfile),s=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?k.join(n,".yarnrc.yml"):null;o!==null&&K.existsSync(o)?(await K.copyFilePromise(o,i),await ye.updateConfiguration(t,m=>{let y=te(N({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(y.plugins=m.plugins.map(b=>{let v=typeof b=="string"?b:b.path,x=H.isAbsolute(v)?v:H.resolve(H.fromPortablePath(n),v);return typeof b=="string"?x:{path:x,spec:b.spec}})),y})):await K.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=P.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:t,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await ye.find(t,this.context.plugins),{project:g,workspace:f}=await ze.find(u,t);if(f===null)throw new ht(g.cwd,t);await g.restoreInstallState();let h=await Zt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Zt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Dm.paths=[["dlx"]],Dm.usage=Re.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var Rae=Dm;var yWe={commands:[Dae,Rae]},wWe=yWe;var nL={};ft(nL,{default:()=>QWe,fileUtils:()=>VN});var nh=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Rm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Xr="file:";var VN={};ft(VN,{makeArchiveFromLocator:()=>Z0,makeBufferFromLocator:()=>$N,makeLocator:()=>ZN,makeSpec:()=>Fae,parseSpec:()=>XN});function XN(r){let{params:e,selector:t}=P.parseRange(r),i=H.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function Fae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t!="undefined"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:N(N({},s),n)})}function ZN(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,Fae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function Z0(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=k.isAbsolute(s)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=k.join(a.prefixPath,s);return await Se.releaseAfterUseAsync(async()=>await Bi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function $N(r,{protocol:e,fetchOptions:t}){return(await Z0(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var eL=class{supports(e,t){return!!e.reference.startsWith(Xr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr});if(k.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:k.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return Z0(e,{protocol:Xr,fetchOptions:t})}};var BWe=2,tL=class{supportsDescriptor(e,t){return e.range.match(nh)?!0:!!e.range.startsWith(Xr)}supportsLocator(e,t){return!!e.reference.startsWith(Xr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return nh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=XN(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await $N(P.makeLocator(e,P.makeRange({protocol:Xr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:Xr,fetchOptions:i.fetchOptions}),a=Dn.makeHash(`${BWe}`,o).slice(0,6);return[ZN(e,{parentLocator:s,path:n,folderHash:a,protocol:Xr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var rL=class{supports(e,t){return Rm.test(e.reference)?!!e.reference.startsWith(Xr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Se.releaseAfterUseAsync(async()=>await Bi.convertToZip(c,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var iL=class{supportsDescriptor(e,t){return Rm.test(e.range)?!!(e.range.startsWith(Xr)||nh.test(e.range)):!1}supportsLocator(e,t){return Rm.test(e.reference)?!!e.reference.startsWith(Xr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return nh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(Xr)&&(n=n.slice(Xr.length)),[P.makeLocator(e,`${Xr}${H.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var bWe={fetchers:[rL,eL],resolvers:[iL,tL]},QWe=bWe;var oL={};ft(oL,{default:()=>xWe});var Nae=ge(require("querystring")),Lae=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function Tae(r){return r?Lae.some(e=>!!r.match(e)):!1}function Oae(r){let e;for(let a of Lae)if(e=r.match(a),e)break;if(!e)throw new Error(SWe(r));let[,t,i,n,s="master"]=e,{commit:o}=Nae.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:t,username:i,reponame:n,treeish:s}}function SWe(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var sL=class{supports(e,t){return!!Tae(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await ir.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await K.mktempPromise(async n=>{let s=new _t(n);await Bi.extractArchiveTo(i,s,{stripComponents:1});let o=Qu.splitRepoUrl(e.reference),a=k.join(n,"package.tgz");await Zt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await K.readFilePromise(a);return await Bi.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=Oae(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var vWe={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new sL;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch(n){return null}}}},xWe=vWe;var lL={};ft(lL,{default:()=>PWe});var Fm=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Nm=/^https?:/;var aL=class{supports(e,t){return Fm.test(e.reference)?!!Nm.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await ir.get(e.reference,{configuration:t.project.configuration});return await Bi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var AL=class{supportsDescriptor(e,t){return Fm.test(e.range)?!!Nm.test(e.range):!1}supportsLocator(e,t){return Fm.test(e.reference)?!!Nm.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var kWe={fetchers:[aL],resolvers:[AL]},PWe=kWe;var fL={};ft(fL,{default:()=>D4e});var cAe=ge(lAe()),gL=ge(require("util")),Lm=class extends Le{constructor(){super(...arguments);this.private=J.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=J.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=J.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=J.Boolean("-2",!1,{hidden:!0});this.yes=J.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=J.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return t!==null?await this.executeProxy(e,t):await this.executeRegular(e)}async executeProxy(e,t){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new Pe("Cannot use the --install flag from within a project subdirectory");K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=k.join(this.context.cwd,e.get("lockfileFilename"));K.existsSync(i)||await K.writeFilePromise(i,"");let n=await this.cli.run(["set","version",t],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await K.mktempPromise(async o=>{let{code:a}=await Nr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Zt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let t=null;try{t=(await ze.find(e,this.context.cwd)).project}catch{t=null}K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=await At.tryFind(this.context.cwd)||new At,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:P.makeIdent(e.get("initScope"),k.basename(this.context.cwd)),i.packageManager=Ur&&Se.isTaggedYarnVersion(Ur)?`yarn@${Ur}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await K.mkdirPromise(k.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),gL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,gL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=k.join(this.context.cwd,At.fileName);await K.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=k.join(this.context.cwd,"README.md");if(K.existsSync(a)||await K.writeFilePromise(a,`# ${P.stringifyIdent(i.name)} +`),!t||t.cwd===this.context.cwd){let c=k.join(this.context.cwd,kt.lockfile);K.existsSync(c)||await K.writeFilePromise(c,"");let g=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(y=>`${y} +`).join(""),f=k.join(this.context.cwd,".gitignore");K.existsSync(f)||await K.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,cAe.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[y,b]of Object.entries(h)){p+=` +[${y}] +`;for(let[v,x]of Object.entries(b))p+=`${v.replace(/[A-Z]/g,q=>`_${q.toLowerCase()}`)} = ${x} +`}let m=k.join(this.context.cwd,".editorconfig");K.existsSync(m)||await K.writeFilePromise(m,p),K.existsSync(k.join(this.context.cwd,".git"))||await Nr.execvp("git",["init"],{cwd:this.context.cwd})}}};Lm.paths=[["init"]],Lm.usage=Re.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var uAe=Lm;var P4e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:Ie.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:Ie.MAP,valueDefinition:{description:"",type:Ie.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:Ie.MAP,valueDefinition:{description:"",type:Ie.ANY}}},commands:[uAe]},D4e=P4e;var mL={};ft(mL,{default:()=>F4e});var wA="portal:",BA="link:";var hL=class{supports(e,t){return!!e.reference.startsWith(wA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:wA});if(k.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:k.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:wA}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,localPath:l}:{packageFs:new La(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot}}};var pL=class{supportsDescriptor(e,t){return!!e.range.startsWith(wA)}supportsLocator(e,t){return!!e.reference.startsWith(wA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(wA.length);return[P.makeLocator(e,`${wA}${H.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var dL=class{supports(e,t){return!!e.reference.startsWith(BA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:BA});if(k.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:k.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:BA}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0,localPath:l}:{packageFs:new La(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0}}};var CL=class{supportsDescriptor(e,t){return!!e.range.startsWith(BA)}supportsLocator(e,t){return!!e.reference.startsWith(BA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(BA.length);return[P.makeLocator(e,`${BA}${H.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return te(N({},e),{version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var R4e={fetchers:[dL,hL],resolvers:[CL,pL]},F4e=R4e;var JL={};ft(JL,{default:()=>j8e});var Mn;(function(i){i[i.REGULAR=0]="REGULAR",i[i.WORKSPACE=1]="WORKSPACE",i[i.EXTERNAL_SOFT_LINK=2]="EXTERNAL_SOFT_LINK"})(Mn||(Mn={}));var bA;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(bA||(bA={}));var EL=(r,e)=>`${r}@${e}`,gAe=(r,e)=>{let t=e.indexOf("#"),i=t>=0?e.substring(t+1):e;return EL(r,i)},yo;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(yo||(yo={}));var hAe=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=N4e(r,s),l=!1,c=0;do l=IL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=Tm(a);if(IL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${Tm(a)}`);let f=fAe(a);if(f)throw new Error(`${f}, after hoisting finished: +${Tm(a)}`)}return s.debugLevel>=2&&console.log(Tm(a)),L4e(a)},T4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},O4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},pAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:m}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(m)},b=y.dependencies.get(t);return b&&b.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},M4e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},yL=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},IL=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=U4e(o),l=M4e(o,a),c=r==o?new Map:n.fastLookupPossible?T4e(e):O4e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,y])=>[m,y[0]])),p=new Map;do{let m=K4e(r,e,t,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,b]of l)b.length>1&&!o.dependencies.has(y)&&(h.delete(y),b.shift(),h.set(y,b[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!t.has(m.locator)){t.add(m.locator);let y=IL(r,[...e,m],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},H4e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},j4e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Li(y)).join("\u2192")}`);let h=t[t.length-1],m=!(i.ident===h.ident);if(l&&!m&&(g="- self-reference"),m&&(m=i.dependencyKind!==1,l&&!m&&(g="- workspace")),m&&i.dependencyKind===2&&(m=!H4e(i),l&&!m&&(g="- external soft link with unhoisted dependencies")),m&&(m=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!m&&(g=h.reasons.get(i.name))),m&&(m=!r.peerNames.has(i.name),l&&!m&&(g=`- cannot shadow peer: ${Li(r.originalDependencies.get(i.name).locator)} at ${u}`)),m){let y=!1,b=n.get(i.name);if(y=!b||b.ident===i.ident,l&&!y&&(g=`- filled by: ${Li(b.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let T=t[v].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let q=a.get(h);q||(q=new Set,a.set(h,q)),q.add(i.name),l&&(g=`- filled by ${Li(T.locator)} at ${t.slice(0,v).map(Y=>Li(Y.locator)).join("\u2192")}`);break}}m=y}if(m&&(m=s.get(i.name)===i.ident,l&&!m&&(g=`- filled by: ${Li(o.get(i.name)[0])} at ${u}`)),m){let y=!0,b=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let x=t[v];for(let T of b){if(x.peerNames.has(T)&&x.originalDependencies.has(T))continue;let q=x.dependencies.get(T);q&&r.dependencies.get(T)!==q&&(v===t.length-1?f.add(q):(f=null,y=!1,l&&(g=`- peer dependency ${Li(q.locator)} from parent ${Li(x.locator)} was not hoisted to ${u}`))),b.delete(T)}if(!y)break}m=y}if(m&&!c)for(let y of i.hoistedDependencies.values()){let b=n.get(y.name)||r.dependencies.get(y.name);if(!b||y.ident!==b.ident){m=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Li(y.locator)}, available: ${Li(b==null?void 0:b.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:m?0:1,reason:g}},$0=r=>`${r.name}@${r.locator}`,K4e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(b,v,x,T,q)=>{if(u.has(T))return;let Y=[...v,$0(T)],$=[...x,$0(T)],_=new Map,ne=new Map;for(let Z of yL(T)){let O=j4e(c,t,[c,...b,T],Z,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(ne.set(Z,O),O.isHoistable===2)for(let L of O.dependsOn){let de=_.get(L.name)||new Set;de.add(Z.name),_.set(L.name,de)}}let ee=new Set,A=(Z,O,L)=>{if(!ee.has(Z)){ee.add(Z),ne.set(Z,{isHoistable:1,reason:L});for(let de of _.get(Z.name)||[])A(T.dependencies.get(de),O,l.debugLevel>=2?`- peer dependency ${Li(Z.locator)} from parent ${Li(T.locator)} was not hoisted`:"")}};for(let[Z,O]of ne)O.isHoistable===1&&A(Z,O,O.reason);let oe=!1;for(let Z of ne.keys())if(!ee.has(Z)){f=!0;let O=o.get(T);O&&O.has(Z.name)&&(g=!0),oe=!0,T.dependencies.delete(Z.name),T.hoistedDependencies.set(Z.name,Z),T.reasons.delete(Z.name);let L=c.dependencies.get(Z.name);if(l.debugLevel>=2){let de=Array.from(v).concat([T.locator]).map(je=>Li(je)).join("\u2192"),Be=c.hoistedFrom.get(Z.name);Be||(Be=[],c.hoistedFrom.set(Z.name,Be)),Be.push(de),T.hoistedTo.set(Z.name,Array.from(e).map(je=>Li(je.locator)).join("\u2192"))}if(!L)c.ident!==Z.ident&&(c.dependencies.set(Z.name,Z),q.add(Z));else for(let de of Z.references)L.references.add(de)}if(T.dependencyKind===2&&oe&&(g=!0),l.check){let Z=fAe(r);if(Z)throw new Error(`${Z}, after hoisting dependencies of ${[c,...b,T].map(O=>Li(O.locator)).join("\u2192")}: +${Tm(r)}`)}let ce=yL(T);for(let Z of ce)if(ee.has(Z)){let O=ne.get(Z);if((n.get(Z.name)===Z.ident||!T.reasons.has(Z.name))&&O.isHoistable!==0&&T.reasons.set(Z.name,O.reason),!Z.isHoistBorder&&$.indexOf($0(Z))<0){u.add(T);let de=pAe(T,Z);h([...b,T],Y,$,de,m),u.delete(T)}}},p,m=new Set(yL(c)),y=Array.from(e).map(b=>$0(b));do{p=m,m=new Set;for(let b of p){if(b.locator===c.locator||b.isHoistBorder)continue;let v=pAe(c,b);h([],Array.from(t),y,v,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},fAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Li(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,m=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${m}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${m} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(` +`)},N4e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:EL(t,n),ident:gAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:y,hoistPriority:b,dependencyKind:v}=c,x=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:EL(p,m),ident:gAe(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:x?x.has(h):!1,hoistPriority:b||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let y of m.dependencies.values())m.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},wL=r=>r.substring(0,r.indexOf("@",1)),L4e=r=>{let e={name:r.name,identName:wL(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:wL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},U4e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},Li=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},dAe=5e4,Tm=r=>{let e=0,t=(n,s,o="")=>{if(e>dAe||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Li(u.locator)+(g?` ${g}`:"")} +`,l+=t(u,s,`${o}${cdAe?` +Tree is too large, part of the tree has been dunped +`:"")};var wo;(function(t){t.HARD="HARD",t.SOFT="SOFT"})(wo||(wo={}));var Kn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Kn||(Kn={}));var CAe="node_modules",Su="$wsroot$";var Om=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=G4e(r,e),o=null;if(n.length===0){let a=hAe(t,{hoistingLimits:i});o=Y4e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},da=r=>`${r.name}@${r.reference}`,BL=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(k.delimiter).length,o=n.split(k.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},mAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},bL=(r,e,t,i)=>{if(r.linkType!==wo.SOFT)return!1;let n=H.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return k.contains(i,n)===null},q4e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=H.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=da(f);if(l.has(p))return;l.add(p);let m=r.getPackageInformation(f);if(m){let y=h?da(h):"";if(da(f)!==y&&m.linkType===wo.SOFT&&!bL(m,f,r,i)){let b=EAe(m,f,r);(!a.get(b)||f.reference.startsWith("workspace:"))&&a.set(b,f)}for(let[b,v]of m.packageDependencies)v!==null&&(m.packagePeers.has(b)||c(r.getLocator(b,v),f))}};for(let f of o)c(f,null);let u=i.split(k.sep);for(let f of a.values()){let h=r.getPackageInformation(f),m=H.toPortablePath(h.packageLocation.slice(0,-1)).split(k.sep).slice(u.length),y=s;for(let b of m){let v=y.children.get(b);v||(v={children:new Map},y.children.set(b,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=da(h),m=n.get(p);m||(m=new Set,n.set(p,m)),m.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},G4e=(r,e)=>{let t=[],i=!1,n=new Map,s=q4e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=H.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:Mn.WORKSPACE},u=new Map,g=(h,p)=>`${da(p)}:${h}`,f=(h,p,m,y,b,v,x,T)=>{var Z,O;let q=g(h,m),Y=u.get(q),$=!!Y;!$&&m.name===a.name&&m.reference===a.reference&&(Y=c,u.set(q,c));let _=bL(p,m,r,l);if(!Y){let L=Mn.REGULAR;_?L=Mn.EXTERNAL_SOFT_LINK:p.linkType===wo.SOFT&&m.name.endsWith(Su)&&(L=Mn.WORKSPACE),Y={name:h,identName:m.name,reference:m.reference,dependencies:new Set,peerNames:L===Mn.WORKSPACE?new Set:p.packagePeers,dependencyKind:L},u.set(q,Y)}let ne;if(_?ne=2:b.linkType===wo.SOFT?ne=1:ne=0,Y.hoistPriority=Math.max(Y.hoistPriority||0,ne),T&&!_){let L=da({name:y.identName,reference:y.reference}),de=n.get(L)||new Set;n.set(L,de),de.add(Y.name)}let ee=new Map(p.packageDependencies);if(e.project){let L=e.project.workspacesByCwd.get(H.toPortablePath(p.packageLocation.slice(0,-1)));if(L){let de=new Set([...Array.from(L.manifest.peerDependencies.values(),Be=>P.stringifyIdent(Be)),...Array.from(L.manifest.peerDependenciesMeta.keys())]);for(let Be of de)ee.has(Be)||(ee.set(Be,v.get(Be)||null),Y.peerNames.add(Be))}}let A=da({name:m.name.replace(Su,""),reference:m.reference}),oe=s.get(A);if(oe)for(let L of oe)ee.set(`${L.name}${Su}`,L.reference);(p!==b||p.linkType!==wo.SOFT||!_&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(x)))&&y.dependencies.add(Y);let ce=m!==a&&p.linkType===wo.SOFT&&!m.name.endsWith(Su)&&!_;if(!$&&!ce){let L=new Map;for(let[de,Be]of ee)if(Be!==null){let je=r.getLocator(de,Be),re=r.getLocator(de.replace(Su,""),Be),se=r.getPackageInformation(re);if(se===null)throw new Error("Assertion failed: Expected the package to have been registered");let be=bL(se,je,r,l);if(e.validateExternalSoftLinks&&e.project&&be){se.packageDependencies.size>0&&(i=!0);for(let[ve,pe]of se.packageDependencies)if(pe!==null){let V=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${ve}@${pe}`);if(da(V)!==da(je)){let Qe=ee.get(ve);if(Qe){let le=P.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${ve}@${Qe}`);mAe(le,V)||t.push({messageName:X.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(je.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,le)}`})}else{let le=L.get(ve);if(le){let fe=le.target,gt=P.parseLocator(Array.isArray(fe)?`${fe[0]}@${fe[1]}`:`${ve}@${fe}`);mAe(gt,V)||t.push({messageName:X.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(je.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with dependency ${P.prettyLocator(e.project.configuration,gt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(le.portal.name))}`})}else L.set(ve,{target:V.reference,portal:je})}}}}let he=(Z=e.hoistingLimitsByCwd)==null?void 0:Z.get(x),Fe=be?x:k.relative(l,H.toPortablePath(se.packageLocation))||Me.dot,Ke=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(Fe),ke=he===Kn.DEPENDENCIES||Ke===Kn.DEPENDENCIES||Ke===Kn.WORKSPACES;f(de,se,je,Y,p,ee,Fe,ke)}}};return f(a.name,o,a,c,o,o.packageDependencies,Me.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function EAe(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation;return H.toPortablePath(i||r.packageLocation)}function J4e(r,e,t){let i=e.getLocator(r.name.replace(Su,""),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return t.pnpifyFs?(o=H.toPortablePath(n.packageLocation),s=wo.SOFT):(o=EAe(n,r,e),s=n.linkType),{linkType:s,target:o}}var Y4e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=J4e(u,r,t);return{locator:da(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Jr(g),name:Jr(f)}:{scope:null,name:Jr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),m={name:h.identName,reference:p[0]},{name:y,scope:b}=s(h.name),v=b?[b,y]:[y],x=k.join(g,CAe),T=k.join(x,...v),q=`${f}/${m.name}`,Y=n(m,f,p.slice(1)),$=!1;if(Y.linkType===wo.SOFT&&t.project){let _=t.project.workspacesByCwd.get(Y.target.slice(0,-1));$=!!(_&&!_.manifest.name)}if(!h.name.endsWith(Su)&&!$){let _=i.get(T);if(_){if(_.dirList)throw new Error(`Assertion failed: ${T} cannot merge dir node with leaf node`);{let oe=P.parseLocator(_.locator),ce=P.parseLocator(Y.locator);if(_.linkType!==Y.linkType)throw new Error(`Assertion failed: ${T} cannot merge nodes with different link types ${_.nodePath}/${P.stringifyLocator(oe)} and ${f}/${P.stringifyLocator(ce)}`);if(oe.identHash!==ce.identHash)throw new Error(`Assertion failed: ${T} cannot merge nodes with different idents ${_.nodePath}/${P.stringifyLocator(oe)} and ${f}/s${P.stringifyLocator(ce)}`);Y.aliases=[...Y.aliases,..._.aliases,P.parseLocator(_.locator).reference]}}i.set(T,Y);let ne=T.split("/"),ee=ne.indexOf(CAe),A=ne.length-1;for(;ee>=0&&A>ee;){let oe=H.toPortablePath(ne.slice(0,A).join(k.sep)),ce=Jr(ne[A]),Z=i.get(oe);if(!Z)i.set(oe,{dirList:new Set([ce])});else if(Z.dirList){if(Z.dirList.has(ce))break;Z.dirList.add(ce)}A--}}a(h,Y.linkType===wo.SOFT?Y.target:T,q)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var LL={};ft(LL,{PnpInstaller:()=>oh,PnpLinker:()=>xu,default:()=>d8e,getPnpPath:()=>Tl,jsInstallUtils:()=>Ca,pnpUtils:()=>FL,quotePathIfNeeded:()=>GAe});var HAe=ge(ri()),jAe=ge(require("url"));var IAe;(function(t){t.HARD="HARD",t.SOFT="SOFT"})(IAe||(IAe={}));var er;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(er||(er={}));var yAe={[er.DEFAULT]:{collapsed:!1,next:{["*"]:er.DEFAULT}},[er.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:er.FALLBACK_EXCLUSION_LIST,packageRegistryData:er.PACKAGE_REGISTRY_DATA,["*"]:er.DEFAULT}},[er.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:er.FALLBACK_EXCLUSION_ENTRIES}},[er.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:er.FALLBACK_EXCLUSION_DATA}},[er.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:er.DEFAULT}},[er.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_REGISTRY_ENTRIES}},[er.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_STORE_DATA}},[er.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_STORE_ENTRIES}},[er.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_INFORMATION_DATA}},[er.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:er.PACKAGE_DEPENDENCIES,["*"]:er.DEFAULT}},[er.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:er.PACKAGE_DEPENDENCY}},[er.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:er.DEFAULT}}};function W4e(r,e,t){let i="";i+="[";for(let n=0,s=r.length;ns(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function X4e(r){let e=new Map,t=Mm(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function Z4e(r){return Mm(r.fallbackPool||[],([e])=>e)}function $4e(r){let e=[];for(let[t,i]of Mm(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of Mm(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,m]of Mm(a.entries(),([y])=>y))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function Km(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:X4e(r),fallbackPool:Z4e(r),packageRegistryData:$4e(r)}}var SAe=ge(QAe());function vAe(r,e){return[r?`${r} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,SAe.default)()].join("")}function e8e(r){return JSON.stringify(r,null,2)}function t8e(r){return`'${r.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function r8e(r){return[`return hydrateRuntimeState(JSON.parse(${t8e(BAe(r))}), {basePath: basePath || __dirname}); +`].join("")}function i8e(r){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function xAe(r){let e=Km(r),t=r8e(e);return vAe(r.shebang,t)}function kAe(r){let e=Km(r),t=i8e(r.dataLocation),i=vAe(r.shebang,t);return{dataFile:e8e(e),loaderFile:i}}var RAe=ge(require("fs")),l8e=ge(require("path")),FAe=ge(require("util"));function SL(r,{basePath:e}){let t=H.toPortablePath(e),i=k.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var x;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,y={name:g,reference:h},b=s.get(p.packageLocation);b?(b.discardFromLookup=b.discardFromLookup&&m,m||(b.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:m});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return v||(v=k.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Um=ge(require("module"));function sh(r,e){if(typeof r=="string")return r;if(r){let t,i;if(Array.isArray(r)){for(t=0;t0)return(f=sh(n[g],u))?f.replace("*",c.substring(g.length-1)):vu(i,c,1)}return vu(i,c)}}var vL=ge(require("util"));var ur;(function(c){c.API_ERROR="API_ERROR",c.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",c.EXPORTS_RESOLUTION_FAILED="EXPORTS_RESOLUTION_FAILED",c.MISSING_DEPENDENCY="MISSING_DEPENDENCY",c.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",c.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",c.INTERNAL="INTERNAL",c.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",c.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var s8e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ai(r,e,t={},i){i!=null||(i=s8e.has(r)?"MODULE_NOT_FOUND":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:te(N({},n),{value:i}),pnpCode:te(N({},n),{value:r}),data:te(N({},n),{value:t})})}function Bo(r){return H.normalize(H.fromPortablePath(r))}var o8e=ge(require("fs")),DAe=ge(require("module")),a8e=ge(require("path")),A8e=new Set(DAe.Module.builtinModules||Object.keys(process.binding("natives"))),tb=r=>r.startsWith("node:")||A8e.has(r);function xL(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let re of["react-scripts","gatsby"]){let se=r.packageRegistry.get(re);if(se)for(let be of se.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:re,reference:be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(re,se){return{fn:re,args:se,error:null,result:null}}function m(re){var Ke,ke,ve,pe,V,Qe;let se=(ve=(ke=(Ke=process.stderr)==null?void 0:Ke.hasColors)==null?void 0:ke.call(Ke))!=null?ve:process.stdout.isTTY,be=(le,fe)=>`[${le}m${fe}`,he=re.error;console.error(he?be("31;1",`\u2716 ${(pe=re.error)==null?void 0:pe.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),re.args.length>0&&console.error();for(let le of re.args)console.error(` ${be("37;1","In \u2190")} ${(0,vL.inspect)(le,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,vL.inspect)(re.result,{colors:se,compact:!0})}`));let Fe=(Qe=(V=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:V.slice(2))!=null?Qe:[];if(Fe.length>0){console.error();for(let le of Fe)console.error(` ${be("38;5;244",le)}`)}console.error()}function y(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let he=p(re,be);try{return he.result=se(...be)}catch(Fe){throw he.error=Fe}finally{m(he)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(he){let Fe=p(re,be);throw Fe.error=he,m(Fe),he}}}return se}function b(re){let se=A(re);if(!se)throw ai(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function v(re){if(re.name===null)return!0;for(let se of r.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let x=new Set(["default","node","require"]);function T(re,se=x){let be=Z(k.join(re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ai(ur.INTERNAL,`The locator that owns the "${re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:he}=b(be),Fe=k.join(he,kt.manifest);if(!e.fakeFs.existsSync(Fe))return null;let Ke=JSON.parse(e.fakeFs.readFileSync(Fe,"utf8")),ke=k.contains(he,re);if(ke===null)throw ai(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");a.test(ke)||(ke=`./${ke}`);let ve;try{ve=PAe(Ke,k.normalize(ke),{conditions:se,unsafe:!0})}catch(pe){throw ai(ur.EXPORTS_RESOLUTION_FAILED,pe.message,{unqualifiedPath:Bo(re),locator:be,pkgJson:Ke,subpath:Bo(ke),conditions:se},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof ve=="string"?k.join(he,ve):null}function q(re,se,{extensions:be}){let he;try{se.push(re),he=e.fakeFs.statSync(re)}catch(Fe){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(re);if(he&&he.isDirectory()){let Fe;try{Fe=JSON.parse(e.fakeFs.readFileSync(k.join(re,kt.manifest),"utf8"))}catch(ke){}let Ke;if(Fe&&Fe.main&&(Ke=k.resolve(re,Fe.main)),Ke&&Ke!==re){let ke=q(Ke,se,{extensions:be});if(ke!==null)return ke}}for(let Fe=0,Ke=be.length;Fe{let ve=JSON.stringify(ke.name);if(he.has(ve))return;he.add(ve);let pe=oe(ke);for(let V of pe)if(b(V).packagePeers.has(re))Fe(V);else{let le=be.get(V.name);typeof le=="undefined"&&be.set(V.name,le=new Set),le.add(V.reference)}};Fe(se);let Ke=[];for(let ke of[...be.keys()].sort())for(let ve of[...be.get(ke)].sort())Ke.push({name:ke,reference:ve});return Ke}function Z(re,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(_(re)&&!se)return null;let he=k.relative(r.basePath,re);he.match(s)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Fe=h.get(he);if(typeof Fe=="undefined"||Fe.discardFromLookup&&!be){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Fe.locator}while(he!=="");return null}function O(re,se,{considerBuiltins:be=!0}={}){if(re==="pnpapi")return H.toPortablePath(e.pnpapiResolution);if(be&&tb(re))return null;let he=Bo(re),Fe=se&&Bo(se);if(se&&_(se)&&(!k.isAbsolute(re)||Z(re)===null)){let ve=$(re,se);if(ve===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return H.toPortablePath(ve)}let Ke,ke=re.match(n);if(ke){if(!se)throw ai(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let[,ve,pe]=ke,V=Z(se);if(!V){let jt=$(re,se);if(jt===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return H.toPortablePath(jt)}let le=b(V).packageDependencies.get(ve),fe=null;if(le==null&&V.name!==null){let jt=r.fallbackExclusionList.get(V.name);if(!jt||!jt.has(V.reference)){for(let Oi=0,Xs=c.length;Oiv(Qr))?gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${ve} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve,brokenAncestors:jt}):gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${ve} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) + +${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve,brokenAncestors:jt})}else le===void 0&&(!be&&tb(re)?v(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in ${V.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve}):v(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${ve}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve}));if(le==null){if(fe===null||gt===null)throw gt||new Error("Assertion failed: Expected an error to have been set");le=fe;let jt=gt.message.replace(/\n.*/g,"");gt.message=jt,!u.has(jt)&&i!==0&&(u.add(jt),process.emitWarning(gt))}let Ht=Array.isArray(le)?{name:le[0],reference:le[1]}:{name:ve,reference:le},Mt=b(Ht);if(!Mt.packageLocation)throw ai(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${Ht.name}@${Ht.reference}${Ht.name!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +`,{request:he,issuer:Fe,dependencyLocator:Object.assign({},Ht)});let Ei=Mt.packageLocation;pe?Ke=k.join(Ei,pe):Ke=Ei}else if(k.isAbsolute(re))Ke=k.normalize(re);else{if(!se)throw ai(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let ve=k.resolve(se);se.match(o)?Ke=k.normalize(k.join(ve,re)):Ke=k.normalize(k.join(k.dirname(ve),re))}return k.normalize(Ke)}function L(re,se,be=x){if(s.test(re))return se;let he=T(se,be);return he?k.normalize(he):se}function de(re,{extensions:se=Object.keys(Um.Module._extensions)}={}){var Fe,Ke;let be=[],he=q(re,be,{extensions:se});if(he)return k.normalize(he);{let ke=Bo(re),ve=Z(re);if(ve){let{packageLocation:pe}=b(ve),V=!0;try{e.fakeFs.accessSync(pe)}catch(Qe){if((Qe==null?void 0:Qe.code)==="ENOENT")V=!1;else{let le=((Ke=(Fe=Qe==null?void 0:Qe.message)!=null?Fe:Qe)!=null?Ke:"empty exception thrown").replace(/^[A-Z]/,fe=>fe.toLowerCase());throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Required package exists but could not be accessed (${le}). + +Missing package: ${ve.name}@${ve.reference} +Expected package location: ${Bo(pe)} +`,{unqualifiedPath:ke,extensions:se})}}if(!V){let Qe=pe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${Qe} + +Missing package: ${ve.name}@${ve.reference} +Expected package location: ${Bo(pe)} +`,{unqualifiedPath:ke,extensions:se})}}throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${ke} +${be.map(pe=>`Not found: ${Bo(pe)} +`).join("")}`,{unqualifiedPath:ke,extensions:se})}}function Be(re,se,{considerBuiltins:be,extensions:he,conditions:Fe}={}){try{let Ke=O(re,se,{considerBuiltins:be});if(re==="pnpapi")return Ke;if(Ke===null)return null;let ke=()=>se!==null?_(se):!1,ve=(!be||!tb(re))&&!ke()?L(re,Ke,Fe):Ke;return de(ve,{extensions:he})}catch(Ke){throw Object.prototype.hasOwnProperty.call(Ke,"pnpCode")&&Object.assign(Ke.data,{request:Bo(re),issuer:se&&Bo(se)}),Ke}}function je(re){let se=k.normalize(re),be=Wr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:ne,topLevel:ee,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,be]of f)for(let he of be.keys())se!==null&&he!==null&&re.push({name:se,reference:he});return re},getPackageInformation:re=>{let se=A(re);if(se===null)return null;let be=H.fromPortablePath(se.packageLocation);return te(N({},se),{packageLocation:be})},findPackageLocator:re=>Z(H.toPortablePath(re)),resolveToUnqualified:y("resolveToUnqualified",(re,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=O(H.toPortablePath(re),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveUnqualified:y("resolveUnqualified",(re,se)=>H.fromPortablePath(de(H.toPortablePath(re),se))),resolveRequest:y("resolveRequest",(re,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=Be(H.toPortablePath(re),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveVirtual:y("resolveVirtual",re=>{let se=je(H.toPortablePath(re));return se!==null?H.fromPortablePath(se):null})}}var O0t=(0,FAe.promisify)(RAe.readFile);var NAe=(r,e,t)=>{let i=Km(r),n=SL(i,{basePath:e}),s=H.join(e,kt.pnpCjs);return xL(n,{fakeFs:t,pnpapiResolution:s})};var PL=ge(TAe());var Ca={};ft(Ca,{checkAndReportManifestCompatibility:()=>MAe,checkManifestCompatibility:()=>OAe,extractBuildScripts:()=>rb,getExtractHint:()=>DL,hasBindingGyp:()=>RL});function OAe(r){return P.isPackageCompatible(r,Vg.getArchitectureSet())}function MAe(r,e,{configuration:t,report:i}){return OAe(r)?!0:(i==null||i.reportWarningOnce(X.INCOMPATIBLE_ARCHITECTURE,`${P.prettyLocator(t,r)} The ${Vg.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function rb(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([cs.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([cs.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:r.linkType!==Qt.HARD?(n==null||n.reportWarningOnce(X.SOFT_LINK_BUILD,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(X.BUILD_DISABLED,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(X.DISABLED_BUILD_SCRIPTS,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):MAe(r,"build",{configuration:i,report:n})?s:[]}var c8e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function DL(r){return r.packageFs.getExtractHint({relevantExtensions:c8e})}function RL(r){let e=k.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var FL={};ft(FL,{getUnpluggedPath:()=>Hm});function Hm(r,{configuration:e}){return k.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var u8e=new Set([P.makeIdent(null,"nan").identHash,P.makeIdent(null,"node-gyp").identHash,P.makeIdent(null,"node-pre-gyp").identHash,P.makeIdent(null,"node-addon-api").identHash,P.makeIdent(null,"fsevents").identHash,P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),xu=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Tl(t.project).cjs;if(!K.existsSync(i))throw new Pe(`The project in ${ae.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Pe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return H.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=Tl(t.project).cjs;if(!K.existsSync(i))return null;let s=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})).findPackageLocator(H.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new oh(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},oh=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Se.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==Qt.SOFT,g,f;if(c||u){let x=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(x.locatorHash),typeof g=="undefined"&&(g=await g8e(t),e.linkType===Qt.HARD&&this.customData.store.set(x.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(x,e.version)}let h=c?rb(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(k.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let m=k.resolve(p.getRealPath(),t.prefixPath),y=NL(this.opts.project.cwd,m),b=new Map,v=new Set;if(a){for(let x of e.peerDependencies.values())b.set(P.stringifyIdent(x),null),v.add(P.stringifyIdent(x));if(!o){let x=P.devirtualizeLocator(e);this.virtualTemplates.set(x.locatorHash,{location:NL(this.opts.project.cwd,Wr.resolveVirtual(m)),locator:x})}}return Se.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:b,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:m,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Tl(this.opts.project);if(K.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(X.UNNAMED,`Removing the old ${ae.pretty(this.opts.project.configuration,kt.pnpJs,ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${ae.pretty(this.opts.project.configuration,kt.pnpCjs,ae.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ae.pretty(this.opts.project.configuration,"yarn sdks",ae.Type.CODE)}.`),await K.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await K.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await K.removePromise(e.cjs),await K.removePromise(this.opts.project.configuration.get("pnpDataPath")),await K.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())Se.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!=="none",s=[],o=new Map,a=Se.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(t==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let t=Tl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(X.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await K.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=xAe(e);await K.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await K.removePromise(i)}else{let o=k.relative(k.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=kAe(te(N({},e),{dataLocation:o}));await K.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await K.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(X.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await K.changeFilePromise(t.esmLoader,(0,PL.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await K.removePromise(s);else for(let o of await K.readdirPromise(s)){let a=k.resolve(s,o);this.unpluggedPaths.has(a)||await K.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=k.join(n.cwd,"node_modules");if(i&&i.test(k.relative(this.opts.project.cwd,n.cwd))||!K.existsSync(s))continue;let o=await K.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)t.push(s);else for(let l of a)t.push(k.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged!="undefined"?i.unplugged:u8e.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(rb(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=Hm(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Na(n,{baseFs:t.packageFs,pathUtils:k}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=k.join(n,t.prefixPath,".ready");await K.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,Me.dot,{baseFs:t.packageFs,overwrite:!1}),await K.writeFilePromise(s,""))})),new _t(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Se.getMapWithDefault(this.packageRegistry,"@@disk"),i=NL(this.opts.project.cwd,e);return Se.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1}))}};function NL(r,e){let t=k.relative(r,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}async function g8e(r){var i;let e=(i=await At.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new At,t=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:DL(r),hasBindingGyp:RL(r)}}}var KAe=ge(is());var jm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=J.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new Pe("This command can only be used if the `nodeLinker` option is set to `pnp`");await t.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=P.parseDescriptor(f),p=h.range!=="unknown"?h:P.makeDescriptor(h,"*");if(!Wt.validRange(p.range))throw new Pe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(e,p)})`);return m=>{let y=P.stringifyIdent(m);return!KAe.default.isMatch(y,P.stringifyIdent(p))||m.version&&!Wt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of t.storedPackages.values())!t.tryWorkspaceByLocator(h)&&!P.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(y,b)=>{if(!h.has(y.locatorHash)&&(h.add(y.locatorHash),!t.tryWorkspaceByLocator(y)&&o.some(v=>v(y))&&p.push(y),!(b>0&&!this.recursive)))for(let v of y.dependencies.values()){let x=t.storedResolutions.get(v.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let T=t.storedPackages.get(x);if(!T)throw new Error("Assertion failed: The package should have been registered");m(T,b+1)}};for(let y of f){let b=t.storedPackages.get(y.anchoredLocator.locatorHash);if(!b)throw new Error("Assertion failed: The package should have been registered");m(b,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(t.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new Pe(`Patterns ${ae.prettyList(e,s,ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new Pe(`Pattern ${ae.prettyList(e,s,ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=Se.sortMap(c,f=>P.stringifyLocator(f)),(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let m=(h=p.version)!=null?h:"unknown",y=t.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(p,m));y.unplugged=!0,f.reportInfo(X.UNNAMED,`Will unpack ${P.prettyLocator(e,p)} to ${ae.pretty(e,Hm(p,{configuration:e}),ae.Type.PATH)}`),f.reportJson({locator:P.stringifyLocator(p),version:m})}await t.topLevelWorkspace.persistManifest(),f.reportSeparator(),await t.install({cache:n,report:f})})).exitCode()}};jm.paths=[["unplug"]],jm.usage=Re.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var UAe=jm;var Tl=r=>({cjs:k.join(r.cwd,kt.pnpCjs),cjsLegacy:k.join(r.cwd,kt.pnpJs),esmLoader:k.join(r.cwd,".pnp.loader.mjs")}),GAe=r=>/\s/.test(r)?JSON.stringify(r):r;async function f8e(r,e,t){let i=Tl(r),n=`--require ${GAe(H.fromPortablePath(i.cjs))}`;if(K.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,jAe.pathToFileURL)(H.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&HAe.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(K.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function h8e(r,e){let t=Tl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get("pnpDataPath")),e(r.configuration.get("pnpUnpluggedFolder"))}var p8e={hooks:{populateYarnPaths:h8e,setupScriptEnvironment:f8e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:Ie.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:Ie.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:Ie.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:Ie.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:Ie.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:Ie.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:Ie.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:Ie.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:Ie.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[xu],commands:[UAe]},d8e=p8e;var _Ae=ge(zAe());var UL=ge(require("crypto")),VAe=ge(require("fs")),XAe=1,jr="node_modules",ib=".bin",ZAe=".yarn-state.yml",Ti;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Ti||(Ti={}));var HL=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Se.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await jL(t.project,{unrollAliases:!0}));if(n===null)throw new Pe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let a=new Pe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=t.project.configuration.startingCwd;return s.locations.find(a=>k.contains(o,a))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Se.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await jL(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=nb(k.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new $Ae(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},$Ae=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=k.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await F8e(e,t),e.linkType===Qt.HARD&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${H.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Wr({baseFs:new Is({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await jL(this.opts.project),i=this.opts.project.configuration.get("nmMode");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Se.validateEnum(Kn,(m=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?m:h)}catch(y){let b=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(X.INVALID_MANIFEST,`${b}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Kn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(m=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?m:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(H.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>H.fromPortablePath(Wr.resolveVirtual(H.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Om(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=BL(a);await N8e(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(ele(f))continue;let p=P.parseLocator(f),m=this.localStore.get(p.locatorHash);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(m.pkg))continue;let y=Ca.extractBuildScripts(m.pkg,m.customPackageData,m.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(X.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ae.pretty(this.opts.project.configuration,"--preserve-symlinks",ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function F8e(r,e){var n;let t=(n=await At.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new At,i=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:Ca.getExtractHint(e),hasBindingGyp:Ca.hasBindingGyp(e)}}}async function L8e(r,e,t,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,s+=`# cause your node_modules installation to become invalidated. +`,s+=` +`,s+=`__metadata: +`,s+=` version: ${XAe} +`,s+=` nmMode: ${i.value} +`;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(r.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=` +`,s+=`${JSON.stringify(u)}: +`,s+=` locations: +`;for(let f of g.locations){let h=k.contains(r.cwd,f);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` - ${JSON.stringify(h)} +`}if(g.aliases.length>0){s+=` aliases: +`;for(let f of g.aliases)s+=` - ${JSON.stringify(f)} +`}if(u===a&&t.size>0){s+=` bin: +`;for(let[f,h]of t){let p=k.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` ${JSON.stringify(p)}: +`;for(let[m,y]of h){let b=k.relative(k.join(f,jr),y);s+=` ${JSON.stringify(m)}: ${JSON.stringify(b)} +`}}}}let l=r.cwd,c=k.join(l,jr,ZAe);n&&await K.removePromise(c),await K.changeFilePromise(c,s,{automaticNewlines:!0})}async function jL(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=k.join(t,jr,ZAe),n;try{n=await K.statPromise(i)}catch(c){}if(!n)return null;let s=Si(await K.readFilePromise(i,"utf8"));if(s.__metadata.version>XAe)return null;let o=s.__metadata.nmMode||Ti.CLASSIC,a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>k.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let m=k.join(t,H.toPortablePath(h)),y=Se.getMapWithDefault(l,m);for(let[b,v]of Object.entries(p))y.set(Jr(b),H.toPortablePath([m,jr,v].join(k.sep)))}if(a.set(c,{target:Me.dot,linkType:Qt.HARD,locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:m}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,m),h),b=P.stringifyLocator(y);a.set(b,{target:Me.dot,linkType:Qt.HARD,locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:tle(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var Ah=async(r,e)=>{if(r.split(k.sep).indexOf(jr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await K.statPromise(r):await K.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await K.unlinkPromise(r);return}}let t=await K.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=k.join(r,Jr(i.name));i.isDirectory()?(i.name!==jr||e&&e.innerLoop)&&await Ah(n,{innerLoop:!0,contentsOnly:!1}):await K.unlinkPromise(n)}e.contentsOnly||await K.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},rle=4,nb=(r,{skipPrefix:e})=>{let t=k.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(k.sep).filter(l=>l!==""),n=i.indexOf(jr),s=i.slice(0,n).join(k.sep),o=k.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},tle=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:Qt.HARD});for(let[n,s]of r.entries()){if(s.linkType===Qt.SOFT&&k.contains(e,s.target)!==null){let a=Se.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=nb(o,{skipPrefix:e}),c=Se.getFactoryWithDefault(t,a,i);for(let u=0;u{let t;try{process.platform==="win32"&&(t=await K.lstatPromise(r))}catch(i){}process.platform=="win32"&&(!t||t.isDirectory())?await K.symlinkPromise(r,e,"junction"):await K.symlinkPromise(k.relative(k.dirname(e),r),e)};async function ile(r,e,t){let i=k.join(r,Jr(`${UL.default.randomBytes(16).toString("hex")}.tmp`));try{await K.writeFilePromise(i,t);try{await K.linkPromise(i,e)}catch(n){}}finally{await K.unlinkPromise(i)}}async function T8e({srcPath:r,dstPath:e,srcMode:t,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Ti.HARDLINKS_GLOBAL&&i&&o){let l=k.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Dn.checksumFile(l,{baseFs:K,algorithm:"sha1"})!==o){let g=k.join(i,Jr(`${UL.default.randomBytes(16).toString("hex")}.tmp`));await K.renamePromise(l,g);let f=await n.readFilePromise(r);await K.writeFilePromise(g,f);try{await K.linkPromise(g,l),await K.unlinkPromise(g)}catch(h){}}await K.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(r);await ile(i,l,u);try{await K.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Ti.HARDLINKS_LOCAL,await n.copyFilePromise(r,e))}}}else await n.copyFilePromise(r,e);let a=t&511;a!==420&&await K.chmodPromise(e,a)}var Ol;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Ol||(Ol={}));var O8e=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await K.mkdirPromise(r,{recursive:!0});let o=async(l=Me.dot)=>{let c=k.join(e,l),u=await t.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=k.join(l,f.name),p,m=k.join(c,f.name);if(f.isFile()){if(p={kind:Ol.FILE,mode:(await t.lstatPromise(m)).mode},n.value===Ti.HARDLINKS_GLOBAL){let y=await Dn.checksumFile(m,{baseFs:t,algorithm:"sha1"});p.digest=y}}else if(f.isDirectory())p={kind:Ol.DIRECTORY};else if(f.isSymbolicLink())p={kind:Ol.SYMLINK,symlinkTo:await t.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await t.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==jr){let y=await o(h);for(let[b,v]of y)g.set(b,v)}}return g},a;if(n.value===Ti.HARDLINKS_GLOBAL&&i&&s){let l=k.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await K.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await ile(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=k.join(e,l),g=k.join(r,l);c.kind===Ol.DIRECTORY?await K.mkdirPromise(g,{recursive:!0}):c.kind===Ol.FILE?await T8e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:t,globalHardlinksStore:i}):c.kind===Ol.SYMLINK&&await GL(k.resolve(k.dirname(g),c.symlinkTo),g)}};function M8e(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,m=k.join(c,u),y=new Set;if(u===jr||u.startsWith("@")){let v;try{v=K.statSync(m)}catch(T){}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(K.readdirSync(m))):y=new Set(g.children.get(u).children.keys()):a=!0;let x=e.get(c);if(x){let T=k.join(c,jr,ib),q;try{q=K.statSync(T)}catch(Y){}if(!q)a=!0;else if(q.mtimeMs>t){a=!0;let Y=new Set(K.readdirSync(T)),$=new Map;s.set(c,$);for(let[_,ne]of x)Y.has(_)&&$.set(_,ne)}else s.set(c,x)}}else p=h.has(u);let b=g.children.get(u);if(p){let{linkType:v,locator:x}=b,T={children:new Map,linkType:v,locator:x};if(f.children.set(u,T),x){let q=Se.getSetWithDefault(o,x);q.add(m),o.set(x,q)}for(let q of b.children.keys())l(m,q,b,T,y)}else b.locator&&i.storedBuildState.delete(P.parseLocator(b.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Se.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(jr)&&l(c,jr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function ele(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function K8e(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=ele(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=k.join(l[0],f);f!==""&&K.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=k.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=k.join(a,H.toPortablePath(p));u.set(Jr(h),m)}for(let[h,p]of c.children){let m=k.join(a,h),y=o(m,m,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(k.join(a,f),l,h);for(let[m,y]of p)u.set(m,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var nle=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function YL(r){return k.join(r.get("globalFolder"),"store")}async function N8e(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=k.join(i.cwd,jr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=M8e(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=tle(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:_,dstDir:ne,linkType:ee,globalHardlinksStore:A,nmMode:oe,packageChecksum:ce})=>{let Z=(async()=>{try{ee===Qt.SOFT?(await K.mkdirPromise(k.dirname(ne),{recursive:!0}),await GL(k.resolve(_),ne)):await O8e(ne,_,{baseFs:t,globalHardlinksStore:A,nmMode:oe,packageChecksum:ce})}catch(O){throw O.message=`While persisting ${_} -> ${ne} ${O.message}`,O}finally{T.tick()}})().then(()=>h.splice(h.indexOf(Z),1));h.push(Z),h.length>rle&&await Promise.race(h)},m=async(_,ne,ee)=>{let A=(async()=>{let oe=async(ce,Z,O)=>{try{O.innerLoop||await K.mkdirPromise(Z,{recursive:!0});let L=await K.readdirPromise(ce,{withFileTypes:!0});for(let de of L){if(!O.innerLoop&&de.name===ib)continue;let Be=k.join(ce,de.name),je=k.join(Z,de.name);de.isDirectory()?(de.name!==jr||O&&O.innerLoop)&&(await K.mkdirPromise(je,{recursive:!0}),await oe(Be,je,te(N({},O),{innerLoop:!0}))):$.value===Ti.HARDLINKS_LOCAL||$.value===Ti.HARDLINKS_GLOBAL?await K.linkPromise(Be,je):await K.copyFilePromise(Be,je,VAe.default.constants.COPYFILE_FICLONE)}}catch(L){throw O.innerLoop||(L.message=`While cloning ${ce} -> ${Z} ${L.message}`),L}finally{O.innerLoop||T.tick()}};await oe(_,ne,ee)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>rle&&await Promise.race(h)},y=async(_,ne,ee)=>{if(ee)for(let[A,oe]of ne.children){let ce=ee.children.get(A);await y(k.join(_,A),oe,ce)}else{ne.children.has(jr)&&await Ah(k.join(_,jr),{contentsOnly:!1});let A=k.basename(_)===jr&&f.has(k.join(k.dirname(_),k.sep));await Ah(_,{contentsOnly:_===a,allowSymlink:A})}};for(let[_,ne]of l){let ee=f.get(_);for(let[A,oe]of ne.children){if(A===".")continue;let ce=ee&&ee.children.get(A),Z=k.join(_,A);await y(Z,oe,ce)}}let b=async(_,ne,ee)=>{if(ee){nle(ne.locator,ee.locator)||await Ah(_,{contentsOnly:ne.linkType===Qt.HARD});for(let[A,oe]of ne.children){let ce=ee.children.get(A);await b(k.join(_,A),oe,ce)}}else{ne.children.has(jr)&&await Ah(k.join(_,jr),{contentsOnly:!0});let A=k.basename(_)===jr&&f.has(k.join(k.dirname(_),k.sep));await Ah(_,{contentsOnly:ne.linkType===Qt.HARD,allowSymlink:A})}};for(let[_,ne]of f){let ee=l.get(_);for(let[A,oe]of ne.children){if(A===".")continue;let ce=ee&&ee.children.get(A);await b(k.join(_,A),oe,ce)}}let v=new Map,x=[];for(let[_,ne]of u)for(let ee of ne){let{locationRoot:A,segments:oe}=nb(ee,{skipPrefix:i.cwd}),ce=f.get(A),Z=A;if(ce){for(let O of oe)if(Z=k.join(Z,O),ce=ce.children.get(O),!ce)break;if(ce){let O=nle(ce.locator,_),L=e.get(ce.locator),de=L.target,Be=Z,je=L.linkType;if(O)v.has(de)||v.set(de,Be);else if(de!==Be){let re=P.parseLocator(ce.locator);P.isVirtualLocator(re)&&(re=P.devirtualizeLocator(re)),x.push({srcDir:de,dstDir:Be,linkType:je,realLocatorHash:re.locatorHash})}}}}for(let[_,{locations:ne}]of e.entries())for(let ee of ne){let{locationRoot:A,segments:oe}=nb(ee,{skipPrefix:i.cwd}),ce=l.get(A),Z=f.get(A),O=A,L=e.get(_),de=P.parseLocator(_);P.isVirtualLocator(de)&&(de=P.devirtualizeLocator(de));let Be=de.locatorHash,je=L.target,re=ee;if(je===re)continue;let se=L.linkType;for(let be of oe)Z=Z.children.get(be);if(!ce)x.push({srcDir:je,dstDir:re,linkType:se,realLocatorHash:Be});else for(let be of oe)if(O=k.join(O,be),ce=ce.children.get(be),!ce){x.push({srcDir:je,dstDir:re,linkType:se,realLocatorHash:Be});break}}let T=Ji.progressViaCounter(x.length),q=n.reportProgress(T),Y=i.configuration.get("nmMode"),$={value:Y};try{let _=$.value===Ti.HARDLINKS_GLOBAL?`${YL(i.configuration)}/v1`:null;if(_&&!await K.existsPromise(_)){await K.mkdirpPromise(_);for(let ee=0;ee<256;ee++)await K.mkdirPromise(k.join(_,ee.toString(16).padStart(2,"0")))}for(let ee of x)(ee.linkType===Qt.SOFT||!v.has(ee.srcDir))&&(v.set(ee.srcDir,ee.dstDir),await p(te(N({},ee),{globalHardlinksStore:_,nmMode:$,packageChecksum:o.get(ee.realLocatorHash)||null})));await Promise.all(h),h.length=0;for(let ee of x){let A=v.get(ee.srcDir);ee.linkType!==Qt.SOFT&&ee.dstDir!==A&&await m(A,ee.dstDir,{nmMode:$})}await Promise.all(h),await K.mkdirPromise(a,{recursive:!0});let ne=await K8e(e,f,i.cwd,{loadManifest:s});await U8e(c,ne,i.cwd),await L8e(i,e,ne,$,{installChangedByUser:g}),Y==Ti.HARDLINKS_GLOBAL&&$.value==Ti.HARDLINKS_LOCAL&&n.reportWarningOnce(X.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{q.stop()}}async function U8e(r,e,t){for(let i of r.keys()){if(k.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=k.join(i,jr,ib);await K.removePromise(n)}}for(let[i,n]of e){if(k.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=k.join(i,jr,ib),o=r.get(i)||new Map;await K.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await K.removePromise(k.join(s,a)),process.platform==="win32"&&await K.removePromise(k.join(s,Jr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=k.join(s,a);c!==l&&(process.platform==="win32"?await(0,_Ae.default)(H.fromPortablePath(l),H.fromPortablePath(u),{createPwshFile:!1}):(await K.removePromise(u),await GL(l,u),k.contains(t,await K.realpathPromise(l))!==null&&await K.chmodPromise(l,493)))}}}var qL=class extends xu{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new sle(e)}},sle=class extends oh{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let t=new Wr({baseFs:new Is({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),i=NAe(e,this.opts.project.cwd,t),{tree:n,errors:s}=Om(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=P.parseLocator(g.locator),h=P.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=k.join(this.opts.project.cwd,kt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=k.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=k.join(g,h),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${h}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var H8e={hooks:{cleanGlobalArtifacts:async r=>{let e=YL(r);await K.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:Ie.STRING,values:[Kn.WORKSPACES,Kn.DEPENDENCIES,Kn.NONE],default:Kn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:Ie.STRING,values:[Ti.CLASSIC,Ti.HARDLINKS_LOCAL,Ti.HARDLINKS_GLOBAL],default:Ti.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:Ie.BOOLEAN,default:!0}},linkers:[HL,qL]},j8e=H8e;var qT={};ft(qT,{default:()=>V9e,npmConfigUtils:()=>br,npmHttpUtils:()=>zt,npmPublishUtils:()=>wh});var cle=ge(ri());var Cr="npm:";var zt={};ft(zt,{AuthType:()=>us,customPackageError:()=>q8e,del:()=>z8e,get:()=>bo,getIdentUrl:()=>Kl,handleInvalidAuthenticationError:()=>Ml,post:()=>J8e,put:()=>W8e});var Ale=ge(WC()),lle=ge(require("url"));var br={};ft(br,{RegistryType:()=>QA,getAuditRegistry:()=>G8e,getAuthConfiguration:()=>zL,getDefaultRegistry:()=>sb,getPublishRegistry:()=>ole,getRegistryConfiguration:()=>ale,getScopeConfiguration:()=>WL,getScopeRegistry:()=>SA,normalizeRegistry:()=>ma});var QA;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(QA||(QA={}));function ma(r){return r.replace(/\/$/,"")}function G8e(r,{configuration:e}){let t=e.get(QA.AUDIT_REGISTRY);return t!==null?ma(t):ole(r,{configuration:e})}function ole(r,{configuration:e}){var t;return((t=r.publishConfig)==null?void 0:t.registry)?ma(r.publishConfig.registry):r.name?SA(r.name.scope,{configuration:e,type:QA.PUBLISH_REGISTRY}):sb({configuration:e,type:QA.PUBLISH_REGISTRY})}function SA(r,{configuration:e,type:t=QA.FETCH_REGISTRY}){let i=WL(r,{configuration:e});if(i===null)return sb({configuration:e,type:t});let n=i.get(t);return n===null?sb({configuration:e,type:t}):ma(n)}function sb({configuration:r,type:e=QA.FETCH_REGISTRY}){let t=r.get(e);return ma(t!==null?t:r.get(QA.FETCH_REGISTRY))}function ale(r,{configuration:e}){let t=e.get("npmRegistries"),i=ma(r),n=t.get(i);if(typeof n!="undefined")return n;let s=t.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function WL(r,{configuration:e}){if(r===null)return null;let i=e.get("npmScopes").get(r);return i||null}function zL(r,{configuration:e,ident:t}){let i=t&&WL(t.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:ale(r,{configuration:e})||e}var us;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(us||(us={}));async function Ml(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(ob(r))throw new ct(X.AUTHENTICATION_INVALID,"Invalid OTP token");if(((s=r.originalError)==null?void 0:s.name)==="HTTPError"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new ct(X.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await Y8e(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function q8e(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Kl(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function bo(r,a){var l=a,{configuration:e,headers:t,ident:i,authType:n,registry:s}=l,o=Or(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=SA(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await ab(s,{authType:n,configuration:e,ident:i});c&&(t=te(N({},t),{authorization:c}));try{return await ir.get(r.charAt(0)==="/"?`${s}${r}`:r,N({configuration:e,headers:t},o))}catch(u){throw await Ml(u,{registry:s,configuration:e,headers:t}),u}}async function J8e(r,e,u){var g=u,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Or(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=SA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await ab(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),lh(l)));try{return await ir.post(a+r,e,N({configuration:i,headers:n},c))}catch(h){if(!ob(h)||l)throw await Ml(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h;l=await _L();let p=N(N({},n),lh(l));try{return await ir.post(`${a}${r}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Ml(m,{attemptedAs:t,registry:a,configuration:i,headers:n}),m}}}async function W8e(r,e,u){var g=u,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Or(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=SA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await ab(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),lh(l)));try{return await ir.put(a+r,e,N({configuration:i,headers:n},c))}catch(h){if(!ob(h))throw await Ml(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h;l=await _L();let p=N(N({},n),lh(l));try{return await ir.put(`${a}${r}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Ml(m,{attemptedAs:t,registry:a,configuration:i,headers:n}),m}}}async function z8e(r,c){var u=c,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a}=u,l=Or(u,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(n&&typeof o=="undefined"&&(o=SA(n.scope,{configuration:t})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let g=await ab(o,{authType:s,configuration:t,ident:n});g&&(i=te(N({},i),{authorization:g})),a&&(i=N(N({},i),lh(a)));try{return await ir.del(o+r,N({configuration:t,headers:i},l))}catch(f){if(!ob(f)||a)throw await Ml(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f;a=await _L();let h=N(N({},i),lh(a));try{return await ir.del(`${o}${r}`,N({configuration:t,headers:h},l))}catch(p){throw await Ml(p,{attemptedAs:e,registry:o,configuration:t,headers:i}),p}}}async function ab(r,{authType:e=2,configuration:t,ident:i}){let n=zL(r,{configuration:t,ident:i}),s=_8e(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new ct(X.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function _8e(r,e){switch(e){case 2:return r.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function Y8e(r,e,{configuration:t}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await ir.get(new lle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function _L(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:r}=await(0,Ale.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return r}function ob(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function lh(r){return{["npm-otp"]:r}}var VL=class{supports(e,t){if(!e.reference.startsWith(Cr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!cle.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await bo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await Bi.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var XL=class{supportsDescriptor(e,t){return!(!e.range.startsWith(Cr)||!P.tryParseDescriptor(e.range.slice(Cr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(Cr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var ule=ge(ri()),gle=ge(require("url"));var Qo=class{supports(e,t){if(!e.reference.startsWith(Cr))return!1;let i=new gle.URL(e.reference);return!(!ule.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await bo(Qo.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch(n){i=await bo(Qo.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await Bi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=SA(e.scope,{configuration:i}),s=Qo.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=Wt.clean(e.reference.slice(Cr.length));if(t===null)throw new ct(X.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Kl(e)}/-/${e.name}-${t}.tgz`}};var fle=ge(ri());var Ab=P.makeIdent(null,"node-gyp"),V8e=/\b(node-gyp|prebuild-install)\b/,ZL=class{supportsDescriptor(e,t){return e.range.startsWith(Cr)?!!Wt.validRange(e.range.slice(Cr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(Cr))return!1;let{selector:i}=P.parseRange(e.reference);return!!fle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);let s=await bo(Kl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Se.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new Wt.SemVer(c);if(n.test(u))return u}catch{}return Se.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${Cr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Qo.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);return Se.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:Cr}),a=new Wt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Se.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=Wt.clean(i);if(n===null)throw new ct(X.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await bo(Kl(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new ct(X.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new ct(X.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new At;if(o.load(s.versions[n]),!o.dependencies.has(Ab.identHash)&&!o.peerDependencies.has(Ab.identHash)){for(let a of o.scripts.values())if(a.match(V8e)){o.dependencies.set(Ab.identHash,P.makeDescriptor(Ab,"latest")),t.report.reportWarningOnce(X.NODE_GYP_INJECTED,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(X.DEPRECATED_PACKAGE,l)}return te(N({},e),{version:n,languageName:"node",linkType:Qt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var $L=class{supportsDescriptor(e,t){return!(!e.range.startsWith(Cr)||!zg.test(e.range.slice(Cr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(Cr.length),s=await bo(Kl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new ct(X.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new ct(X.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${Cr}${a}`),c=s.versions[a].dist.tarball;return Qo.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Unreachable")}};var wh={};ft(wh,{getGitHead:()=>z9e,makePublishBody:()=>W9e});var HT={};ft(HT,{default:()=>k9e,packUtils:()=>PA});var PA={};ft(PA,{genPackList:()=>Pb,genPackStream:()=>UT,genPackageManifest:()=>Hce,hasPackScripts:()=>MT,prepareForPack:()=>KT});var OT=ge(is()),Kce=ge(Mce()),Uce=ge(require("zlib")),m9e=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],E9e=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function MT(r){return!!(Zt.hasWorkspaceScript(r,"prepack")||Zt.hasWorkspaceScript(r,"postpack"))}async function KT(r,{report:e},t){await Zt.maybeExecuteWorkspaceLifecycleScript(r,"prepack",{report:e});try{let i=k.join(r.cwd,At.fileName);await K.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:K}),await t()}finally{await Zt.maybeExecuteWorkspaceLifecycleScript(r,"postpack",{report:e})}}async function UT(r,e){var s,o;typeof e=="undefined"&&(e=await Pb(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(k.normalize(a));for(let a of r.manifest.bin.values())t.add(k.normalize(a));let i=Kce.default.pack();process.nextTick(async()=>{for(let a of e){let l=k.normalize(a),c=k.resolve(r.cwd,l),u=k.join("package",l),g=await K.lstatPromise(c),f={name:u,mtime:new Date(Rr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,m,y=new Promise((v,x)=>{p=v,m=x}),b=v=>{v?m(v):p()};if(g.isFile()){let v;l==="package.json"?v=Buffer.from(JSON.stringify(await Hce(r),null,2)):v=await K.readFilePromise(c),i.entry(te(N({},f),{mode:h,type:"file"}),v,b)}else g.isSymbolicLink()?i.entry(te(N({},f),{mode:h,type:"symlink",linkname:await K.readlinkPromise(c)}),b):b(new Error(`Unsupported file type ${g.mode} for ${H.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Uce.createGzip)();return i.pipe(n),n}async function Hce(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function Pb(r){var g,f,h,p,m,y,b,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let x of E9e)i.reject.push(x);for(let x of m9e)i.accept.push(x);i.reject.push(t.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${r.cwd}/`))return;let T=k.relative(r.cwd,x),q=k.resolve(Me.root,T);i.reject.push(q)};n(k.resolve(e.cwd,t.get("lockfileFilename"))),n(t.get("cacheFolder")),n(t.get("globalFolder")),n(t.get("installStatePath")),n(t.get("virtualFolder")),n(t.get("yarnPath")),await t.triggerHook(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let T=k.relative(r.cwd,x.cwd);T!==""&&!T.match(/^(\.\.)?\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(m=r.manifest.publishConfig)==null?void 0:m.browser)!=null?y:r.manifest.browser,c=(v=(b=r.manifest.publishConfig)==null?void 0:b.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(k.resolve(Me.root,o)),a!=null&&s.accept.push(k.resolve(Me.root,a)),typeof l=="string"&&s.accept.push(k.resolve(Me.root,l));for(let x of c.values())s.accept.push(k.resolve(Me.root,x));if(l instanceof Map)for(let[x,T]of l.entries())s.accept.push(k.resolve(Me.root,x)),typeof T=="string"&&s.accept.push(k.resolve(Me.root,T));let u=r.manifest.files!==null;if(u){s.reject.push("/*");for(let x of r.manifest.files)jce(s.accept,x,{cwd:Me.root})}return await I9e(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function I9e(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new La(r),o=[[Me.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Yce(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Me.root)for(let m of u)g=g||m===".gitignore",f=f||m===".npmignore";let h=f?await Gce(s,a,".npmignore"):g?await Gce(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Yce(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([k.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(k.relative(Me.root,a))}return n.sort()}async function Gce(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(k.join(e,t),"utf8");for(let s of n.split(/\n/g))jce(i.reject,s,{cwd:e});return i}function y9e(r,{cwd:e}){let t=r[0]==="!";return t&&(r=r.slice(1)),r.match(/\.{0,1}\//)&&(r=k.resolve(e,r)),t&&(r=`!${r}`),r}function jce(r,e,{cwd:t}){let i=e.trim();i===""||i[0]==="#"||r.push(y9e(i,{cwd:t}))}var gs;(function(i){i[i.None=0]="None",i[i.Match=1]="Match",i[i.NegatedMatch=2]="NegatedMatch"})(gs||(gs={}));function Yce(r,{globalList:e,ignoreLists:t}){let i=Db(r,e.accept);if(i!==0)return i===2;let n=Db(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=Db(r,s.accept);if(o!==0)return o===2;let a=Db(r,s.reject);if(a!==0)return a===1}return!1}function Db(r,e){let t=e,i=[];for(let n=0;n{await KT(i,{report:l},async()=>{l.reportJson({base:H.fromPortablePath(i.cwd)});let c=await Pb(i);for(let u of c)l.reportInfo(null,H.fromPortablePath(u)),l.reportJson({location:H.fromPortablePath(u)});if(!this.dryRun){let u=await UT(i,c),g=K.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo(X.UNNAMED,`Package archive generated in ${ae.pretty(e,s,ae.Type.PATH)}`),l.reportJson({output:H.fromPortablePath(s)}))})).exitCode()}};rE.paths=[["pack"]],rE.usage=Re.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var Jce=rE;function w9e(r,{workspace:e}){let t=r.replace("%s",B9e(e)).replace("%v",b9e(e));return H.toPortablePath(t)}function B9e(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):"package"}function b9e(r){return r.manifest.version!==null?r.manifest.version:"unknown"}var Q9e=["dependencies","devDependencies","peerDependencies"],S9e="workspace:",v9e=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of Q9e)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===S9e)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new ct(X.WORKSPACE_NOT_FOUND,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},x9e={hooks:{beforeWorkspacePacking:v9e},commands:[Jce]},k9e=x9e;var tue=ge(require("crypto")),rue=ge(eue()),iue=ge(require("url"));async function W9e(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.project.configuration,a=r.manifest.name,l=r.manifest.version,c=P.stringifyIdent(a),u=(0,tue.createHash)("sha1").update(e).digest("hex"),g=rue.default.fromData(e).toString();typeof t=="undefined"&&(r.manifest.publishConfig&&typeof r.manifest.publishConfig.access=="string"?t=r.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?t=o.get("npmPublishAccess"):a.scope?t="restricted":t="public");let f=await PA.genPackageManifest(r),h=`${c}-${l}.tgz`,p=new iue.URL(`${ma(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:t,["dist-tags"]:{[i]:l},versions:{[l]:te(N({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function z9e(r){try{let{stdout:e}=await Nr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:r});return e.trim()===""?void 0:e.trim()}catch{return}}var JT={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ie.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:Ie.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:Ie.SECRET,default:null}},nue={npmAuditRegistry:{description:"Registry to query for audit reports",type:Ie.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:Ie.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ie.STRING,default:"https://registry.yarnpkg.com"}},_9e={configuration:te(N(N({},JT),nue),{npmScopes:{description:"Settings per package scope",type:Ie.MAP,valueDefinition:{description:"",type:Ie.SHAPE,properties:N(N({},JT),nue)}},npmRegistries:{description:"Settings per registry",type:Ie.MAP,normalizeKeys:ma,valueDefinition:{description:"",type:Ie.SHAPE,properties:N({},JT)}}}),fetchers:[VL,Qo],resolvers:[XL,ZL,$L]},V9e=_9e;var VT={};ft(VT,{default:()=>s_e});ys();var Ba;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ba||(Ba={}));var vo;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(vo||(vo={}));var Rb=[vo.Info,vo.Low,vo.Moderate,vo.High,vo.Critical];function sue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function X9e(r,e){return new Set([...r].filter(t=>!e.has(t)))}function Z9e(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=sue(r,l),g=sue(r,c);return X9e(g,u)}function oue(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function aue(r){if(typeof r=="undefined")return new Set;let e=Rb.indexOf(r),t=Rb.slice(e);return new Set(t)}function $9e(r,e){let t=aue(e),i={};for(let n of t)i[n]=r[n];return i}function Aue(r,e){var i;let t=$9e(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function lue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=aue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Se.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ae.tuple(ae.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:ae.tuple(ae.Type.NO_HINT,o.title)},URL:{label:"URL",value:ae.tuple(ae.Type.URL,o.url)},Severity:{label:"Severity",value:ae.tuple(ae.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ae.tuple(ae.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ae.tuple(ae.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ae.tuple(ae.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ae.tuple(ae.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function cue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=[Ba.All,Ba.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ba.All,Ba.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return oue([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function uue(r,e,{all:t}){var s;let i=Z9e(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:oue(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var sE=class extends Le{constructor(){super(...arguments);this.all=J.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=J.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=J.String("--environment",Ba.All,{description:"Which environments to cover",validator:nn(Ba)});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=J.String("--severity",vo.Info,{description:"Minimal severity requested for packages to be displayed",validator:nn(vo)})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let n=cue(t,i,{all:this.all,environment:this.environment}),s=uue(t,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=br.getAuditRegistry(i.manifest,{configuration:e}),l,c=await pA.start({configuration:e,stdout:this.context.stdout},async()=>{l=await zt.post("/-/npm/v1/security/audits/quick",o,{authType:zt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=Aue(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(ls.emitTree(lue(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(X.EXCEPTION,"No audit suggestions")})).exitCode()}};sE.paths=[["npm","audit"]],sE.usage=Re.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${Rb.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var gue=sE;var WT=ge(ri()),zT=ge(require("util")),oE=class extends Le{constructor(){super(...arguments);this.fields=J.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=t.topLevelWorkspace;if(!x.manifest.name)throw new Pe(`Missing ${ae.pretty(e,"name",ae.Type.CODE)} field in ${H.fromPortablePath(k.join(x.cwd,kt.manifest))}`);c=P.makeDescriptor(x.manifest.name,"unknown")}else c=P.parseDescriptor(l);let u=zt.getIdentUrl(c),g=_T(await zt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:zt.customPackageError})),f=Object.keys(g.versions).sort(WT.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=Wt.validRange(c.range);if(m){let x=WT.default.maxSatisfying(f,m);x!==null?p=x:(a.reportWarning(X.UNNAMED,`Unmet range ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else Object.prototype.hasOwnProperty.call(g["dist-tags"],c.range)?p=g["dist-tags"][c.range]:c.range!=="unknown"&&(a.reportWarning(X.UNNAMED,`Unknown tag ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let y=g.versions[p],b=te(N(N({},g),y),{version:p,versions:f}),v;if(i!==null){v={};for(let x of i){let T=b[x];if(typeof T!="undefined")v[x]=T;else{a.reportWarning(X.EXCEPTION,`The ${ae.pretty(e,x,ae.Type.CODE)} field doesn't exist inside ${P.prettyIdent(e,c)}'s information`),s=!0;continue}}}else this.json||(delete b.dist,delete b.readme,delete b.users),v=b;a.reportJson(v),this.json||n.push(v)}});zT.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,zT.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};oE.paths=[["npm","info"]],oE.usage=Re.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var fue=oE;function _T(r){if(Array.isArray(r)){let e=[];for(let t of r)t=_T(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=_T(r[t]);i&&(e[t]=i)}return e}else return r||null}var hue=ge(WC()),aE=class extends Le{constructor(){super(...arguments);this.scope=J.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=J.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=await Fb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await t_e({registry:t,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await zt.put(o,s,{attemptedAs:s.name,configuration:e,registry:t,jsonResponse:!0,authType:zt.AuthType.NO_AUTH});return await e_e(t,a.token,{configuration:e,scope:this.scope}),n.reportInfo(X.UNNAMED,"Successfully logged in")})).exitCode()}};aE.paths=[["npm","login"]],aE.usage=Re.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var pue=aE;async function Fb({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?br.getScopeRegistry(r,{configuration:t,type:br.RegistryType.PUBLISH_REGISTRY}):r?br.getScopeRegistry(r,{configuration:t}):e?br.getPublishRegistry((await Wf(t,i)).manifest,{configuration:t}):br.getDefaultRegistry({configuration:t})}async function e_e(r,e,{configuration:t,scope:i}){let n=o=>a=>{let l=Se.isIndexableObject(a)?a:{},c=l[o],u=Se.isIndexableObject(c)?c:{};return te(N({},l),{[o]:te(N({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function t_e({registry:r,report:e,stdin:t,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(X.UNNAMED,`Logging in to ${r}`);let n=!1;r.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(X.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,hue.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:t,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:t,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var Bh=new Set(["npmAuthIdent","npmAuthToken"]),AE=class extends Le{constructor(){super(...arguments);this.scope=J.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=J.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=J.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=async()=>{var l;let n=await Fb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await ye.find(this.context.cwd,this.context.plugins),o=P.makeIdent((l=this.scope)!=null?l:null,"pkg");return!br.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await r_e(),n.reportInfo(X.UNNAMED,"Successfully logged out from everything")),this.scope){await due("npmScopes",this.scope),await t()?n.reportInfo(X.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(X.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await Fb({configuration:e,cwd:this.context.cwd,publish:this.publish});await due("npmRegistries",s),await t()?n.reportInfo(X.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(X.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};AE.paths=[["npm","logout"]],AE.usage=Re.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Cue=AE;function i_e(r,e){let t=r[e];if(!Se.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...Bh].every(s=>!i.has(s)))return!1;for(let s of Bh)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n=N({},t);for(let s of Bh)delete n[s];return r[e]=n,!0}async function r_e(){let r=e=>{let t=!1,i=Se.isIndexableObject(e)?N({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))i_e(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function due(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Se.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Se.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Bh].every(l=>!o.has(l)))return t;for(let l of Bh)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:te(N({},i),{[e]:void 0});let a={};for(let l of Bh)a[l]=void 0;return te(N({},i),{[e]:N(N({},s),a)})}})}var lE=class extends Le{constructor(){super(...arguments);this.access=J.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=J.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=J.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=J.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);if(i.manifest.private)throw new Pe("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new Pe("Workspaces must have valid names and versions to be published on an external registry");await t.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=br.getPublishRegistry(i.manifest,{configuration:e});return(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await zt.get(zt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new ct(X.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(X.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Zt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await PA.prepareForPack(i,{report:l},async()=>{let g=await PA.genPackList(i);for(let y of g)l.reportInfo(null,y);let f=await PA.genPackStream(i,g),h=await Se.bufferStream(f),p=await wh.getGitHead(i.cwd),m=await wh.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await zt.put(zt.getIdentUrl(n),m,{configuration:e,registry:o,ident:n,otp:this.otp,jsonResponse:!0})}),l.reportInfo(X.UNNAMED,"Package archive published")})).exitCode()}};lE.paths=[["npm","publish"]],lE.usage=Re.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var mue=lE;var Iue=ge(ri());var cE=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=J.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=P.parseIdent(this.package);else{if(!i)throw new ht(t.cwd,this.context.cwd);if(!i.manifest.name)throw new Pe(`Missing 'name' field in ${H.fromPortablePath(k.join(i.cwd,kt.manifest))}`);n=i.manifest.name}let s=await uE(n,e),a={children:Se.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ae.tuple(ae.Type.RESOLUTION,{descriptor:P.makeDescriptor(n,l),locator:P.makeLocator(n,c)})}))};return ls.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};cE.paths=[["npm","tag","list"]],cE.usage=Re.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Eue=cE;async function uE(r,e){let t=`/-/package${zt.getIdentUrl(r)}/dist-tags`;return zt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:zt.customPackageError})}var gE=class extends Le{constructor(){super(...arguments);this.package=J.String();this.tag=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);let n=P.parseDescriptor(this.package,!0),s=n.range;if(!Iue.default.valid(s))throw new Pe(`The range ${ae.pretty(e,n.range,ae.Type.RANGE)} must be a valid semver version`);let o=br.getPublishRegistry(i.manifest,{configuration:e}),a=ae.pretty(e,n,ae.Type.IDENT),l=ae.pretty(e,s,ae.Type.RANGE),c=ae.pretty(e,this.tag,ae.Type.CODE);return(await Je.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await uE(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(X.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(X.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};gE.paths=[["npm","tag","add"]],gE.usage=Re.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var yue=gE;var fE=class extends Le{constructor(){super(...arguments);this.package=J.String();this.tag=J.String()}async execute(){if(this.tag==="latest")throw new Pe("The 'latest' tag cannot be removed.");let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);let n=P.parseIdent(this.package),s=br.getPublishRegistry(i.manifest,{configuration:e}),o=ae.pretty(e,this.tag,ae.Type.CODE),a=ae.pretty(e,n,ae.Type.IDENT),l=await uE(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new Pe(`${o} is not a tag of package ${a}`);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(X.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};fE.paths=[["npm","tag","remove"]],fE.usage=Re.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var wue=fE;var hE=class extends Le{constructor(){super(...arguments);this.scope=J.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=J.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t;return this.scope&&this.publish?t=br.getScopeRegistry(this.scope,{configuration:e,type:br.RegistryType.PUBLISH_REGISTRY}):this.scope?t=br.getScopeRegistry(this.scope,{configuration:e}):this.publish?t=br.getPublishRegistry((await Wf(e,this.context.cwd)).manifest,{configuration:e}):t=br.getDefaultRegistry({configuration:e}),(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await zt.get("/-/whoami",{configuration:e,registry:t,authType:zt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(X.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(X.UNNAMED,s.username)})).exitCode()}};hE.paths=[["npm","whoami"]],hE.usage=Re.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Bue=hE;var n_e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:Ie.STRING,default:null}},commands:[gue,fue,pue,Cue,mue,yue,Eue,wue,Bue]},s_e=n_e;var nO={};ft(nO,{default:()=>y_e,patchUtils:()=>XT});var XT={};ft(XT,{applyPatchFile:()=>Tb,diffFolders:()=>tO,extractPackageToDisk:()=>eO,extractPatchFlags:()=>Due,isParentRequired:()=>$T,loadPatchFiles:()=>mE,makeDescriptor:()=>m_e,makeLocator:()=>ZT,parseDescriptor:()=>dE,parseLocator:()=>CE,parsePatchFile:()=>Lb});var pE=class extends Error{constructor(e,t){super(`Cannot apply hunk #${e+1}`);this.hunk=t}};var o_e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function bh(r){return k.relative(Me.root,k.resolve(Me.root,H.toPortablePath(r)))}function a_e(r){let e=r.trim().match(o_e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var A_e=420,l_e=493,Zr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Zr||(Zr={}));var bue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),c_e=r=>({header:a_e(r),parts:[]}),u_e={["@"]:"header",["-"]:Zr.Deletion,["+"]:Zr.Insertion,[" "]:Zr.Context,["\\"]:"pragma",undefined:Zr.Context};function f_e(r){let e=[],t=bue(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=bue()}for(let l=0;l0?"patch":"mode change",v=null;switch(b){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:bh(u),toPath:bh(g)}),v=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:bh(x),mode:Nb(l),hash:f})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:bh(x),mode:Nb(c),hash:h})}break;case"patch":case"mode change":v=m||s;break;default:Se.assertNever(b);break}v&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:bh(v),oldMode:Nb(o),newMode:Nb(a)}),v&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:bh(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Nb(r){let e=parseInt(r,8)&511;if(e!==A_e&&e!==l_e)throw new Error(`Unexpected file mode string: ${r}`);return e}function Lb(r){let e=r.split(/\n/g);return e[e.length-1]===""&&e.pop(),h_e(f_e(e))}function g_e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case Zr.Context:t+=n.length,e+=n.length;break;case Zr.Deletion:e+=n.length;break;case Zr.Insertion:t+=n.length;break;default:Se.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}async function Qh(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n!="undefined"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function Tb(r,{baseFs:e=new ar,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!Wt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Qh(e,k.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Qh(e,k.dirname(n.fromPath),async()=>{await Qh(e,k.dirname(n.toPath),async()=>{await Qh(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(k.dirname(n.path),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,Rr.SAFE_TIME,Rr.SAFE_TIME)}break;case"patch":await Qh(e,n.path,async()=>{await p_e(n,{baseFs:e,dryRun:t})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(Que(n.newMode)!==Que(o))continue;await Qh(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Se.assertNever(n);break}}function Que(r){return(r&64)>0}function Sue(r){return r.replace(/\s+$/,"")}function d_e(r,e){return Sue(r)===Sue(e)}async function p_e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),y=0,b=0,v=null;for(;y<=m;){if(y<=h&&(b=f-y,v=vue(g,o,b),v!==null)){y=-y;break}if(y<=p&&(b=f+y,v=vue(g,o,b),v!==null))break;y+=1}if(v===null)throw new pE(r.indexOf(g),g);a.push(v),l+=y,c=b+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Se.assertNever(f);break}await t.writeFilePromise(e,o.join(` +`),{mode:n})}function vue(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case Zr.Context:case Zr.Deletion:{for(let s of n.lines){let o=e[t];if(o==null||!d_e(o,s))return null;t+=1}n.type===Zr.Deletion&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Zr.Insertion:i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Se.assertNever(n.type);break}return i}var C_e=/^builtin<([^>]+)>$/;function xue(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>H.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function dE(r){let i=xue(r.range,P.parseDescriptor),{sourceItem:e}=i,t=Or(i,["sourceItem"]);return te(N({},t),{sourceDescriptor:e})}function CE(r){let i=xue(r.reference,P.parseLocator),{sourceItem:e}=i,t=Or(i,["sourceItem"]);return te(N({},t),{sourceLocator:e})}function kue({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:N(N(N({},a),l),o)})}function m_e(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeLocator(r,kue({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function ZT(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,kue({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function Pue({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(C_e);return s!==null?t(s[1]):k.isAbsolute(i)?r(i):e(i)}function Due(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function $T(r){return Pue({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function mE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Se.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Due(o),l=await Pue({onAbsolute:async()=>await K.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(k.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return te(N({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function eO(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new di,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await K.mktempPromise(),c=k.join(l,"source"),u=k.join(l,"user"),g=k.join(l,".yarn-patch.json");return await Promise.all([K.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),K.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),K.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),K.detachTemp(l),u}async function tO(r,e){let t=H.fromPortablePath(r).replace(/\\/g,"/"),i=H.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Nr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:H.toPortablePath(process.cwd()),env:te(N({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Se.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Se.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Se.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Se.escapeRegExp(`${i}/`),"g"),"")}function Rue(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case Zr.Context:t.reportInfo(null,` ${ae.pretty(e,n,"grey")}`);break;case Zr.Deletion:t.reportError(X.FROZEN_LOCKFILE_EXCEPTION,`- ${ae.pretty(e,n,ae.Type.REMOVED)}`);break;case Zr.Insertion:t.reportError(X.FROZEN_LOCKFILE_EXCEPTION,`+ ${ae.pretty(e,n,ae.Type.ADDED)}`);break;default:Se.assertNever(i.type)}}var rO=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=CE(e),a=await mE(i,o,t),l=await K.mktempPromise(),c=k.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await fn(),h=new li(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Se.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let y=new li(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),b=new _t(k.resolve(Me.root,g),{baseFs:y});try{await Tb(Lb(p),{baseFs:b,version:s})}catch(v){if(!(v instanceof pE))throw v;let x=t.project.configuration.get("enableInlineHunks"),T=!x&&!m?" (set enableInlineHunks for details)":"",q=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${T}`,Y=$=>{!x||Rue(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),m){t.report.reportWarningOnce(X.PATCH_HUNK_FAILED,q,{reportExtra:Y});continue}else throw new ct(X.PATCH_HUNK_FAILED,q,Y)}y.saveAndClose()}return new li(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var E_e=3,iO=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=dE(e);return n.every(s=>!$T(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=dE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=dE(e),a=await mE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Dn.makeHash(`${E_e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[ZT(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=CE(e),n=await t.resolver.resolve(i,t);return N(N({},n),e)}};var EE=class extends Le{constructor(){super(...arguments);this.save=J.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let n=k.resolve(this.context.cwd,H.toPortablePath(this.patchFolder)),s=k.join(n,"../source"),o=k.join(n,"../.yarn-patch.json");if(!K.existsSync(s))throw new Pe("The argument folder didn't get created by 'yarn patch'");let a=await tO(s,n),l=await K.readJsonPromise(o),c=P.parseLocator(l.locator,!0);if(!t.storedPackages.has(c.locatorHash))throw new Pe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=k.join(u,`${P.slugifyLocator(c)}.patch`);await K.mkdirPromise(u,{recursive:!0}),await K.writeFilePromise(g,a);let f=k.relative(t.cwd,g);t.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(c),description:l.version}},reference:`patch:${P.stringifyLocator(c)}#${f}`}),await t.persist()}};EE.paths=[["patch-commit"]],EE.usage=Re.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var Fue=EE;var IE=class extends Le{constructor(){super(...arguments);this.json=J.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let s=P.parseLocator(this.package);if(s.reference==="unknown"){let o=Se.mapAndFilter([...t.storedPackages.values()],a=>a.identHash!==s.identHash?Se.mapAndFilter.skip:P.isVirtualLocator(a)?Se.mapAndFilter.skip:a);if(o.length===0)throw new Pe("No package found in the project for the given locator");if(o.length>1)throw new Pe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${P.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!t.storedPackages.has(s.locatorHash))throw new Pe("No package found in the project for the given locator");await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await eO(s,{cache:n,project:t});o.reportJson({locator:P.stringifyLocator(s),path:H.fromPortablePath(a)}),o.reportInfo(X.UNNAMED,`Package ${P.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(X.UNNAMED,`You can now edit the following folder: ${ae.pretty(e,H.fromPortablePath(a),"magenta")}`),o.reportInfo(X.UNNAMED,`Once you are done run ${ae.pretty(e,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${H.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};IE.paths=[["patch"]],IE.usage=Re.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var Nue=IE;var I_e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:Ie.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:Ie.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[Fue,Nue],fetchers:[rO],resolvers:[iO]},y_e=I_e;var AO={};ft(AO,{default:()=>b_e});var sO=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=oO(),n=t.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s=="undefined")throw new Pe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=oO(),n=t.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=k.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new Lue(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Lue=class{constructor(e){this.opts=e;this.asyncActions=new Se.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return oO()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case Qt.SOFT:return this.installPackageSoft(e,t,i);case Qt.HARD:return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=k.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=w_e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await At.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new At,misc:{hasBindingGyp:Ca.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Ca.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Mue(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=k.join(n,kt.nodeModules),o=[],a=await Kue(s);for(let[l,c]of t){let u=c;Mue(c,{project:this.opts.project})||(this.opts.report.reportWarning(X.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=k.join(s,f),p=k.relative(k.dirname(h),g),m=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(m){if(m.isSymbolicLink()&&await K.readlinkPromise(h)===p)return;await K.removePromise(h)}await K.mkdirpPromise(k.dirname(h)),process.platform=="win32"?await K.symlinkPromise(g,h,"junction"):await K.symlinkPromise(p,h)}))}o.push(Uue(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=Oue(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await K.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=k.contains(e,s);if(o!==null){let[a,,...l]=o.split(k.sep);i.add(a);let c=k.join(e,a);t.push(K.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=k.join(c,g);if(g===kt.nodeModules){let h=await Kue(f);return h.delete(l.join(k.sep)),Uue(f,h)}else return K.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await K.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(K.removePromise(k.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await aO(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await aO(Tue(this.opts.project)),{customData:this.customData}}};function oO(){return JSON.stringify({name:"PnpmInstaller",version:2})}function Tue(r){return k.join(r.cwd,kt.nodeModules)}function Oue(r){return k.join(Tue(r),".store")}function w_e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return k.join(Oue(e),t,i)}function Mue(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function Kue(r){let e=new Map,t=[];try{t=await K.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of t)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await K.readdirPromise(k.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function Uue(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(K.removePromise(k.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>aO(k.join(r,s)))))}async function aO(r){try{await K.rmdirPromise(r)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var B_e={linkers:[sO]},b_e=B_e;var L0=()=>({modules:new Map([["@yarnpkg/cli",GC],["@yarnpkg/core",EC],["@yarnpkg/fslib",Zh],["@yarnpkg/libzip",Md],["@yarnpkg/parsers",op],["@yarnpkg/shell",Ud],["clipanion",cZ(Cp)],["semver",Q_e],["typanion",cg],["yup",S_e],["@yarnpkg/plugin-essentials",GN],["@yarnpkg/plugin-compat",zN],["@yarnpkg/plugin-dlx",_N],["@yarnpkg/plugin-file",nL],["@yarnpkg/plugin-git",jN],["@yarnpkg/plugin-github",oL],["@yarnpkg/plugin-http",lL],["@yarnpkg/plugin-init",fL],["@yarnpkg/plugin-link",mL],["@yarnpkg/plugin-nm",JL],["@yarnpkg/plugin-npm",qT],["@yarnpkg/plugin-npm-cli",VT],["@yarnpkg/plugin-pack",HT],["@yarnpkg/plugin-patch",nO],["@yarnpkg/plugin-pnp",LL],["@yarnpkg/plugin-pnpm",AO]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});s0({binaryVersion:Ur||"",pluginConfiguration:L0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/modules/web/.yarnrc.yml b/modules/web/.yarnrc.yml new file mode 100644 index 000000000000..ec7a168111fe --- /dev/null +++ b/modules/web/.yarnrc.yml @@ -0,0 +1,2 @@ +yarnPath: .yarn/releases/yarn-3.2.2.cjs +nodeLinker: node-modules diff --git a/modules/web/Makefile b/modules/web/Makefile index d17778634526..caa46f72d27b 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -6,7 +6,7 @@ include $(ROOT_DIRECTORY)/hack/include/build.mk include hack/include/config.mk # List of targets that should be always executed before other targets -PRE = --ensure-version +PRE = --ensure-version --ensure-ngcc MAKEFLAGS += -j2 @@ -19,16 +19,16 @@ serve-https: PROXY_CONFIG = proxy-https.conf.json serve-https: SSL_ENABLED = true serve-https: $(PRE) --serve-go --serve-angular -.PHONY .NOTPARALLEL: build +.PHONY: build build: ARCHITECTURES = $(ARCH) build: $(PRE) build-cross -.PHONY .NOTPARALLEL: build-cross +.PHONY: build-cross build-cross: --clean --build-go --build-angular .PHONY: --serve-go --serve-go: - @go run k8s.io/dashboard/web \ + @GOOS=$(OS) go run k8s.io/dashboard/web \ --system-banner=$(SYSTEM_BANNER) \ --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ --auto-generate-certificates=$(AUTO_GENERATE_CERTIFICATES) @@ -38,14 +38,23 @@ build-cross: --clean --build-go --build-angular @npx ng serve --proxy-config=$(PROXY_CONFIG) --ssl=$(SSL_ENABLED) .PHONY: --ensure-version ---ensure-version: --npm-ci +--ensure-version: @node ./hack/version.mjs -.PHONY: --npm-ci ---npm-ci: +.PHONY: --ensure-ngcc +--ensure-ngcc: --ensure-dependencies + @npx ngcc + +# TODO: Enable this in the PRE hooks +.PHONY: --ensure-husky +--ensure-husky: + npx husky install modules/web/.husky + +.PHONY: --ensure-dependencies +--ensure-dependencies: ifeq ($(wildcard node_modules/.*),) @echo "Installing dependencies" - @npm ci + @yarn install --immutable endif .PHONY: --build-go @@ -55,12 +64,12 @@ endif CGO_ENABLED=0 GOOS=$(OS) GOARCH=$$ARCH go build -ldflags "-X $(PACKAGE_NAME)/client.Version=$(RELEASE_VERSION)" -gcflags="all=-N -l" -o $(WEB_DIST_DIRECTORY)/$$ARCH/$(APP_NAME) $(PACKAGE_NAME) ; \ done ; \ -.PHONY .NOTPARALLEL: --build-angular ---build-angular: --ng-build --fix-locale-caching --copy-angular +.PHONY: --build-angular +--build-angular: --copy-angular .PHONY: --copy-angular --copy-angular: LANGUAGES = $(shell ls $(WEB_DIST_ANGULAR_DIRECTORY)) ---copy-angular: +--copy-angular: --fix-locale-caching @echo "Copying frontend to the dashboard-web API" ; \ for arch in $(ARCHITECTURES) ; do \ for language in $(LANGUAGES) ; do \ @@ -75,7 +84,7 @@ endif # We'll add language code prefix to the generated main javascript file. .PHONY: --fix-locale-caching --fix-locale-caching: LANGUAGES = $(shell ls $(WEB_DIST_ANGULAR_DIRECTORY)) ---fix-locale-caching: +--fix-locale-caching: --ng-build @echo "Patching locale caching" ; \ for language in $(LANGUAGES) ; do \ localeDir=$(WEB_DIST_ANGULAR_DIRECTORY)/$${language} ; \ diff --git a/modules/web/go.mod b/modules/web/go.mod index 4f2964ea25b2..81aedc85f7ae 100644 --- a/modules/web/go.mod +++ b/modules/web/go.mod @@ -1,6 +1,6 @@ module k8s.io/dashboard/web -go 1.18 +go 1.19 require ( github.com/golang/glog v1.0.0 diff --git a/modules/web/go.sum b/modules/web/go.sum index bc131580726b..36ebd114c9ad 100644 --- a/modules/web/go.sum +++ b/modules/web/go.sum @@ -3,6 +3,7 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -24,6 +25,7 @@ github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7 github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= @@ -45,6 +47,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -54,6 +57,7 @@ github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -129,7 +133,9 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= +golang.org/x/net v0.0.0-20220526153639-5463443f8c37/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 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= @@ -150,7 +156,11 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -215,15 +225,21 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= +k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= +k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= +sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= diff --git a/modules/web/package-lock.json b/modules/web/package-lock.json deleted file mode 100644 index cf61d6b79453..000000000000 --- a/modules/web/package-lock.json +++ /dev/null @@ -1,42318 +0,0 @@ -{ - "name": "kubernetes-dashboard", - "version": "2.6.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "kubernetes-dashboard", - "version": "2.6.0", - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@angular/animations": "13.3.10", - "@angular/cdk": "13.3.8", - "@angular/common": "13.3.10", - "@angular/compiler": "13.3.10", - "@angular/core": "13.3.10", - "@angular/flex-layout": "13.0.0-beta.38", - "@angular/forms": "13.3.10", - "@angular/localize": "13.3.10", - "@angular/material": "13.3.8", - "@angular/platform-browser": "13.3.10", - "@angular/platform-browser-dynamic": "13.3.10", - "@angular/router": "13.3.10", - "@swimlane/ngx-charts": "20.1.0", - "ace-builds": "1.5.3", - "core-js": "3.22.7", - "crop-url": "4.0.1", - "d3": "6.7.0", - "file-saver": "2.0.5", - "js-yaml": "4.1.0", - "jwt-decode": "3.1.2", - "material-design-icons": "3.0.1", - "ng-in-viewport": "13.0.1", - "ngx-cookie-service": "13.2.1", - "ngx-pipes": "3.0.0", - "normalize.css": "8.0.1", - "roboto-fontface": "0.10.0", - "rxjs": "7.5.5", - "rxjs-compat": "6.6.7", - "sockjs-client": "1.6.1", - "strip-ansi": "6.0.1", - "systemjs": "6.12.1", - "tslib": "2.4.0", - "web-animations-js": "2.3.2", - "xterm": "4.18.0", - "xterm-addon-fit": "0.5.0", - "zone.js": "0.11.5" - }, - "devDependencies": { - "@angular-devkit/build-angular": "13.3.7", - "@angular/cli": "13.3.7", - "@angular/compiler-cli": "13.3.10", - "@angular/language-service": "13.3.10", - "@babel/core": "7.18.2", - "@babel/preset-env": "7.18.2", - "@babel/register": "7.17.7", - "@cypress/webpack-preprocessor": "5.11.1", - "@types/d3": "7.4.0", - "@types/d3-scale": "4.0.2", - "@types/file-saver": "2.0.5", - "@types/jasmine": "4.0.3", - "@types/jasminewd2": "2.0.10", - "@types/jest": "27.5.1", - "@types/js-yaml": "4.0.5", - "@types/lodash": "4.14.182", - "@types/node": "17.0.36", - "@typescript-eslint/eslint-plugin": "5.27.0", - "@typescript-eslint/parser": "5.27.0", - "codelyzer": "6.0.2", - "concurrently": "7.2.1", - "cypress": "9.7.0", - "cypress-fail-fast": "4.0.0", - "del": "6.1.1", - "eslint": "8.16.0", - "eslint-plugin-node": "11.1.0", - "eslint-plugin-prettier": "4.0.0", - "eslint-plugin-rxjs": "5.0.2", - "git-describe": "4.1.1", - "gts": "3.1.0", - "husky": "8.0.1", - "jasmine-core": "4.1.1", - "jasmine-spec-reporter": "7.0.0", - "jest": "28.1.0", - "jest-preset-angular": "12.0.1", - "js-beautify": "1.14.3", - "license-check-and-add": "4.0.5", - "lint-staged": "12.4.3", - "lodash": "4.17.21", - "minimatch": "5.1.0", - "minimist": "1.2.6", - "ng-extract-i18n-merge": "1.4.0", - "node-gyp": "9.0.0", - "q": "1.5.1", - "raw-loader": "4.0.2", - "run-node": "2.0.0", - "sass": "1.52.1", - "sass-loader": "13.0.0", - "semver": "7.3.7", - "source-map-explorer": "2.5.2", - "stylelint": "14.8.5", - "stylelint-config-standard-scss": "4.0.0", - "stylelint-no-unsupported-browser-features": "5.0.3", - "stylelint-order": "5.0.0", - "tar": "6.1.11", - "through2": "4.0.2", - "ts-jest": "28.0.3", - "ts-loader": "9.3.0", - "ts-node": "10.8.0", - "typescript": "4.6.4", - "wait-on": "6.0.1", - "webpack-dev-server": "4.8.1" - }, - "engines": { - "node": ">=16.15.0", - "npm": ">=8.5.5" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-devkit/architect": { - "version": "0.1303.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.7.tgz", - "integrity": "sha512-xr35v7AuJygRdiaFhgoBSLN2ZMUri8x8Qx9jkmCkD3WLKz33TSFyAyqwdNNmOO9riK8ePXMH/QcSv0wY12pFBw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.3.7", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/architect/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/architect/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.7.tgz", - "integrity": "sha512-XUmiq/3zpuna+r0UOqNSvA9kEcPwsLblEmNLUYyZXL9v/aGWUHOSH0nhGVrNRrSud4ryklEnxfkxkxlZlT4mjQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1303.7", - "@angular-devkit/build-webpack": "0.1303.7", - "@angular-devkit/core": "13.3.7", - "@babel/core": "7.16.12", - "@babel/generator": "7.16.8", - "@babel/helper-annotate-as-pure": "7.16.7", - "@babel/plugin-proposal-async-generator-functions": "7.16.8", - "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.16.10", - "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.16.7", - "@babel/template": "7.16.7", - "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.7", - "ansi-colors": "4.1.1", - "babel-loader": "8.2.5", - "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.9.1", - "cacache": "15.3.0", - "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "10.2.1", - "core-js": "3.20.3", - "critters": "0.0.16", - "css-loader": "6.5.1", - "esbuild-wasm": "0.14.22", - "glob": "7.2.0", - "https-proxy-agent": "5.0.0", - "inquirer": "8.2.0", - "jsonc-parser": "3.0.0", - "karma-source-map-support": "1.4.0", - "less": "4.1.2", - "less-loader": "10.2.0", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.5.3", - "minimatch": "3.0.5", - "open": "8.4.0", - "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", - "piscina": "3.2.0", - "postcss": "8.4.5", - "postcss-import": "14.0.2", - "postcss-loader": "6.2.1", - "postcss-preset-env": "7.2.3", - "regenerator-runtime": "0.13.9", - "resolve-url-loader": "5.0.0", - "rxjs": "6.6.7", - "sass": "1.49.9", - "sass-loader": "12.4.0", - "semver": "7.3.5", - "source-map-loader": "3.0.1", - "source-map-support": "0.5.21", - "stylus": "0.56.0", - "stylus-loader": "6.2.0", - "terser": "5.11.0", - "text-table": "0.2.0", - "tree-kill": "1.2.2", - "tslib": "2.3.1", - "webpack": "5.70.0", - "webpack-dev-middleware": "5.3.0", - "webpack-dev-server": "4.7.3", - "webpack-merge": "5.8.0", - "webpack-subresource-integrity": "5.1.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "esbuild": "0.14.22" - }, - "peerDependencies": { - "@angular/compiler-cli": "^13.0.0 || ^13.3.0-rc.0", - "@angular/localize": "^13.0.0 || ^13.3.0-rc.0", - "@angular/service-worker": "^13.0.0 || ^13.3.0-rc.0", - "karma": "^6.3.0", - "ng-packagr": "^13.0.0", - "protractor": "^7.0.0", - "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.4.3 <4.7" - }, - "peerDependenciesMeta": { - "@angular/localize": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "karma": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "protractor": { - "optional": true - }, - "tailwindcss": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { - "version": "7.16.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", - "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.12", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.10", - "@babel/types": "^7.16.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/core-js": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", - "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular/node_modules/sass": { - "version": "1.49.9", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", - "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/sass-loader": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", - "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", - "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.2.2", - "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.2", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "del": "^6.0.0", - "express": "^4.17.1", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "webpack-dev-middleware": "^5.3.0", - "ws": "^8.1.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1303.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.7.tgz", - "integrity": "sha512-5vF399cPdwuCbzbxS4yNGgChdAzEM0/By21P0uiqBcIe/Zxuz3IUPapjvcyhkAo5OTu+d7smY9eusLHqoq1WFQ==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1303.7", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^4.0.0" - } - }, - "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular-devkit/core": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.7.tgz", - "integrity": "sha512-Ucy4bJmlgCoBenuVeGMdtW9dE8+cD+guWCgqexsFIG21KJ/l0ShZEZ/dGC1XibzaIs1HbKiTr/T1MOjInCV1rA==", - "dev": true, - "dependencies": { - "ajv": "8.9.0", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/core/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/core/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular-devkit/schematics": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.7.tgz", - "integrity": "sha512-6TKpFMwiiXmPhiVdbkSJrkBXj8n7SVVhsHl2GodDLVTb8OT3fxYIB9EU8Il07AMfDcjpydOcJduCFPOsQYd7BA==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.3.7", - "jsonc-parser": "3.0.0", - "magic-string": "0.25.7", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular/animations": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.10.tgz", - "integrity": "sha512-V/0h3xepWPBRjWroFXYrNIE3iZPREjv0hiB3gskF/2KLlx5jvpUWlaBx0rEYRa8XXIPJyAaKBGwWSBnT/Z88TQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/core": "13.3.10" - } - }, - "node_modules/@angular/cdk": { - "version": "13.3.8", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.8.tgz", - "integrity": "sha512-ciLYoVxsqnA9hGJTUW74A56NjArYhFdqFYmVDimWWNYAgY7jY1gCfKq9UtixUErDi29FGSCWRbLuZ6w4q0NYnA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "optionalDependencies": { - "parse5": "^5.0.0" - }, - "peerDependencies": { - "@angular/common": "^13.0.0 || ^14.0.0-0", - "@angular/core": "^13.0.0 || ^14.0.0-0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/cli": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.7.tgz", - "integrity": "sha512-XIp0w0YOwhHp4Je3npHAs0W4rjHvFnG2w/lDO2M/UNp5634S4PRMFmVVMt6DQBj1cbffYVKFqffqesyCqNuvAQ==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@angular-devkit/architect": "0.1303.7", - "@angular-devkit/core": "13.3.7", - "@angular-devkit/schematics": "13.3.7", - "@schematics/angular": "13.3.7", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.3.3", - "ini": "2.0.0", - "inquirer": "8.2.0", - "jsonc-parser": "3.0.0", - "npm-package-arg": "8.1.5", - "npm-pick-manifest": "6.1.1", - "open": "8.4.0", - "ora": "5.4.1", - "pacote": "12.0.3", - "resolve": "1.22.0", - "semver": "7.3.5", - "symbol-observable": "4.0.0", - "uuid": "8.3.2" - }, - "bin": { - "ng": "bin/ng.js" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/cli/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@angular/common": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.10.tgz", - "integrity": "sha512-KWw91QzmCDZ6uq1Z58v7vQQ57Ux7A2UkPdIBOyvpOgtQPTvlvKsePkUVCC+dum+W9mOy4kq2falO5T7Gi7SJgw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/core": "13.3.10", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/compiler": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.10.tgz", - "integrity": "sha512-DEtdso89Q9lAGkSVpSf2GrMtGVTnCnenCwLhubYaeSaj4iA/CAnUfNlaYBf9E92ltuPd85Mg9bIJKaxYCRH8RQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - } - }, - "node_modules/@angular/compiler-cli": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.10.tgz", - "integrity": "sha512-cGFQyUOxOLVnehczdP4L7KXbKQTe/aQgbXmacQYgqcP/AnpJs7QfZbw1/k1wJtXrhzbGBh3JSWnpme74bnF3dQ==", - "dependencies": { - "@babel/core": "^7.17.2", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.26.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, - "bin": { - "ng-xi18n": "bundles/src/bin/ng_xi18n.js", - "ngc": "bundles/src/bin/ngc.js", - "ngcc": "bundles/ngcc/main-ngcc.js" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/compiler": "13.3.10", - "typescript": ">=4.4.2 <4.7" - } - }, - "node_modules/@angular/compiler-cli/node_modules/magic-string": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", - "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", - "dependencies": { - "sourcemap-codec": "^1.4.8" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@angular/core": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.10.tgz", - "integrity": "sha512-7jH1a5wZdE6Ki2Dow7s6v1/5SfUcXsjAu3n523QSDlM078QG0p95npcqPseO9mNftG9MfRqBE7sl1Nb+ZK7eBg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.11.4" - } - }, - "node_modules/@angular/flex-layout": { - "version": "13.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-13.0.0-beta.38.tgz", - "integrity": "sha512-kcWb7CcoHbvw7fjo/knizWVmSSmvaTnr8v1ML6zOdxu1PK9UPPOcOS8RTm6fy61zoC2LABivP1/6Z2jF5XfpdQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/cdk": "^13.0.0", - "@angular/common": "^13.0.0", - "@angular/core": "^13.0.0", - "@angular/platform-browser": "^13.0.0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/forms": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.10.tgz", - "integrity": "sha512-2cREi8nvCdspYHk6KJ5xjIgq8Dgh/kfwPIVjpLQBZFNC03Q6GvOLVoVm8ye6ToOpQFjvjpjndqU93JXSLMANgA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/common": "13.3.10", - "@angular/core": "13.3.10", - "@angular/platform-browser": "13.3.10", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/language-service": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.10.tgz", - "integrity": "sha512-TQwVIEFTWOlX9Jy2PhOT52Eo3ApNWSkjQavAuIU4uNQRCyoKMTywJ6MlQiQlMoWPH77Yn5EZyCwRoWFVWg3q0w==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - } - }, - "node_modules/@angular/localize": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.10.tgz", - "integrity": "sha512-DNSOLJd8SkYHWKWyBm/piYnjurYRsgXTmWoVXTrfEuALEHxz3cwnVUPvoiWwJVMKklFr76D61pDY4mz5muPxog==", - "dependencies": { - "@babel/core": "7.17.2", - "glob": "7.2.0", - "yargs": "^17.2.1" - }, - "bin": { - "localize-extract": "tools/bundles/src/extract/cli.js", - "localize-migrate": "tools/bundles/src/migrate/cli.js", - "localize-translate": "tools/bundles/src/translate/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/compiler": "13.3.10", - "@angular/compiler-cli": "13.3.10" - } - }, - "node_modules/@angular/localize/node_modules/@babel/core": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.2.tgz", - "integrity": "sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==", - "dependencies": { - "@ampproject/remapping": "^2.0.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.2", - "@babel/parser": "^7.17.0", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular/localize/node_modules/@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", - "dependencies": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@angular/localize/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular/localize/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular/material": { - "version": "13.3.8", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.8.tgz", - "integrity": "sha512-y+j4WphhDZXvqKwf/fNuR+QNkH13Qc0fp7//i98f8Gy3Za1NCCc5SfIoifQ7Xqwh2ZKbgnh6GTdtbT4zq+NjaQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/animations": "^13.0.0 || ^14.0.0-0", - "@angular/cdk": "13.3.8", - "@angular/common": "^13.0.0 || ^14.0.0-0", - "@angular/core": "^13.0.0 || ^14.0.0-0", - "@angular/forms": "^13.0.0 || ^14.0.0-0", - "@angular/platform-browser": "^13.0.0 || ^14.0.0-0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/platform-browser": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.10.tgz", - "integrity": "sha512-zi0FrA8zZRiHLBfKlfIxikG06wMF2KcSp6oqrIblrc1VrHgPRVRABz8vryH84lasDssjYdIS9AvbQnCCdgCzJA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/animations": "13.3.10", - "@angular/common": "13.3.10", - "@angular/core": "13.3.10" - }, - "peerDependenciesMeta": { - "@angular/animations": { - "optional": true - } - } - }, - "node_modules/@angular/platform-browser-dynamic": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.10.tgz", - "integrity": "sha512-hygsEjTaS+VDUrBZZiRJFo5J7AHCS/EcAc1IWvb69EnVqA9RwqM4hWbuy3y/cmLEeHLLmRldIlS6xRPt8fTNQg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/common": "13.3.10", - "@angular/compiler": "13.3.10", - "@angular/core": "13.3.10", - "@angular/platform-browser": "13.3.10" - } - }, - "node_modules/@angular/router": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.10.tgz", - "integrity": "sha512-neGaeiHravXlCbNbyGJecwQyu/91Pj/E9/ohVFzBBE4V9BrNx9v7Ntc4ugqgpnrV2wtonPP7TQDqXxrPk4QVfg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/common": "13.3.10", - "@angular/core": "13.3.10", - "@angular/platform-browser": "13.3.10", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@assemblyscript/loader": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", - "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", - "dev": true - }, - "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", - "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", - "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.2", - "@babel/parser": "^7.18.0", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", - "dependencies": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", - "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", - "dependencies": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", - "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-member-expression-to-functions": "^7.17.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", - "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^5.0.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", - "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", - "dependencies": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", - "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.17.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", - "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", - "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", - "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-member-expression-to-functions": "^7.17.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", - "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", - "dependencies": { - "@babel/types": "^7.18.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", - "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", - "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", - "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", - "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", - "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", - "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", - "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", - "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", - "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", - "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", - "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", - "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", - "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", - "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", - "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", - "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", - "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", - "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", - "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", - "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", - "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-replace-supers": "^7.18.2", - "@babel/helper-split-export-declaration": "^7.16.7", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", - "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", - "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", - "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", - "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", - "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", - "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", - "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-simple-access": "^7.18.2", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz", - "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-validator-identifier": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", - "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", - "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", - "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", - "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", - "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", - "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", - "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", - "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", - "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", - "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", - "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", - "@babel/plugin-proposal-async-generator-functions": "^7.17.12", - "@babel/plugin-proposal-class-properties": "^7.17.12", - "@babel/plugin-proposal-class-static-block": "^7.18.0", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.17.12", - "@babel/plugin-proposal-json-strings": "^7.17.12", - "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.18.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.17.12", - "@babel/plugin-proposal-private-methods": "^7.17.12", - "@babel/plugin-proposal-private-property-in-object": "^7.17.12", - "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.17.12", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.17.12", - "@babel/plugin-transform-async-to-generator": "^7.17.12", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.17.12", - "@babel/plugin-transform-classes": "^7.17.12", - "@babel/plugin-transform-computed-properties": "^7.17.12", - "@babel/plugin-transform-destructuring": "^7.18.0", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.17.12", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.18.1", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.17.12", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.18.0", - "@babel/plugin-transform-modules-commonjs": "^7.18.2", - "@babel/plugin-transform-modules-systemjs": "^7.18.0", - "@babel/plugin-transform-modules-umd": "^7.18.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", - "@babel/plugin-transform-new-target": "^7.17.12", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.17.12", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.18.0", - "@babel/plugin-transform-reserved-words": "^7.17.12", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.17.12", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.18.2", - "@babel/plugin-transform-typeof-symbol": "^7.17.12", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.2", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", - "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", - "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-remap-async-to-generator": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", - "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", - "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.18.0", - "@babel/types": "^7.18.2", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", - "dependencies": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", - "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.0.tgz", - "integrity": "sha512-rZ6vufeY/UjAgtyiJ4WvfF6XP6HizIyOfbZOg0RnecIwjrvH8Am3nN1BpKnnPZunYAkUcPPXDhwbxOtGop8cfQ==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3", - "postcss-selector-parser": "^6.0.10" - } - }, - "node_modules/@cypress/request": { - "version": "2.88.10", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", - "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "http-signature": "~1.3.6", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@cypress/webpack-preprocessor": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.11.1.tgz", - "integrity": "sha512-kfdF+W/Tns81rFplnqlgZ+t6V+FJ7vegeQCYolLyhh0nJ8eG3s5HvV/ak/zSlbQnaOmAuYiZIChJFVZLUWuNOA==", - "dev": true, - "dependencies": { - "bluebird": "3.7.1", - "debug": "^4.3.2", - "lodash": "^4.17.20" - }, - "peerDependencies": { - "@babel/core": "^7.0.1", - "@babel/preset-env": "^7.0.0", - "babel-loader": "^8.0.2", - "webpack": "^4 || ^5" - } - }, - "node_modules/@cypress/xvfb": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", - "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", - "dev": true, - "dependencies": { - "debug": "^3.1.0", - "lodash.once": "^4.1.1" - } - }, - "node_modules/@cypress/xvfb/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz", - "integrity": "sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz", - "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.1", - "@jest/reporters": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.0.2", - "jest-config": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-resolve-dependencies": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "jest-watcher": "^28.1.1", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz", - "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "jest-mock": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", - "dev": true, - "dependencies": { - "expect": "^28.1.1", - "jest-snapshot": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz", - "integrity": "sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==", - "dev": true, - "dependencies": { - "jest-get-type": "^28.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz", - "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.1", - "@sinonjs/fake-timers": "^9.1.1", - "@types/node": "*", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz", - "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/types": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz", - "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz", - "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.23.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz", - "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz", - "integrity": "sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz", - "integrity": "sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz", - "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/@jest/types": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", - "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "node_modules/@ngtools/webpack": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", - "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^13.0.0", - "typescript": ">=4.4.3 <4.7", - "webpack": "^5.30.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dev": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/git": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", - "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" - } - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", - "dev": true, - "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "installed-package-contents": "index.js" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", - "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", - "dev": true - }, - "node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", - "dev": true, - "dependencies": { - "infer-owner": "^1.0.4" - } - }, - "node_modules/@npmcli/run-script": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", - "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", - "dev": true, - "dependencies": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^8.2.0", - "read-package-json-fast": "^2.0.1" - } - }, - "node_modules/@npmcli/run-script/node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@npmcli/run-script/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@npmcli/run-script/node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@npmcli/run-script/node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/@npmcli/run-script/node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@schematics/angular": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.7.tgz", - "integrity": "sha512-OAny1e/yliku52xG7vfWs1hNYSgCNTPpMv9fS8zz9eF5/GrKv28WFSy20mUXqLZ91VsbGSs6X0mI6pdNnpVtJA==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.3.7", - "@angular-devkit/schematics": "13.3.7", - "jsonc-parser": "3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", - "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==", - "dev": true - }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@swimlane/ngx-charts": { - "version": "20.1.0", - "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-20.1.0.tgz", - "integrity": "sha512-PY/X+eW+ZEvF3N1kuUVV5H3NHoFXlIWOvNnCKAs874yye//ttgfL/Qf9haHQpki5WIHQtpwn8xM1ylVEQT98bg==", - "dependencies": { - "@types/d3-shape": "^2.0.0", - "d3-array": "^2.9.1", - "d3-brush": "^2.1.0", - "d3-color": "^2.0.0", - "d3-format": "^2.0.0", - "d3-hierarchy": "^2.0.0", - "d3-interpolate": "^2.0.1", - "d3-scale": "^3.2.3", - "d3-selection": "^2.0.0", - "d3-shape": "^2.0.0", - "d3-time-format": "^3.0.0", - "d3-transition": "^2.0.0", - "tslib": "^2.0.0" - }, - "peerDependencies": { - "@angular/animations": ">=12.0.0", - "@angular/cdk": ">=12.0.0", - "@angular/common": ">=12.0.0", - "@angular/core": ">=12.0.0", - "@angular/forms": ">=12.0.0", - "@angular/platform-browser": ">=12.0.0", - "@angular/platform-browser-dynamic": ">=12.0.0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/d3": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz", - "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==", - "dev": true, - "dependencies": { - "@types/d3-array": "*", - "@types/d3-axis": "*", - "@types/d3-brush": "*", - "@types/d3-chord": "*", - "@types/d3-color": "*", - "@types/d3-contour": "*", - "@types/d3-delaunay": "*", - "@types/d3-dispatch": "*", - "@types/d3-drag": "*", - "@types/d3-dsv": "*", - "@types/d3-ease": "*", - "@types/d3-fetch": "*", - "@types/d3-force": "*", - "@types/d3-format": "*", - "@types/d3-geo": "*", - "@types/d3-hierarchy": "*", - "@types/d3-interpolate": "*", - "@types/d3-path": "*", - "@types/d3-polygon": "*", - "@types/d3-quadtree": "*", - "@types/d3-random": "*", - "@types/d3-scale": "*", - "@types/d3-scale-chromatic": "*", - "@types/d3-selection": "*", - "@types/d3-shape": "*", - "@types/d3-time": "*", - "@types/d3-time-format": "*", - "@types/d3-timer": "*", - "@types/d3-transition": "*", - "@types/d3-zoom": "*" - } - }, - "node_modules/@types/d3-array": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.3.tgz", - "integrity": "sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==", - "dev": true - }, - "node_modules/@types/d3-axis": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.1.tgz", - "integrity": "sha512-zji/iIbdd49g9WN0aIsGcwcTBUkgLsCSwB+uH+LPVDAiKWENMtI3cJEWt+7/YYwelMoZmbBfzA3qCdrZ2XFNnw==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-brush": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.1.tgz", - "integrity": "sha512-B532DozsiTuQMHu2YChdZU0qsFJSio3Q6jmBYGYNp3gMDzBmuFFgPt9qKA4VYuLZMp4qc6eX7IUFUEsvHiXZAw==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-eQfcxIHrg7V++W8Qxn6QkqBNBokyhdWSAS73AbkbMzvLQmVVBviknoz2SRS/ZJdIOmhcmmdCRE/NFOm28Z1AMw==", - "dev": true - }, - "node_modules/@types/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==", - "dev": true - }, - "node_modules/@types/d3-contour": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.1.tgz", - "integrity": "sha512-C3zfBrhHZvrpAAK3YXqLWVAGo87A4SvJ83Q/zVJ8rFWJdKejUnDYaWZPkA8K84kb2vDA/g90LTQAz7etXcgoQQ==", - "dev": true, - "dependencies": { - "@types/d3-array": "*", - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-delaunay": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz", - "integrity": "sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==", - "dev": true - }, - "node_modules/@types/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-NhxMn3bAkqhjoxabVJWKryhnZXXYYVQxaBnbANu0O94+O/nX9qSjrA1P1jbAQJxJf+VC72TxDX/YJcKue5bRqw==", - "dev": true - }, - "node_modules/@types/d3-drag": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.1.tgz", - "integrity": "sha512-o1Va7bLwwk6h03+nSM8dpaGEYnoIG19P0lKqlic8Un36ymh9NSkNFX1yiXMKNMx8rJ0Kfnn2eovuFaL6Jvj0zA==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-dsv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.0.tgz", - "integrity": "sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==", - "dev": true - }, - "node_modules/@types/d3-ease": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz", - "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==", - "dev": true - }, - "node_modules/@types/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-toZJNOwrOIqz7Oh6Q7l2zkaNfXkfR7mFSJvGvlD/Ciq/+SQ39d5gynHJZ/0fjt83ec3WL7+u3ssqIijQtBISsw==", - "dev": true, - "dependencies": { - "@types/d3-dsv": "*" - } - }, - "node_modules/@types/d3-force": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.3.tgz", - "integrity": "sha512-z8GteGVfkWJMKsx6hwC3SiTSLspL98VNpmvLpEFJQpZPq6xpA1I8HNBDNSpukfK0Vb0l64zGFhzunLgEAcBWSA==", - "dev": true - }, - "node_modules/@types/d3-format": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.1.tgz", - "integrity": "sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==", - "dev": true - }, - "node_modules/@types/d3-geo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.2.tgz", - "integrity": "sha512-DbqK7MLYA8LpyHQfv6Klz0426bQEf7bRTvhMy44sNGVyZoWn//B0c+Qbeg8Osi2Obdc9BLLXYAKpyWege2/7LQ==", - "dev": true, - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-hierarchy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.0.tgz", - "integrity": "sha512-g+sey7qrCa3UbsQlMZZBOHROkFqx7KZKvUpRzI/tAp/8erZWpYq7FgNKvYwebi2LaEiVs1klhUfd3WCThxmmWQ==", - "dev": true - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==", - "dev": true, - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz", - "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==", - "dev": true - }, - "node_modules/@types/d3-polygon": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.0.tgz", - "integrity": "sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==", - "dev": true - }, - "node_modules/@types/d3-quadtree": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz", - "integrity": "sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw==", - "dev": true - }, - "node_modules/@types/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==", - "dev": true - }, - "node_modules/@types/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==", - "dev": true, - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==", - "dev": true - }, - "node_modules/@types/d3-selection": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.2.tgz", - "integrity": "sha512-d29EDd0iUBrRoKhPndhDY6U/PYxOWqgIZwKTooy2UkBfU7TNZNpRho0yLWPxlatQrFWk2mnTu71IZQ4+LRgKlQ==", - "dev": true - }, - "node_modules/@types/d3-shape": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-2.1.3.tgz", - "integrity": "sha512-HAhCel3wP93kh4/rq+7atLdybcESZ5bRHDEZUojClyZWsRuEMo3A52NGYJSh48SxfxEU6RZIVbZL2YFZ2OAlzQ==", - "dependencies": { - "@types/d3-path": "^2" - } - }, - "node_modules/@types/d3-shape/node_modules/@types/d3-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-2.0.2.tgz", - "integrity": "sha512-3YHpvDw9LzONaJzejXLOwZ3LqwwkoXb9LI2YN7Hbd6pkGo5nIlJ09ul4bQhBN4hQZJKmUpX8HkVqbzgUKY48cg==" - }, - "node_modules/@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", - "dev": true - }, - "node_modules/@types/d3-time-format": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.0.tgz", - "integrity": "sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw==", - "dev": true - }, - "node_modules/@types/d3-timer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz", - "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==", - "dev": true - }, - "node_modules/@types/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-Sv4qEI9uq3bnZwlOANvYK853zvpdKEm1yz9rcc8ZTsxvRklcs9Fx4YFuGA3gXoQN/c/1T6QkVNjhaRO/cWj94g==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-zoom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.1.tgz", - "integrity": "sha512-7s5L9TjfqIYQmQQEUcpMAcBOahem7TRoSO/+Gkz02GbMVuULiZzjF2BOdw291dbO2aNon4m2OdFsRGaCq2caLQ==", - "dev": true, - "dependencies": { - "@types/d3-interpolate": "*", - "@types/d3-selection": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", - "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/file-saver": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==", - "dev": true - }, - "node_modules/@types/geojson": { - "version": "7946.0.8", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", - "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jasmine": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", - "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", - "dev": true - }, - "node_modules/@types/jasminewd2": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", - "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", - "dev": true, - "dependencies": { - "@types/jasmine": "*" - } - }, - "node_modules/@types/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==", - "dev": true, - "dependencies": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, - "node_modules/@types/jsdom": { - "version": "16.2.14", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz", - "integrity": "sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/parse5": "*", - "@types/tough-cookie": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "17.0.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", - "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/parse5": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", - "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", - "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==", - "dev": true - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true - }, - "node_modules/@types/sizzle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", - "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", - "dev": true - }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "node_modules/@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz", - "integrity": "sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/type-utils": "5.27.0", - "@typescript-eslint/utils": "5.27.0", - "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.2.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.1.tgz", - "integrity": "sha512-Vd8uewIixGP93sEnmTRIH6jHZYRQRkGPDPpapACMvitJKX8335VHNyqKTE+mZ+m3E2c5VznTZfSsSsS5IF7vUA==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.27.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz", - "integrity": "sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.27.1", - "@typescript-eslint/visitor-keys": "5.27.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.1.tgz", - "integrity": "sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz", - "integrity": "sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.27.1", - "@typescript-eslint/visitor-keys": "5.27.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.1.tgz", - "integrity": "sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.27.1", - "@typescript-eslint/types": "5.27.1", - "@typescript-eslint/typescript-estree": "5.27.1", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz", - "integrity": "sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.27.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", - "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/typescript-estree": "5.27.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", - "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/visitor-keys": "5.27.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz", - "integrity": "sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.27.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", - "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", - "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/visitor-keys": "5.27.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.0.tgz", - "integrity": "sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/typescript-estree": "5.27.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", - "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.27.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ace-builds": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.5.3.tgz", - "integrity": "sha512-WN5BKR2aTSuBmisO8jo3Fytk6sOmJGki82v/Boeic81IgYN8pFHNkXq2anDF0XkmfDWMqLbRoW9sjc/GtKzQbQ==" - }, - "node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/app-root-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", - "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha512-majUxHgLehQTeSA+hClx+DY09OVUqG3GtezWkF1krgLGNdlDu9l9V8DaqNMWbq4Eddc8wsyDA0hpDUtnYxQEXw==", - "dev": true, - "dependencies": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" - } - }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "node_modules/axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.7" - } - }, - "node_modules/axobject-query": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", - "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", - "dev": true, - "dependencies": { - "ast-types-flow": "0.0.7" - } - }, - "node_modules/babel-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz", - "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", - "dev": true, - "dependencies": { - "@jest/transform": "^28.1.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz", - "integrity": "sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz", - "integrity": "sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^28.1.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bent": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/bent/-/bent-7.3.12.tgz", - "integrity": "sha512-T3yrKnVGB63zRuoco/7Ybl7BwwGZR0lceoVG5XmQyMIH9s19SV5m+a8qam4if0zQuAmOQTyPTPmsQBdAorGK3w==", - "dev": true, - "dependencies": { - "bytesish": "^0.4.1", - "caseless": "~0.12.0", - "is-stream": "^2.0.0" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", - "dev": true - }, - "node_modules/bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true - }, - "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/bonjour/node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bonjour/node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/boxen/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.20.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", - "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001349", - "electron-to-chromium": "^1.4.147", - "escalade": "^3.1.1", - "node-releases": "^2.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "dev": true, - "bin": { - "btoa": "bin/btoa.js" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", - "dev": true - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/bytesish": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz", - "integrity": "sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==", - "dev": true - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001350", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001350.tgz", - "integrity": "sha512-NZBql38Pzd+rAu5SPXv+qmTWGQuFsRiemHCJCAPvkoDxWV19/xqL2YHF32fDJ9SDLdLqfax8+S0CO3ncDCp9Iw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", - "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", - "dev": true - }, - "node_modules/circular-dependency-plugin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", - "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "dev": true, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.1" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", - "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/codelyzer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", - "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", - "dev": true, - "dependencies": { - "@angular/compiler": "9.0.0", - "@angular/core": "9.0.0", - "app-root-path": "^3.0.0", - "aria-query": "^3.0.0", - "axobject-query": "2.0.2", - "css-selector-tokenizer": "^0.7.1", - "cssauron": "^1.4.0", - "damerau-levenshtein": "^1.0.4", - "rxjs": "^6.5.3", - "semver-dsl": "^1.0.1", - "source-map": "^0.5.7", - "sprintf-js": "^1.1.2", - "tslib": "^1.10.0", - "zone.js": "~0.10.3" - }, - "peerDependencies": { - "@angular/compiler": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", - "@angular/core": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", - "tslint": "^5.0.0 || ^6.0.0" - } - }, - "node_modules/codelyzer/node_modules/@angular/compiler": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", - "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", - "dev": true, - "peerDependencies": { - "tslib": "^1.10.0" - } - }, - "node_modules/codelyzer/node_modules/@angular/core": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", - "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", - "dev": true, - "peerDependencies": { - "rxjs": "^6.5.3", - "tslib": "^1.10.0", - "zone.js": "~0.10.2" - } - }, - "node_modules/codelyzer/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/codelyzer/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/codelyzer/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/codelyzer/node_modules/zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", - "dev": true - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", - "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==", - "dev": true - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concurrently": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.2.1.tgz", - "integrity": "sha512-7cab/QyqipqghrVr9qZmoWbidu0nHsmxrpNqQ7r/67vfl1DWJElexehQnTH1p+87tDkihaAjM79xTZyBQh7HLw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "shell-quote": "^1.7.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^17.3.1" - }, - "bin": { - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.0 || >=16.0.0" - } - }, - "node_modules/concurrently/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/concurrently/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concurrently/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/config-chain/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/configstore/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/configstore/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "dependencies": { - "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", - "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^12.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 12.20.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.22.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.7.tgz", - "integrity": "sha512-Jt8SReuDKVNZnZEzyEQT5eK6T2RRCXkfTq7Lo09kpm+fHjgGewSbNjV+Wt4yZMhPDdzz2x1ulI5z/w4nxpBseg==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.22.8", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.8.tgz", - "integrity": "sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg==", - "dev": true, - "dependencies": { - "browserslist": "^4.20.3", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, - "node_modules/critters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/critters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/critters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/critters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/critters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/critters/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/critters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/crop-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/crop-url/-/crop-url-4.0.1.tgz", - "integrity": "sha512-IO6+sIK5cy0jnG0k0/RvgGhlsCJo0xNLq7l4jIu2UedvpAJomOlVCyDtupqbffE5MYjHLJkba5lYnP/UqQJbpQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-functions-list": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", - "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", - "dev": true, - "engines": { - "node": ">=12.22" - } - }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-loader": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", - "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true, - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-rule-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz", - "integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==", - "dev": true, - "dependencies": { - "css-tokenize": "^1.0.1", - "duplexer2": "0.0.2", - "ldjson-stream": "^1.2.1", - "through2": "^0.6.3" - }, - "bin": { - "css-rule-stream": "index.js" - } - }, - "node_modules/css-rule-stream/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/css-rule-stream/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "node_modules/css-rule-stream/node_modules/through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-selector-tokenizer": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", - "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" - } - }, - "node_modules/css-tokenize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz", - "integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^1.0.33" - } - }, - "node_modules/css-tokenize/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/css-tokenize/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssauron": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha512-Ht70DcFBh+/ekjVrYS2PlDMdSQEl3OFNmjK6lcn49HptBgilXf/Zwg4uFh9Xn0pX3Q8YOkSjIFOfK2osvdqpBw==", - "dev": true, - "dependencies": { - "through": "X.X.X" - } - }, - "node_modules/cssdb": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-5.1.0.tgz", - "integrity": "sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw==", - "dev": true - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/cypress": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", - "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@cypress/request": "^2.88.10", - "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", - "@types/sinonjs__fake-timers": "8.1.1", - "@types/sizzle": "^2.3.2", - "arch": "^2.2.0", - "blob-util": "^2.0.2", - "bluebird": "^3.7.2", - "buffer": "^5.6.0", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", - "commander": "^5.1.0", - "common-tags": "^1.8.0", - "dayjs": "^1.10.4", - "debug": "^4.3.2", - "enquirer": "^2.3.6", - "eventemitter2": "^6.4.3", - "execa": "4.1.0", - "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", - "fs-extra": "^9.1.0", - "getos": "^3.2.1", - "is-ci": "^3.0.0", - "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", - "listr2": "^3.8.3", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "minimist": "^1.2.6", - "ospath": "^1.2.2", - "pretty-bytes": "^5.6.0", - "proxy-from-env": "1.0.0", - "request-progress": "^3.0.0", - "semver": "^7.3.2", - "supports-color": "^8.1.1", - "tmp": "~0.2.1", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "bin": { - "cypress": "bin/cypress" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/cypress-fail-fast": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cypress-fail-fast/-/cypress-fail-fast-4.0.0.tgz", - "integrity": "sha512-/8Wjk4TETwPjv8iVThAoZFEYQxNpNqHuRE2Bofv7sCLSUywLGMTyq0DhlN8LJY9wY+D37GuJeoaXwiEeI8J0fQ==", - "dev": true, - "dependencies": { - "chalk": "4.1.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "cypress": ">=5.0.0" - } - }, - "node_modules/cypress-fail-fast/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cypress-fail-fast/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cypress-fail-fast/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cypress-fail-fast/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/cypress-fail-fast/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cypress-fail-fast/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz", - "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==", - "dev": true - }, - "node_modules/cypress/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cypress/node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/cypress/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cypress/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cypress/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cypress/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/cypress/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/cypress/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cypress/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/d3": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-6.7.0.tgz", - "integrity": "sha512-hNHRhe+yCDLUG6Q2LwvR/WdNFPOJQ5VWqsJcwIYVeI401+d2/rrCjxSXkiAdIlpx7/73eApFB4Olsmh3YN7a6g==", - "dependencies": { - "d3-array": "2", - "d3-axis": "2", - "d3-brush": "2", - "d3-chord": "2", - "d3-color": "2", - "d3-contour": "2", - "d3-delaunay": "5", - "d3-dispatch": "2", - "d3-drag": "2", - "d3-dsv": "2", - "d3-ease": "2", - "d3-fetch": "2", - "d3-force": "2", - "d3-format": "2", - "d3-geo": "2", - "d3-hierarchy": "2", - "d3-interpolate": "2", - "d3-path": "2", - "d3-polygon": "2", - "d3-quadtree": "2", - "d3-random": "2", - "d3-scale": "3", - "d3-scale-chromatic": "2", - "d3-selection": "2", - "d3-shape": "2", - "d3-time": "2", - "d3-time-format": "3", - "d3-timer": "2", - "d3-transition": "2", - "d3-zoom": "2" - } - }, - "node_modules/d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", - "dependencies": { - "internmap": "^1.0.0" - } - }, - "node_modules/d3-axis": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz", - "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==" - }, - "node_modules/d3-brush": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-2.1.0.tgz", - "integrity": "sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==", - "dependencies": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" - } - }, - "node_modules/d3-chord": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-2.0.0.tgz", - "integrity": "sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==", - "dependencies": { - "d3-path": "1 - 2" - } - }, - "node_modules/d3-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", - "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" - }, - "node_modules/d3-contour": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-2.0.0.tgz", - "integrity": "sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==", - "dependencies": { - "d3-array": "2" - } - }, - "node_modules/d3-delaunay": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.3.0.tgz", - "integrity": "sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==", - "dependencies": { - "delaunator": "4" - } - }, - "node_modules/d3-dispatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", - "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" - }, - "node_modules/d3-drag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", - "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", - "dependencies": { - "d3-dispatch": "1 - 2", - "d3-selection": "2" - } - }, - "node_modules/d3-dsv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", - "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", - "dependencies": { - "commander": "2", - "iconv-lite": "0.4", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json", - "csv2tsv": "bin/dsv2dsv", - "dsv2dsv": "bin/dsv2dsv", - "dsv2json": "bin/dsv2json", - "json2csv": "bin/json2dsv", - "json2dsv": "bin/json2dsv", - "json2tsv": "bin/json2dsv", - "tsv2csv": "bin/dsv2dsv", - "tsv2json": "bin/dsv2json" - } - }, - "node_modules/d3-ease": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", - "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" - }, - "node_modules/d3-fetch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-2.0.0.tgz", - "integrity": "sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==", - "dependencies": { - "d3-dsv": "1 - 2" - } - }, - "node_modules/d3-force": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", - "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", - "dependencies": { - "d3-dispatch": "1 - 2", - "d3-quadtree": "1 - 2", - "d3-timer": "1 - 2" - } - }, - "node_modules/d3-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", - "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" - }, - "node_modules/d3-geo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", - "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", - "dependencies": { - "d3-array": "^2.5.0" - } - }, - "node_modules/d3-hierarchy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz", - "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==" - }, - "node_modules/d3-interpolate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", - "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", - "dependencies": { - "d3-color": "1 - 2" - } - }, - "node_modules/d3-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", - "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" - }, - "node_modules/d3-polygon": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", - "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==" - }, - "node_modules/d3-quadtree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", - "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" - }, - "node_modules/d3-random": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-2.2.2.tgz", - "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" - }, - "node_modules/d3-scale": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", - "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", - "dependencies": { - "d3-array": "^2.3.0", - "d3-format": "1 - 2", - "d3-interpolate": "1.2.0 - 2", - "d3-time": "^2.1.1", - "d3-time-format": "2 - 3" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz", - "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==", - "dependencies": { - "d3-color": "1 - 2", - "d3-interpolate": "1 - 2" - } - }, - "node_modules/d3-selection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", - "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" - }, - "node_modules/d3-shape": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", - "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", - "dependencies": { - "d3-path": "1 - 2" - } - }, - "node_modules/d3-time": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", - "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", - "dependencies": { - "d3-array": "2" - } - }, - "node_modules/d3-time-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", - "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", - "dependencies": { - "d3-time": "1 - 2" - } - }, - "node_modules/d3-timer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", - "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" - }, - "node_modules/d3-transition": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", - "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", - "dependencies": { - "d3-color": "1 - 2", - "d3-dispatch": "1 - 2", - "d3-ease": "1 - 2", - "d3-interpolate": "1 - 2", - "d3-timer": "1 - 2" - }, - "peerDependencies": { - "d3-selection": "2" - } - }, - "node_modules/d3-zoom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", - "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", - "dependencies": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/date-fns": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", - "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", - "dev": true, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/dayjs": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", - "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/default-gateway/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/default-gateway/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-gateway/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delaunator": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", - "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", - "dev": true - }, - "node_modules/dns-packet": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.1.tgz", - "integrity": "sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", - "dev": true, - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/doiuse": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/doiuse/-/doiuse-4.4.1.tgz", - "integrity": "sha512-TUpr1/YNg20IB09tZmwGCTsTQoxj8jUld/hUZprZMj8vj0VpAJySXEWCr8WMvqvgzk0/kG/FxeSMGKode4UjPg==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001179", - "css-rule-stream": "^1.1.0", - "duplexer2": "0.0.2", - "ldjson-stream": "^1.2.1", - "multimatch": "^5.0.0", - "postcss": "^8.2.4", - "source-map": "^0.7.3", - "through2": "^4.0.2", - "yargs": "^16.2.0" - }, - "bin": { - "doiuse": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/doiuse/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==", - "dev": true, - "dependencies": { - "readable-stream": "~1.1.9" - } - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==", - "dev": true - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "dev": true, - "dependencies": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "bin": { - "editorconfig": "bin/editorconfig" - } - }, - "node_modules/editorconfig/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/editorconfig/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/editorconfig/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.148", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.148.tgz", - "integrity": "sha512-8MJk1bcQUAYkuvCyWZxaldiwoDG0E0AMzBGA6cv3WfuvJySiPgfidEPBFCRRH3cZm6SVZwo/oRlK1ehi1QNEIQ==" - }, - "node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", - "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.22.tgz", - "integrity": "sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "esbuild-android-arm64": "0.14.22", - "esbuild-darwin-64": "0.14.22", - "esbuild-darwin-arm64": "0.14.22", - "esbuild-freebsd-64": "0.14.22", - "esbuild-freebsd-arm64": "0.14.22", - "esbuild-linux-32": "0.14.22", - "esbuild-linux-64": "0.14.22", - "esbuild-linux-arm": "0.14.22", - "esbuild-linux-arm64": "0.14.22", - "esbuild-linux-mips64le": "0.14.22", - "esbuild-linux-ppc64le": "0.14.22", - "esbuild-linux-riscv64": "0.14.22", - "esbuild-linux-s390x": "0.14.22", - "esbuild-netbsd-64": "0.14.22", - "esbuild-openbsd-64": "0.14.22", - "esbuild-sunos-64": "0.14.22", - "esbuild-windows-32": "0.14.22", - "esbuild-windows-64": "0.14.22", - "esbuild-windows-arm64": "0.14.22" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz", - "integrity": "sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz", - "integrity": "sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz", - "integrity": "sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz", - "integrity": "sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz", - "integrity": "sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz", - "integrity": "sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz", - "integrity": "sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz", - "integrity": "sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz", - "integrity": "sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz", - "integrity": "sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz", - "integrity": "sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz", - "integrity": "sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz", - "integrity": "sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz", - "integrity": "sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz", - "integrity": "sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz", - "integrity": "sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-wasm": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz", - "integrity": "sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw==", - "dev": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-32": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz", - "integrity": "sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz", - "integrity": "sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz", - "integrity": "sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", - "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-etc": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-etc/-/eslint-etc-5.1.0.tgz", - "integrity": "sha512-Rmjl01h5smi5cbsFne2xpTuch2xNnwXiX2lbS4HttXUN5FwXKAwG1UEFBVGO1nC091YO/QyVahyfNPJSX2ae+g==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0", - "tsutils": "^3.17.1", - "tsutils-etc": "^1.4.1" - }, - "peerDependencies": { - "eslint": "^8.0.0", - "typescript": "^4.0.0" - } - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-node/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-rxjs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-rxjs/-/eslint-plugin-rxjs-5.0.2.tgz", - "integrity": "sha512-Q2wsEHWInhZ3uz5df+YbD4g/NPQqAeYHjJuEsxqgVS+XAsYCuVE2pj9kADdMFy4GsQy2jt7KP+TOrnq1i6bI5Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0", - "common-tags": "^1.8.0", - "decamelize": "^5.0.0", - "eslint-etc": "^5.1.0", - "requireindex": "~1.2.0", - "rxjs-report-usage": "^1.0.4", - "tslib": "^2.0.0", - "tsutils": "^3.0.0", - "tsutils-etc": "^1.4.1" - }, - "peerDependencies": { - "eslint": "^8.0.0", - "typescript": "^4.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", - "dev": true, - "dependencies": { - "acorn": "^8.7.1", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter-asyncresource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", - "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", - "dev": true - }, - "node_modules/eventemitter2": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", - "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", - "dev": true - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "dependencies": { - "pify": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/expect/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/expect/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/expect/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/expect/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/expect/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/expect/node_modules/jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/expect/node_modules/jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/expect/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/expect/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.10.3", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/express/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "node_modules/fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-saver": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", - "dev": true, - "dependencies": { - "async": "^3.2.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/git-describe": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-describe/-/git-describe-4.1.1.tgz", - "integrity": "sha512-JC8ganO5kO80G8+XE98TDDjnMXQN3Estk3qdJuG2EGRF/l6zuMTMcN+8OSfQZ5FWpqIRLB015anWX4aSRgnxAQ==", - "dev": true, - "dependencies": { - "@types/semver": "^7.3.8", - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=4.0.0" - }, - "optionalDependencies": { - "semver": "^5.6.0" - } - }, - "node_modules/git-describe/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/gitignore-to-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz", - "integrity": "sha512-mk74BdnK7lIwDHnotHddx1wsjMOFIThpLY3cPNniJ/2fA/tlLzHnFxIdR+4sLOu5KGgQJdij4kjJ2RoUNnCNMA==", - "dev": true, - "engines": { - "node": ">=4.4 <5 || >=6.9" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dev": true, - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dev": true - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/gts": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/gts/-/gts-3.1.0.tgz", - "integrity": "sha512-Pbj3ob1VR1IRlEVEBNtKoQ1wHOa8cZz62KEojK8Fn/qeS2ClWI4gLNfhek3lD68aZSmUEg8TFb6AHXIwUMgyqQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^4.2.0", - "@typescript-eslint/parser": "^4.2.0", - "chalk": "^4.1.0", - "eslint": "^7.10.0", - "eslint-config-prettier": "^7.0.0", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.1.4", - "execa": "^5.0.0", - "inquirer": "^7.3.3", - "json5": "^2.1.3", - "meow": "^9.0.0", - "ncp": "^2.0.0", - "prettier": "^2.1.2", - "rimraf": "^3.0.2", - "update-notifier": "^5.0.0", - "write-file-atomic": "^3.0.3" - }, - "bin": { - "gts": "build/src/cli.js" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "typescript": ">=3" - } - }, - "node_modules/gts/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/gts/node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/gts/node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/gts/node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/gts/node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/gts/node_modules/@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/gts/node_modules/@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/gts/node_modules/@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/gts/node_modules/@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/gts/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/gts/node_modules/@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/gts/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/gts/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/gts/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/gts/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gts/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/gts/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/gts/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/gts/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/gts/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gts/node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/gts/node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/gts/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/gts/node_modules/eslint/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/gts/node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/gts/node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/gts/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/gts/node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/gts/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/gts/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gts/node_modules/globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gts/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/gts/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/gts/node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/gts/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gts/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/gts/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/gts/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/gts/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/gts/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gts/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/gts/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hdr-histogram-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", - "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", - "dev": true, - "dependencies": { - "@assemblyscript/loader": "^0.10.1", - "base64-js": "^1.2.0", - "pako": "^1.0.3" - } - }, - "node_modules/hdr-histogram-percentiles-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", - "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", - "dev": true - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", - "dev": true - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/html-tags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", - "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", - "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-signature": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.14.1" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/husky": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", - "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", - "dev": true, - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-walk": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", - "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", - "dev": true - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" - }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", - "dev": true - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, - "node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jake/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jake/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jasmine-core": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", - "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", - "dev": true - }, - "node_modules/jasmine-spec-reporter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz", - "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==", - "dev": true, - "dependencies": { - "colors": "1.4.0" - } - }, - "node_modules/jest": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.0.tgz", - "integrity": "sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==", - "dev": true, - "dependencies": { - "@jest/core": "^28.1.0", - "import-local": "^3.0.2", - "jest-cli": "^28.1.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz", - "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-changed-files/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/jest-circus": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz", - "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-circus/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz", - "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", - "dev": true, - "dependencies": { - "@jest/core": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz", - "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.1", - "@jest/types": "^28.1.1", - "babel-jest": "^28.1.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-each": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz", - "integrity": "sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.1", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.1.tgz", - "integrity": "sha512-41ZvgSoPNcKG5q3LuuOcAczdBxRq9DbZkPe24okN6ZCmiZdAfFtPg3z+lOtsT1fM6OAERApKT+3m0MRDQH2zIA==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/jsdom": "^16.2.4", - "@types/node": "*", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1", - "jsdom": "^19.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz", - "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz", - "integrity": "sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz", - "integrity": "sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==", - "dev": true, - "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz", - "integrity": "sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz", - "integrity": "sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.1", - "@types/node": "*" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-preset-angular": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-12.0.1.tgz", - "integrity": "sha512-/3tpZTOhBE2Qmdga9jRTGu3OxgRfAzg2xDxtVSvR1SZvFZLHRik6jw+NznuirXtchgcYGt4tBE0wPDTJvtUeDw==", - "dev": true, - "dependencies": { - "bs-logger": "^0.2.6", - "esbuild-wasm": ">=0.13.8", - "jest-environment-jsdom": "^28.0.0", - "pretty-format": "^28.0.0", - "ts-jest": "^28.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.10.0" - }, - "optionalDependencies": { - "esbuild": ">=0.13.8" - }, - "peerDependencies": { - "@angular-devkit/build-angular": ">=0.1102.19 <14.0.0", - "@angular/compiler-cli": ">=11.2.14 <14.0.0", - "@angular/core": ">=11.2.14 <14.0.0", - "@angular/platform-browser-dynamic": ">=11.2.14 <14.0.0", - "jest": "^28.0.0", - "typescript": ">=4.3" - } - }, - "node_modules/jest-preset-angular/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-preset-angular/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-preset-angular/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz", - "integrity": "sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", - "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", - "dev": true, - "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz", - "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.1", - "@jest/environment": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-leak-detector": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-resolve": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-util": "^28.1.1", - "jest-watcher": "^28.1.1", - "jest-worker": "^28.1.1", - "source-map-support": "0.5.13", - "throat": "^6.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz", - "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/globals": "^28.1.1", - "@jest/source-map": "^28.0.2", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runtime/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz", - "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.1", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-snapshot/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz", - "integrity": "sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz", - "integrity": "sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz", - "integrity": "sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==", - "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", - "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-beautify": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", - "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", - "dev": true, - "dependencies": { - "config-chain": "^1.1.13", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "nopt": "^5.0.0" - }, - "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "node_modules/jsdom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", - "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.5.0", - "acorn-globals": "^6.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.1", - "decimal.js": "^10.3.1", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^3.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0", - "ws": "^8.2.3", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jsdom/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/jsdom/node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "dev": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "node_modules/jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" - }, - "node_modules/karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "dependencies": { - "source-map-support": "^0.5.5" - } - }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/known-css-properties": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", - "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", - "dev": true - }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true, - "engines": { - "node": "> 0.8" - } - }, - "node_modules/ldjson-stream": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz", - "integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==", - "dev": true, - "dependencies": { - "split2": "^0.2.1", - "through2": "^0.6.1" - } - }, - "node_modules/ldjson-stream/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ldjson-stream/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "node_modules/ldjson-stream/node_modules/through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "node_modules/less": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.2.tgz", - "integrity": "sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==", - "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^2.5.2", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", - "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", - "dev": true, - "dependencies": { - "klona": "^2.0.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/license-check-and-add": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.5.tgz", - "integrity": "sha512-FySnMi3Kf/vO5jka8tcbVF1FhDFb8PWsQ8pg5Y7U/zkQgta+fIrJGcGHO58WFjfKlgvhneG1uQ00Fpxzhau3QA==", - "dev": true, - "dependencies": { - "fs-extra": "^8.1.0", - "gitignore-to-glob": "^0.3.0", - "globby": "^10.0.1", - "ignore": "^5.1.2", - "yargs": "^13.3.0" - }, - "bin": { - "license-check-and-add": "dist/src/cli.js" - } - }, - "node_modules/license-check-and-add/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/license-check-and-add/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/license-check-and-add/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/license-check-and-add/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/license-check-and-add/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/license-check-and-add/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/license-check-and-add/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/license-check-and-add/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/license-check-and-add/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/license-check-and-add/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/license-check-and-add/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/license-check-and-add/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/license-check-and-add/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/license-check-and-add/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/license-check-and-add/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/license-check-and-add/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/license-check-and-add/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/license-check-and-add/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/license-check-and-add/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "dependencies": { - "webpack-sources": "^3.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-sources": { - "optional": true - } - } - }, - "node_modules/lilconfig": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", - "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/lint-staged": { - "version": "12.4.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.3.tgz", - "integrity": "sha512-eH6SKOmdm/ZwCRMTZAmM3q3dPkpq6vco/BfrOw8iGun4Xs/thYegPD/MLIwKO+iPkzibkLJuQcRhRLXKvaKreg==", - "dev": true, - "dependencies": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^9.3.0", - "debug": "^4.3.4", - "execa": "^5.1.1", - "lilconfig": "2.0.5", - "listr2": "^4.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.5.0", - "string-argv": "^0.3.1", - "supports-color": "^9.2.2", - "yaml": "^1.10.2" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/lint-staged/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", - "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/lint-staged/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/lint-staged/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/lint-staged/node_modules/listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", - "dev": true, - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.5", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/lint-staged/node_modules/listr2/node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.2.tgz", - "integrity": "sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/listr2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/listr2/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/listr2/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", - "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/make-fetch-happen": { - "version": "10.1.7", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz", - "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", - "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", - "dev": true, - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", - "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/material-design-icons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", - "integrity": "sha512-t19Z+QZBwSZulxptEu05kIm+UyfIdJY1JDwI+nx02j269m6W414whiQz9qfvQIiLrdx71RQv+T48nHhuQXOCIQ==" - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", - "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", - "dev": true, - "dependencies": { - "fs-monkey": "1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz", - "integrity": "sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==", - "dev": true, - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", - "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", - "dev": true, - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "dev": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", - "dev": true - }, - "node_modules/multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "dev": true, - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/multimatch/node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/multimatch/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/multimatch/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/ncp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", - "dev": true, - "bin": { - "ncp": "bin/ncp" - } - }, - "node_modules/needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dev": true, - "optional": true, - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/ng-extract-i18n-merge": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-1.4.0.tgz", - "integrity": "sha512-Nj2Q4rycroY9E7BB99rAMbn3fSAZVwiUO5ssUVHfQPps5ysfwQ7zv/4aqNbH2Sy45tZqGjbBkiaaAh2TiD1Mcw==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "^0.1301.0", - "@angular-devkit/core": "^13.0.0", - "@angular-devkit/schematics": "^13.0.0", - "@schematics/angular": "^13.0.0", - "xliff-simple-merge": "~0.12.0", - "xml_normalize": "~0.8.3", - "xmldoc": "~1.1.2" - } - }, - "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/architect": { - "version": "0.1301.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz", - "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.1.4", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/core": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz", - "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==", - "dev": true, - "dependencies": { - "ajv": "8.8.2", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/ng-extract-i18n-merge/node_modules/ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ng-extract-i18n-merge/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/ng-extract-i18n-merge/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/ng-in-viewport": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", - "integrity": "sha512-RLOiT5AY8ypFuNCdif1aGG5Fx2INoG2+1b+CGJLhk0lPMLFyCVhmnma3Mq4M7TnwO+plNmqAfbu60usZF2zZ3g==", - "dependencies": { - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@angular/common": ">=12.0.0", - "@angular/core": ">=12.0.0", - "rxjs": ">=6.5.3" - } - }, - "node_modules/ngx-cookie-service": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", - "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", - "dependencies": { - "tslib": "^2.0.0" - }, - "peerDependencies": { - "@angular/common": "^13.0.0", - "@angular/core": "^13.0.0" - } - }, - "node_modules/ngx-pipes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ngx-pipes/-/ngx-pipes-3.0.0.tgz", - "integrity": "sha512-JK1E/QqVceCkEBoRQoZriR5GZEDd5aTC/+Zv9UlUbIRAzeSfA18n8XYJKLM3rpy8Y4uGBU1pAp0pvvdJiK/XDA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/core": "^13.0.0" - } - }, - "node_modules/nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "!win32" - ], - "dependencies": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-gyp": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz", - "integrity": "sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^12.22 || ^14.13 || >=16" - } - }, - "node_modules/node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "dev": true, - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", - "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==" - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/normalize.css": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", - "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" - }, - "node_modules/npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", - "dev": true, - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, - "node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-packlist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", - "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", - "dev": true, - "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^4.0.1", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "npm-packlist": "bin/index.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", - "dev": true, - "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" - } - }, - "node_modules/npm-registry-fetch": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", - "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", - "dev": true, - "dependencies": { - "make-fetch-happen": "^10.0.1", - "minipass": "^3.1.6", - "minipass-fetch": "^1.4.1", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^8.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ospath": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dev": true, - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/pacote": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", - "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", - "dev": true, - "dependencies": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^12.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true - }, - "node_modules/parse5-html-rewriting-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", - "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" - } - }, - "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parse5-sax-parser": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", - "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parse5-sax-parser/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pidtree": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz", - "integrity": "sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/piscina": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", - "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", - "dev": true, - "dependencies": { - "eventemitter-asyncresource": "^1.0.0", - "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0" - }, - "optionalDependencies": { - "nice-napi": "^1.0.2" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/portfinder/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, - "dependencies": { - "nanoid": "^3.1.30", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz", - "integrity": "sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz", - "integrity": "sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz", - "integrity": "sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz", - "integrity": "sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-custom-properties": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz", - "integrity": "sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz", - "integrity": "sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz", - "integrity": "sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-gap-properties": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", - "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-image-set-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz", - "integrity": "sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-import": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", - "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-lab-function": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz", - "integrity": "sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-nesting": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.8.tgz", - "integrity": "sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ==", - "dev": true, - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", - "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true, - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/postcss-place": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.4.tgz", - "integrity": "sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-preset-env": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz", - "integrity": "sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA==", - "dev": true, - "dependencies": { - "autoprefixer": "^10.4.2", - "browserslist": "^4.19.1", - "caniuse-lite": "^1.0.30001299", - "css-blank-pseudo": "^3.0.2", - "css-has-pseudo": "^3.0.3", - "css-prefers-color-scheme": "^6.0.2", - "cssdb": "^5.0.0", - "postcss-attribute-case-insensitive": "^5.0.0", - "postcss-color-functional-notation": "^4.2.1", - "postcss-color-hex-alpha": "^8.0.2", - "postcss-color-rebeccapurple": "^7.0.2", - "postcss-custom-media": "^8.0.0", - "postcss-custom-properties": "^12.1.2", - "postcss-custom-selectors": "^6.0.0", - "postcss-dir-pseudo-class": "^6.0.3", - "postcss-double-position-gradients": "^3.0.4", - "postcss-env-function": "^4.0.4", - "postcss-focus-visible": "^6.0.3", - "postcss-focus-within": "^5.0.3", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.2", - "postcss-image-set-function": "^4.0.4", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.0.3", - "postcss-logical": "^5.0.3", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.2", - "postcss-overflow-shorthand": "^3.0.2", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.3", - "postcss-pseudo-class-any-link": "^7.0.2", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^5.0.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz", - "integrity": "sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true, - "peerDependencies": { - "postcss": "^8.0.3" - } - }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", - "dev": true - }, - "node_modules/postcss-safe-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", - "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.3.3" - } - }, - "node_modules/postcss-scss": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", - "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", - "dev": true, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.3.3" - } - }, - "node_modules/postcss-selector-not": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz", - "integrity": "sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-sorting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz", - "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", - "dev": true, - "peerDependencies": { - "postcss": "^8.3.9" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dev": true, - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/raw-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/raw-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/raw-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/raw-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/raw-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", - "dev": true, - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", - "dev": true - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", - "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dev": true, - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", - "dev": true, - "dependencies": { - "throttleit": "^1.0.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/requireindex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", - "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", - "dev": true, - "engines": { - "node": ">=0.10.5" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "dev": true, - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/roboto-fontface": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz", - "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==" - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-node": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/run-node/-/run-node-2.0.0.tgz", - "integrity": "sha512-M024oSKOfXRbBZ4dzWeS4mZfLlkVrLbR+02lSno344whh60hFN7qjWnf3QXm/JePD9CR7W4gRe9tt4H/2PGkcw==", - "dev": true, - "bin": { - "run-node": "run-node" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, - "node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/rxjs-compat": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.6.7.tgz", - "integrity": "sha512-szN4fK+TqBPOFBcBcsR0g2cmTTUF/vaFEOZNuSdfU8/pGFnNmmn2u8SystYXG1QMrjOPBc6XTKHMVfENDf6hHw==" - }, - "node_modules/rxjs-report-usage": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/rxjs-report-usage/-/rxjs-report-usage-1.0.6.tgz", - "integrity": "sha512-omv1DIv5z1kV+zDAEjaDjWSkx8w5TbFp5NZoPwUipwzYVcor/4So9ZU3bUyQ1c8lxY5Q0Es/ztWW7PGjY7to0Q==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.10.3", - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3", - "bent": "~7.3.6", - "chalk": "~4.1.0", - "glob": "~7.2.0", - "prompts": "~2.4.2" - }, - "bin": { - "rxjs-report-usage": "bin/rxjs-report-usage" - } - }, - "node_modules/rxjs-report-usage/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/rxjs-report-usage/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/rxjs-report-usage/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/rxjs-report-usage/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/rxjs-report-usage/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/rxjs-report-usage/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sass": { - "version": "1.52.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz", - "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/sass-loader": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.0.tgz", - "integrity": "sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "node_modules/selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", - "dev": true, - "dependencies": { - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-dsl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", - "integrity": "sha512-e8BOaTo007E3dMuQQTnPdalbKTABKNS7UxoBIDnwOqRa+QwMrCPjynB8zAlPF6xlqUfdLPPLIJ13hJNmhtq8Ng==", - "dev": true, - "dependencies": { - "semver": "^5.3.0" - } - }, - "node_modules/semver-dsl/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", - "dev": true - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", - "dependencies": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://tidelift.com/funding/github/npm/sockjs-client" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/socks": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", - "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, - "dependencies": { - "ip": "^1.1.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-explorer": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.2.tgz", - "integrity": "sha512-gBwOyCcHPHcdLbgw6Y6kgoH1uLKL6hN3zz0xJcNI2lpnElZliIlmSYAjUVwAWnc7+HscoTyh1ScR7ITtFuEnxg==", - "dev": true, - "dependencies": { - "btoa": "^1.2.1", - "chalk": "^4.1.0", - "convert-source-map": "^1.7.0", - "ejs": "^3.1.5", - "escape-html": "^1.0.3", - "glob": "^7.1.6", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "open": "^7.3.1", - "source-map": "^0.7.3", - "temp": "^0.9.4", - "yargs": "^16.2.0" - }, - "bin": { - "sme": "bin/cli.js", - "source-map-explorer": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/source-map-explorer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/source-map-explorer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/source-map-explorer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/source-map-explorer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/source-map-explorer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-explorer/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map-explorer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-explorer/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", - "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/source-map-loader/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "node_modules/spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/specificity": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", - "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", - "dev": true, - "bin": { - "specificity": "bin/specificity" - } - }, - "node_modules/split2": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz", - "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=", - "dev": true, - "dependencies": { - "through2": "~0.6.1" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/split2/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "node_modules/split2/node_modules/through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "node_modules/stylelint": { - "version": "14.8.5", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.5.tgz", - "integrity": "sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ==", - "dev": true, - "dependencies": { - "balanced-match": "^2.0.0", - "colord": "^2.9.2", - "cosmiconfig": "^7.0.1", - "css-functions-list": "^3.0.1", - "debug": "^4.3.4", - "execall": "^2.0.0", - "fast-glob": "^3.2.11", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.2.0", - "ignore": "^5.2.0", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.25.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.14", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.10", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "style-search": "^0.1.0", - "supports-hyperlinks": "^2.2.0", - "svg-tags": "^1.0.0", - "table": "^6.8.0", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.1" - }, - "bin": { - "stylelint": "bin/stylelint.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", - "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", - "dev": true, - "peerDependencies": { - "stylelint": "^14.4.0" - } - }, - "node_modules/stylelint-config-recommended-scss": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-6.0.0.tgz", - "integrity": "sha512-6QOe2/OzXV2AP5FE12A7+qtKdZik7Saf42SMMl84ksVBBPpTdrV+9HaCbPYiRMiwELY9hXCVdH4wlJ+YJb5eig==", - "dev": true, - "dependencies": { - "postcss-scss": "^4.0.2", - "stylelint-config-recommended": "^7.0.0", - "stylelint-scss": "^4.0.0" - }, - "peerDependencies": { - "stylelint": "^14.4.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", - "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", - "dev": true, - "dependencies": { - "stylelint-config-recommended": "^7.0.0" - }, - "peerDependencies": { - "stylelint": "^14.4.0" - } - }, - "node_modules/stylelint-config-standard-scss": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-4.0.0.tgz", - "integrity": "sha512-xizu8PTEyB6zYXBiVg6VtvUYn9m57x+6ZtaOdaxsfpbe5eagLPGNlbYnKfm/CfN69ArUpnwR6LjgsTHzlGbtXQ==", - "dev": true, - "dependencies": { - "stylelint-config-recommended-scss": "^6.0.0", - "stylelint-config-standard": "^25.0.0" - }, - "peerDependencies": { - "stylelint": "^14.4.0" - } - }, - "node_modules/stylelint-no-unsupported-browser-features": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-5.0.3.tgz", - "integrity": "sha512-FqfbOTk5UEkHsAKOkPH6SvajsfO9YuoWvKxd34tCRBZug9ZNeaPn141nyWkd+ncc8S1gVmO2+O6qVAMj9bvWww==", - "dev": true, - "dependencies": { - "doiuse": "^4.4.1", - "lodash": "^4.17.15", - "postcss": "^8.3.6" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "stylelint": ">=13.0.0" - } - }, - "node_modules/stylelint-order": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz", - "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==", - "dev": true, - "dependencies": { - "postcss": "^8.3.11", - "postcss-sorting": "^7.0.1" - }, - "peerDependencies": { - "stylelint": "^14.0.0" - } - }, - "node_modules/stylelint-scss": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.2.0.tgz", - "integrity": "sha512-HHHMVKJJ5RM9pPIbgJ/XA67h9H0407G68Rm69H4fzFbFkyDMcTV1Byep3qdze5+fJ3c0U7mJrbj6S0Fg072uZA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.6", - "postcss-value-parser": "^4.1.0" - }, - "peerDependencies": { - "stylelint": "^14.5.1" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", - "dev": true - }, - "node_modules/stylelint/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/stylelint/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint/node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/stylelint/node_modules/write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/stylus": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", - "integrity": "sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA==", - "dev": true, - "dependencies": { - "css": "^3.0.0", - "debug": "^4.3.2", - "glob": "^7.1.6", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "source-map": "^0.7.3" - }, - "bin": { - "stylus": "bin/stylus" - }, - "engines": { - "node": "*" - } - }, - "node_modules/stylus-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", - "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.7", - "klona": "^2.0.4", - "normalize-path": "^3.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "stylus": ">=0.52.4", - "webpack": "^5.0.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/systemjs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.12.1.tgz", - "integrity": "sha512-hqTN6kW+pN6/qro6G9OZ7ceDQOcYno020zBQKpZQLsJhYTDMCMNfXi/Y8duF5iW+4WWZr42ry0MMkcRGpbwG2A==" - }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/table/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/temp": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", - "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1", - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/temp/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", - "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", - "dev": true, - "dependencies": { - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", - "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/terser-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-jest": { - "version": "28.0.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.3.tgz", - "integrity": "sha512-HzgbEDQ2KgVtDmpXToqAcKTyGHdHsG23i/iUjfxji92G5eT09S1m9UHZd7csF0Bfgh9txM4JzwHnv7r1waFPlw==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@types/jest": "^27.0.0", - "babel-jest": "^28.0.0", - "jest": "^28.0.0", - "typescript": ">=4.3" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@types/jest": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-loader": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz", - "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ts-loader/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ts-loader/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-loader/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-node": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", - "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "bin": { - "tslint": "bin/tslint" - }, - "engines": { - "node": ">=4.8.0" - }, - "peerDependencies": { - "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" - } - }, - "node_modules/tslint/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/tslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/tslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/tslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tslint/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "peer": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/tslint/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true, - "peer": true - }, - "node_modules/tslint/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "peer": true - }, - "node_modules/tslint/node_modules/tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "peer": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "peerDependencies": { - "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" - } - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils-etc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/tsutils-etc/-/tsutils-etc-1.4.1.tgz", - "integrity": "sha512-6UPYgc7OXcIW5tFxlsZF3OVSBvDInl/BkS3Xsu64YITXk7WrnWTVByKWPCThFDBp5gl5IGHOzGMdQuDCE7OL4g==", - "dev": true, - "dependencies": { - "@types/yargs": "^17.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "ts-flags": "bin/ts-flags", - "ts-kind": "bin/ts-kind" - }, - "peerDependencies": { - "tsutils": "^3.0.0", - "typescript": "^4.0.0" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dev": true, - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/update-notifier/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/update-notifier/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/update-notifier/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-notifier/node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/update-notifier/node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/update-notifier/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", - "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, - "dependencies": { - "builtins": "^1.0.3" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", - "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", - "dev": true, - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/wait-on": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", - "dev": true, - "dependencies": { - "axios": "^0.25.0", - "joi": "^17.6.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.5.4" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-animations-js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/web-animations-js/-/web-animations-js-2.3.2.tgz", - "integrity": "sha512-TOMFWtQdxzjWp8qx4DAraTWTsdhxVSiWa6NkPFSaPtZ1diKUxTn4yTix73A1euG1WbSOMMPcY51cnjTIHrGtDA==" - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", - "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz", - "integrity": "sha512-dwld70gkgNJa33czmcj/PlKY/nOy/BimbrgZRaR9vDATBQAYgLzggR0nxDtPLJiLrMgZwbE6RRfJ5vnBBasTyg==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "dependencies": { - "typed-assert": "^1.0.8" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", - "webpack": "^5.12.0" - }, - "peerDependenciesMeta": { - "html-webpack-plugin": { - "optional": true - } - } - }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", - "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", - "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/xliff-simple-merge": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/xliff-simple-merge/-/xliff-simple-merge-0.12.1.tgz", - "integrity": "sha512-D8I1BNoOngEbiHW4s/nIMFzIN1u5n3GUuPeu5cKod5M5kC73vzR8412wWKyYwXuK3dNbx02Y48bt0kXoBi+WMQ==", - "dev": true, - "dependencies": { - "commander": "~8.3.0", - "js-levenshtein": "~1.1.6", - "xmldoc": "~1.1.2" - }, - "bin": { - "xliff-simple-merge": "dist/src/index.js" - } - }, - "node_modules/xliff-simple-merge/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/xml_normalize": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/xml_normalize/-/xml_normalize-0.8.4.tgz", - "integrity": "sha512-I+PiD+W/fS7YOWb4THhQfvkzd1mCuTT3KoRt4PTxiWYbH1RY74w5ewcIas8ja9APC8Ho2izg8VcNnTTN35qM9A==", - "dev": true, - "dependencies": { - "commander": "~7.1.0", - "xmldoc": "~1.1.2" - }, - "bin": { - "xml_normalize": "dist/src/index.js" - } - }, - "node_modules/xml_normalize/node_modules/commander": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", - "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/xmldoc": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", - "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", - "dev": true, - "dependencies": { - "sax": "^1.2.1" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/xterm": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/xterm/-/xterm-4.18.0.tgz", - "integrity": "sha512-JQoc1S0dti6SQfI0bK1AZvGnAxH4MVw45ZPFSO6FHTInAiau3Ix77fSxNx3mX4eh9OL4AYa8+4C8f5UvnSfppQ==" - }, - "node_modules/xterm-addon-fit": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", - "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", - "peerDependencies": { - "xterm": "^4.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/zone.js": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", - "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", - "dependencies": { - "tslib": "^2.3.0" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@angular-devkit/architect": { - "version": "0.1303.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.7.tgz", - "integrity": "sha512-xr35v7AuJygRdiaFhgoBSLN2ZMUri8x8Qx9jkmCkD3WLKz33TSFyAyqwdNNmOO9riK8ePXMH/QcSv0wY12pFBw==", - "dev": true, - "requires": { - "@angular-devkit/core": "13.3.7", - "rxjs": "6.6.7" - }, - "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@angular-devkit/build-angular": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.7.tgz", - "integrity": "sha512-XUmiq/3zpuna+r0UOqNSvA9kEcPwsLblEmNLUYyZXL9v/aGWUHOSH0nhGVrNRrSud4ryklEnxfkxkxlZlT4mjQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1303.7", - "@angular-devkit/build-webpack": "0.1303.7", - "@angular-devkit/core": "13.3.7", - "@babel/core": "7.16.12", - "@babel/generator": "7.16.8", - "@babel/helper-annotate-as-pure": "7.16.7", - "@babel/plugin-proposal-async-generator-functions": "7.16.8", - "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.16.10", - "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.16.7", - "@babel/template": "7.16.7", - "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.3.7", - "ansi-colors": "4.1.1", - "babel-loader": "8.2.5", - "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.9.1", - "cacache": "15.3.0", - "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "10.2.1", - "core-js": "3.20.3", - "critters": "0.0.16", - "css-loader": "6.5.1", - "esbuild": "0.14.22", - "esbuild-wasm": "0.14.22", - "glob": "7.2.0", - "https-proxy-agent": "5.0.0", - "inquirer": "8.2.0", - "jsonc-parser": "3.0.0", - "karma-source-map-support": "1.4.0", - "less": "4.1.2", - "less-loader": "10.2.0", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.5.3", - "minimatch": "3.0.5", - "open": "8.4.0", - "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", - "piscina": "3.2.0", - "postcss": "8.4.5", - "postcss-import": "14.0.2", - "postcss-loader": "6.2.1", - "postcss-preset-env": "7.2.3", - "regenerator-runtime": "0.13.9", - "resolve-url-loader": "5.0.0", - "rxjs": "6.6.7", - "sass": "1.49.9", - "sass-loader": "12.4.0", - "semver": "7.3.5", - "source-map-loader": "3.0.1", - "source-map-support": "0.5.21", - "stylus": "0.56.0", - "stylus-loader": "6.2.0", - "terser": "5.11.0", - "text-table": "0.2.0", - "tree-kill": "1.2.2", - "tslib": "2.3.1", - "webpack": "5.70.0", - "webpack-dev-middleware": "5.3.0", - "webpack-dev-server": "4.7.3", - "webpack-merge": "5.8.0", - "webpack-subresource-integrity": "5.1.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.16.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", - "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.12", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.10", - "@babel/types": "^7.16.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "core-js": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", - "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "sass": { - "version": "1.49.9", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", - "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "sass-loader": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", - "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" - } - }, - "webpack-dev-server": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", - "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", - "dev": true, - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.2.2", - "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.2", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "del": "^6.0.0", - "express": "^4.17.1", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "webpack-dev-middleware": "^5.3.0", - "ws": "^8.1.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.1303.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.7.tgz", - "integrity": "sha512-5vF399cPdwuCbzbxS4yNGgChdAzEM0/By21P0uiqBcIe/Zxuz3IUPapjvcyhkAo5OTu+d7smY9eusLHqoq1WFQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1303.7", - "rxjs": "6.6.7" - }, - "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@angular-devkit/core": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.7.tgz", - "integrity": "sha512-Ucy4bJmlgCoBenuVeGMdtW9dE8+cD+guWCgqexsFIG21KJ/l0ShZEZ/dGC1XibzaIs1HbKiTr/T1MOjInCV1rA==", - "dev": true, - "requires": { - "ajv": "8.9.0", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@angular-devkit/schematics": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.7.tgz", - "integrity": "sha512-6TKpFMwiiXmPhiVdbkSJrkBXj8n7SVVhsHl2GodDLVTb8OT3fxYIB9EU8Il07AMfDcjpydOcJduCFPOsQYd7BA==", - "dev": true, - "requires": { - "@angular-devkit/core": "13.3.7", - "jsonc-parser": "3.0.0", - "magic-string": "0.25.7", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "dependencies": { - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@angular/animations": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.10.tgz", - "integrity": "sha512-V/0h3xepWPBRjWroFXYrNIE3iZPREjv0hiB3gskF/2KLlx5jvpUWlaBx0rEYRa8XXIPJyAaKBGwWSBnT/Z88TQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/cdk": { - "version": "13.3.8", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.8.tgz", - "integrity": "sha512-ciLYoVxsqnA9hGJTUW74A56NjArYhFdqFYmVDimWWNYAgY7jY1gCfKq9UtixUErDi29FGSCWRbLuZ6w4q0NYnA==", - "requires": { - "parse5": "^5.0.0", - "tslib": "^2.3.0" - } - }, - "@angular/cli": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.7.tgz", - "integrity": "sha512-XIp0w0YOwhHp4Je3npHAs0W4rjHvFnG2w/lDO2M/UNp5634S4PRMFmVVMt6DQBj1cbffYVKFqffqesyCqNuvAQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1303.7", - "@angular-devkit/core": "13.3.7", - "@angular-devkit/schematics": "13.3.7", - "@schematics/angular": "13.3.7", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.3.3", - "ini": "2.0.0", - "inquirer": "8.2.0", - "jsonc-parser": "3.0.0", - "npm-package-arg": "8.1.5", - "npm-pick-manifest": "6.1.1", - "open": "8.4.0", - "ora": "5.4.1", - "pacote": "12.0.3", - "resolve": "1.22.0", - "semver": "7.3.5", - "symbol-observable": "4.0.0", - "uuid": "8.3.2" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@angular/common": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.10.tgz", - "integrity": "sha512-KWw91QzmCDZ6uq1Z58v7vQQ57Ux7A2UkPdIBOyvpOgtQPTvlvKsePkUVCC+dum+W9mOy4kq2falO5T7Gi7SJgw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.10.tgz", - "integrity": "sha512-DEtdso89Q9lAGkSVpSf2GrMtGVTnCnenCwLhubYaeSaj4iA/CAnUfNlaYBf9E92ltuPd85Mg9bIJKaxYCRH8RQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler-cli": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.10.tgz", - "integrity": "sha512-cGFQyUOxOLVnehczdP4L7KXbKQTe/aQgbXmacQYgqcP/AnpJs7QfZbw1/k1wJtXrhzbGBh3JSWnpme74bnF3dQ==", - "requires": { - "@babel/core": "^7.17.2", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.26.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, - "dependencies": { - "magic-string": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", - "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", - "requires": { - "sourcemap-codec": "^1.4.8" - } - } - } - }, - "@angular/core": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.10.tgz", - "integrity": "sha512-7jH1a5wZdE6Ki2Dow7s6v1/5SfUcXsjAu3n523QSDlM078QG0p95npcqPseO9mNftG9MfRqBE7sl1Nb+ZK7eBg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/flex-layout": { - "version": "13.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-13.0.0-beta.38.tgz", - "integrity": "sha512-kcWb7CcoHbvw7fjo/knizWVmSSmvaTnr8v1ML6zOdxu1PK9UPPOcOS8RTm6fy61zoC2LABivP1/6Z2jF5XfpdQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/forms": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.10.tgz", - "integrity": "sha512-2cREi8nvCdspYHk6KJ5xjIgq8Dgh/kfwPIVjpLQBZFNC03Q6GvOLVoVm8ye6ToOpQFjvjpjndqU93JXSLMANgA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/language-service": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.10.tgz", - "integrity": "sha512-TQwVIEFTWOlX9Jy2PhOT52Eo3ApNWSkjQavAuIU4uNQRCyoKMTywJ6MlQiQlMoWPH77Yn5EZyCwRoWFVWg3q0w==", - "dev": true - }, - "@angular/localize": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-13.3.10.tgz", - "integrity": "sha512-DNSOLJd8SkYHWKWyBm/piYnjurYRsgXTmWoVXTrfEuALEHxz3cwnVUPvoiWwJVMKklFr76D61pDY4mz5muPxog==", - "requires": { - "@babel/core": "7.17.2", - "glob": "7.2.0", - "yargs": "^17.2.1" - }, - "dependencies": { - "@babel/core": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.2.tgz", - "integrity": "sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==", - "requires": { - "@ampproject/remapping": "^2.0.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.2", - "@babel/parser": "^7.17.0", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", - "requires": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", - "jsesc": "^2.5.1" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@angular/material": { - "version": "13.3.8", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.8.tgz", - "integrity": "sha512-y+j4WphhDZXvqKwf/fNuR+QNkH13Qc0fp7//i98f8Gy3Za1NCCc5SfIoifQ7Xqwh2ZKbgnh6GTdtbT4zq+NjaQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/platform-browser": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.10.tgz", - "integrity": "sha512-zi0FrA8zZRiHLBfKlfIxikG06wMF2KcSp6oqrIblrc1VrHgPRVRABz8vryH84lasDssjYdIS9AvbQnCCdgCzJA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/platform-browser-dynamic": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.10.tgz", - "integrity": "sha512-hygsEjTaS+VDUrBZZiRJFo5J7AHCS/EcAc1IWvb69EnVqA9RwqM4hWbuy3y/cmLEeHLLmRldIlS6xRPt8fTNQg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/router": { - "version": "13.3.10", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.10.tgz", - "integrity": "sha512-neGaeiHravXlCbNbyGJecwQyu/91Pj/E9/ohVFzBBE4V9BrNx9v7Ntc4ugqgpnrV2wtonPP7TQDqXxrPk4QVfg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@assemblyscript/loader": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", - "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "requires": { - "@babel/highlight": "^7.16.7" - } - }, - "@babel/compat-data": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", - "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==" - }, - "@babel/core": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", - "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.2", - "@babel/parser": "^7.18.0", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", - "requires": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", - "jsesc": "^2.5.1" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", - "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", - "requires": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", - "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-member-expression-to-functions": "^7.17.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", - "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^5.0.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", - "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", - "requires": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", - "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", - "dev": true, - "requires": { - "@babel/types": "^7.17.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-module-transforms": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", - "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", - "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", - "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" - } - }, - "@babel/helper-replace-supers": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", - "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-member-expression-to-functions": "^7.17.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2" - } - }, - "@babel/helper-simple-access": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", - "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", - "requires": { - "@babel/types": "^7.18.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" - }, - "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==" - }, - "@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" - } - }, - "@babel/helpers": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", - "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", - "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.2", - "@babel/types": "^7.18.2" - } - }, - "@babel/highlight": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", - "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", - "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", - "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.17.12" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", - "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", - "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", - "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", - "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", - "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", - "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", - "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.17.12" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", - "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", - "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", - "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", - "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", - "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", - "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", - "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", - "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", - "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-replace-supers": "^7.18.2", - "@babel/helper-split-export-declaration": "^7.16.7", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", - "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", - "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", - "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", - "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", - "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", - "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", - "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-simple-access": "^7.18.2", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz", - "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-validator-identifier": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", - "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", - "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.17.12", - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", - "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", - "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", - "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", - "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", - "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", - "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", - "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", - "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/preset-env": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", - "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", - "@babel/plugin-proposal-async-generator-functions": "^7.17.12", - "@babel/plugin-proposal-class-properties": "^7.17.12", - "@babel/plugin-proposal-class-static-block": "^7.18.0", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.17.12", - "@babel/plugin-proposal-json-strings": "^7.17.12", - "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.18.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.17.12", - "@babel/plugin-proposal-private-methods": "^7.17.12", - "@babel/plugin-proposal-private-property-in-object": "^7.17.12", - "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.17.12", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.17.12", - "@babel/plugin-transform-async-to-generator": "^7.17.12", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.17.12", - "@babel/plugin-transform-classes": "^7.17.12", - "@babel/plugin-transform-computed-properties": "^7.17.12", - "@babel/plugin-transform-destructuring": "^7.18.0", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.17.12", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.18.1", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.17.12", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.18.0", - "@babel/plugin-transform-modules-commonjs": "^7.18.2", - "@babel/plugin-transform-modules-systemjs": "^7.18.0", - "@babel/plugin-transform-modules-umd": "^7.18.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", - "@babel/plugin-transform-new-target": "^7.17.12", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.17.12", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.18.0", - "@babel/plugin-transform-reserved-words": "^7.17.12", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.17.12", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.18.2", - "@babel/plugin-transform-typeof-symbol": "^7.17.12", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.2", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", - "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", - "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.17.12", - "@babel/helper-remap-async-to-generator": "^7.16.8" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/register": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", - "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - } - }, - "@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", - "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.18.0", - "@babel/types": "^7.18.2", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", - "requires": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", - "jsesc": "^2.5.1" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/types": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", - "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/selector-specificity": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.0.tgz", - "integrity": "sha512-rZ6vufeY/UjAgtyiJ4WvfF6XP6HizIyOfbZOg0RnecIwjrvH8Am3nN1BpKnnPZunYAkUcPPXDhwbxOtGop8cfQ==", - "dev": true, - "requires": {} - }, - "@cypress/request": { - "version": "2.88.10", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", - "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "http-signature": "~1.3.6", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" - } - }, - "@cypress/webpack-preprocessor": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.11.1.tgz", - "integrity": "sha512-kfdF+W/Tns81rFplnqlgZ+t6V+FJ7vegeQCYolLyhh0nJ8eG3s5HvV/ak/zSlbQnaOmAuYiZIChJFVZLUWuNOA==", - "dev": true, - "requires": { - "bluebird": "3.7.1", - "debug": "^4.3.2", - "lodash": "^4.17.20" - } - }, - "@cypress/xvfb": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", - "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "lodash.once": "^4.1.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz", - "integrity": "sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz", - "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", - "dev": true, - "requires": { - "@jest/console": "^28.1.1", - "@jest/reporters": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.0.2", - "jest-config": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-resolve-dependencies": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "jest-watcher": "^28.1.1", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz", - "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", - "dev": true, - "requires": { - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "jest-mock": "^28.1.1" - } - }, - "@jest/expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", - "dev": true, - "requires": { - "expect": "^28.1.1", - "jest-snapshot": "^28.1.1" - } - }, - "@jest/expect-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz", - "integrity": "sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==", - "dev": true, - "requires": { - "jest-get-type": "^28.0.2" - } - }, - "@jest/fake-timers": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz", - "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.1", - "@sinonjs/fake-timers": "^9.1.1", - "@types/node": "*", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" - } - }, - "@jest/globals": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz", - "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/types": "^28.1.1" - } - }, - "@jest/reporters": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz", - "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz", - "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.23.3" - } - }, - "@jest/source-map": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz", - "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.7", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz", - "integrity": "sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==", - "dev": true, - "requires": { - "@jest/console": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz", - "integrity": "sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==", - "dev": true, - "requires": { - "@jest/test-result": "^28.1.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz", - "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.1", - "@jridgewell/trace-mapping": "^0.3.7", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - } - } - }, - "@jest/types": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", - "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==" - }, - "@jridgewell/set-array": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "@ngtools/webpack": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.7.tgz", - "integrity": "sha512-KtNMHOGZIU2oaNTzk97ZNwTnJLbvnSpwyG3/+VW9xN92b2yw8gG9tHPKW2fsFrfzF9Mz8kqJeF31ftvkYuKtuA==", - "dev": true, - "requires": {} - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dev": true, - "requires": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "@npmcli/git": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", - "dev": true, - "requires": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" - } - }, - "@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", - "dev": true, - "requires": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "@npmcli/node-gyp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", - "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", - "dev": true - }, - "@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", - "dev": true, - "requires": { - "infer-owner": "^1.0.4" - } - }, - "@npmcli/run-script": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", - "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", - "dev": true, - "requires": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^8.2.0", - "read-package-json-fast": "^2.0.1" - }, - "dependencies": { - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dev": true, - "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - } - }, - "minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - } - }, - "node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - } - }, - "socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - } - } - }, - "@schematics/angular": { - "version": "13.3.7", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.7.tgz", - "integrity": "sha512-OAny1e/yliku52xG7vfWs1hNYSgCNTPpMv9fS8zz9eF5/GrKv28WFSy20mUXqLZ91VsbGSs6X0mI6pdNnpVtJA==", - "dev": true, - "requires": { - "@angular-devkit/core": "13.3.7", - "@angular-devkit/schematics": "13.3.7", - "jsonc-parser": "3.0.0" - } - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", - "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==", - "dev": true - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@swimlane/ngx-charts": { - "version": "20.1.0", - "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-20.1.0.tgz", - "integrity": "sha512-PY/X+eW+ZEvF3N1kuUVV5H3NHoFXlIWOvNnCKAs874yye//ttgfL/Qf9haHQpki5WIHQtpwn8xM1ylVEQT98bg==", - "requires": { - "@types/d3-shape": "^2.0.0", - "d3-array": "^2.9.1", - "d3-brush": "^2.1.0", - "d3-color": "^2.0.0", - "d3-format": "^2.0.0", - "d3-hierarchy": "^2.0.0", - "d3-interpolate": "^2.0.1", - "d3-scale": "^3.2.3", - "d3-selection": "^2.0.0", - "d3-shape": "^2.0.0", - "d3-time-format": "^3.0.0", - "d3-transition": "^2.0.0", - "tslib": "^2.0.0" - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/d3": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz", - "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==", - "dev": true, - "requires": { - "@types/d3-array": "*", - "@types/d3-axis": "*", - "@types/d3-brush": "*", - "@types/d3-chord": "*", - "@types/d3-color": "*", - "@types/d3-contour": "*", - "@types/d3-delaunay": "*", - "@types/d3-dispatch": "*", - "@types/d3-drag": "*", - "@types/d3-dsv": "*", - "@types/d3-ease": "*", - "@types/d3-fetch": "*", - "@types/d3-force": "*", - "@types/d3-format": "*", - "@types/d3-geo": "*", - "@types/d3-hierarchy": "*", - "@types/d3-interpolate": "*", - "@types/d3-path": "*", - "@types/d3-polygon": "*", - "@types/d3-quadtree": "*", - "@types/d3-random": "*", - "@types/d3-scale": "*", - "@types/d3-scale-chromatic": "*", - "@types/d3-selection": "*", - "@types/d3-shape": "*", - "@types/d3-time": "*", - "@types/d3-time-format": "*", - "@types/d3-timer": "*", - "@types/d3-transition": "*", - "@types/d3-zoom": "*" - } - }, - "@types/d3-array": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.3.tgz", - "integrity": "sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==", - "dev": true - }, - "@types/d3-axis": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.1.tgz", - "integrity": "sha512-zji/iIbdd49g9WN0aIsGcwcTBUkgLsCSwB+uH+LPVDAiKWENMtI3cJEWt+7/YYwelMoZmbBfzA3qCdrZ2XFNnw==", - "dev": true, - "requires": { - "@types/d3-selection": "*" - } - }, - "@types/d3-brush": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.1.tgz", - "integrity": "sha512-B532DozsiTuQMHu2YChdZU0qsFJSio3Q6jmBYGYNp3gMDzBmuFFgPt9qKA4VYuLZMp4qc6eX7IUFUEsvHiXZAw==", - "dev": true, - "requires": { - "@types/d3-selection": "*" - } - }, - "@types/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-eQfcxIHrg7V++W8Qxn6QkqBNBokyhdWSAS73AbkbMzvLQmVVBviknoz2SRS/ZJdIOmhcmmdCRE/NFOm28Z1AMw==", - "dev": true - }, - "@types/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==", - "dev": true - }, - "@types/d3-contour": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.1.tgz", - "integrity": "sha512-C3zfBrhHZvrpAAK3YXqLWVAGo87A4SvJ83Q/zVJ8rFWJdKejUnDYaWZPkA8K84kb2vDA/g90LTQAz7etXcgoQQ==", - "dev": true, - "requires": { - "@types/d3-array": "*", - "@types/geojson": "*" - } - }, - "@types/d3-delaunay": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz", - "integrity": "sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==", - "dev": true - }, - "@types/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-NhxMn3bAkqhjoxabVJWKryhnZXXYYVQxaBnbANu0O94+O/nX9qSjrA1P1jbAQJxJf+VC72TxDX/YJcKue5bRqw==", - "dev": true - }, - "@types/d3-drag": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.1.tgz", - "integrity": "sha512-o1Va7bLwwk6h03+nSM8dpaGEYnoIG19P0lKqlic8Un36ymh9NSkNFX1yiXMKNMx8rJ0Kfnn2eovuFaL6Jvj0zA==", - "dev": true, - "requires": { - "@types/d3-selection": "*" - } - }, - "@types/d3-dsv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.0.tgz", - "integrity": "sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==", - "dev": true - }, - "@types/d3-ease": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz", - "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==", - "dev": true - }, - "@types/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-toZJNOwrOIqz7Oh6Q7l2zkaNfXkfR7mFSJvGvlD/Ciq/+SQ39d5gynHJZ/0fjt83ec3WL7+u3ssqIijQtBISsw==", - "dev": true, - "requires": { - "@types/d3-dsv": "*" - } - }, - "@types/d3-force": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.3.tgz", - "integrity": "sha512-z8GteGVfkWJMKsx6hwC3SiTSLspL98VNpmvLpEFJQpZPq6xpA1I8HNBDNSpukfK0Vb0l64zGFhzunLgEAcBWSA==", - "dev": true - }, - "@types/d3-format": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.1.tgz", - "integrity": "sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==", - "dev": true - }, - "@types/d3-geo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.2.tgz", - "integrity": "sha512-DbqK7MLYA8LpyHQfv6Klz0426bQEf7bRTvhMy44sNGVyZoWn//B0c+Qbeg8Osi2Obdc9BLLXYAKpyWege2/7LQ==", - "dev": true, - "requires": { - "@types/geojson": "*" - } - }, - "@types/d3-hierarchy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.0.tgz", - "integrity": "sha512-g+sey7qrCa3UbsQlMZZBOHROkFqx7KZKvUpRzI/tAp/8erZWpYq7FgNKvYwebi2LaEiVs1klhUfd3WCThxmmWQ==", - "dev": true - }, - "@types/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==", - "dev": true, - "requires": { - "@types/d3-color": "*" - } - }, - "@types/d3-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz", - "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==", - "dev": true - }, - "@types/d3-polygon": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.0.tgz", - "integrity": "sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==", - "dev": true - }, - "@types/d3-quadtree": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz", - "integrity": "sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw==", - "dev": true - }, - "@types/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==", - "dev": true - }, - "@types/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==", - "dev": true, - "requires": { - "@types/d3-time": "*" - } - }, - "@types/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==", - "dev": true - }, - "@types/d3-selection": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.2.tgz", - "integrity": "sha512-d29EDd0iUBrRoKhPndhDY6U/PYxOWqgIZwKTooy2UkBfU7TNZNpRho0yLWPxlatQrFWk2mnTu71IZQ4+LRgKlQ==", - "dev": true - }, - "@types/d3-shape": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-2.1.3.tgz", - "integrity": "sha512-HAhCel3wP93kh4/rq+7atLdybcESZ5bRHDEZUojClyZWsRuEMo3A52NGYJSh48SxfxEU6RZIVbZL2YFZ2OAlzQ==", - "requires": { - "@types/d3-path": "^2" - }, - "dependencies": { - "@types/d3-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-2.0.2.tgz", - "integrity": "sha512-3YHpvDw9LzONaJzejXLOwZ3LqwwkoXb9LI2YN7Hbd6pkGo5nIlJ09ul4bQhBN4hQZJKmUpX8HkVqbzgUKY48cg==" - } - } - }, - "@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", - "dev": true - }, - "@types/d3-time-format": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.0.tgz", - "integrity": "sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw==", - "dev": true - }, - "@types/d3-timer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz", - "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==", - "dev": true - }, - "@types/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-Sv4qEI9uq3bnZwlOANvYK853zvpdKEm1yz9rcc8ZTsxvRklcs9Fx4YFuGA3gXoQN/c/1T6QkVNjhaRO/cWj94g==", - "dev": true, - "requires": { - "@types/d3-selection": "*" - } - }, - "@types/d3-zoom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.1.tgz", - "integrity": "sha512-7s5L9TjfqIYQmQQEUcpMAcBOahem7TRoSO/+Gkz02GbMVuULiZzjF2BOdw291dbO2aNon4m2OdFsRGaCq2caLQ==", - "dev": true, - "requires": { - "@types/d3-interpolate": "*", - "@types/d3-selection": "*" - } - }, - "@types/eslint": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", - "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/file-saver": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==", - "dev": true - }, - "@types/geojson": { - "version": "7946.0.8", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", - "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==", - "dev": true - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jasmine": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", - "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", - "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", - "dev": true, - "requires": { - "@types/jasmine": "*" - } - }, - "@types/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==", - "dev": true, - "requires": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, - "@types/jsdom": { - "version": "16.2.14", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz", - "integrity": "sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/parse5": "*", - "@types/tough-cookie": "*" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", - "dev": true - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "@types/node": { - "version": "17.0.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", - "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/parse5": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", - "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", - "dev": true - }, - "@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "@types/semver": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", - "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==", - "dev": true - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true - }, - "@types/sizzle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", - "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", - "dev": true - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz", - "integrity": "sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/type-utils": "5.27.0", - "@typescript-eslint/utils": "5.27.0", - "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.2.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.27.1.tgz", - "integrity": "sha512-Vd8uewIixGP93sEnmTRIH6jHZYRQRkGPDPpapACMvitJKX8335VHNyqKTE+mZ+m3E2c5VznTZfSsSsS5IF7vUA==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.27.1" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz", - "integrity": "sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.27.1", - "@typescript-eslint/visitor-keys": "5.27.1" - } - }, - "@typescript-eslint/types": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.1.tgz", - "integrity": "sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz", - "integrity": "sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.27.1", - "@typescript-eslint/visitor-keys": "5.27.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.1.tgz", - "integrity": "sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.27.1", - "@typescript-eslint/types": "5.27.1", - "@typescript-eslint/typescript-estree": "5.27.1", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.27.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz", - "integrity": "sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.27.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "@typescript-eslint/parser": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", - "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/typescript-estree": "5.27.0", - "debug": "^4.3.4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", - "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/visitor-keys": "5.27.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz", - "integrity": "sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.27.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "@typescript-eslint/types": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", - "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", - "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/visitor-keys": "5.27.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.0.tgz", - "integrity": "sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.27.0", - "@typescript-eslint/types": "5.27.0", - "@typescript-eslint/typescript-estree": "5.27.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", - "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.27.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "ace-builds": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.5.3.tgz", - "integrity": "sha512-WN5BKR2aTSuBmisO8jo3Fytk6sOmJGki82v/Boeic81IgYN8pFHNkXq2anDF0XkmfDWMqLbRoW9sjc/GtKzQbQ==" - }, - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "app-root-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", - "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", - "dev": true - }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha512-majUxHgLehQTeSA+hClx+DY09OVUqG3GtezWkF1krgLGNdlDu9l9V8DaqNMWbq4Eddc8wsyDA0hpDUtnYxQEXw==", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" - } - }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", - "dev": true, - "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.7" - } - }, - "axobject-query": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", - "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7" - } - }, - "babel-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz", - "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", - "dev": true, - "requires": { - "@jest/transform": "^28.1.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz", - "integrity": "sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz", - "integrity": "sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^28.1.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bent": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/bent/-/bent-7.3.12.tgz", - "integrity": "sha512-T3yrKnVGB63zRuoco/7Ybl7BwwGZR0lceoVG5XmQyMIH9s19SV5m+a8qam4if0zQuAmOQTyPTPmsQBdAorGK3w==", - "dev": true, - "requires": { - "bytesish": "^0.4.1", - "caseless": "~0.12.0", - "is-stream": "^2.0.0" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", - "dev": true - }, - "bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true - }, - "body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - } - } - }, - "bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", - "dev": true, - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.20.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", - "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", - "requires": { - "caniuse-lite": "^1.0.30001349", - "electron-to-chromium": "^1.4.147", - "escalade": "^3.1.1", - "node-releases": "^2.0.5", - "picocolors": "^1.0.0" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "dev": true - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", - "dev": true, - "peer": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true - }, - "bytesish": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz", - "integrity": "sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==", - "dev": true - }, - "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dev": true, - "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "caniuse-lite": { - "version": "1.0.30001350", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001350.tgz", - "integrity": "sha512-NZBql38Pzd+rAu5SPXv+qmTWGQuFsRiemHCJCAPvkoDxWV19/xqL2YHF32fDJ9SDLdLqfax8+S0CO3ncDCp9Iw==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", - "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", - "dev": true - }, - "circular-dependency-plugin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", - "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "dev": true, - "requires": {} - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true - }, - "cli-table3": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", - "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "requires": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "requires": { - "is-regexp": "^2.0.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "codelyzer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", - "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", - "dev": true, - "requires": { - "@angular/compiler": "9.0.0", - "@angular/core": "9.0.0", - "app-root-path": "^3.0.0", - "aria-query": "^3.0.0", - "axobject-query": "2.0.2", - "css-selector-tokenizer": "^0.7.1", - "cssauron": "^1.4.0", - "damerau-levenshtein": "^1.0.4", - "rxjs": "^6.5.3", - "semver-dsl": "^1.0.1", - "source-map": "^0.5.7", - "sprintf-js": "^1.1.2", - "tslib": "^1.10.0", - "zone.js": "~0.10.3" - }, - "dependencies": { - "@angular/compiler": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", - "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", - "dev": true, - "requires": {} - }, - "@angular/core": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", - "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", - "dev": true, - "requires": {} - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", - "dev": true - } - } - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true - }, - "colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", - "dev": true - }, - "colorette": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", - "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concurrently": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.2.1.tgz", - "integrity": "sha512-7cab/QyqipqghrVr9qZmoWbidu0nHsmxrpNqQ7r/67vfl1DWJElexehQnTH1p+87tDkihaAjM79xTZyBQh7HLw==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "shell-quote": "^1.7.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^17.3.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - } - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "requires": { - "is-what": "^3.14.1" - } - }, - "copy-webpack-plugin": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", - "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", - "dev": true, - "requires": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^12.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "requires": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "core-js": { - "version": "3.22.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.7.tgz", - "integrity": "sha512-Jt8SReuDKVNZnZEzyEQT5eK6T2RRCXkfTq7Lo09kpm+fHjgGewSbNjV+Wt4yZMhPDdzz2x1ulI5z/w4nxpBseg==" - }, - "core-js-compat": { - "version": "3.22.8", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.8.tgz", - "integrity": "sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg==", - "dev": true, - "requires": { - "browserslist": "^4.20.3", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "crop-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/crop-url/-/crop-url-4.0.1.tgz", - "integrity": "sha512-IO6+sIK5cy0jnG0k0/RvgGhlsCJo0xNLq7l4jIu2UedvpAJomOlVCyDtupqbffE5MYjHLJkba5lYnP/UqQJbpQ==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-functions-list": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", - "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", - "dev": true - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", - "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true, - "requires": {} - }, - "css-rule-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz", - "integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==", - "dev": true, - "requires": { - "css-tokenize": "^1.0.1", - "duplexer2": "0.0.2", - "ldjson-stream": "^1.2.1", - "through2": "^0.6.3" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } - } - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-selector-tokenizer": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", - "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" - } - }, - "css-tokenize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz", - "integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^1.0.33" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true - }, - "cssauron": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha512-Ht70DcFBh+/ekjVrYS2PlDMdSQEl3OFNmjK6lcn49HptBgilXf/Zwg4uFh9Xn0pX3Q8YOkSjIFOfK2osvdqpBw==", - "dev": true, - "requires": { - "through": "X.X.X" - } - }, - "cssdb": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-5.1.0.tgz", - "integrity": "sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "cypress": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", - "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", - "dev": true, - "requires": { - "@cypress/request": "^2.88.10", - "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", - "@types/sinonjs__fake-timers": "8.1.1", - "@types/sizzle": "^2.3.2", - "arch": "^2.2.0", - "blob-util": "^2.0.2", - "bluebird": "^3.7.2", - "buffer": "^5.6.0", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", - "commander": "^5.1.0", - "common-tags": "^1.8.0", - "dayjs": "^1.10.4", - "debug": "^4.3.2", - "enquirer": "^2.3.6", - "eventemitter2": "^6.4.3", - "execa": "4.1.0", - "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", - "fs-extra": "^9.1.0", - "getos": "^3.2.1", - "is-ci": "^3.0.0", - "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", - "listr2": "^3.8.3", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "minimist": "^1.2.6", - "ospath": "^1.2.2", - "pretty-bytes": "^5.6.0", - "proxy-from-env": "1.0.0", - "request-progress": "^3.0.0", - "semver": "^7.3.2", - "supports-color": "^8.1.1", - "tmp": "~0.2.1", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "dependencies": { - "@types/node": { - "version": "14.18.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz", - "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "cypress-fail-fast": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cypress-fail-fast/-/cypress-fail-fast-4.0.0.tgz", - "integrity": "sha512-/8Wjk4TETwPjv8iVThAoZFEYQxNpNqHuRE2Bofv7sCLSUywLGMTyq0DhlN8LJY9wY+D37GuJeoaXwiEeI8J0fQ==", - "dev": true, - "requires": { - "chalk": "4.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "d3": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-6.7.0.tgz", - "integrity": "sha512-hNHRhe+yCDLUG6Q2LwvR/WdNFPOJQ5VWqsJcwIYVeI401+d2/rrCjxSXkiAdIlpx7/73eApFB4Olsmh3YN7a6g==", - "requires": { - "d3-array": "2", - "d3-axis": "2", - "d3-brush": "2", - "d3-chord": "2", - "d3-color": "2", - "d3-contour": "2", - "d3-delaunay": "5", - "d3-dispatch": "2", - "d3-drag": "2", - "d3-dsv": "2", - "d3-ease": "2", - "d3-fetch": "2", - "d3-force": "2", - "d3-format": "2", - "d3-geo": "2", - "d3-hierarchy": "2", - "d3-interpolate": "2", - "d3-path": "2", - "d3-polygon": "2", - "d3-quadtree": "2", - "d3-random": "2", - "d3-scale": "3", - "d3-scale-chromatic": "2", - "d3-selection": "2", - "d3-shape": "2", - "d3-time": "2", - "d3-time-format": "3", - "d3-timer": "2", - "d3-transition": "2", - "d3-zoom": "2" - } - }, - "d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", - "requires": { - "internmap": "^1.0.0" - } - }, - "d3-axis": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz", - "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==" - }, - "d3-brush": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-2.1.0.tgz", - "integrity": "sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==", - "requires": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" - } - }, - "d3-chord": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-2.0.0.tgz", - "integrity": "sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==", - "requires": { - "d3-path": "1 - 2" - } - }, - "d3-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", - "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" - }, - "d3-contour": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-2.0.0.tgz", - "integrity": "sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==", - "requires": { - "d3-array": "2" - } - }, - "d3-delaunay": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.3.0.tgz", - "integrity": "sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==", - "requires": { - "delaunator": "4" - } - }, - "d3-dispatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", - "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" - }, - "d3-drag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", - "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", - "requires": { - "d3-dispatch": "1 - 2", - "d3-selection": "2" - } - }, - "d3-dsv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", - "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", - "requires": { - "commander": "2", - "iconv-lite": "0.4", - "rw": "1" - } - }, - "d3-ease": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", - "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" - }, - "d3-fetch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-2.0.0.tgz", - "integrity": "sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==", - "requires": { - "d3-dsv": "1 - 2" - } - }, - "d3-force": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", - "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", - "requires": { - "d3-dispatch": "1 - 2", - "d3-quadtree": "1 - 2", - "d3-timer": "1 - 2" - } - }, - "d3-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", - "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" - }, - "d3-geo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", - "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", - "requires": { - "d3-array": "^2.5.0" - } - }, - "d3-hierarchy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz", - "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==" - }, - "d3-interpolate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", - "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", - "requires": { - "d3-color": "1 - 2" - } - }, - "d3-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", - "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" - }, - "d3-polygon": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", - "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==" - }, - "d3-quadtree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", - "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" - }, - "d3-random": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-2.2.2.tgz", - "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" - }, - "d3-scale": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", - "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", - "requires": { - "d3-array": "^2.3.0", - "d3-format": "1 - 2", - "d3-interpolate": "1.2.0 - 2", - "d3-time": "^2.1.1", - "d3-time-format": "2 - 3" - } - }, - "d3-scale-chromatic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz", - "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==", - "requires": { - "d3-color": "1 - 2", - "d3-interpolate": "1 - 2" - } - }, - "d3-selection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", - "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" - }, - "d3-shape": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", - "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", - "requires": { - "d3-path": "1 - 2" - } - }, - "d3-time": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", - "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", - "requires": { - "d3-array": "2" - } - }, - "d3-time-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", - "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", - "requires": { - "d3-time": "1 - 2" - } - }, - "d3-timer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", - "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" - }, - "d3-transition": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", - "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", - "requires": { - "d3-color": "1 - 2", - "d3-dispatch": "1 - 2", - "d3-ease": "1 - 2", - "d3-interpolate": "1 - 2", - "d3-timer": "1 - 2" - } - }, - "d3-zoom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", - "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", - "requires": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" - } - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - } - } - }, - "date-fns": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", - "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", - "dev": true - }, - "dayjs": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", - "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==", - "dev": true - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - } - } - }, - "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", - "dev": true - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - }, - "dependencies": { - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, - "delaunator": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", - "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true - }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", - "dev": true - }, - "dns-packet": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.1.tgz", - "integrity": "sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==", - "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "doiuse": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/doiuse/-/doiuse-4.4.1.tgz", - "integrity": "sha512-TUpr1/YNg20IB09tZmwGCTsTQoxj8jUld/hUZprZMj8vj0VpAJySXEWCr8WMvqvgzk0/kG/FxeSMGKode4UjPg==", - "dev": true, - "requires": { - "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001179", - "css-rule-stream": "^1.1.0", - "duplexer2": "0.0.2", - "ldjson-stream": "^1.2.1", - "multimatch": "^5.0.0", - "postcss": "^8.2.4", - "source-map": "^0.7.3", - "through2": "^4.0.2", - "yargs": "^16.2.0" - }, - "dependencies": { - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==", - "dev": true, - "requires": { - "readable-stream": "~1.1.9" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==", - "dev": true - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "dev": true, - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.148", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.148.tgz", - "integrity": "sha512-8MJk1bcQUAYkuvCyWZxaldiwoDG0E0AMzBGA6cv3WfuvJySiPgfidEPBFCRRH3cZm6SVZwo/oRlK1ehi1QNEIQ==" - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", - "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "esbuild": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.22.tgz", - "integrity": "sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA==", - "dev": true, - "optional": true, - "requires": { - "esbuild-android-arm64": "0.14.22", - "esbuild-darwin-64": "0.14.22", - "esbuild-darwin-arm64": "0.14.22", - "esbuild-freebsd-64": "0.14.22", - "esbuild-freebsd-arm64": "0.14.22", - "esbuild-linux-32": "0.14.22", - "esbuild-linux-64": "0.14.22", - "esbuild-linux-arm": "0.14.22", - "esbuild-linux-arm64": "0.14.22", - "esbuild-linux-mips64le": "0.14.22", - "esbuild-linux-ppc64le": "0.14.22", - "esbuild-linux-riscv64": "0.14.22", - "esbuild-linux-s390x": "0.14.22", - "esbuild-netbsd-64": "0.14.22", - "esbuild-openbsd-64": "0.14.22", - "esbuild-sunos-64": "0.14.22", - "esbuild-windows-32": "0.14.22", - "esbuild-windows-64": "0.14.22", - "esbuild-windows-arm64": "0.14.22" - } - }, - "esbuild-android-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz", - "integrity": "sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz", - "integrity": "sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz", - "integrity": "sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz", - "integrity": "sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz", - "integrity": "sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz", - "integrity": "sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz", - "integrity": "sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz", - "integrity": "sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz", - "integrity": "sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz", - "integrity": "sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz", - "integrity": "sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz", - "integrity": "sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz", - "integrity": "sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz", - "integrity": "sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz", - "integrity": "sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz", - "integrity": "sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g==", - "dev": true, - "optional": true - }, - "esbuild-wasm": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz", - "integrity": "sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw==", - "dev": true - }, - "esbuild-windows-32": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz", - "integrity": "sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz", - "integrity": "sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.14.22", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz", - "integrity": "sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg==", - "dev": true, - "optional": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", - "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", - "dev": true, - "requires": {} - }, - "eslint-etc": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-etc/-/eslint-etc-5.1.0.tgz", - "integrity": "sha512-Rmjl01h5smi5cbsFne2xpTuch2xNnwXiX2lbS4HttXUN5FwXKAwG1UEFBVGO1nC091YO/QyVahyfNPJSX2ae+g==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0", - "tsutils": "^3.17.1", - "tsutils-etc": "^1.4.1" - } - }, - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-rxjs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-rxjs/-/eslint-plugin-rxjs-5.0.2.tgz", - "integrity": "sha512-Q2wsEHWInhZ3uz5df+YbD4g/NPQqAeYHjJuEsxqgVS+XAsYCuVE2pj9kADdMFy4GsQy2jt7KP+TOrnq1i6bI5Q==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0", - "common-tags": "^1.8.0", - "decamelize": "^5.0.0", - "eslint-etc": "^5.1.0", - "requireindex": "~1.2.0", - "rxjs-report-usage": "^1.0.4", - "tslib": "^2.0.0", - "tsutils": "^3.0.0", - "tsutils-etc": "^1.4.1" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", - "dev": true, - "requires": { - "acorn": "^8.7.1", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true - }, - "eventemitter-asyncresource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", - "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", - "dev": true - }, - "eventemitter2": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", - "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==" - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "execall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "requires": { - "clone-regexp": "^2.1.0" - } - }, - "executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "requires": { - "pify": "^2.2.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz", - "integrity": "sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==", - "dev": true, - "requires": { - "@jest/expect-utils": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - } - }, - "jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - } - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.10.3", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-saver": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "requires": { - "minimatch": "^5.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", - "dev": true, - "requires": { - "async": "^3.2.0" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-describe": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-describe/-/git-describe-4.1.1.tgz", - "integrity": "sha512-JC8ganO5kO80G8+XE98TDDjnMXQN3Estk3qdJuG2EGRF/l6zuMTMcN+8OSfQZ5FWpqIRLB015anWX4aSRgnxAQ==", - "dev": true, - "requires": { - "@types/semver": "^7.3.8", - "lodash": "^4.17.21", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "optional": true - } - } - }, - "gitignore-to-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz", - "integrity": "sha512-mk74BdnK7lIwDHnotHddx1wsjMOFIThpLY3cPNniJ/2fA/tlLzHnFxIdR+4sLOu5KGgQJdij4kjJ2RoUNnCNMA==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dev": true, - "requires": { - "ini": "2.0.0" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dev": true - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "gts": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/gts/-/gts-3.1.0.tgz", - "integrity": "sha512-Pbj3ob1VR1IRlEVEBNtKoQ1wHOa8cZz62KEojK8Fn/qeS2ClWI4gLNfhek3lD68aZSmUEg8TFb6AHXIwUMgyqQ==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "^4.2.0", - "@typescript-eslint/parser": "^4.2.0", - "chalk": "^4.1.0", - "eslint": "^7.10.0", - "eslint-config-prettier": "^7.0.0", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.1.4", - "execa": "^5.0.0", - "inquirer": "^7.3.3", - "json5": "^2.1.3", - "meow": "^9.0.0", - "ncp": "^2.0.0", - "prettier": "^2.1.2", - "rimraf": "^3.0.2", - "update-notifier": "^5.0.0", - "write-file-atomic": "^3.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" - } - }, - "@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } - } - }, - "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, - "hdr-histogram-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", - "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", - "dev": true, - "requires": { - "@assemblyscript/loader": "^0.10.1", - "base64-js": "^1.2.0", - "pako": "^1.0.3" - } - }, - "hdr-histogram-percentiles-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", - "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", - "dev": true - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-tags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", - "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", - "dev": true - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", - "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - } - } - }, - "http-signature": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.14.1" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "husky": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", - "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "ignore-walk": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", - "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true - }, - "immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } - } - }, - "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true - }, - "inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" - }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", - "dev": true - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "requires": { - "ci-info": "^3.2.0" - } - }, - "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dev": true, - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jasmine-core": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", - "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", - "dev": true - }, - "jasmine-spec-reporter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz", - "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==", - "dev": true, - "requires": { - "colors": "1.4.0" - } - }, - "jest": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.0.tgz", - "integrity": "sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==", - "dev": true, - "requires": { - "@jest/core": "^28.1.0", - "import-local": "^3.0.2", - "jest-cli": "^28.1.0" - } - }, - "jest-changed-files": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz", - "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "dependencies": { - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - } - } - }, - "jest-circus": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz", - "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.1", - "@jest/expect": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - } - }, - "jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - } - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz", - "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", - "dev": true, - "requires": { - "@jest/core": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz", - "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.1", - "@jest/types": "^28.1.1", - "babel-jest": "^28.1.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-runner": "^28.1.1", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz", - "integrity": "sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==", - "dev": true, - "requires": { - "@jest/types": "^28.1.1", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.1", - "pretty-format": "^28.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.1.tgz", - "integrity": "sha512-41ZvgSoPNcKG5q3LuuOcAczdBxRq9DbZkPe24okN6ZCmiZdAfFtPg3z+lOtsT1fM6OAERApKT+3m0MRDQH2zIA==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/jsdom": "^16.2.4", - "@types/node": "*", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1", - "jsdom": "^19.0.0" - } - }, - "jest-environment-node": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz", - "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "jest-mock": "^28.1.1", - "jest-util": "^28.1.1" - } - }, - "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true - }, - "jest-haste-map": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz", - "integrity": "sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==", - "dev": true, - "requires": { - "@jest/types": "^28.1.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.1", - "jest-worker": "^28.1.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz", - "integrity": "sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==", - "dev": true, - "requires": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz", - "integrity": "sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz", - "integrity": "sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==", - "dev": true, - "requires": { - "@jest/types": "^28.1.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-preset-angular": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-12.0.1.tgz", - "integrity": "sha512-/3tpZTOhBE2Qmdga9jRTGu3OxgRfAzg2xDxtVSvR1SZvFZLHRik6jw+NznuirXtchgcYGt4tBE0wPDTJvtUeDw==", - "dev": true, - "requires": { - "bs-logger": "^0.2.6", - "esbuild": ">=0.13.8", - "esbuild-wasm": ">=0.13.8", - "jest-environment-jsdom": "^28.0.0", - "pretty-format": "^28.0.0", - "ts-jest": "^28.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - } - } - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "dev": true - }, - "jest-resolve": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz", - "integrity": "sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.1", - "jest-validate": "^28.1.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", - "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", - "dev": true, - "requires": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.1" - } - }, - "jest-runner": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz", - "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", - "dev": true, - "requires": { - "@jest/console": "^28.1.1", - "@jest/environment": "^28.1.1", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.1", - "jest-haste-map": "^28.1.1", - "jest-leak-detector": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-resolve": "^28.1.1", - "jest-runtime": "^28.1.1", - "jest-util": "^28.1.1", - "jest-watcher": "^28.1.1", - "jest-worker": "^28.1.1", - "source-map-support": "0.5.13", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz", - "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.1", - "@jest/fake-timers": "^28.1.1", - "@jest/globals": "^28.1.1", - "@jest/source-map": "^28.0.2", - "@jest/test-result": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-mock": "^28.1.1", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.1", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-snapshot": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz", - "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.1", - "@jest/transform": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.1", - "jest-matcher-utils": "^28.1.1", - "jest-message-util": "^28.1.1", - "jest-util": "^28.1.1", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.1", - "semver": "^7.3.5" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-diff": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", - "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - } - }, - "jest-matcher-utils": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", - "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.1" - } - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz", - "integrity": "sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==", - "dev": true, - "requires": { - "@jest/types": "^28.1.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz", - "integrity": "sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==", - "dev": true, - "requires": { - "@jest/types": "^28.1.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "pretty-format": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", - "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", - "dev": true, - "requires": { - "@jest/schemas": "^28.0.2", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "react-is": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", - "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz", - "integrity": "sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==", - "dev": true, - "requires": { - "@jest/test-result": "^28.1.1", - "@jest/types": "^28.1.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", - "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-beautify": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", - "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", - "dev": true, - "requires": { - "config-chain": "^1.1.13", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "nopt": "^5.0.0" - } - }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "jsdom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", - "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.5.0", - "acorn-globals": "^6.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.1", - "decimal.js": "^10.3.1", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^3.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0", - "ws": "^8.2.3", - "xml-name-validator": "^4.0.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - }, - "jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true - }, - "jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" - }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "requires": { - "source-map-support": "^0.5.5" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "dev": true - }, - "known-css-properties": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", - "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", - "dev": true - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } - }, - "lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true - }, - "ldjson-stream": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz", - "integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==", - "dev": true, - "requires": { - "split2": "^0.2.1", - "through2": "^0.6.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } - } - }, - "less": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.2.tgz", - "integrity": "sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==", - "dev": true, - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^2.5.2", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "less-loader": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", - "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", - "dev": true, - "requires": { - "klona": "^2.0.4" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "license-check-and-add": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.5.tgz", - "integrity": "sha512-FySnMi3Kf/vO5jka8tcbVF1FhDFb8PWsQ8pg5Y7U/zkQgta+fIrJGcGHO58WFjfKlgvhneG1uQ00Fpxzhau3QA==", - "dev": true, - "requires": { - "fs-extra": "^8.1.0", - "gitignore-to-glob": "^0.3.0", - "globby": "^10.0.1", - "ignore": "^5.1.2", - "yargs": "^13.3.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "requires": { - "webpack-sources": "^3.0.0" - } - }, - "lilconfig": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", - "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", - "dev": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "lint-staged": { - "version": "12.4.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.3.tgz", - "integrity": "sha512-eH6SKOmdm/ZwCRMTZAmM3q3dPkpq6vco/BfrOw8iGun4Xs/thYegPD/MLIwKO+iPkzibkLJuQcRhRLXKvaKreg==", - "dev": true, - "requires": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^9.3.0", - "debug": "^4.3.4", - "execa": "^5.1.1", - "lilconfig": "2.0.5", - "listr2": "^4.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.5.0", - "string-argv": "^0.3.1", - "supports-color": "^9.2.2", - "yaml": "^1.10.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", - "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", - "dev": true, - "requires": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.5", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - } - } - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "supports-color": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.2.tgz", - "integrity": "sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==", - "dev": true - } - } - }, - "listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, - "requires": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - } - } - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true - }, - "loader-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", - "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "make-fetch-happen": { - "version": "10.1.7", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz", - "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==", - "dev": true, - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "dependencies": { - "@npmcli/fs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", - "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", - "dev": true, - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, - "@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", - "dev": true, - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^1.1.1" - } - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "lru-cache": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", - "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==", - "dev": true - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - } - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "material-design-icons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", - "integrity": "sha512-t19Z+QZBwSZulxptEu05kIm+UyfIdJY1JDwI+nx02j269m6W414whiQz9qfvQIiLrdx71RQv+T48nHhuQXOCIQ==" - }, - "mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true - }, - "memfs": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", - "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", - "dev": true, - "requires": { - "fs-monkey": "1.0.3" - } - }, - "meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz", - "integrity": "sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==", - "dev": true, - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-fetch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", - "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "dev": true, - "requires": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", - "dev": true - }, - "multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "ncp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", - "dev": true - }, - "needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "ng-extract-i18n-merge": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-1.4.0.tgz", - "integrity": "sha512-Nj2Q4rycroY9E7BB99rAMbn3fSAZVwiUO5ssUVHfQPps5ysfwQ7zv/4aqNbH2Sy45tZqGjbBkiaaAh2TiD1Mcw==", - "dev": true, - "requires": { - "@angular-devkit/architect": "^0.1301.0", - "@angular-devkit/core": "^13.0.0", - "@angular-devkit/schematics": "^13.0.0", - "@schematics/angular": "^13.0.0", - "xliff-simple-merge": "~0.12.0", - "xml_normalize": "~0.8.3", - "xmldoc": "~1.1.2" - }, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.1301.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz", - "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==", - "dev": true, - "requires": { - "@angular-devkit/core": "13.1.4", - "rxjs": "6.6.7" - } - }, - "@angular-devkit/core": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz", - "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==", - "dev": true, - "requires": { - "ajv": "8.8.2", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "ng-in-viewport": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ng-in-viewport/-/ng-in-viewport-13.0.1.tgz", - "integrity": "sha512-RLOiT5AY8ypFuNCdif1aGG5Fx2INoG2+1b+CGJLhk0lPMLFyCVhmnma3Mq4M7TnwO+plNmqAfbu60usZF2zZ3g==", - "requires": { - "tslib": "^2.1.0" - } - }, - "ngx-cookie-service": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-13.2.1.tgz", - "integrity": "sha512-whl7sYcSlAmPa12zoBfBeSn+9ENxRjKAzuwRPRTL6Oe/f9dtSui2lBmOgoPfSD1umiTV38JpJee9nu3WbGsgwg==", - "requires": { - "tslib": "^2.0.0" - } - }, - "ngx-pipes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ngx-pipes/-/ngx-pipes-3.0.0.tgz", - "integrity": "sha512-JK1E/QqVceCkEBoRQoZriR5GZEDd5aTC/+Zv9UlUbIRAzeSfA18n8XYJKLM3rpy8Y4uGBU1pAp0pvvdJiK/XDA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", - "dev": true, - "optional": true, - "requires": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, - "node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true - }, - "node-gyp": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz", - "integrity": "sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - } - }, - "node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "dev": true, - "optional": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", - "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==" - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true - }, - "normalize.css": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", - "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" - }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", - "dev": true, - "requires": { - "semver": "^7.1.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-packlist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", - "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", - "dev": true, - "requires": { - "glob": "^7.1.6", - "ignore-walk": "^4.0.1", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", - "dev": true, - "requires": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" - } - }, - "npm-registry-fetch": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", - "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", - "dev": true, - "requires": { - "make-fetch-happen": "^10.0.1", - "minipass": "^3.1.6", - "minipass-fetch": "^1.4.1", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^8.1.5" - }, - "dependencies": { - "minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - } - } - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true - }, - "ospath": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dev": true, - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "dependencies": { - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - } - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "pacote": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", - "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", - "dev": true, - "requires": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^12.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true - }, - "parse5-html-rewriting-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", - "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", - "dev": true, - "requires": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } - } - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } - } - }, - "parse5-sax-parser": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", - "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", - "dev": true, - "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pidtree": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz", - "integrity": "sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true - }, - "piscina": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", - "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", - "dev": true, - "requires": { - "eventemitter-asyncresource": "^1.0.0", - "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0", - "nice-napi": "^1.0.2" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - } - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, - "requires": { - "nanoid": "^3.1.30", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" - } - }, - "postcss-attribute-case-insensitive": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz", - "integrity": "sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz", - "integrity": "sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-hex-alpha": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz", - "integrity": "sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz", - "integrity": "sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-properties": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz", - "integrity": "sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz", - "integrity": "sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-double-position-gradients": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz", - "integrity": "sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true, - "requires": {} - }, - "postcss-gap-properties": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", - "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", - "dev": true, - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz", - "integrity": "sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", - "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true, - "requires": {} - }, - "postcss-lab-function": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz", - "integrity": "sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true, - "requires": {} - }, - "postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true, - "requires": {} - }, - "postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-nesting": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.8.tgz", - "integrity": "sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ==", - "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-overflow-shorthand": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", - "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", - "dev": true, - "requires": {} - }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true, - "requires": {} - }, - "postcss-place": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.4.tgz", - "integrity": "sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz", - "integrity": "sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA==", - "dev": true, - "requires": { - "autoprefixer": "^10.4.2", - "browserslist": "^4.19.1", - "caniuse-lite": "^1.0.30001299", - "css-blank-pseudo": "^3.0.2", - "css-has-pseudo": "^3.0.3", - "css-prefers-color-scheme": "^6.0.2", - "cssdb": "^5.0.0", - "postcss-attribute-case-insensitive": "^5.0.0", - "postcss-color-functional-notation": "^4.2.1", - "postcss-color-hex-alpha": "^8.0.2", - "postcss-color-rebeccapurple": "^7.0.2", - "postcss-custom-media": "^8.0.0", - "postcss-custom-properties": "^12.1.2", - "postcss-custom-selectors": "^6.0.0", - "postcss-dir-pseudo-class": "^6.0.3", - "postcss-double-position-gradients": "^3.0.4", - "postcss-env-function": "^4.0.4", - "postcss-focus-visible": "^6.0.3", - "postcss-focus-within": "^5.0.3", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.2", - "postcss-image-set-function": "^4.0.4", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.0.3", - "postcss-logical": "^5.0.3", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.2", - "postcss-overflow-shorthand": "^3.0.2", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.3", - "postcss-pseudo-class-any-link": "^7.0.2", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^5.0.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz", - "integrity": "sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true, - "requires": {} - }, - "postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", - "dev": true - }, - "postcss-safe-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", - "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true, - "requires": {} - }, - "postcss-scss": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", - "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", - "dev": true, - "requires": {} - }, - "postcss-selector-not": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz", - "integrity": "sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-sorting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz", - "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", - "dev": true, - "requires": {} - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "dev": true - }, - "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } - } - }, - "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - } - } - }, - "raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "requires": { - "pify": "^2.3.0" - } - }, - "read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", - "dev": true, - "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "regexpu-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", - "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", - "dev": true, - "requires": { - "throttleit": "^1.0.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "requireindex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", - "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "roboto-fontface": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz", - "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==" - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-node": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/run-node/-/run-node-2.0.0.tgz", - "integrity": "sha512-M024oSKOfXRbBZ4dzWeS4mZfLlkVrLbR+02lSno344whh60hFN7qjWnf3QXm/JePD9CR7W4gRe9tt4H/2PGkcw==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, - "rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "requires": { - "tslib": "^2.1.0" - } - }, - "rxjs-compat": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.6.7.tgz", - "integrity": "sha512-szN4fK+TqBPOFBcBcsR0g2cmTTUF/vaFEOZNuSdfU8/pGFnNmmn2u8SystYXG1QMrjOPBc6XTKHMVfENDf6hHw==" - }, - "rxjs-report-usage": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/rxjs-report-usage/-/rxjs-report-usage-1.0.6.tgz", - "integrity": "sha512-omv1DIv5z1kV+zDAEjaDjWSkx8w5TbFp5NZoPwUipwzYVcor/4So9ZU3bUyQ1c8lxY5Q0Es/ztWW7PGjY7to0Q==", - "dev": true, - "requires": { - "@babel/parser": "^7.10.3", - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3", - "bent": "~7.3.6", - "chalk": "~4.1.0", - "glob": "~7.2.0", - "prompts": "~2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass": { - "version": "1.52.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz", - "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "sass-loader": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.0.tgz", - "integrity": "sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", - "dev": true, - "requires": { - "node-forge": "^1" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "semver-dsl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", - "integrity": "sha512-e8BOaTo007E3dMuQQTnPdalbKTABKNS7UxoBIDnwOqRa+QwMrCPjynB8zAlPF6xlqUfdLPPLIJ13hJNmhtq8Ng==", - "dev": true, - "requires": { - "semver": "^5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", - "dev": true - } - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", - "requires": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "socks": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", - "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, - "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "source-map-explorer": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.2.tgz", - "integrity": "sha512-gBwOyCcHPHcdLbgw6Y6kgoH1uLKL6hN3zz0xJcNI2lpnElZliIlmSYAjUVwAWnc7+HscoTyh1ScR7ITtFuEnxg==", - "dev": true, - "requires": { - "btoa": "^1.2.1", - "chalk": "^4.1.0", - "convert-source-map": "^1.7.0", - "ejs": "^3.1.5", - "escape-html": "^1.0.3", - "glob": "^7.1.6", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "open": "^7.3.1", - "source-map": "^0.7.3", - "temp": "^0.9.4", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "source-map-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", - "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "specificity": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", - "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", - "dev": true - }, - "split2": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz", - "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=", - "dev": true, - "requires": { - "through2": "~0.6.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } - } - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "stylelint": { - "version": "14.8.5", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.5.tgz", - "integrity": "sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ==", - "dev": true, - "requires": { - "balanced-match": "^2.0.0", - "colord": "^2.9.2", - "cosmiconfig": "^7.0.1", - "css-functions-list": "^3.0.1", - "debug": "^4.3.4", - "execall": "^2.0.0", - "fast-glob": "^3.2.11", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.2.0", - "ignore": "^5.2.0", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.25.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.14", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.10", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "style-search": "^0.1.0", - "supports-hyperlinks": "^2.2.0", - "svg-tags": "^1.0.0", - "table": "^6.8.0", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "dev": true, - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - } - } - }, - "stylelint-config-recommended": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", - "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", - "dev": true, - "requires": {} - }, - "stylelint-config-recommended-scss": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-6.0.0.tgz", - "integrity": "sha512-6QOe2/OzXV2AP5FE12A7+qtKdZik7Saf42SMMl84ksVBBPpTdrV+9HaCbPYiRMiwELY9hXCVdH4wlJ+YJb5eig==", - "dev": true, - "requires": { - "postcss-scss": "^4.0.2", - "stylelint-config-recommended": "^7.0.0", - "stylelint-scss": "^4.0.0" - } - }, - "stylelint-config-standard": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", - "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", - "dev": true, - "requires": { - "stylelint-config-recommended": "^7.0.0" - } - }, - "stylelint-config-standard-scss": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-4.0.0.tgz", - "integrity": "sha512-xizu8PTEyB6zYXBiVg6VtvUYn9m57x+6ZtaOdaxsfpbe5eagLPGNlbYnKfm/CfN69ArUpnwR6LjgsTHzlGbtXQ==", - "dev": true, - "requires": { - "stylelint-config-recommended-scss": "^6.0.0", - "stylelint-config-standard": "^25.0.0" - } - }, - "stylelint-no-unsupported-browser-features": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-5.0.3.tgz", - "integrity": "sha512-FqfbOTk5UEkHsAKOkPH6SvajsfO9YuoWvKxd34tCRBZug9ZNeaPn141nyWkd+ncc8S1gVmO2+O6qVAMj9bvWww==", - "dev": true, - "requires": { - "doiuse": "^4.4.1", - "lodash": "^4.17.15", - "postcss": "^8.3.6" - } - }, - "stylelint-order": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz", - "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==", - "dev": true, - "requires": { - "postcss": "^8.3.11", - "postcss-sorting": "^7.0.1" - } - }, - "stylelint-scss": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.2.0.tgz", - "integrity": "sha512-HHHMVKJJ5RM9pPIbgJ/XA67h9H0407G68Rm69H4fzFbFkyDMcTV1Byep3qdze5+fJ3c0U7mJrbj6S0Fg072uZA==", - "dev": true, - "requires": { - "lodash": "^4.17.21", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.6", - "postcss-value-parser": "^4.1.0" - } - }, - "stylus": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", - "integrity": "sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA==", - "dev": true, - "requires": { - "css": "^3.0.0", - "debug": "^4.3.2", - "glob": "^7.1.6", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "source-map": "^0.7.3" - } - }, - "stylus-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", - "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", - "dev": true, - "requires": { - "fast-glob": "^3.2.7", - "klona": "^2.0.4", - "normalize-path": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "systemjs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.12.1.tgz", - "integrity": "sha512-hqTN6kW+pN6/qro6G9OZ7ceDQOcYno020zBQKpZQLsJhYTDMCMNfXi/Y8duF5iW+4WWZr42ry0MMkcRGpbwG2A==" - }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "temp": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", - "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1", - "rimraf": "~2.6.2" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", - "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", - "dev": true, - "requires": { - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - } - }, - "terser-webpack-plugin": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", - "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.7", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.7.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, - "ts-jest": { - "version": "28.0.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.3.tgz", - "integrity": "sha512-HzgbEDQ2KgVtDmpXToqAcKTyGHdHsG23i/iUjfxji92G5eT09S1m9UHZd7csF0Bfgh9txM4JzwHnv7r1waFPlw==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^20.x" - } - }, - "ts-loader": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz", - "integrity": "sha512-2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "ts-node": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", - "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "dependencies": { - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - } - } - }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "dev": true, - "peer": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "peer": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "peer": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true, - "peer": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "peer": true - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "peer": true, - "requires": { - "tslib": "^1.8.1" - } - } - } - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "tsutils-etc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/tsutils-etc/-/tsutils-etc-1.4.1.tgz", - "integrity": "sha512-6UPYgc7OXcIW5tFxlsZF3OVSBvDInl/BkS3Xsu64YITXk7WrnWTVByKWPCThFDBp5gl5IGHOzGMdQuDCE7OL4g==", - "dev": true, - "requires": { - "@types/yargs": "^17.0.0", - "yargs": "^17.0.0" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dev": true, - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "v8-to-istanbul": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", - "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.7", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, - "requires": { - "builtins": "^1.0.3" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", - "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", - "dev": true, - "requires": { - "xml-name-validator": "^4.0.0" - } - }, - "wait-on": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", - "dev": true, - "requires": { - "axios": "^0.25.0", - "joi": "^17.6.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.5.4" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "web-animations-js": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/web-animations-js/-/web-animations-js-2.3.2.tgz", - "integrity": "sha512-TOMFWtQdxzjWp8qx4DAraTWTsdhxVSiWa6NkPFSaPtZ1diKUxTn4yTix73A1euG1WbSOMMPcY51cnjTIHrGtDA==" - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - }, - "webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", - "dev": true, - "peer": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "peer": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", - "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz", - "integrity": "sha512-dwld70gkgNJa33czmcj/PlKY/nOy/BimbrgZRaR9vDATBQAYgLzggR0nxDtPLJiLrMgZwbE6RRfJ5vnBBasTyg==", - "dev": true, - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "dependencies": { - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - } - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, - "webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "requires": { - "typed-assert": "^1.0.8" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true - }, - "whatwg-url": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", - "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", - "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", - "dev": true, - "requires": {} - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - }, - "xliff-simple-merge": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/xliff-simple-merge/-/xliff-simple-merge-0.12.1.tgz", - "integrity": "sha512-D8I1BNoOngEbiHW4s/nIMFzIN1u5n3GUuPeu5cKod5M5kC73vzR8412wWKyYwXuK3dNbx02Y48bt0kXoBi+WMQ==", - "dev": true, - "requires": { - "commander": "~8.3.0", - "js-levenshtein": "~1.1.6", - "xmldoc": "~1.1.2" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - } - } - }, - "xml_normalize": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/xml_normalize/-/xml_normalize-0.8.4.tgz", - "integrity": "sha512-I+PiD+W/fS7YOWb4THhQfvkzd1mCuTT3KoRt4PTxiWYbH1RY74w5ewcIas8ja9APC8Ho2izg8VcNnTTN35qM9A==", - "dev": true, - "requires": { - "commander": "~7.1.0", - "xmldoc": "~1.1.2" - }, - "dependencies": { - "commander": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", - "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", - "dev": true - } - } - }, - "xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xmldoc": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", - "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", - "dev": true, - "requires": { - "sax": "^1.2.1" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "xterm": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/xterm/-/xterm-4.18.0.tgz", - "integrity": "sha512-JQoc1S0dti6SQfI0bK1AZvGnAxH4MVw45ZPFSO6FHTInAiau3Ix77fSxNx3mX4eh9OL4AYa8+4C8f5UvnSfppQ==" - }, - "xterm-addon-fit": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", - "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "dependencies": { - "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "zone.js": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", - "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", - "requires": { - "tslib": "^2.3.0" - } - } - } -} diff --git a/modules/web/package.json b/modules/web/package.json index 15cfd7a26f04..e89bf94e17f5 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -32,9 +32,7 @@ "test": "npx jest -c jest.config.js", "coverage": "npx jest -c jest.config.js --coverage -i", "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", - "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", - "postinstall": "ngcc", - "prepare": "cd ../../ && husky install modules/web/.husky" + "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"" }, "lint-staged": { "src/**/*.ts": [ @@ -149,5 +147,6 @@ }, "overrides": { "colors": "1.4.0" - } + }, + "packageManager": "yarn@3.2.2" } diff --git a/modules/web/yarn.lock b/modules/web/yarn.lock new file mode 100644 index 000000000000..05efe8561097 --- /dev/null +++ b/modules/web/yarn.lock @@ -0,0 +1,16257 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 6 + cacheKey: 8 + +"@ampproject/remapping@npm:2.2.0, @ampproject/remapping@npm:^2.0.0, @ampproject/remapping@npm:^2.1.0": + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" + dependencies: + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 + languageName: node + linkType: hard + +"@angular-devkit/architect@npm:0.1303.7": + version: 0.1303.7 + resolution: "@angular-devkit/architect@npm:0.1303.7" + dependencies: + "@angular-devkit/core": 13.3.7 + rxjs: 6.6.7 + checksum: 9863ecb2f78eeac1154ee6b9d7156b866229f57af0dd5cbada22306b73bf2fd50d13818140a8ae42d2c836a0b98f72129cc94fc0a043a45ce6224c04c0ffeef7 + languageName: node + linkType: hard + +"@angular-devkit/architect@npm:^0.1301.0": + version: 0.1301.4 + resolution: "@angular-devkit/architect@npm:0.1301.4" + dependencies: + "@angular-devkit/core": 13.1.4 + rxjs: 6.6.7 + checksum: 971868f9cca2032a68fd8a93ddd3db072fa2003b32da9731885b346638bac39925fe99fa67db107a99c76cf278b5df1f1e8be3758475f2a140f6a6b42f30278a + languageName: node + linkType: hard + +"@angular-devkit/build-angular@npm:13.3.7": + version: 13.3.7 + resolution: "@angular-devkit/build-angular@npm:13.3.7" + dependencies: + "@ampproject/remapping": 2.2.0 + "@angular-devkit/architect": 0.1303.7 + "@angular-devkit/build-webpack": 0.1303.7 + "@angular-devkit/core": 13.3.7 + "@babel/core": 7.16.12 + "@babel/generator": 7.16.8 + "@babel/helper-annotate-as-pure": 7.16.7 + "@babel/plugin-proposal-async-generator-functions": 7.16.8 + "@babel/plugin-transform-async-to-generator": 7.16.8 + "@babel/plugin-transform-runtime": 7.16.10 + "@babel/preset-env": 7.16.11 + "@babel/runtime": 7.16.7 + "@babel/template": 7.16.7 + "@discoveryjs/json-ext": 0.5.6 + "@ngtools/webpack": 13.3.7 + ansi-colors: 4.1.1 + babel-loader: 8.2.5 + babel-plugin-istanbul: 6.1.1 + browserslist: ^4.9.1 + cacache: 15.3.0 + circular-dependency-plugin: 5.2.2 + copy-webpack-plugin: 10.2.1 + core-js: 3.20.3 + critters: 0.0.16 + css-loader: 6.5.1 + esbuild: 0.14.22 + esbuild-wasm: 0.14.22 + glob: 7.2.0 + https-proxy-agent: 5.0.0 + inquirer: 8.2.0 + jsonc-parser: 3.0.0 + karma-source-map-support: 1.4.0 + less: 4.1.2 + less-loader: 10.2.0 + license-webpack-plugin: 4.0.2 + loader-utils: 3.2.0 + mini-css-extract-plugin: 2.5.3 + minimatch: 3.0.5 + open: 8.4.0 + ora: 5.4.1 + parse5-html-rewriting-stream: 6.0.1 + piscina: 3.2.0 + postcss: 8.4.5 + postcss-import: 14.0.2 + postcss-loader: 6.2.1 + postcss-preset-env: 7.2.3 + regenerator-runtime: 0.13.9 + resolve-url-loader: 5.0.0 + rxjs: 6.6.7 + sass: 1.49.9 + sass-loader: 12.4.0 + semver: 7.3.5 + source-map-loader: 3.0.1 + source-map-support: 0.5.21 + stylus: 0.56.0 + stylus-loader: 6.2.0 + terser: 5.11.0 + text-table: 0.2.0 + tree-kill: 1.2.2 + tslib: 2.3.1 + webpack: 5.70.0 + webpack-dev-middleware: 5.3.0 + webpack-dev-server: 4.7.3 + webpack-merge: 5.8.0 + webpack-subresource-integrity: 5.1.0 + peerDependencies: + "@angular/compiler-cli": ^13.0.0 || ^13.3.0-rc.0 + "@angular/localize": ^13.0.0 || ^13.3.0-rc.0 + "@angular/service-worker": ^13.0.0 || ^13.3.0-rc.0 + karma: ^6.3.0 + ng-packagr: ^13.0.0 + protractor: ^7.0.0 + tailwindcss: ^2.0.0 || ^3.0.0 + typescript: ">=4.4.3 <4.7" + dependenciesMeta: + esbuild: + optional: true + peerDependenciesMeta: + "@angular/localize": + optional: true + "@angular/service-worker": + optional: true + karma: + optional: true + ng-packagr: + optional: true + protractor: + optional: true + tailwindcss: + optional: true + checksum: cb64b3735370c9ce54ee59b2a72ceedffb165c6a7bde70a3d2b650798cf925594aac7553b6af5adca9dd7aae5a14db533d1f7c2acda4af1ea66b25e6cbfc1f28 + languageName: node + linkType: hard + +"@angular-devkit/build-webpack@npm:0.1303.7": + version: 0.1303.7 + resolution: "@angular-devkit/build-webpack@npm:0.1303.7" + dependencies: + "@angular-devkit/architect": 0.1303.7 + rxjs: 6.6.7 + peerDependencies: + webpack: ^5.30.0 + webpack-dev-server: ^4.0.0 + checksum: ef77be5b4fde8572f227e0b4d8eb3c2410038d0b4f40836eb6913f1953b2f868c3cb7c71b3449489c683266427f1d7bc492bc5fae696d2826a8f873629772d02 + languageName: node + linkType: hard + +"@angular-devkit/core@npm:13.1.4": + version: 13.1.4 + resolution: "@angular-devkit/core@npm:13.1.4" + dependencies: + ajv: 8.8.2 + ajv-formats: 2.1.1 + fast-json-stable-stringify: 2.1.0 + magic-string: 0.25.7 + rxjs: 6.6.7 + source-map: 0.7.3 + peerDependencies: + chokidar: ^3.5.2 + peerDependenciesMeta: + chokidar: + optional: true + checksum: 9e1c0bffd9888d14242417b995f93fa6c4f74552325eda4c93a1108fd2896dccdcd6a6d570e1fa20fd62f7bbed18a3be29764406be5712668901d6f57b8a4a8b + languageName: node + linkType: hard + +"@angular-devkit/core@npm:13.3.7": + version: 13.3.7 + resolution: "@angular-devkit/core@npm:13.3.7" + dependencies: + ajv: 8.9.0 + ajv-formats: 2.1.1 + fast-json-stable-stringify: 2.1.0 + magic-string: 0.25.7 + rxjs: 6.6.7 + source-map: 0.7.3 + peerDependencies: + chokidar: ^3.5.2 + peerDependenciesMeta: + chokidar: + optional: true + checksum: 36bef9b4744a631b76310c45e164c6e40693bd0ac65f1e64c2a90a35e8bb991f99b679c4a5c6bb6ef93d60758131457f883a231fc8894e1170cc1ade583127f0 + languageName: node + linkType: hard + +"@angular-devkit/core@npm:13.3.9, @angular-devkit/core@npm:^13.0.0": + version: 13.3.9 + resolution: "@angular-devkit/core@npm:13.3.9" + dependencies: + ajv: 8.9.0 + ajv-formats: 2.1.1 + fast-json-stable-stringify: 2.1.0 + magic-string: 0.25.7 + rxjs: 6.6.7 + source-map: 0.7.3 + peerDependencies: + chokidar: ^3.5.2 + peerDependenciesMeta: + chokidar: + optional: true + checksum: 0e9e208e043ec635474bab94312f464686e46fe94dc44ce6a88adaa32c0b523da29f7726aa968e772c5f68e33ec8660df1c65487181b7de6934f47d1ae838dd4 + languageName: node + linkType: hard + +"@angular-devkit/schematics@npm:13.3.7": + version: 13.3.7 + resolution: "@angular-devkit/schematics@npm:13.3.7" + dependencies: + "@angular-devkit/core": 13.3.7 + jsonc-parser: 3.0.0 + magic-string: 0.25.7 + ora: 5.4.1 + rxjs: 6.6.7 + checksum: 4c0fe3b1f67eb912471f07ad48ed32498636c61aedaa6ccf859030ce91fd96ae4c5270bc4365bb333f5d7347ebbee40a4dd960e847eb41362faa2fb0e862becc + languageName: node + linkType: hard + +"@angular-devkit/schematics@npm:13.3.9, @angular-devkit/schematics@npm:^13.0.0": + version: 13.3.9 + resolution: "@angular-devkit/schematics@npm:13.3.9" + dependencies: + "@angular-devkit/core": 13.3.9 + jsonc-parser: 3.0.0 + magic-string: 0.25.7 + ora: 5.4.1 + rxjs: 6.6.7 + checksum: 838c792b878a8436b9a672eeca0e8e68bc5856eb743f2a3b2a9adfe224b299f2abeda1b3794ac5f0a60b0a499de71c93d162970b607b305e900f81762e1025a4 + languageName: node + linkType: hard + +"@angular/animations@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/animations@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/core": 13.3.10 + checksum: 885cca54ef93c52527281b968ae05d78e47d95362398ad7e7b5354ca9f75c88195ae82ad860e70a77f06e74957f31f9271cc54b5530d541a59a365a7c56b835f + languageName: node + linkType: hard + +"@angular/cdk@npm:13.3.8": + version: 13.3.8 + resolution: "@angular/cdk@npm:13.3.8" + dependencies: + parse5: ^5.0.0 + tslib: ^2.3.0 + peerDependencies: + "@angular/common": ^13.0.0 || ^14.0.0-0 + "@angular/core": ^13.0.0 || ^14.0.0-0 + rxjs: ^6.5.3 || ^7.4.0 + dependenciesMeta: + parse5: + optional: true + checksum: ea7329ae61c579d04806628ec94efc6adbbe6fe266cd042796fb6fa708fe503c2977d32566f64f93d10a319713b0308f67c4837d61efce93f4df33cdca734f05 + languageName: node + linkType: hard + +"@angular/cli@npm:13.3.7": + version: 13.3.7 + resolution: "@angular/cli@npm:13.3.7" + dependencies: + "@angular-devkit/architect": 0.1303.7 + "@angular-devkit/core": 13.3.7 + "@angular-devkit/schematics": 13.3.7 + "@schematics/angular": 13.3.7 + "@yarnpkg/lockfile": 1.1.0 + ansi-colors: 4.1.1 + debug: 4.3.3 + ini: 2.0.0 + inquirer: 8.2.0 + jsonc-parser: 3.0.0 + npm-package-arg: 8.1.5 + npm-pick-manifest: 6.1.1 + open: 8.4.0 + ora: 5.4.1 + pacote: 12.0.3 + resolve: 1.22.0 + semver: 7.3.5 + symbol-observable: 4.0.0 + uuid: 8.3.2 + bin: + ng: bin/ng.js + checksum: 3a26a5dbd13c0d9f36221085aab4367df5eabbb95e726fd7137d57941e9aa6457e151181c349cc484cccc59b8a5be54e938b2af01fbe98e852d026f1563fd518 + languageName: node + linkType: hard + +"@angular/common@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/common@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/core": 13.3.10 + rxjs: ^6.5.3 || ^7.4.0 + checksum: c04f5054fc851a36e5a64537ac423b1cb67b425d2c399273af8f8c0dc21c177ef355b7236503bdbf96427a74d09d28da29d653eb338f334929d83872b6409242 + languageName: node + linkType: hard + +"@angular/compiler-cli@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/compiler-cli@npm:13.3.10" + dependencies: + "@babel/core": ^7.17.2 + chokidar: ^3.0.0 + convert-source-map: ^1.5.1 + dependency-graph: ^0.11.0 + magic-string: ^0.26.0 + reflect-metadata: ^0.1.2 + semver: ^7.0.0 + sourcemap-codec: ^1.4.8 + tslib: ^2.3.0 + yargs: ^17.2.1 + peerDependencies: + "@angular/compiler": 13.3.10 + typescript: ">=4.4.2 <4.7" + bin: + ng-xi18n: bundles/src/bin/ng_xi18n.js + ngc: bundles/src/bin/ngc.js + ngcc: bundles/ngcc/main-ngcc.js + checksum: c16865600af81723c63a314dddccec85e40ef01f377280e23d526bcc418019438567b9302be0d48252178727bf501a550af845c4ba450462b89f68d2ddfe275b + languageName: node + linkType: hard + +"@angular/compiler@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/compiler@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + checksum: 5d7b10d3bf98ee0e78683c3435ca0f93e313b9f03026b944545f3a0e2dc4165f7a73b5dfa1ca96ca333eecfee750ff3a5d01c455076f28c71ff1b3ceb95574ae + languageName: node + linkType: hard + +"@angular/compiler@npm:9.0.0": + version: 9.0.0 + resolution: "@angular/compiler@npm:9.0.0" + peerDependencies: + tslib: ^1.10.0 + checksum: 95f6188eac71c7cd0c6bd58c667be899ed126763b4125b8d5a950b25b58e7f496ad4d15af66f7db1c8b87ca30f945b8ef6d88dda8511fd2ac30ef99a730d7c67 + languageName: node + linkType: hard + +"@angular/core@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/core@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + peerDependencies: + rxjs: ^6.5.3 || ^7.4.0 + zone.js: ~0.11.4 + checksum: 747f5333f8e9f784ce04f537ab20aa2239bc20c9fa5d32742d1434eb8ffe6a6d8f3051402bdf2f80d7abede42d6f21aad4255ca6d4a625b131927047e09724bf + languageName: node + linkType: hard + +"@angular/core@npm:9.0.0": + version: 9.0.0 + resolution: "@angular/core@npm:9.0.0" + peerDependencies: + rxjs: ^6.5.3 + tslib: ^1.10.0 + zone.js: ~0.10.2 + checksum: 2bb890ad57372f06fcbcfff3895d2e97ef3ca33caafda092ba977f36c1d4bb8a37f047d968566f6ae569d82ea9cdb6c109282848d343d339e594bc7e800c8be1 + languageName: node + linkType: hard + +"@angular/flex-layout@npm:13.0.0-beta.38": + version: 13.0.0-beta.38 + resolution: "@angular/flex-layout@npm:13.0.0-beta.38" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/cdk": ^13.0.0 + "@angular/common": ^13.0.0 + "@angular/core": ^13.0.0 + "@angular/platform-browser": ^13.0.0 + rxjs: ^6.5.3 || ^7.4.0 + checksum: c5f22d6748ad8dc2ebc9fa57c82d80cb9f9942d66dfb0246315d351872a2c9df5fa95d849fb0d2750ca99812d5e27d073b7842e07e6f21e541cbe337d9f4e7ed + languageName: node + linkType: hard + +"@angular/forms@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/forms@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/common": 13.3.10 + "@angular/core": 13.3.10 + "@angular/platform-browser": 13.3.10 + rxjs: ^6.5.3 || ^7.4.0 + checksum: f5ad6f3d627251d8aa4399bdaf477fcf19cf46a07528ce96a1e962f48924d96b064b400691a7f06331f55ccae933328b6fe1a7694e1311d92e8293c6b89bfd41 + languageName: node + linkType: hard + +"@angular/language-service@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/language-service@npm:13.3.10" + checksum: f2af537fd582e8a9ba3707694ef52371d52448a3440382bec16e5dd409ba684a6624304f19dbcb5c92d700f7600625e56e7b965c628d61472eb3a8859f24c943 + languageName: node + linkType: hard + +"@angular/localize@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/localize@npm:13.3.10" + dependencies: + "@babel/core": 7.17.2 + glob: 7.2.0 + yargs: ^17.2.1 + peerDependencies: + "@angular/compiler": 13.3.10 + "@angular/compiler-cli": 13.3.10 + bin: + localize-extract: tools/bundles/src/extract/cli.js + localize-migrate: tools/bundles/src/migrate/cli.js + localize-translate: tools/bundles/src/translate/cli.js + checksum: adda0b8d74e8e678c4b26bc7f5389bfa91a7bdb7a263deb486aa1c52348a67049010ab308640c8ba2d73965cd167f043d91c5b2d2e41fe4a988bd9627f72ad83 + languageName: node + linkType: hard + +"@angular/material@npm:13.3.8": + version: 13.3.8 + resolution: "@angular/material@npm:13.3.8" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/animations": ^13.0.0 || ^14.0.0-0 + "@angular/cdk": 13.3.8 + "@angular/common": ^13.0.0 || ^14.0.0-0 + "@angular/core": ^13.0.0 || ^14.0.0-0 + "@angular/forms": ^13.0.0 || ^14.0.0-0 + "@angular/platform-browser": ^13.0.0 || ^14.0.0-0 + rxjs: ^6.5.3 || ^7.4.0 + checksum: c2e557b3931ae9757fe94b898da59b19c4a1e5cf5dfdd0106dca81ad058ac35b942131fca25676a4987abc00eda3b04c3940a3f5ab1f5ee53bbce6d054997ba1 + languageName: node + linkType: hard + +"@angular/platform-browser-dynamic@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/platform-browser-dynamic@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/common": 13.3.10 + "@angular/compiler": 13.3.10 + "@angular/core": 13.3.10 + "@angular/platform-browser": 13.3.10 + checksum: fb147b9379118000609c9fb8b8ca174826ef24e1f0e2161383620dd23ec19841ed68fcb5449e123c946937ba9766177351447ea2b5ab2305a409c8c84400a276 + languageName: node + linkType: hard + +"@angular/platform-browser@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/platform-browser@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/animations": 13.3.10 + "@angular/common": 13.3.10 + "@angular/core": 13.3.10 + peerDependenciesMeta: + "@angular/animations": + optional: true + checksum: 342ce135802369f9ac200460c2b9ea8ce55fd04c2408d2392e40602a226d704a871137860dd2df23e54f98895abcafc111b57e6cd1706de1bc47cb866f6d392d + languageName: node + linkType: hard + +"@angular/router@npm:13.3.10": + version: 13.3.10 + resolution: "@angular/router@npm:13.3.10" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/common": 13.3.10 + "@angular/core": 13.3.10 + "@angular/platform-browser": 13.3.10 + rxjs: ^6.5.3 || ^7.4.0 + checksum: 468cb64b4f501323baf58f4aa9067e9ade80995532618b013e877e8d595d0340e7a36cd1171af2c4610617cb63d44dd9d95cdf993e19a5971c0d124aa66b0b3a + languageName: node + linkType: hard + +"@assemblyscript/loader@npm:^0.10.1": + version: 0.10.1 + resolution: "@assemblyscript/loader@npm:0.10.1" + checksum: fd1f57bdf2c55252a48c2d93fbec3c5a9ef4ca40e581e8709dd8ee437613eb47af74c8cdba011a324077eda9605d6f24983f429c2ce18b0b582ddcc5acf75c26 + languageName: node + linkType: hard + +"@babel/code-frame@npm:7.12.11": + version: 7.12.11 + resolution: "@babel/code-frame@npm:7.12.11" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/code-frame@npm:7.18.6" + dependencies: + "@babel/highlight": ^7.18.6 + checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8": + version: 7.18.8 + resolution: "@babel/compat-data@npm:7.18.8" + checksum: 3096aafad74936477ebdd039bcf342fba84eb3100e608f3360850fb63e1efa1c66037c4824f814d62f439ab47d25164439343a6e92e9b4357024fdf571505eb9 + languageName: node + linkType: hard + +"@babel/core@npm:7.16.12": + version: 7.16.12 + resolution: "@babel/core@npm:7.16.12" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.16.8 + "@babel/helper-compilation-targets": ^7.16.7 + "@babel/helper-module-transforms": ^7.16.7 + "@babel/helpers": ^7.16.7 + "@babel/parser": ^7.16.12 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.16.10 + "@babel/types": ^7.16.8 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.1.2 + semver: ^6.3.0 + source-map: ^0.5.0 + checksum: 29b56f3cb7c329fc038a2efaccf64ac3025835676b3d90f57f2265b6acd477a970114d09021b38d019ac8f20b2bb1596a9e79ce1f820d6b8cf0e4a802891817c + languageName: node + linkType: hard + +"@babel/core@npm:7.17.2": + version: 7.17.2 + resolution: "@babel/core@npm:7.17.2" + dependencies: + "@ampproject/remapping": ^2.0.0 + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.17.0 + "@babel/helper-compilation-targets": ^7.16.7 + "@babel/helper-module-transforms": ^7.16.7 + "@babel/helpers": ^7.17.2 + "@babel/parser": ^7.17.0 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.17.0 + "@babel/types": ^7.17.0 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.1.2 + semver: ^6.3.0 + checksum: 68ab3459f41b41feb5cb263937f15e418e1c46998d482d1b6dfe34f78064765466cfd5b10205c22fb16b69dbd1d46e7a3c26c067884ca4eb514b3dac1e09a57f + languageName: node + linkType: hard + +"@babel/core@npm:7.18.2": + version: 7.18.2 + resolution: "@babel/core@npm:7.18.2" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.18.2 + "@babel/helper-compilation-targets": ^7.18.2 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helpers": ^7.18.2 + "@babel/parser": ^7.18.0 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.2 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.1 + semver: ^6.3.0 + checksum: 14a4142c12e004cd2477b7610408d5788ee5dd821ee9e4de204cbb72d9c399d858d9deabc3d49914d5d7c2927548160c19bdc7524b1a9f6acc1ec96a8d9848dd + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.17.2": + version: 7.18.10 + resolution: "@babel/core@npm:7.18.10" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.18.10 + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-module-transforms": ^7.18.9 + "@babel/helpers": ^7.18.9 + "@babel/parser": ^7.18.10 + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.18.10 + "@babel/types": ^7.18.10 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.1 + semver: ^6.3.0 + checksum: 3a3fcd878430a9e1cb165f755c89fff45acc4efe4dd3a2ba356e89af331cb1947886b9782d56902a49af19ba3c24f08cf638a632699b9c5a4d8305c57c6a150d + languageName: node + linkType: hard + +"@babel/generator@npm:7.16.8": + version: 7.16.8 + resolution: "@babel/generator@npm:7.16.8" + dependencies: + "@babel/types": ^7.16.8 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: 83af38b34735605c9d5f774c87a46c2cffaf666b28e9eeba883b2d7076412257e5c2264c26d9740ce44da6955fdaf857659391db02c012714a2a6dc19e403105 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.10, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.7.2": + version: 7.18.12 + resolution: "@babel/generator@npm:7.18.12" + dependencies: + "@babel/types": ^7.18.10 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: 07dd71d255144bb703a80ab0156c35d64172ce81ddfb70ff24e2be687b052080233840c9a28d92fa2c33f7ecb8a8b30aef03b807518afc53b74c7908bf8859b1 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:7.16.7": + version: 7.16.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.16.7" + dependencies: + "@babel/types": ^7.16.7 + checksum: d235be963fed5d48a8a4cfabc41c3f03fad6a947810dbcab9cebed7f819811457e10d99b4b2e942ad71baa7ee8e3cd3f5f38a4e4685639ddfddb7528d9a07179 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: 88ccd15ced475ef2243fdd3b2916a29ea54c5db3cd0cfabf9d1d29ff6e63b7f7cd1c27264137d7a40ac2e978b9b9a542c332e78f40eb72abe737a7400788fc1b + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.18.6": + version: 7.18.9 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.18.9" + dependencies: + "@babel/helper-explode-assignable-expression": ^7.18.6 + "@babel/types": ^7.18.9 + checksum: b4bc214cb56329daff6cc18a7f7a26aeafb55a1242e5362f3d47fe3808421f8c7cd91fff95d6b9b7ccb67e14e5a67d944e49dbe026942bfcbfda19b1c72a8e72 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.2, @babel/helper-compilation-targets@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-compilation-targets@npm:7.18.9" + dependencies: + "@babel/compat-data": ^7.18.8 + "@babel/helper-validator-option": ^7.18.6 + browserslist: ^4.20.2 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2a9d71e124e098a9f45de4527ddd1982349d231827d341e00da9dfb967e260ecc7662c8b62abee4a010fb34d5f07a8d2155c974e0bc1928144cee5644910621d + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.18.6": + version: 7.18.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.18.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-member-expression-to-functions": ^7.18.9 + "@babel/helper-optimise-call-expression": ^7.18.6 + "@babel/helper-replace-supers": ^7.18.9 + "@babel/helper-split-export-declaration": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 020dba79b92ee9a98520dad81dddb47d75b34b7b4392672cbefc59db6f5e89a96c5eb95bb1cc46b2fddf913ef63dfe6d17168f56b059af5c6965bb37b6ce1d82 + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.18.6" + dependencies: + "@babel/helper-annotate-as-pure": ^7.18.6 + regexpu-core: ^5.1.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2d76e660cbfd0bfcb01ca9f177f0e9091c871a6b99f68ece6bcf4ab4a9df073485bdc2d87ecdfbde44b7f3723b26d13085d0f92082adb3ae80d31b246099f10a + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.3.1, @babel/helper-define-polyfill-provider@npm:^0.3.2": + version: 0.3.2 + resolution: "@babel/helper-define-polyfill-provider@npm:0.3.2" + dependencies: + "@babel/helper-compilation-targets": ^7.17.7 + "@babel/helper-plugin-utils": ^7.16.7 + debug: ^4.1.1 + lodash.debounce: ^4.0.8 + resolve: ^1.14.2 + semver: ^6.1.2 + peerDependencies: + "@babel/core": ^7.4.0-0 + checksum: 8f693ab8e9d73873c2e547c7764c7d32d73c14f8dcefdd67fd3a038eb75527e2222aa53412ea673b9bfc01c32a8779a60e77a7381bbdd83452f05c9b7ef69c2c + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-environment-visitor@npm:7.18.9" + checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 + languageName: node + linkType: hard + +"@babel/helper-explode-assignable-expression@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-explode-assignable-expression@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: 225cfcc3376a8799023d15dc95000609e9d4e7547b29528c7f7111a0e05493ffb12c15d70d379a0bb32d42752f340233c4115bded6d299bc0c3ab7a12be3d30f + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-function-name@npm:7.18.9" + dependencies: + "@babel/template": ^7.18.6 + "@babel/types": ^7.18.9 + checksum: d04c44e0272f887c0c868651be7fc3c5690531bea10936f00d4cca3f6d5db65e76dfb49e8d553c42ae1fe1eba61ccce9f3d93ba2df50a66408c8d4c3cc61cf0c + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-hoist-variables@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.18.9" + dependencies: + "@babel/types": ^7.18.9 + checksum: fcf8184e3b55051c4286b2cbedf0eccc781d0f3c9b5cbaba582eca19bf0e8d87806cdb7efc8554fcb969ceaf2b187d5ea748d40022d06ec7739fbb18c1b19a7a + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-module-imports@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-module-transforms@npm:7.18.9" + dependencies: + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-simple-access": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/helper-validator-identifier": ^7.18.6 + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: af08c60ea239ff3d40eda542fceaab69de17e713f131e80ead08c975ba7a47dd55d439cb48cfb14ae7ec96704a10c989ff5a5240e52a39101cb44a49467ce058 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-optimise-call-expression@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: e518fe8418571405e21644cfb39cf694f30b6c47b10b006609a92469ae8b8775cbff56f0b19732343e2ea910641091c5a2dc73b56ceba04e116a33b0f8bd2fbd + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.18.9 + resolution: "@babel/helper-plugin-utils@npm:7.18.9" + checksum: ebae876cd60f1fe238c7210986093845fa5c4cad5feeda843ea4d780bf068256717650376d3af2a5e760f2ed6a35c065ae144f99c47da3e54aa6cba99d8804e0 + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.16.8, @babel/helper-remap-async-to-generator@npm:^7.18.6, @babel/helper-remap-async-to-generator@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.18.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-wrap-function": ^7.18.9 + "@babel/types": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 4be6076192308671b046245899b703ba090dbe7ad03e0bea897bb2944ae5b88e5e85853c9d1f83f643474b54c578d8ac0800b80341a86e8538264a725fbbefec + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.18.6, @babel/helper-replace-supers@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-replace-supers@npm:7.18.9" + dependencies: + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-member-expression-to-functions": ^7.18.9 + "@babel/helper-optimise-call-expression": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: 2de8b29cc4bfa4e241da2de16abd5571709f6eb394206dc16e3a7816976d1691635dd4bc930881e9d798f44b48a5f1849dc7f51a62946f3e8270452be1ec5352 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-simple-access@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: 37cd36eef199e0517845763c1e6ff6ea5e7876d6d707a6f59c9267c547a50aa0e84260ba9285d49acfaf2cfa0a74a772d92967f32ac1024c961517d40b6c16a5 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.18.9" + dependencies: + "@babel/types": ^7.18.9 + checksum: 6e93ccd10248293082606a4b3e30eed32c6f796d378f6b662796c88f462f348aa368aadeb48eb410cfcc8250db93b2d6627c2e55662530f08fc25397e588d68a + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-split-export-declaration@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.18.10": + version: 7.18.10 + resolution: "@babel/helper-string-parser@npm:7.18.10" + checksum: d554a4393365b624916b5c00a4cc21c990c6617e7f3fe30be7d9731f107f12c33229a7a3db9d829bfa110d2eb9f04790745d421640e3bd245bb412dc0ea123c1 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-identifier@npm:7.18.6" + checksum: e295254d616bbe26e48c196a198476ab4d42a73b90478c9842536cf910ead887f5af6b5c4df544d3052a25ccb3614866fa808dc1e3a5a4291acd444e243c0648 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.16.7, @babel/helper-validator-option@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-option@npm:7.18.6" + checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.18.9": + version: 7.18.11 + resolution: "@babel/helper-wrap-function@npm:7.18.11" + dependencies: + "@babel/helper-function-name": ^7.18.9 + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.18.11 + "@babel/types": ^7.18.10 + checksum: e2fb909cdeb5c8688513261202cdeab7c6a8ac1f30daa5a1e0111631f270c26118c2e6b27014fc9f5d2c0ee1182fc40a3db2d30e45425587067f49dcae737dc9 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.16.7, @babel/helpers@npm:^7.17.2, @babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helpers@npm:7.18.9" + dependencies: + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: d0bd8255d36bfc65dc52ce75f7fea778c70287da2d64981db4c84fbdf9581409ecbd6433deff1c81da3a5acf26d7e4c364b3a4445efacf88f4f48e77c5b34d8d + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/highlight@npm:7.18.6" + dependencies: + "@babel/helper-validator-identifier": ^7.18.6 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.11": + version: 7.18.11 + resolution: "@babel/parser@npm:7.18.11" + bin: + parser: ./bin/babel-parser.js + checksum: 5ecc75b83e62ec53a947b1635a6ca75d6210d4a4f962f9f16f4239a6783f98e57f9662b598fa2fb1b8e12c0ad5c2bd86846ed0b97b85eb73dd7498b3a6d71a4b + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.16.7, @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 845bd280c55a6a91d232cfa54eaf9708ec71e594676fe705794f494bb8b711d833b752b59d1a5c154695225880c23dbc9cab0e53af16fd57807976cd3ff41b8d + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.16.7, @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 + "@babel/plugin-proposal-optional-chaining": ^7.18.9 + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 93abb5cb179a13db171bfc2cdf79489598f43c50cc174f97a2b7bb1d44d24ade7109665a20cf4e317ad6c1c730f036f06478f7c7e789b4240be1abdb60d6452f + languageName: node + linkType: hard + +"@babel/plugin-proposal-async-generator-functions@npm:7.16.8": + version: 7.16.8 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.16.8" + dependencies: + "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-remap-async-to-generator": ^7.16.8 + "@babel/plugin-syntax-async-generators": ^7.8.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: abd2c2c67de262720d37c5509dafe2ce64d6cee2dc9a8e863bbba1796b77387214442f37618373c6a4521ca624bfc7dcdbeb1376300d16f2a474405ee0ca2e69 + languageName: node + linkType: hard + +"@babel/plugin-proposal-async-generator-functions@npm:^7.16.8, @babel/plugin-proposal-async-generator-functions@npm:^7.17.12": + version: 7.18.10 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.18.10" + dependencies: + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-remap-async-to-generator": ^7.18.9 + "@babel/plugin-syntax-async-generators": ^7.8.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a6c25085021053830f6c57780118d3337935ac3309eef7f09b11e413d189eed8119d50cbddeb4c8c02f42f8cc01e62a4667b869be6e158f40030bafb92a0629 + languageName: node + linkType: hard + +"@babel/plugin-proposal-class-properties@npm:^7.16.7, @babel/plugin-proposal-class-properties@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 49a78a2773ec0db56e915d9797e44fd079ab8a9b2e1716e0df07c92532f2c65d76aeda9543883916b8e0ff13606afeffa67c5b93d05b607bc87653ad18a91422 + languageName: node + linkType: hard + +"@babel/plugin-proposal-class-static-block@npm:^7.16.7, @babel/plugin-proposal-class-static-block@npm:^7.18.0": + version: 7.18.6 + resolution: "@babel/plugin-proposal-class-static-block@npm:7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + peerDependencies: + "@babel/core": ^7.12.0 + checksum: b8d7ae99ed5ad784f39e7820e3ac03841f91d6ed60ab4a98c61d6112253da36013e12807bae4ffed0ef3cb318e47debac112ed614e03b403fb8b075b09a828ee + languageName: node + linkType: hard + +"@babel/plugin-proposal-dynamic-import@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-proposal-dynamic-import@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 96b1c8a8ad8171d39e9ab106be33bde37ae09b22fb2c449afee9a5edf3c537933d79d963dcdc2694d10677cb96da739cdf1b53454e6a5deab9801f28a818bb2f + languageName: node + linkType: hard + +"@babel/plugin-proposal-export-namespace-from@npm:^7.16.7, @babel/plugin-proposal-export-namespace-from@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 84ff22bacc5d30918a849bfb7e0e90ae4c5b8d8b65f2ac881803d1cf9068dffbe53bd657b0e4bc4c20b4db301b1c85f1e74183cf29a0dd31e964bd4e97c363ef + languageName: node + linkType: hard + +"@babel/plugin-proposal-json-strings@npm:^7.16.7, @babel/plugin-proposal-json-strings@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-proposal-json-strings@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-json-strings": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 25ba0e6b9d6115174f51f7c6787e96214c90dd4026e266976b248a2ed417fe50fddae72843ffb3cbe324014a18632ce5648dfac77f089da858022b49fd608cb3 + languageName: node + linkType: hard + +"@babel/plugin-proposal-logical-assignment-operators@npm:^7.16.7, @babel/plugin-proposal-logical-assignment-operators@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: dd87fa4a48c6408c5e85dbd6405a65cc8fe909e3090030df46df90df64cdf3e74007381a58ed87608778ee597eff7395d215274009bb3f5d8964b2db5557754f + languageName: node + linkType: hard + +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.7, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 949c9ddcdecdaec766ee610ef98f965f928ccc0361dd87cf9f88cf4896a6ccd62fce063d4494778e50da99dea63d270a1be574a62d6ab81cbe9d85884bf55a7d + languageName: node + linkType: hard + +"@babel/plugin-proposal-numeric-separator@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-proposal-numeric-separator@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f370ea584c55bf4040e1f78c80b4eeb1ce2e6aaa74f87d1a48266493c33931d0b6222d8cee3a082383d6bb648ab8d6b7147a06f974d3296ef3bc39c7851683ec + languageName: node + linkType: hard + +"@babel/plugin-proposal-object-rest-spread@npm:^7.16.7, @babel/plugin-proposal-object-rest-spread@npm:^7.18.0": + version: 7.18.9 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.18.9" + dependencies: + "@babel/compat-data": ^7.18.8 + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-transform-parameters": ^7.18.8 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 66b9bae741d46edf1c96776d26dfe5d335981e57164ec2450583e3d20dfaa08a5137ffebb897e443913207789f9816bfec4ae845f38762c0196a60949eaffdba + languageName: node + linkType: hard + +"@babel/plugin-proposal-optional-catch-binding@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7b5b39fb5d8d6d14faad6cb68ece5eeb2fd550fb66b5af7d7582402f974f5bc3684641f7c192a5a57e0f59acfae4aada6786be1eba030881ddc590666eff4d1e + languageName: node + linkType: hard + +"@babel/plugin-proposal-optional-chaining@npm:^7.16.7, @babel/plugin-proposal-optional-chaining@npm:^7.17.12, @babel/plugin-proposal-optional-chaining@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f2db40e26172f07c50b635cb61e1f36165de3ba868fcf608d967642f0d044b7c6beb0e7ecf17cbd421144b99e1eae7ad6031ded92925343bb0ed1d08707b514f + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-methods@npm:^7.16.11, @babel/plugin-proposal-private-methods@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 22d8502ee96bca99ad2c8393e8493e2b8d4507576dd054490fd8201a36824373440106f5b098b6d821b026c7e72b0424ff4aeca69ed5f42e48f029d3a156d5ad + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:^7.16.7, @babel/plugin-proposal-private-property-in-object@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.18.6" + dependencies: + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c8e56a972930730345f39f2384916fd8e711b3f4b4eae2ca9740e99958980118120d5cc9b6ac150f0965a5a35f825910e2c3013d90be3e9993ab6111df444569 + languageName: node + linkType: hard + +"@babel/plugin-proposal-unicode-property-regex@npm:^7.16.7, @babel/plugin-proposal-unicode-property-regex@npm:^7.17.12, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": + version: 7.18.6 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a8575ecb7ff24bf6c6e94808d5c84bb5a0c6dd7892b54f09f4646711ba0ee1e1668032b3c43e3e1dfec2c5716c302e851ac756c1645e15882d73df6ad21ae951 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": ^7.12.13 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ce307af83cf433d4ec42932329fad25fa73138ab39c7436882ea28742e1c0066626d224e0ad2988724c82644e41601cef607b36194f695cb78a1fcdc959637bd + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 54918a05375325ba0c60bc81abfb261e6f118bed2de94e4c17dca9a2006fc25e13b1a8b5504b9a881238ea394fd2f098f60b2eb3a392585d6348874565445e7b + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.18.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2cde73725ec51118ebf410bf02d78781c03fa4d3185993fcc9d253b97443381b621c44810084c5dd68b92eb8bdfae0e5b163e91b32bebbb33852383d1815c05d + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.16.7, @babel/plugin-transform-arrow-functions@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 900f5c695755062b91eec74da6f9092f40b8fada099058b92576f1e23c55e9813ec437051893a9b3c05cefe39e8ac06303d4a91b384e1c03dd8dc1581ea11602 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:7.16.8": + version: 7.16.8 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.16.8" + dependencies: + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-remap-async-to-generator": ^7.16.8 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a2e781800e3dea1f526324ed259d1f9064c5ea3c9909c0c22b445d4c648ad489c579f358ae20ada11f7725ba67e0ddeb1e0241efadc734771e87dabd4c6820a + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.16.8, @babel/plugin-transform-async-to-generator@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.18.6" + dependencies: + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-remap-async-to-generator": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c2cca47468cf1aeefdc7ec35d670e195c86cee4de28a1970648c46a88ce6bd1806ef0bab27251b9e7fb791bb28a64dcd543770efd899f28ee5f7854e64e873d3 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0a0df61f94601e3666bf39f2cc26f5f7b22a94450fb93081edbed967bd752ce3f81d1227fefd3799f5ee2722171b5e28db61379234d1bb85b6ec689589f99d7e + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.16.7, @babel/plugin-transform-block-scoping@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f8064ea431eb7aa349dc5b6be87a650f912b48cd65afde917e8644f6f840d7f9d2ce4795f2aa3955aa5b23a73d4ad38abd03386ae109b4b8702b746c6d35bda3 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.16.7, @babel/plugin-transform-classes@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-transform-classes@npm:7.18.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-optimise-call-expression": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-replace-supers": ^7.18.9 + "@babel/helper-split-export-declaration": ^7.18.6 + globals: ^11.1.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d7e953c0cf32af64e75db1277d2556c04635f32691ef462436897840be6f8021d4f85ee96134cb796a12dda549cf53346fedf96b671885f881bc4037c9d120ad + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.16.7, @babel/plugin-transform-computed-properties@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a6bfbea207827d77592628973c0e8cc3319db636506bdc6e81e21582de2e767890e6975b382d0511e9ec3773b9f43691185df90832883bbf9251f688d27fbc1d + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.16.7, @babel/plugin-transform-destructuring@npm:^7.18.0": + version: 7.18.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 1a9b85dff67fd248fa8a2488ef59df3eb4dd4ca6007ff7db9f780c7873630a13bc16cfb2ad8f4c4ca966e42978410d1e4b306545941fe62769f2683f34973acd + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.16.7, @babel/plugin-transform-dotall-regex@npm:^7.4.4": + version: 7.18.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: cbe5d7063eb8f8cca24cd4827bc97f5641166509e58781a5f8aa47fb3d2d786ce4506a30fca2e01f61f18792783a5cb5d96bf5434c3dd1ad0de8c9cc625a53da + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.16.7, @babel/plugin-transform-duplicate-keys@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 220bf4a9fec5c4d4a7b1de38810350260e8ea08481bf78332a464a21256a95f0df8cd56025f346238f09b04f8e86d4158fafc9f4af57abaef31637e3b58bd4fe + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.18.6" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7f70222f6829c82a36005508d34ddbe6fd0974ae190683a8670dd6ff08669aaf51fef2209d7403f9bd543cb2d12b18458016c99a6ed0332ccedb3ea127b01229 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.16.7, @babel/plugin-transform-for-of@npm:^7.18.1": + version: 7.18.8 + resolution: "@babel/plugin-transform-for-of@npm:7.18.8" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ca64c623cf0c7a80ab6f07ebd3e6e4ade95e2ae806696f70b43eafe6394fa8ce21f2b1ffdd15df2067f7363d2ecfe26472a97c6c774403d2163fa05f50c98f17 + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.16.7": + version: 7.18.9 + resolution: "@babel/plugin-transform-function-name@npm:7.18.9" + dependencies: + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 62dd9c6cdc9714704efe15545e782ee52d74dc73916bf954b4d3bee088fb0ec9e3c8f52e751252433656c09f744b27b757fc06ed99bcde28e8a21600a1d8e597 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.16.7, @babel/plugin-transform-literals@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-transform-literals@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3458dd2f1a47ac51d9d607aa18f3d321cbfa8560a985199185bed5a906bb0c61ba85575d386460bac9aed43fdd98940041fae5a67dff286f6f967707cff489f8 + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 35a3d04f6693bc6b298c05453d85ee6e41cc806538acb6928427e0e97ae06059f97d2f07d21495fcf5f70d3c13a242e2ecbd09d5c1fcb1b1a73ff528dcb0b695 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.16.7, @babel/plugin-transform-modules-amd@npm:^7.18.0": + version: 7.18.6 + resolution: "@babel/plugin-transform-modules-amd@npm:7.18.6" + dependencies: + "@babel/helper-module-transforms": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f60c4c4e0eaec41e42c003cbab44305da7a8e05b2c9bdfc2b3fe0f9e1d7441c959ff5248aa03e350abe530e354028cbf3aa20bf07067b11510997dad8dd39be0 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.16.8, @babel/plugin-transform-modules-commonjs@npm:^7.18.2": + version: 7.18.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.6" + dependencies: + "@babel/helper-module-transforms": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-simple-access": ^7.18.6 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7e356e3df8a6a8542cced7491ec5b1cc1093a88d216a59e63a5d2b9fe9d193cbea864f680a41429e41a4f9ecec930aa5b0b8f57e2b17b3b4d27923bb12ba5d14 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.16.7, @babel/plugin-transform-modules-systemjs@npm:^7.18.0": + version: 7.18.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.9" + dependencies: + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-module-transforms": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-validator-identifier": ^7.18.6 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6122d9901ed5dc56d9db843efc9249fe20d769a11989bbbf5a806ed4f086def949185198aa767888481babf70fc52b6b3e297a991e2b02b4f34ffb03d998d1e3 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.16.7, @babel/plugin-transform-modules-umd@npm:^7.18.0": + version: 7.18.6 + resolution: "@babel/plugin-transform-modules-umd@npm:7.18.6" + dependencies: + "@babel/helper-module-transforms": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c3b6796c6f4579f1ba5ab0cdcc73910c1e9c8e1e773c507c8bb4da33072b3ae5df73c6d68f9126dab6e99c24ea8571e1563f8710d7c421fac1cde1e434c20153 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.16.8, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 6ef64aa3dad68df139eeaa7b6e9bb626be8f738ed5ed4db765d516944b1456d513b6bad3bb60fff22babe73de26436fd814a4228705b2d3d2fdb272c31da35e2 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.16.7, @babel/plugin-transform-new-target@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-transform-new-target@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bd780e14f46af55d0ae8503b3cb81ca86dcc73ed782f177e74f498fff934754f9e9911df1f8f3bd123777eed7c1c1af4d66abab87c8daae5403e7719a6b845d1 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-object-super@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-replace-supers": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0fcb04e15deea96ae047c21cb403607d49f06b23b4589055993365ebd7a7d7541334f06bf9642e90075e66efce6ebaf1eb0ef066fbbab802d21d714f1aac3aef + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.16.7, @babel/plugin-transform-parameters@npm:^7.17.12, @babel/plugin-transform-parameters@npm:^7.18.8": + version: 7.18.8 + resolution: "@babel/plugin-transform-parameters@npm:7.18.8" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2b5863300da60face8a250d91da16294333bd5626e9721b13a3ba2078bd2a5a190e32c6e7a1323d5f547f579aeb2804ff49a62a55fcad2b1d099e55a55b788ea + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-property-literals@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 1c16e64de554703f4b547541de2edda6c01346dd3031d4d29e881aa7733785cd26d53611a4ccf5353f4d3e69097bb0111c0a93ace9e683edd94fea28c4484144 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.16.7, @babel/plugin-transform-regenerator@npm:^7.18.0": + version: 7.18.6 + resolution: "@babel/plugin-transform-regenerator@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + regenerator-transform: ^0.15.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 60bd482cb0343c714f85c3e19a13b3b5fa05ee336c079974091c0b35e263307f4e661f4555dff90707a87d5efe19b1d51835db44455405444ac1813e268ad750 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.16.7, @babel/plugin-transform-reserved-words@npm:^7.17.12": + version: 7.18.6 + resolution: "@babel/plugin-transform-reserved-words@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0738cdc30abdae07c8ec4b233b30c31f68b3ff0eaa40eddb45ae607c066127f5fa99ddad3c0177d8e2832e3a7d3ad115775c62b431ebd6189c40a951b867a80c + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:7.16.10": + version: 7.16.10 + resolution: "@babel/plugin-transform-runtime@npm:7.16.10" + dependencies: + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-plugin-utils": ^7.16.7 + babel-plugin-polyfill-corejs2: ^0.3.0 + babel-plugin-polyfill-corejs3: ^0.5.0 + babel-plugin-polyfill-regenerator: ^0.3.0 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 62ef5fad74d68f444ced382d77f9f123d250cb7758a2a89dc97e92faabd2cb7ff665759f09f99fe2e7ae01af10453e6cc20542f980772f64c768772996b9481b + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: b8e4e8acc2700d1e0d7d5dbfd4fdfb935651913de6be36e6afb7e739d8f9ca539a5150075a0f9b79c88be25ddf45abb912fe7abf525f0b80f5b9d9860de685d7 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.16.7, @babel/plugin-transform-spread@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-transform-spread@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 59489dd6212bd21debdf77746d9fa02dfe36f7062dc08742b8841d04312a26ea37bc0d71c71a6e37c3ab81dce744faa7f23fa94b0915593458f6adc35c087766 + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 68ea18884ae9723443ffa975eb736c8c0d751265859cd3955691253f7fee37d7a0f7efea96c8a062876af49a257a18ea0ed5fea0d95a7b3611ce40f7ee23aee3 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.16.7, @babel/plugin-transform-template-literals@npm:^7.18.2": + version: 7.18.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3d2fcd79b7c345917f69b92a85bdc3ddd68ce2c87dc70c7d61a8373546ccd1f5cb8adc8540b49dfba08e1b82bb7b3bbe23a19efdb2b9c994db2db42906ca9fb2 + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.16.7, @babel/plugin-transform-typeof-symbol@npm:^7.17.12": + version: 7.18.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.18.9" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e754e0d8b8a028c52e10c148088606e3f7a9942c57bd648fc0438e5b4868db73c386a5ed47ab6d6f0594aae29ee5ffc2ffc0f7ebee7fae560a066d6dea811cd4 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.16.7": + version: 7.18.10 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.18.10" + dependencies: + "@babel/helper-plugin-utils": ^7.18.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f5baca55cb3c11bc08ec589f5f522d85c1ab509b4d11492437e45027d64ae0b22f0907bd1381e8d7f2a436384bb1f9ad89d19277314242c5c2671a0f91d0f9cd + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.16.7": + version: 7.18.6 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d9e18d57536a2d317fb0b7c04f8f55347f3cfacb75e636b4c6fa2080ab13a3542771b5120e726b598b815891fc606d1472ac02b749c69fd527b03847f22dc25e + languageName: node + linkType: hard + +"@babel/preset-env@npm:7.16.11": + version: 7.16.11 + resolution: "@babel/preset-env@npm:7.16.11" + dependencies: + "@babel/compat-data": ^7.16.8 + "@babel/helper-compilation-targets": ^7.16.7 + "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-validator-option": ^7.16.7 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.16.7 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.16.7 + "@babel/plugin-proposal-async-generator-functions": ^7.16.8 + "@babel/plugin-proposal-class-properties": ^7.16.7 + "@babel/plugin-proposal-class-static-block": ^7.16.7 + "@babel/plugin-proposal-dynamic-import": ^7.16.7 + "@babel/plugin-proposal-export-namespace-from": ^7.16.7 + "@babel/plugin-proposal-json-strings": ^7.16.7 + "@babel/plugin-proposal-logical-assignment-operators": ^7.16.7 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.16.7 + "@babel/plugin-proposal-numeric-separator": ^7.16.7 + "@babel/plugin-proposal-object-rest-spread": ^7.16.7 + "@babel/plugin-proposal-optional-catch-binding": ^7.16.7 + "@babel/plugin-proposal-optional-chaining": ^7.16.7 + "@babel/plugin-proposal-private-methods": ^7.16.11 + "@babel/plugin-proposal-private-property-in-object": ^7.16.7 + "@babel/plugin-proposal-unicode-property-regex": ^7.16.7 + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-class-properties": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-transform-arrow-functions": ^7.16.7 + "@babel/plugin-transform-async-to-generator": ^7.16.8 + "@babel/plugin-transform-block-scoped-functions": ^7.16.7 + "@babel/plugin-transform-block-scoping": ^7.16.7 + "@babel/plugin-transform-classes": ^7.16.7 + "@babel/plugin-transform-computed-properties": ^7.16.7 + "@babel/plugin-transform-destructuring": ^7.16.7 + "@babel/plugin-transform-dotall-regex": ^7.16.7 + "@babel/plugin-transform-duplicate-keys": ^7.16.7 + "@babel/plugin-transform-exponentiation-operator": ^7.16.7 + "@babel/plugin-transform-for-of": ^7.16.7 + "@babel/plugin-transform-function-name": ^7.16.7 + "@babel/plugin-transform-literals": ^7.16.7 + "@babel/plugin-transform-member-expression-literals": ^7.16.7 + "@babel/plugin-transform-modules-amd": ^7.16.7 + "@babel/plugin-transform-modules-commonjs": ^7.16.8 + "@babel/plugin-transform-modules-systemjs": ^7.16.7 + "@babel/plugin-transform-modules-umd": ^7.16.7 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.16.8 + "@babel/plugin-transform-new-target": ^7.16.7 + "@babel/plugin-transform-object-super": ^7.16.7 + "@babel/plugin-transform-parameters": ^7.16.7 + "@babel/plugin-transform-property-literals": ^7.16.7 + "@babel/plugin-transform-regenerator": ^7.16.7 + "@babel/plugin-transform-reserved-words": ^7.16.7 + "@babel/plugin-transform-shorthand-properties": ^7.16.7 + "@babel/plugin-transform-spread": ^7.16.7 + "@babel/plugin-transform-sticky-regex": ^7.16.7 + "@babel/plugin-transform-template-literals": ^7.16.7 + "@babel/plugin-transform-typeof-symbol": ^7.16.7 + "@babel/plugin-transform-unicode-escapes": ^7.16.7 + "@babel/plugin-transform-unicode-regex": ^7.16.7 + "@babel/preset-modules": ^0.1.5 + "@babel/types": ^7.16.8 + babel-plugin-polyfill-corejs2: ^0.3.0 + babel-plugin-polyfill-corejs3: ^0.5.0 + babel-plugin-polyfill-regenerator: ^0.3.0 + core-js-compat: ^3.20.2 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c8029c272073df787309d983ae458dd094b57f87152b8ccad95c7c8b1e82b042c1077e169538aae5f98b7659de0632d10708d9c85acf21a5e9406d7dd3656d8c + languageName: node + linkType: hard + +"@babel/preset-env@npm:7.18.2": + version: 7.18.2 + resolution: "@babel/preset-env@npm:7.18.2" + dependencies: + "@babel/compat-data": ^7.17.10 + "@babel/helper-compilation-targets": ^7.18.2 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-validator-option": ^7.16.7 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.17.12 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.17.12 + "@babel/plugin-proposal-async-generator-functions": ^7.17.12 + "@babel/plugin-proposal-class-properties": ^7.17.12 + "@babel/plugin-proposal-class-static-block": ^7.18.0 + "@babel/plugin-proposal-dynamic-import": ^7.16.7 + "@babel/plugin-proposal-export-namespace-from": ^7.17.12 + "@babel/plugin-proposal-json-strings": ^7.17.12 + "@babel/plugin-proposal-logical-assignment-operators": ^7.17.12 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.17.12 + "@babel/plugin-proposal-numeric-separator": ^7.16.7 + "@babel/plugin-proposal-object-rest-spread": ^7.18.0 + "@babel/plugin-proposal-optional-catch-binding": ^7.16.7 + "@babel/plugin-proposal-optional-chaining": ^7.17.12 + "@babel/plugin-proposal-private-methods": ^7.17.12 + "@babel/plugin-proposal-private-property-in-object": ^7.17.12 + "@babel/plugin-proposal-unicode-property-regex": ^7.17.12 + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-class-properties": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/plugin-syntax-import-assertions": ^7.17.12 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-transform-arrow-functions": ^7.17.12 + "@babel/plugin-transform-async-to-generator": ^7.17.12 + "@babel/plugin-transform-block-scoped-functions": ^7.16.7 + "@babel/plugin-transform-block-scoping": ^7.17.12 + "@babel/plugin-transform-classes": ^7.17.12 + "@babel/plugin-transform-computed-properties": ^7.17.12 + "@babel/plugin-transform-destructuring": ^7.18.0 + "@babel/plugin-transform-dotall-regex": ^7.16.7 + "@babel/plugin-transform-duplicate-keys": ^7.17.12 + "@babel/plugin-transform-exponentiation-operator": ^7.16.7 + "@babel/plugin-transform-for-of": ^7.18.1 + "@babel/plugin-transform-function-name": ^7.16.7 + "@babel/plugin-transform-literals": ^7.17.12 + "@babel/plugin-transform-member-expression-literals": ^7.16.7 + "@babel/plugin-transform-modules-amd": ^7.18.0 + "@babel/plugin-transform-modules-commonjs": ^7.18.2 + "@babel/plugin-transform-modules-systemjs": ^7.18.0 + "@babel/plugin-transform-modules-umd": ^7.18.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.17.12 + "@babel/plugin-transform-new-target": ^7.17.12 + "@babel/plugin-transform-object-super": ^7.16.7 + "@babel/plugin-transform-parameters": ^7.17.12 + "@babel/plugin-transform-property-literals": ^7.16.7 + "@babel/plugin-transform-regenerator": ^7.18.0 + "@babel/plugin-transform-reserved-words": ^7.17.12 + "@babel/plugin-transform-shorthand-properties": ^7.16.7 + "@babel/plugin-transform-spread": ^7.17.12 + "@babel/plugin-transform-sticky-regex": ^7.16.7 + "@babel/plugin-transform-template-literals": ^7.18.2 + "@babel/plugin-transform-typeof-symbol": ^7.17.12 + "@babel/plugin-transform-unicode-escapes": ^7.16.7 + "@babel/plugin-transform-unicode-regex": ^7.16.7 + "@babel/preset-modules": ^0.1.5 + "@babel/types": ^7.18.2 + babel-plugin-polyfill-corejs2: ^0.3.0 + babel-plugin-polyfill-corejs3: ^0.5.0 + babel-plugin-polyfill-regenerator: ^0.3.0 + core-js-compat: ^3.22.1 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f81892a7970cb34643b93917cbbc9b581d5066d892639867521f4a85ec258e69362a37bbb7b899b351e71d26095a97cd2d6e35e5f9ee110715146e0ccc19e700 + languageName: node + linkType: hard + +"@babel/preset-modules@npm:^0.1.5": + version: 0.1.5 + resolution: "@babel/preset-modules@npm:0.1.5" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + "@babel/plugin-proposal-unicode-property-regex": ^7.4.4 + "@babel/plugin-transform-dotall-regex": ^7.4.4 + "@babel/types": ^7.4.4 + esutils: ^2.0.2 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 8430e0e9e9d520b53e22e8c4c6a5a080a12b63af6eabe559c2310b187bd62ae113f3da82ba33e9d1d0f3230930ca702843aae9dd226dec51f7d7114dc1f51c10 + languageName: node + linkType: hard + +"@babel/register@npm:7.17.7": + version: 7.17.7 + resolution: "@babel/register@npm:7.17.7" + dependencies: + clone-deep: ^4.0.1 + find-cache-dir: ^2.0.0 + make-dir: ^2.1.0 + pirates: ^4.0.5 + source-map-support: ^0.5.16 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: b4b352a29487e9a45f3694e3f7cacc24668add2c3f9a45a5c8768a39cf495b1b49b7c95f0ebc6e415db4ac66317d20de15b3de96ca40f76d192137c4ad4cc7ce + languageName: node + linkType: hard + +"@babel/runtime@npm:7.16.7": + version: 7.16.7 + resolution: "@babel/runtime@npm:7.16.7" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: 47912f0aaacd1cab2e2552aaf3e6eaffbcaf2d5ac9b07a89a12ac0d42029cb92c070b0d16f825e4277c4a34677c54d8ffe85e1f7c6feb57de58f700eec67ce2f + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.8.4": + version: 7.18.9 + resolution: "@babel/runtime@npm:7.18.9" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: 36dd736baba7164e82b3cc9d43e081f0cb2d05ff867ad39cac515d99546cee75b7f782018b02a3dcf5f2ef3d27f319faa68965fdfec49d4912c60c6002353a2e + languageName: node + linkType: hard + +"@babel/template@npm:7.16.7": + version: 7.16.7 + resolution: "@babel/template@npm:7.16.7" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/parser": ^7.16.7 + "@babel/types": ^7.16.7 + checksum: 10cd112e89276e00f8b11b55a51c8b2f1262c318283a980f4d6cdb0286dc05734b9aaeeb9f3ad3311900b09bc913e02343fcaa9d4a4f413964aaab04eb84ac4a + languageName: node + linkType: hard + +"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.18.6, @babel/template@npm:^7.3.3": + version: 7.18.10 + resolution: "@babel/template@npm:7.18.10" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/parser": ^7.18.10 + "@babel/types": ^7.18.10 + checksum: 93a6aa094af5f355a72bd55f67fa1828a046c70e46f01b1606e6118fa1802b6df535ca06be83cc5a5e834022be95c7b714f0a268b5f20af984465a71e28f1473 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.10, @babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": + version: 7.18.11 + resolution: "@babel/traverse@npm:7.18.11" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.18.10 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/parser": ^7.18.11 + "@babel/types": ^7.18.10 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 727409464d5cf27f33555010098ce9bb435f0648cc76e674f4fb7513522356655ba62be99c8df330982b391ccf5f0c0c23c7bd7453d4936d47e2181693fed14c + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.18.10 + resolution: "@babel/types@npm:7.18.10" + dependencies: + "@babel/helper-string-parser": ^7.18.10 + "@babel/helper-validator-identifier": ^7.18.6 + to-fast-properties: ^2.0.0 + checksum: 11632c9b106e54021937a6498138014ebc9ad6c327a07b2af3ba8700773945aba4055fd136431cbe3a500d0f363cbf9c68eb4d6d38229897c5de9d06e14c85e8 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 + languageName: node + linkType: hard + +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: d64d5260bed1d5012ae3fc617d38d1afc0329fec05342f4e6b838f46998855ba56e0a73833f4a80fa8378c84810da254f76a8a19c39d038260dc06dc4e007425 + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": 0.3.9 + checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa + languageName: node + linkType: hard + +"@csstools/postcss-progressive-custom-properties@npm:^1.1.0": + version: 1.3.0 + resolution: "@csstools/postcss-progressive-custom-properties@npm:1.3.0" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.3 + checksum: e281845fde5b8a80d06ec20147bd74e96a9351bebbec5e5c3a6fb37ea30a597ff84172601786a8a270662f58f708b4a3bf8d822d6318023def9773d2f6589962 + languageName: node + linkType: hard + +"@csstools/selector-specificity@npm:^2.0.0": + version: 2.0.2 + resolution: "@csstools/selector-specificity@npm:2.0.2" + peerDependencies: + postcss: ^8.2 + postcss-selector-parser: ^6.0.10 + checksum: a2045a27276a6cfe645b6e212afc217d9a43174ea7a1fa1ab8918d5a0ace72380fbd9837fe1920c547985c11a9070dc48c5c80d483d3f581ddf7aa688204d44f + languageName: node + linkType: hard + +"@cypress/request@npm:^2.88.10": + version: 2.88.10 + resolution: "@cypress/request@npm:2.88.10" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + http-signature: ~1.3.6 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.5.0 + tunnel-agent: ^0.6.0 + uuid: ^8.3.2 + checksum: 69c3e3b332e9be4866a900f6bcca5d274d8cea6c99707fbcce061de8dbab11c9b1e39f4c017f6e83e6e682717781d4f6106fd6b7cf9546580fcfac353b6676cf + languageName: node + linkType: hard + +"@cypress/webpack-preprocessor@npm:5.11.1": + version: 5.11.1 + resolution: "@cypress/webpack-preprocessor@npm:5.11.1" + dependencies: + bluebird: 3.7.1 + debug: ^4.3.2 + lodash: ^4.17.20 + peerDependencies: + "@babel/core": ^7.0.1 + "@babel/preset-env": ^7.0.0 + babel-loader: ^8.0.2 + webpack: ^4 || ^5 + checksum: 48f0c083b491db88920f3bb05089d2de5f079f3eb33b579d77ce60a804ae9e02eb9170d677f4632eabb1abb48dad50978ca918ea537d68b27733d96b9765b9a6 + languageName: node + linkType: hard + +"@cypress/xvfb@npm:^1.2.4": + version: 1.2.4 + resolution: "@cypress/xvfb@npm:1.2.4" + dependencies: + debug: ^3.1.0 + lodash.once: ^4.1.1 + checksum: 7bdcdaeb1bb692ec9d9bf8ec52538aa0bead6764753f4a067a171a511807a43fab016f7285a56bef6a606c2467ff3f1365e1ad2d2d583b81beed849ee1573fd1 + languageName: node + linkType: hard + +"@discoveryjs/json-ext@npm:0.5.6": + version: 0.5.6 + resolution: "@discoveryjs/json-ext@npm:0.5.6" + checksum: e97df618511fb202dffa2eb0d23e17dfb02943a70e5bc38f6b9603ad1cb1d6b525aa2b07ff9fb00b041abe425b341146ddd9e487f1e35ddadc8c6b8c56358ae0 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.15.1": + version: 0.15.1 + resolution: "@esbuild/linux-loong64@npm:0.15.1" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^0.4.3": + version: 0.4.3 + resolution: "@eslint/eslintrc@npm:0.4.3" + dependencies: + ajv: ^6.12.4 + debug: ^4.1.1 + espree: ^7.3.0 + globals: ^13.9.0 + ignore: ^4.0.6 + import-fresh: ^3.2.1 + js-yaml: ^3.13.1 + minimatch: ^3.0.4 + strip-json-comments: ^3.1.1 + checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^1.3.0": + version: 1.3.0 + resolution: "@eslint/eslintrc@npm:1.3.0" + dependencies: + ajv: ^6.12.4 + debug: ^4.3.2 + espree: ^9.3.2 + globals: ^13.15.0 + ignore: ^5.2.0 + import-fresh: ^3.2.1 + js-yaml: ^4.1.0 + minimatch: ^3.1.2 + strip-json-comments: ^3.1.1 + checksum: a1e734ad31a8b5328dce9f479f185fd4fc83dd7f06c538e1fa457fd8226b89602a55cc6458cd52b29573b01cdfaf42331be8cfc1fec732570086b591f4ed6515 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + +"@hapi/hoek@npm:^9.0.0": + version: 9.3.0 + resolution: "@hapi/hoek@npm:9.3.0" + checksum: 4771c7a776242c3c022b168046af4e324d116a9d2e1d60631ee64f474c6e38d1bb07092d898bf95c7bc5d334c5582798a1456321b2e53ca817d4e7c88bc25b43 + languageName: node + linkType: hard + +"@hapi/topo@npm:^5.0.0": + version: 5.1.0 + resolution: "@hapi/topo@npm:5.1.0" + dependencies: + "@hapi/hoek": ^9.0.0 + checksum: 604dfd5dde76d5c334bd03f9001fce69c7ce529883acf92da96f4fe7e51221bf5e5110e964caca287a6a616ba027c071748ab636ff178ad750547fba611d6014 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.5.0": + version: 0.5.0 + resolution: "@humanwhocodes/config-array@npm:0.5.0" + dependencies: + "@humanwhocodes/object-schema": ^1.2.0 + debug: ^4.1.1 + minimatch: ^3.0.4 + checksum: 44ee6a9f05d93dd9d5935a006b17572328ba9caff8002442f601736cbda79c580cc0f5a49ce9eb88fbacc5c3a6b62098357c2e95326cd17bb9f1a6c61d6e95e7 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.9.2": + version: 0.9.5 + resolution: "@humanwhocodes/config-array@npm:0.9.5" + dependencies: + "@humanwhocodes/object-schema": ^1.2.1 + debug: ^4.1.1 + minimatch: ^3.0.4 + checksum: 8ba6281bc0590f6c6eadeefc14244b5a3e3f5903445aadd1a32099ed80e753037674026ce1b3c945ab93561bea5eb29e3c5bff67060e230c295595ba517a3492 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^1.2.0, @humanwhocodes/object-schema@npm:^1.2.1": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: ^5.3.1 + find-up: ^4.1.0 + get-package-type: ^0.1.0 + js-yaml: ^3.13.1 + resolve-from: ^5.0.0 + checksum: d578da5e2e804d5c93228450a1380e1a3c691de4953acc162f387b717258512a3e07b83510a936d9fab03eac90817473917e24f5d16297af3867f59328d58568 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 + languageName: node + linkType: hard + +"@jest/console@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/console@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + slash: ^3.0.0 + checksum: fe50d98d26d02ce2901c76dff4bd5429a33c13affb692c9ebf8a578ca2f38a5dd854363d40d6c394f215150791fd1f692afd8e730a4178dda24107c8dfd9750a + languageName: node + linkType: hard + +"@jest/core@npm:^28.1.0, @jest/core@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/core@npm:28.1.3" + dependencies: + "@jest/console": ^28.1.3 + "@jest/reporters": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + ci-info: ^3.2.0 + exit: ^0.1.2 + graceful-fs: ^4.2.9 + jest-changed-files: ^28.1.3 + jest-config: ^28.1.3 + jest-haste-map: ^28.1.3 + jest-message-util: ^28.1.3 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.3 + jest-resolve-dependencies: ^28.1.3 + jest-runner: ^28.1.3 + jest-runtime: ^28.1.3 + jest-snapshot: ^28.1.3 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + jest-watcher: ^28.1.3 + micromatch: ^4.0.4 + pretty-format: ^28.1.3 + rimraf: ^3.0.0 + slash: ^3.0.0 + strip-ansi: ^6.0.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: cb79f34bafc4637e7130df12257f5b29075892a2be2c7f45c6d4c0420853e80b5dae11016e652530eb234f4c44c00910cdca3c2cd86275721860725073f7d9b4 + languageName: node + linkType: hard + +"@jest/environment@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/environment@npm:28.1.3" + dependencies: + "@jest/fake-timers": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + jest-mock: ^28.1.3 + checksum: 14c496b84aef951df33128cea68988e9de43b2e9d62be9f9c4308d4ac307fa345642813679f80d0a4cedeb900cf6f0b6bb2b92ce089528e8721f72295fdc727f + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/expect-utils@npm:28.1.3" + dependencies: + jest-get-type: ^28.0.2 + checksum: 808ea3a68292a7e0b95490fdd55605c430b4cf209ea76b5b61bfb2a1badcb41bc046810fe4e364bd5fe04663978aa2bd73d8f8465a761dd7c655aeb44cf22987 + languageName: node + linkType: hard + +"@jest/expect@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/expect@npm:28.1.3" + dependencies: + expect: ^28.1.3 + jest-snapshot: ^28.1.3 + checksum: 4197f6fdddc33dc45ba4e838f992fc61839c421d7aed0dfe665ef9c2f172bb1df8a8cac9cecee272b40e744a326da521d5e182709fe82a0b936055bfffa3b473 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/fake-timers@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@sinonjs/fake-timers": ^9.1.2 + "@types/node": "*" + jest-message-util: ^28.1.3 + jest-mock: ^28.1.3 + jest-util: ^28.1.3 + checksum: cec14d5b14913a54dce64a62912c5456235f5d90b509ceae19c727565073114dae1aaf960ac6be96b3eb94789a3a758b96b72c8fca7e49a6ccac415fbc0321e1 + languageName: node + linkType: hard + +"@jest/globals@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/globals@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/expect": ^28.1.3 + "@jest/types": ^28.1.3 + checksum: 3504bb23de629d466c6f2b6b75d2e1c1b10caccbbcfb7eaa82d22cc37711c8e364c243929581184846605c023b475ea6c42c2e3ea5994429a988d8d527af32cd + languageName: node + linkType: hard + +"@jest/reporters@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/reporters@npm:28.1.3" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@jridgewell/trace-mapping": ^0.3.13 + "@types/node": "*" + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.2.9 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-instrument: ^5.1.0 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.1.3 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + jest-worker: ^28.1.3 + slash: ^3.0.0 + string-length: ^4.0.1 + strip-ansi: ^6.0.0 + terminal-link: ^2.0.0 + v8-to-istanbul: ^9.0.1 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: a7440887ce837922cbeaa64c3232eb48aae02aa9123f29fc4280ad3e1afe4b35dcba171ba1d5fd219037c396c5152d9c2d102cff1798dd5ae3bd33ac4759ae0a + languageName: node + linkType: hard + +"@jest/schemas@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/schemas@npm:28.1.3" + dependencies: + "@sinclair/typebox": ^0.24.1 + checksum: 3cf1d4b66c9c4ffda58b246de1ddcba8e6ad085af63dccdf07922511f13b68c0cc480a7bc620cb4f3099a6f134801c747e1df7bfc7a4ef4dceefbdea3e31e1de + languageName: node + linkType: hard + +"@jest/source-map@npm:^28.1.2": + version: 28.1.2 + resolution: "@jest/source-map@npm:28.1.2" + dependencies: + "@jridgewell/trace-mapping": ^0.3.13 + callsites: ^3.0.0 + graceful-fs: ^4.2.9 + checksum: b82a5c2e93d35d86779c61a02ccb967d1b5cd2e9dd67d26d8add44958637cbbb99daeeb8129c7653389cb440dc2a2f5ae4d2183dc453c67669ff98938b775a3a + languageName: node + linkType: hard + +"@jest/test-result@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/test-result@npm:28.1.3" + dependencies: + "@jest/console": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 957a5dd2fd2e84aabe86698f93c0825e96128ccaa23abf548b159a9b08ac74e4bde7acf4bec48479243dbdb27e4ea1b68c171846d21fb64855c6b55cead9ef27 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/test-sequencer@npm:28.1.3" + dependencies: + "@jest/test-result": ^28.1.3 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + slash: ^3.0.0 + checksum: 13f8905e6d1ec8286694146f7be3cf90eff801bbdea5e5c403e6881444bb390ed15494c7b9948aa94bd7e9c9a851e0d3002ed6e7371d048b478596e5b23df953 + languageName: node + linkType: hard + +"@jest/transform@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/transform@npm:28.1.3" + dependencies: + "@babel/core": ^7.11.6 + "@jest/types": ^28.1.3 + "@jridgewell/trace-mapping": ^0.3.13 + babel-plugin-istanbul: ^6.1.1 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + jest-regex-util: ^28.0.2 + jest-util: ^28.1.3 + micromatch: ^4.0.4 + pirates: ^4.0.4 + slash: ^3.0.0 + write-file-atomic: ^4.0.1 + checksum: dadf618936e0aa84342f07f532801d5bed43cdf95d1417b929e4f8782c872cff1adc84096d5a287a796d0039a2691c06d8450cce5a713a8b52fbb9f872a1e760 + languageName: node + linkType: hard + +"@jest/types@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/types@npm:28.1.3" + dependencies: + "@jest/schemas": ^28.1.3 + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^17.0.8 + chalk: ^4.0.0 + checksum: 1e258d9c063fcf59ebc91e46d5ea5984674ac7ae6cae3e50aa780d22b4405bf2c925f40350bf30013839eb5d4b5e521d956ddf8f3b7c78debef0e75a07f57350 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/gen-mapping@npm:0.3.2" + dependencies: + "@jridgewell/set-array": ^1.0.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1832707a1c476afebe4d0fbbd4b9434fdb51a4c3e009ab1e9938648e21b7a97049fa6009393bdf05cab7504108413441df26d8a3c12193996e65493a4efb6882 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.0.3": + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/source-map@npm:0.3.2" + dependencies: + "@jridgewell/gen-mapping": ^0.3.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1b83f0eb944e77b70559a394d5d3b3f98a81fcc186946aceb3ef42d036762b52ef71493c6c0a3b7c1d2f08785f53ba2df1277fe629a06e6109588ff4cdcf7482 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": ^3.0.3 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.7, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.15 + resolution: "@jridgewell/trace-mapping@npm:0.3.15" + dependencies: + "@jridgewell/resolve-uri": ^3.0.3 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 38917e9c2b014d469a9f51c016ed506acbe44dd16ec2f6f99b553ebf3764d22abadbf992f2367b6d2b3511f3eae8ed3a8963f6c1030093fda23efd35ecab2bae + languageName: node + linkType: hard + +"@leichtgewicht/ip-codec@npm:^2.0.1": + version: 2.0.4 + resolution: "@leichtgewicht/ip-codec@npm:2.0.4" + checksum: 468de1f04d33de6d300892683d7c8aecbf96d1e2c5fe084f95f816e50a054d45b7c1ebfb141a1447d844b86a948733f6eebd92234da8581c84a1ad4de2946a2d + languageName: node + linkType: hard + +"@ngtools/webpack@npm:13.3.7": + version: 13.3.7 + resolution: "@ngtools/webpack@npm:13.3.7" + peerDependencies: + "@angular/compiler-cli": ^13.0.0 + typescript: ">=4.4.3 <4.7" + webpack: ^5.30.0 + checksum: 5f9aaae46f552e81ebcf79f155ec1c64da2da08338457c420ac4e862c36a1dcf16075406520c0cec3d1553965a2c8674fc08f9259d6810bef67abcd069fc5ae9 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: ^1.1.9 + checksum: a970d595bd23c66c880e0ef1817791432dbb7acbb8d44b7e7d0e7a22f4521260d4a83f7f9fd61d44fda4610105577f8f58a60718105fb38352baed612fd79e59 + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: ^1.6.0 + checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^1.0.0": + version: 1.1.1 + resolution: "@npmcli/fs@npm:1.1.1" + dependencies: + "@gar/promisify": ^1.0.1 + semver: ^7.3.5 + checksum: f5ad92f157ed222e4e31c352333d0901df02c7c04311e42a81d8eb555d4ec4276ea9c635011757de20cc476755af33e91622838de573b17e52e2e7703f0a9965 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^2.1.0": + version: 2.1.1 + resolution: "@npmcli/fs@npm:2.1.1" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 4944a0545d38d3e6e29780eeb3cd4be6059c1e9627509d2c9ced635c53b852d28b37cdc615a2adf815b51ab8673adb6507e370401a20a7e90c8a6dc4fac02389 + languageName: node + linkType: hard + +"@npmcli/git@npm:^2.1.0": + version: 2.1.0 + resolution: "@npmcli/git@npm:2.1.0" + dependencies: + "@npmcli/promise-spawn": ^1.3.2 + lru-cache: ^6.0.0 + mkdirp: ^1.0.4 + npm-pick-manifest: ^6.1.1 + promise-inflight: ^1.0.1 + promise-retry: ^2.0.1 + semver: ^7.3.5 + which: ^2.0.2 + checksum: 1f89752df7b836f378b8828423c6ae344fe59399915b9460acded19686e2d0626246251a3cd4cc411ed21c1be6fe7f0c2195c17f392e88748581262ee806dc33 + languageName: node + linkType: hard + +"@npmcli/installed-package-contents@npm:^1.0.6": + version: 1.0.7 + resolution: "@npmcli/installed-package-contents@npm:1.0.7" + dependencies: + npm-bundled: ^1.1.1 + npm-normalize-package-bin: ^1.0.1 + bin: + installed-package-contents: index.js + checksum: a4a29b99d439827ce2e7817c1f61b56be160e640696e31dc513a2c8a37c792f75cdb6258ec15a1e22904f20df0a8a3019dd3766de5e6619f259834cf64233538 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^1.0.1": + version: 1.1.2 + resolution: "@npmcli/move-file@npm:1.1.2" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/move-file@npm:2.0.0" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 + languageName: node + linkType: hard + +"@npmcli/node-gyp@npm:^1.0.2": + version: 1.0.3 + resolution: "@npmcli/node-gyp@npm:1.0.3" + checksum: 496d5eef2e90e34bb07e96adbcbbce3dba5370ae87e8c46ff5b28570848f35470c8e008b8f69e50863632783e0a9190e6f55b2e4b049c537142821153942d26a + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^1.2.0, @npmcli/promise-spawn@npm:^1.3.2": + version: 1.3.2 + resolution: "@npmcli/promise-spawn@npm:1.3.2" + dependencies: + infer-owner: ^1.0.4 + checksum: 543b7c1e26230499b4100b10d45efa35b1077e8f25595050f34930ca3310abe9524f7387279fe4330139e0f28a0207595245503439276fd4b686cca2b6503080 + languageName: node + linkType: hard + +"@npmcli/run-script@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/run-script@npm:2.0.0" + dependencies: + "@npmcli/node-gyp": ^1.0.2 + "@npmcli/promise-spawn": ^1.3.2 + node-gyp: ^8.2.0 + read-package-json-fast: ^2.0.1 + checksum: c016ea9411e434d84e9bb9c30814c2868eee3ff32625f3e1af4671c3abfe0768739ffb2dba5520da926ae44315fc5f507b744f0626a80bc9461f2f19760e5fa0 + languageName: node + linkType: hard + +"@schematics/angular@npm:13.3.7": + version: 13.3.7 + resolution: "@schematics/angular@npm:13.3.7" + dependencies: + "@angular-devkit/core": 13.3.7 + "@angular-devkit/schematics": 13.3.7 + jsonc-parser: 3.0.0 + checksum: 09002fb96988cdd92de385c47046d2b6679518a07e8e6c2cefda8d7b169199a33b7c4309f24c1308b4077b910b67396ae6212953fe83d86850bdce06fd7eb1c3 + languageName: node + linkType: hard + +"@schematics/angular@npm:^13.0.0": + version: 13.3.9 + resolution: "@schematics/angular@npm:13.3.9" + dependencies: + "@angular-devkit/core": 13.3.9 + "@angular-devkit/schematics": 13.3.9 + jsonc-parser: 3.0.0 + checksum: f11eac9c3d82d98b53de0d0e66dc7ba557b8d5c8419f3e8ef756c88d45bb5afbf7ee4f61d699801a968787f16ce3a415c192c95e8e25458f0db6d63859cc9d1d + languageName: node + linkType: hard + +"@sideway/address@npm:^4.1.3": + version: 4.1.4 + resolution: "@sideway/address@npm:4.1.4" + dependencies: + "@hapi/hoek": ^9.0.0 + checksum: b9fca2a93ac2c975ba12e0a6d97853832fb1f4fb02393015e012b47fa916a75ca95102d77214b2a29a2784740df2407951af8c5dde054824c65577fd293c4cdb + languageName: node + linkType: hard + +"@sideway/formula@npm:^3.0.0": + version: 3.0.0 + resolution: "@sideway/formula@npm:3.0.0" + checksum: 8ae26a0ed6bc84f7310be6aae6eb9d81e97f382619fc69025d346871a707eaab0fa38b8c857e3f0c35a19923de129f42d35c50b8010c928d64aab41578580ec4 + languageName: node + linkType: hard + +"@sideway/pinpoint@npm:^2.0.0": + version: 2.0.0 + resolution: "@sideway/pinpoint@npm:2.0.0" + checksum: 0f4491e5897fcf5bf02c46f5c359c56a314e90ba243f42f0c100437935daa2488f20482f0f77186bd6bf43345095a95d8143ecf8b1f4d876a7bc0806aba9c3d2 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.24.1": + version: 0.24.27 + resolution: "@sinclair/typebox@npm:0.24.27" + checksum: c283de9158c0206da3d1ebd7c5f994da0b1cf86df89674da7709850300ecdceb0d4c9680dccce84b60cdcc3d8858f54df8235b250ba092726fadb2bebe720bd1 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^0.14.0": + version: 0.14.0 + resolution: "@sindresorhus/is@npm:0.14.0" + checksum: 971e0441dd44ba3909b467219a5e242da0fc584048db5324cfb8048148fa8dcc9d44d71e3948972c4f6121d24e5da402ef191420d1266a95f713bb6d6e59c98a + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.7.0": + version: 1.8.3 + resolution: "@sinonjs/commons@npm:1.8.3" + dependencies: + type-detect: 4.0.8 + checksum: 6159726db5ce6bf9f2297f8427f7ca5b3dff45b31e5cee23496f1fa6ef0bb4eab878b23fb2c5e6446381f6a66aba4968ef2fc255c1180d753d4b8c271636a2e5 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^9.1.2": + version: 9.1.2 + resolution: "@sinonjs/fake-timers@npm:9.1.2" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 7d3aef54e17c1073101cb64d953157c19d62a40e261a30923fa1ee337b049c5f29cc47b1f0c477880f42b5659848ba9ab897607ac8ea4acd5c30ddcfac57fca6 + languageName: node + linkType: hard + +"@swimlane/ngx-charts@npm:20.1.0": + version: 20.1.0 + resolution: "@swimlane/ngx-charts@npm:20.1.0" + dependencies: + "@types/d3-shape": ^2.0.0 + d3-array: ^2.9.1 + d3-brush: ^2.1.0 + d3-color: ^2.0.0 + d3-format: ^2.0.0 + d3-hierarchy: ^2.0.0 + d3-interpolate: ^2.0.1 + d3-scale: ^3.2.3 + d3-selection: ^2.0.0 + d3-shape: ^2.0.0 + d3-time-format: ^3.0.0 + d3-transition: ^2.0.0 + tslib: ^2.0.0 + peerDependencies: + "@angular/animations": ">=12.0.0" + "@angular/cdk": ">=12.0.0" + "@angular/common": ">=12.0.0" + "@angular/core": ">=12.0.0" + "@angular/forms": ">=12.0.0" + "@angular/platform-browser": ">=12.0.0" + "@angular/platform-browser-dynamic": ">=12.0.0" + rxjs: ^6.5.3 || ^7.4.0 + checksum: 7f4ce8c86f4a4c3679f7455f6f1081a926e1fc45bf244f4665649d007ab7c1e972fac25a5eee1d0d83aca5d213dafd8d6c1e3853975ad13dbf1cfa162e0cd7ed + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^1.1.2": + version: 1.1.2 + resolution: "@szmarczak/http-timer@npm:1.1.2" + dependencies: + defer-to-connect: ^1.0.1 + checksum: 4d9158061c5f397c57b4988cde33a163244e4f02df16364f103971957a32886beb104d6180902cbe8b38cb940e234d9f98a4e486200deca621923f62f50a06fe + languageName: node + linkType: hard + +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.9 + resolution: "@tsconfig/node10@npm:1.0.9" + checksum: a33ae4dc2a621c0678ac8ac4bceb8e512ae75dac65417a2ad9b022d9b5411e863c4c198b6ba9ef659e14b9fb609bbec680841a2e84c1172df7a5ffcf076539df + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 5ce29a41b13e7897a58b8e2df11269c5395999e588b9a467386f99d1d26f6c77d1af2719e407621412520ea30517d718d5192a32403b8dfcc163bf33e40a338a + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 19275fe80c4c8d0ad0abed6a96dbf00642e88b220b090418609c4376e1cef81bf16237bf170ad1b341452feddb8115d8dd2e5acdfdea1b27422071163dc9ba9d + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.3 + resolution: "@tsconfig/node16@npm:1.0.3" + checksum: 3a8b657dd047495b7ad23437d6afd20297ce90380ff0bdee93fc7d39a900dbd8d9e26e53ff6b465e7967ce2adf0b218782590ce9013285121e6a5928fbd6819f + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.1.19 + resolution: "@types/babel__core@npm:7.1.19" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: 8c9fa87a1c2224cbec251683a58bebb0d74c497118034166aaa0491a4e2627998a6621fc71f8a60ffd27d9c0c52097defedf7637adc6618d0331c15adb302338 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.4 + resolution: "@types/babel__generator@npm:7.6.4" + dependencies: + "@babel/types": ^7.0.0 + checksum: 20effbbb5f8a3a0211e95959d06ae70c097fb6191011b73b38fe86deebefad8e09ee014605e0fd3cdaedc73d158be555866810e9166e1f09e4cfd880b874dcb0 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.1 + resolution: "@types/babel__template@npm:7.4.1" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 649fe8b42c2876be1fd28c6ed9b276f78152d5904ec290b6c861d9ef324206e0a5c242e8305c421ac52ecf6358fa7e32ab7a692f55370484825c1df29b1596ee + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.18.0 + resolution: "@types/babel__traverse@npm:7.18.0" + dependencies: + "@babel/types": ^7.3.0 + checksum: 5fd7f4ea0963f9669b1bd6bd928b2d81452b98e4acfcfeb26ca4476162b87f9c1d8f66ff13567fd9f760a31ad04c36d767fa874f569aded6fb46890e379327c1 + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.2 + resolution: "@types/body-parser@npm:1.19.2" + dependencies: + "@types/connect": "*" + "@types/node": "*" + checksum: e17840c7d747a549f00aebe72c89313d09fbc4b632b949b2470c5cb3b1cb73863901ae84d9335b567a79ec5efcfb8a28ff8e3f36bc8748a9686756b6d5681f40 + languageName: node + linkType: hard + +"@types/bonjour@npm:^3.5.9": + version: 3.5.10 + resolution: "@types/bonjour@npm:3.5.10" + dependencies: + "@types/node": "*" + checksum: bfcadb042a41b124c4e3de4925e3be6d35b78f93f27c4535d5ff86980dc0f8bc407ed99b9b54528952dc62834d5a779392f7a12c2947dd19330eb05a6bcae15a + languageName: node + linkType: hard + +"@types/connect-history-api-fallback@npm:^1.3.5": + version: 1.3.5 + resolution: "@types/connect-history-api-fallback@npm:1.3.5" + dependencies: + "@types/express-serve-static-core": "*" + "@types/node": "*" + checksum: 464d06e5ab00f113fa89978633d5eb00d225aeb4ebbadc07f6f3bc337aa7cbfcd74957b2a539d6d47f2e128e956a17819973ec7ae62ade2e16e367a6c38b8d3a + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.35 + resolution: "@types/connect@npm:3.4.35" + dependencies: + "@types/node": "*" + checksum: fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 + languageName: node + linkType: hard + +"@types/d3-array@npm:*": + version: 3.0.3 + resolution: "@types/d3-array@npm:3.0.3" + checksum: 972c8ff009c97c9093883d7597aac7185d4e8c2832d7f25420d8312aa1ebd60182f85fe768615cbc9d73d8819add52eea7ce640e57f5b1668ef389f1dc9569bc + languageName: node + linkType: hard + +"@types/d3-axis@npm:*": + version: 3.0.1 + resolution: "@types/d3-axis@npm:3.0.1" + dependencies: + "@types/d3-selection": "*" + checksum: ac3f9f86eee0c3e50876e0c4467200413c7f6904008e3e80ac5e2499ed33f4e328f2ebedd08d0e715c4703ae287f315f5652daae7e630a26e8fd272b7232e02e + languageName: node + linkType: hard + +"@types/d3-brush@npm:*": + version: 3.0.1 + resolution: "@types/d3-brush@npm:3.0.1" + dependencies: + "@types/d3-selection": "*" + checksum: 520e6af41b234cb66d99f3bdab661b7abe2dc024bf8d76332924df7f9d8feb02b34db2dc9430e8f1e315b9b41cba8a5f246e1a0aec46bfe8f84f38c4ff55a4c8 + languageName: node + linkType: hard + +"@types/d3-chord@npm:*": + version: 3.0.1 + resolution: "@types/d3-chord@npm:3.0.1" + checksum: ee15c3fdb0ffbaab356b9cf79e4f2dd4c31ee200fb610f52e102f5f81d70c7c4b56470f2720d1af909b546bebce8b0ca3e3f5d1797daac4f18834b5345cfa4ac + languageName: node + linkType: hard + +"@types/d3-color@npm:*": + version: 3.1.0 + resolution: "@types/d3-color@npm:3.1.0" + checksum: b1856f17d6366559a68eaba0164f30727e9dc5eaf1b3a6c8844354da228860240423d19fa4de65bff9da26b4ead8843eab14b1566962665412e8fd82c3810554 + languageName: node + linkType: hard + +"@types/d3-contour@npm:*": + version: 3.0.1 + resolution: "@types/d3-contour@npm:3.0.1" + dependencies: + "@types/d3-array": "*" + "@types/geojson": "*" + checksum: 2f7d7f94913caf529730afed45ad73d057b143ba11d36e1918efc2fd2f52610f48e4510d9b34b606792048c53d405910da1d5014d8dd57f2e064b26ed5578c4c + languageName: node + linkType: hard + +"@types/d3-delaunay@npm:*": + version: 6.0.1 + resolution: "@types/d3-delaunay@npm:6.0.1" + checksum: c46fd6f399ed604e9f40841851c432c936c4408af9e61b235a7f6030e93faa9b5c4f6c33a62be221e1d33f48a9162e9c4bbfa173746c0e4787483310da9a03b2 + languageName: node + linkType: hard + +"@types/d3-dispatch@npm:*": + version: 3.0.1 + resolution: "@types/d3-dispatch@npm:3.0.1" + checksum: cd60dfff9077e89b713538ff6df7938e742a872a7371d2b67ccf365ca569edcfe62339f44280ee875b6e690e32c032e377a09eded478f85361088eef0b6dfa3c + languageName: node + linkType: hard + +"@types/d3-drag@npm:*": + version: 3.0.1 + resolution: "@types/d3-drag@npm:3.0.1" + dependencies: + "@types/d3-selection": "*" + checksum: d83b66cd2e0a5c288b32daefdf8b4e611db21f9ad1d6335ae2edc4aed43e03cd9030e4b6aace81195589a4110b44dbe0f44decd413f7aa60626715659a74d4b8 + languageName: node + linkType: hard + +"@types/d3-dsv@npm:*": + version: 3.0.0 + resolution: "@types/d3-dsv@npm:3.0.0" + checksum: f145219dae2f899bfd581241ee4eb8b755dc56873f2af4e3b60086e56e1979e844d8d2fd99c08be77ff33e648af13a93edcf6a4b892a56936f4b258d44494b77 + languageName: node + linkType: hard + +"@types/d3-ease@npm:*": + version: 3.0.0 + resolution: "@types/d3-ease@npm:3.0.0" + checksum: 1be7c993643b5a08332e0ee146375a3845545d8deb423db5d152e0b061524385d2345ceccf968f75f605247b940dd3f9a144335fee2e7d935cddaf187afb7095 + languageName: node + linkType: hard + +"@types/d3-fetch@npm:*": + version: 3.0.1 + resolution: "@types/d3-fetch@npm:3.0.1" + dependencies: + "@types/d3-dsv": "*" + checksum: 5238f007e1749d533dfe80f925c31c3d602134de0229d5b153ebd166a8650c0bf057ef54835e5b6d7cedcdb09cf6eeb0e5615e4f35cb3d455845f4594b23554b + languageName: node + linkType: hard + +"@types/d3-force@npm:*": + version: 3.0.3 + resolution: "@types/d3-force@npm:3.0.3" + checksum: 1082a07c028b454fccbb250381e1388818606faff0a7b81d80bc4ab53c5f86f2618fcbb12226402880476d96be9bb24c6c38f175c5e697e94ea4cf8af389be6c + languageName: node + linkType: hard + +"@types/d3-format@npm:*": + version: 3.0.1 + resolution: "@types/d3-format@npm:3.0.1" + checksum: 6819fae7e7c3fce1e44cd56e9b6d8ea5508f708cb7a42793edf82ff914b120bf6cddc35208b1b33ec82615ab82b843c284709f9cea5c3fe1ea5f012106b3d32c + languageName: node + linkType: hard + +"@types/d3-geo@npm:*": + version: 3.0.2 + resolution: "@types/d3-geo@npm:3.0.2" + dependencies: + "@types/geojson": "*" + checksum: 23ecb29d818ef62e8a7a8fd97bcea8b9e36ce52035fe8e102fb567f223b7b530716a4dd6d4e66bb353720b027aba76fea60279ffdeb2d6a7ab89e6e3571bca32 + languageName: node + linkType: hard + +"@types/d3-hierarchy@npm:*": + version: 3.1.0 + resolution: "@types/d3-hierarchy@npm:3.1.0" + checksum: 7c598db08362e64f614d14c13090db37a6bb8a99b500614b30ea247d2541b30dc0743531aece6db5c352661d176c653127b982db3bde4c180d87e70f9e4c6f5f + languageName: node + linkType: hard + +"@types/d3-interpolate@npm:*": + version: 3.0.1 + resolution: "@types/d3-interpolate@npm:3.0.1" + dependencies: + "@types/d3-color": "*" + checksum: 29ce472968b9e6611bdf0eeedaf89e8d6066190b52ced011d16d8183b8b9f8e6dd6516ca2b85242594942896299b42f37504d44e635f8fba3090c2c58594e21b + languageName: node + linkType: hard + +"@types/d3-path@npm:*": + version: 3.0.0 + resolution: "@types/d3-path@npm:3.0.0" + checksum: af7f45ea912cddd794c03384baba856f11e1f9b57a49d05a66a61968dafaeb86e0e42394883118b9b8ccadce21a5f25b1f9a88ad05235e1dc6d24c3e34a379ff + languageName: node + linkType: hard + +"@types/d3-path@npm:^2": + version: 2.0.2 + resolution: "@types/d3-path@npm:2.0.2" + checksum: 2ab49cc87b9d2cb90c189bedf5f0fdc2b1609c3c668664dc76c679054b4bb1bcfaf44e7836e1f7d0b38102cecc269a6c52a353e0ba238c992509cb0e9d6c5c33 + languageName: node + linkType: hard + +"@types/d3-polygon@npm:*": + version: 3.0.0 + resolution: "@types/d3-polygon@npm:3.0.0" + checksum: 2b4fbd864e6e40c8f63c56c46ed27f63c18d4b9b8c6f03c48bda048bc29e0d77c01763122a3cf85cce89acb12c4a65f3cd7b1d87b53ced8bf6ce341831b30190 + languageName: node + linkType: hard + +"@types/d3-quadtree@npm:*": + version: 3.0.2 + resolution: "@types/d3-quadtree@npm:3.0.2" + checksum: 2a831a80590df125b07bc573c081449823e85159bb8fafbfee9f211dbe402840aeb01f4b04b4b47b0f28394daee29c8a10185f9acf17b6a8be649a377aff006b + languageName: node + linkType: hard + +"@types/d3-random@npm:*": + version: 3.0.1 + resolution: "@types/d3-random@npm:3.0.1" + checksum: 7ed9f83ee3c0b02510767bf15551984c229491d694c3c9a45a8eb80b27f7eb5f9096a48011c8cae6787b3e36321a6aaf2fe0efed8685a669481927a3d08e6b8a + languageName: node + linkType: hard + +"@types/d3-scale-chromatic@npm:*": + version: 3.0.0 + resolution: "@types/d3-scale-chromatic@npm:3.0.0" + checksum: e06afffd2725570aa90cb3050eb96a94727264948d9256e56807ab582aba379168d84d1d98bcaa275bf38375148b35dfe13697e06fc7565dd17ac7e2acb11980 + languageName: node + linkType: hard + +"@types/d3-scale@npm:*, @types/d3-scale@npm:4.0.2": + version: 4.0.2 + resolution: "@types/d3-scale@npm:4.0.2" + dependencies: + "@types/d3-time": "*" + checksum: 6b3c0337f38f82b582d9f3190fde82edfce7ffafb371e5b2464c443137c2660bac644099d259f1f5cc829085eb5688bed0bea2b336a957d0845433bd07bf2ddd + languageName: node + linkType: hard + +"@types/d3-selection@npm:*": + version: 3.0.3 + resolution: "@types/d3-selection@npm:3.0.3" + checksum: 24d4ac0b8f76bfdf5d3d90e6724ff7703057375ba482d2924f8d959e5481eaab55e0e39b5ca68a6d4e99bce100561333dee4146f497c9fc3605f1a308a7e713c + languageName: node + linkType: hard + +"@types/d3-shape@npm:*": + version: 3.1.0 + resolution: "@types/d3-shape@npm:3.1.0" + dependencies: + "@types/d3-path": "*" + checksum: 19d43b9762cbff503806d014be1b8a5d22dd12c71635f1f0b30696d3b3b31528b978175afe2ba183542fd16e4fc740f56e7a84100ead00f7d95eaeb890ac8b78 + languageName: node + linkType: hard + +"@types/d3-shape@npm:^2.0.0": + version: 2.1.3 + resolution: "@types/d3-shape@npm:2.1.3" + dependencies: + "@types/d3-path": ^2 + checksum: d0855a1e2c11a4ab23367c86ef0cc104e12bf216f2c007fa5955da7179b60b0426d0e9ddbbbdf93d4342e7dd24c7bcfc3a2bc6258744e03fc44ca460a063dcc3 + languageName: node + linkType: hard + +"@types/d3-time-format@npm:*": + version: 4.0.0 + resolution: "@types/d3-time-format@npm:4.0.0" + checksum: ac3a841b0cd6e7f4d4c6c2cd09a2662facea6993c16b10f40fdf84f55adf7be59a6d08fd6ac1c42c27c7340f3b5eeafef968b45b052a5476a580c78a991668db + languageName: node + linkType: hard + +"@types/d3-time@npm:*": + version: 3.0.0 + resolution: "@types/d3-time@npm:3.0.0" + checksum: e76adb056daccf80107f4db190ac6deb77e8774f00362bb6c76f178e67f2f217422fe502b654edbc9ac6451f6619045b9f6f5fe0db1ec5520e2ada377af7c72e + languageName: node + linkType: hard + +"@types/d3-timer@npm:*": + version: 3.0.0 + resolution: "@types/d3-timer@npm:3.0.0" + checksum: 1ec86b3808de6ecfa93cfdf34254761069658af0cc1d9540e8353dbcba161cdf1296a0724187bd17433b2ff16563115fd20b85fc89d5e809ff28f9b1ab134b42 + languageName: node + linkType: hard + +"@types/d3-transition@npm:*": + version: 3.0.1 + resolution: "@types/d3-transition@npm:3.0.1" + dependencies: + "@types/d3-selection": "*" + checksum: 7e9bd99bf54e52c839d229367ec5ffdd84e6fd83544381ad7c69db4b47f23a658f733ea7a6d551bc340d37affce76513dab5f8df80053bd8c1a8101ff58115c7 + languageName: node + linkType: hard + +"@types/d3-zoom@npm:*": + version: 3.0.1 + resolution: "@types/d3-zoom@npm:3.0.1" + dependencies: + "@types/d3-interpolate": "*" + "@types/d3-selection": "*" + checksum: f813b3e6f27efc8508d6a2d575c21d0b1ba338160e498b901bc103d813c47ce609f691912a4ef73e9678cdbbdebbee81fecaf7432f777e9a8a54bf4087c21eba + languageName: node + linkType: hard + +"@types/d3@npm:7.4.0": + version: 7.4.0 + resolution: "@types/d3@npm:7.4.0" + dependencies: + "@types/d3-array": "*" + "@types/d3-axis": "*" + "@types/d3-brush": "*" + "@types/d3-chord": "*" + "@types/d3-color": "*" + "@types/d3-contour": "*" + "@types/d3-delaunay": "*" + "@types/d3-dispatch": "*" + "@types/d3-drag": "*" + "@types/d3-dsv": "*" + "@types/d3-ease": "*" + "@types/d3-fetch": "*" + "@types/d3-force": "*" + "@types/d3-format": "*" + "@types/d3-geo": "*" + "@types/d3-hierarchy": "*" + "@types/d3-interpolate": "*" + "@types/d3-path": "*" + "@types/d3-polygon": "*" + "@types/d3-quadtree": "*" + "@types/d3-random": "*" + "@types/d3-scale": "*" + "@types/d3-scale-chromatic": "*" + "@types/d3-selection": "*" + "@types/d3-shape": "*" + "@types/d3-time": "*" + "@types/d3-time-format": "*" + "@types/d3-timer": "*" + "@types/d3-transition": "*" + "@types/d3-zoom": "*" + checksum: d1383f5fca7c4a819d57eb4bccc387dccaa7cb4c24d56388e5247954db6c88f5fb7c74d156165dfe044f1da8d4d510796c8d8487b5956d8270a94a1182a6e00f + languageName: node + linkType: hard + +"@types/eslint-scope@npm:^3.7.3": + version: 3.7.4 + resolution: "@types/eslint-scope@npm:3.7.4" + dependencies: + "@types/eslint": "*" + "@types/estree": "*" + checksum: ea6a9363e92f301cd3888194469f9ec9d0021fe0a397a97a6dd689e7545c75de0bd2153dfb13d3ab532853a278b6572c6f678ce846980669e41029d205653460 + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 8.4.5 + resolution: "@types/eslint@npm:8.4.5" + dependencies: + "@types/estree": "*" + "@types/json-schema": "*" + checksum: 428b0c971a50adb0d08621e76f21b284580a0052a31341a0e6d553f72b54cd0142d549aa1497c7e3bc56e9f6bcc27286e66e0216e1ba76d1a5ecd2279c40bc8c + languageName: node + linkType: hard + +"@types/estree@npm:*": + version: 1.0.0 + resolution: "@types/estree@npm:1.0.0" + checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 + languageName: node + linkType: hard + +"@types/estree@npm:^0.0.51": + version: 0.0.51 + resolution: "@types/estree@npm:0.0.51" + checksum: e56a3bcf759fd9185e992e7fdb3c6a5f81e8ff120e871641607581fb3728d16c811702a7d40fa5f869b7f7b4437ab6a87eb8d98ffafeee51e85bbe955932a189 + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.18": + version: 4.17.30 + resolution: "@types/express-serve-static-core@npm:4.17.30" + dependencies: + "@types/node": "*" + "@types/qs": "*" + "@types/range-parser": "*" + checksum: c40d9027884ab9e97fa29d9d41d1b75a5966109312e26594cf03c61b278b5bf8e095f53589e47899b34a2e224291a44043617695c3e8bd22284f988e48582ee6 + languageName: node + linkType: hard + +"@types/express@npm:*, @types/express@npm:^4.17.13": + version: 4.17.13 + resolution: "@types/express@npm:4.17.13" + dependencies: + "@types/body-parser": "*" + "@types/express-serve-static-core": ^4.17.18 + "@types/qs": "*" + "@types/serve-static": "*" + checksum: 12a2a0e6c4b993fc0854bec665906788aea0d8ee4392389d7a98a5de1eefdd33c9e1e40a91f3afd274011119c506f7b4126acb97fae62ae20b654974d44cba12 + languageName: node + linkType: hard + +"@types/file-saver@npm:2.0.5": + version: 2.0.5 + resolution: "@types/file-saver@npm:2.0.5" + checksum: a31d6ee2abf99598647139f8f35b37b6e1bacf6c7ddf05c66651b9b0e6e53381aa0e8ed13f37faa6e496e0eb1da87c97e6c70fd589d5b83b0c95c57cb64ce92a + languageName: node + linkType: hard + +"@types/geojson@npm:*": + version: 7946.0.10 + resolution: "@types/geojson@npm:7946.0.10" + checksum: 12c407c2dc93ecb26c08af533ee732f1506a9b29456616ba7ba1d525df96206c28ddf44a528f6a5415d7d22893e9d967420940a9c095ee5e539c1eba5fefc1f4 + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.2.0 + resolution: "@types/glob@npm:7.2.0" + dependencies: + "@types/minimatch": "*" + "@types/node": "*" + checksum: 6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.5 + resolution: "@types/graceful-fs@npm:4.1.5" + dependencies: + "@types/node": "*" + checksum: d076bb61f45d0fc42dee496ef8b1c2f8742e15d5e47e90e20d0243386e426c04d4efd408a48875ab432f7960b4ce3414db20ed0fbbfc7bcc89d84e574f6e045a + languageName: node + linkType: hard + +"@types/http-proxy@npm:^1.17.8": + version: 1.17.9 + resolution: "@types/http-proxy@npm:1.17.9" + dependencies: + "@types/node": "*" + checksum: 7a6746d00729b2a9fe9f9dd3453430b099931df879ec8f7a7b5f07b1795f6d99b0512640c45a67390b1e4bacb9401e36824952aeeaf089feba8627a063cf8e00 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.4 + resolution: "@types/istanbul-lib-coverage@npm:2.0.4" + checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.0 + resolution: "@types/istanbul-lib-report@npm:3.0.0" + dependencies: + "@types/istanbul-lib-coverage": "*" + checksum: 656398b62dc288e1b5226f8880af98087233cdb90100655c989a09f3052b5775bf98ba58a16c5ae642fb66c61aba402e07a9f2bff1d1569e3b306026c59f3f36 + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.1 + resolution: "@types/istanbul-reports@npm:3.0.1" + dependencies: + "@types/istanbul-lib-report": "*" + checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 + languageName: node + linkType: hard + +"@types/jasmine@npm:*, @types/jasmine@npm:4.0.3": + version: 4.0.3 + resolution: "@types/jasmine@npm:4.0.3" + checksum: 9d2af9ddb5750667bc9a3b439542fc9457c6eac2ab2c74801f598b03b9bc5cee1338fa8e75e6804dff1856e64539e8b0e3962ed8664a702f362d3db62eb9cd3a + languageName: node + linkType: hard + +"@types/jasminewd2@npm:2.0.10": + version: 2.0.10 + resolution: "@types/jasminewd2@npm:2.0.10" + dependencies: + "@types/jasmine": "*" + checksum: ba1615c07301fde9ba72a1201f26609abd2e03bb4199145d4b2cc0cb707d222ef32bf02eba66047482aaacf434b502b238e15289d55f59b1f18f9562cfbae368 + languageName: node + linkType: hard + +"@types/jest@npm:27.5.1": + version: 27.5.1 + resolution: "@types/jest@npm:27.5.1" + dependencies: + jest-matcher-utils: ^27.0.0 + pretty-format: ^27.0.0 + checksum: be20e39f7aaf17179109c0060d0a0489cec2034d4e2e28a631284c7ecd13c5ae52f62697a33a0e89b03b6cfe54e9d5e8c2bd387ab2bd90d6071d68c63b86d1e3 + languageName: node + linkType: hard + +"@types/js-yaml@npm:4.0.5": + version: 4.0.5 + resolution: "@types/js-yaml@npm:4.0.5" + checksum: 7dcac8c50fec31643cc9d6444b5503239a861414cdfaa7ae9a38bc22597c4d850c4b8cec3d82d73b3fbca408348ce223b0408d598b32e094470dfffc6d486b4d + languageName: node + linkType: hard + +"@types/jsdom@npm:^16.2.4": + version: 16.2.15 + resolution: "@types/jsdom@npm:16.2.15" + dependencies: + "@types/node": "*" + "@types/parse5": ^6.0.3 + "@types/tough-cookie": "*" + checksum: e038335321bef42ebf220aaf597e186e2eec8de6107ce7a70de1c046a84c1fbb42d454e195a20383a6870b18c7ef6fa6b73812a626f88a4a2ef1f711d2e2e13c + languageName: node + linkType: hard + +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.11 + resolution: "@types/json-schema@npm:7.0.11" + checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d + languageName: node + linkType: hard + +"@types/keyv@npm:^3.1.1": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "*" + checksum: e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d + languageName: node + linkType: hard + +"@types/lodash@npm:4.14.182": + version: 4.14.182 + resolution: "@types/lodash@npm:4.14.182" + checksum: 7dd137aa9dbabd632408bd37009d984655164fa1ecc3f2b6eb94afe35bf0a5852cbab6183148d883e9c73a958b7fec9a9bcf7c8e45d41195add6a18c34958209 + languageName: node + linkType: hard + +"@types/mime@npm:*": + version: 3.0.1 + resolution: "@types/mime@npm:3.0.1" + checksum: 4040fac73fd0cea2460e29b348c1a6173da747f3a87da0dbce80dd7a9355a3d0e51d6d9a401654f3e5550620e3718b5a899b2ec1debf18424e298a2c605346e7 + languageName: node + linkType: hard + +"@types/minimatch@npm:*, @types/minimatch@npm:^3.0.3": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 + languageName: node + linkType: hard + +"@types/minimist@npm:^1.2.0": + version: 1.2.2 + resolution: "@types/minimist@npm:1.2.2" + checksum: b8da83c66eb4aac0440e64674b19564d9d86c80ae273144db9681e5eeff66f238ade9515f5006ffbfa955ceff8b89ad2bd8ec577d7caee74ba101431fb07045d + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 18.7.2 + resolution: "@types/node@npm:18.7.2" + checksum: 422cf95dea09959d0e809d24280b76948f60ea805e20d38f07bf9eeafeb413513b9cc365404766f7752bef9cafb8301a882d9d097f780e13f2bedf507459ebc5 + languageName: node + linkType: hard + +"@types/node@npm:17.0.36": + version: 17.0.36 + resolution: "@types/node@npm:17.0.36" + checksum: 11055fde0a1e1421113849b5e32c7022911efc0be670729947bf0162970e79962d804b1eb8a9afb291380cac97cf0e684511415d586ae5fe1560322c940fe188 + languageName: node + linkType: hard + +"@types/node@npm:^14.14.31": + version: 14.18.23 + resolution: "@types/node@npm:14.18.23" + checksum: 119d5ab18426694ade0d3feefbdb42afc5a47b9144e523293f1554f9d34b41c7f21eafc9d0f1295db5700d134aa74e7fd37556e9438f6d64dbeddf791527e1e4 + languageName: node + linkType: hard + +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.1 + resolution: "@types/normalize-package-data@npm:2.4.1" + checksum: e87bccbf11f95035c89a132b52b79ce69a1e3652fe55962363063c9c0dae0fe2477ebc585e03a9652adc6f381d24ba5589cc5e51849df4ced3d3e004a7d40ed5 + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "@types/parse-json@npm:4.0.0" + checksum: fd6bce2b674b6efc3db4c7c3d336bd70c90838e8439de639b909ce22f3720d21344f52427f1d9e57b265fcb7f6c018699b99e5e0c208a1a4823014269a6bf35b + languageName: node + linkType: hard + +"@types/parse5@npm:^6.0.3": + version: 6.0.3 + resolution: "@types/parse5@npm:6.0.3" + checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.1.5": + version: 2.7.0 + resolution: "@types/prettier@npm:2.7.0" + checksum: bf5d0c7c1270909b39399539ac106d20ddaa85fe92eb1d59922dc99159604b4f8d5e41b0045fb29c8011585cf5bca2350b7441ef3d9816c08bd0e10ebd4b31d4 + languageName: node + linkType: hard + +"@types/qs@npm:*": + version: 6.9.7 + resolution: "@types/qs@npm:6.9.7" + checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.4 + resolution: "@types/range-parser@npm:1.2.4" + checksum: b7c0dfd5080a989d6c8bb0b6750fc0933d9acabeb476da6fe71d8bdf1ab65e37c136169d84148034802f48378ab94e3c37bb4ef7656b2bec2cb9c0f8d4146a95 + languageName: node + linkType: hard + +"@types/responselike@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/responselike@npm:1.0.0" + dependencies: + "@types/node": "*" + checksum: e99fc7cc6265407987b30deda54c1c24bb1478803faf6037557a774b2f034c5b097ffd65847daa87e82a61a250d919f35c3588654b0fdaa816906650f596d1b0 + languageName: node + linkType: hard + +"@types/retry@npm:0.12.0": + version: 0.12.0 + resolution: "@types/retry@npm:0.12.0" + checksum: 61a072c7639f6e8126588bf1eb1ce8835f2cb9c2aba795c4491cf6310e013267b0c8488039857c261c387e9728c1b43205099223f160bb6a76b4374f741b5603 + languageName: node + linkType: hard + +"@types/semver@npm:^7.3.8": + version: 7.3.12 + resolution: "@types/semver@npm:7.3.12" + checksum: 35536b2fc5602904f21cae681f6c9498e177dab3f54ae37c92f9a1b7e43c35f18bcd81e1c98c1cf0d33ee046bb06c771e9928c1c00a401d56a03f56549252a15 + languageName: node + linkType: hard + +"@types/serve-index@npm:^1.9.1": + version: 1.9.1 + resolution: "@types/serve-index@npm:1.9.1" + dependencies: + "@types/express": "*" + checksum: 026f3995fb500f6df7c3fe5009e53bad6d739e20b84089f58ebfafb2f404bbbb6162bbe33f72d2f2af32d5b8d3799c8e179793f90d9ed5871fb8591190bb6056 + languageName: node + linkType: hard + +"@types/serve-static@npm:*": + version: 1.15.0 + resolution: "@types/serve-static@npm:1.15.0" + dependencies: + "@types/mime": "*" + "@types/node": "*" + checksum: b6ac93d471fb0f53ddcac1f9b67572a09cd62806f7db5855244b28f6f421139626f24799392566e97d1ffc61b12f9de7f30380c39fcae3c8a161fe161d44edf2 + languageName: node + linkType: hard + +"@types/sinonjs__fake-timers@npm:8.1.1": + version: 8.1.1 + resolution: "@types/sinonjs__fake-timers@npm:8.1.1" + checksum: ca09d54d47091d87020824a73f026300fa06b17cd9f2f9b9387f28b549364b141ef194ee28db762f6588de71d8febcd17f753163cb7ea116b8387c18e80ebd5c + languageName: node + linkType: hard + +"@types/sizzle@npm:^2.3.2": + version: 2.3.3 + resolution: "@types/sizzle@npm:2.3.3" + checksum: 586a9fb1f6ff3e325e0f2cc1596a460615f0bc8a28f6e276ac9b509401039dd242fa8b34496d3a30c52f5b495873922d09a9e76c50c2ab2bcc70ba3fb9c4e160 + languageName: node + linkType: hard + +"@types/sockjs@npm:^0.3.33": + version: 0.3.33 + resolution: "@types/sockjs@npm:0.3.33" + dependencies: + "@types/node": "*" + checksum: b9bbb2b5c5ead2fb884bb019f61a014e37410bddd295de28184e1b2e71ee6b04120c5ba7b9954617f0bdf962c13d06249ce65004490889c747c80d3f628ea842 + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.1 + resolution: "@types/stack-utils@npm:2.0.1" + checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 + languageName: node + linkType: hard + +"@types/tough-cookie@npm:*": + version: 4.0.2 + resolution: "@types/tough-cookie@npm:4.0.2" + checksum: e055556ffdaa39ad85ede0af192c93f93f986f4bd9e9426efdc2948e3e2632db3a4a584d4937dbf6d7620527419bc99e6182d3daf2b08685e710f2eda5291905 + languageName: node + linkType: hard + +"@types/ws@npm:^8.2.2, @types/ws@npm:^8.5.1": + version: 8.5.3 + resolution: "@types/ws@npm:8.5.3" + dependencies: + "@types/node": "*" + checksum: 0ce46f850d41383fcdc2149bcacc86d7232fa7a233f903d2246dff86e31701a02f8566f40af5f8b56d1834779255c04ec6ec78660fe0f9b2a69cf3d71937e4ae + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.0 + resolution: "@types/yargs-parser@npm:21.0.0" + checksum: b2f4c8d12ac18a567440379909127cf2cec393daffb73f246d0a25df36ea983b93b7e9e824251f959e9f928cbc7c1aab6728d0a0ff15d6145f66cec2be67d9a2 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.0, @types/yargs@npm:^17.0.8": + version: 17.0.11 + resolution: "@types/yargs@npm:17.0.11" + dependencies: + "@types/yargs-parser": "*" + checksum: 30a45f9e59a5cc3c967f76036bea6a456b1416175aa4c002b70e1f295772e2247ed8117f392b20eef4557ad761678df8c1fcb141852f2c7c44977130d802c855 + languageName: node + linkType: hard + +"@types/yauzl@npm:^2.9.1": + version: 2.10.0 + resolution: "@types/yauzl@npm:2.10.0" + dependencies: + "@types/node": "*" + checksum: 55d27ae5d346ea260e40121675c24e112ef0247649073848e5d4e03182713ae4ec8142b98f61a1c6cbe7d3b72fa99bbadb65d8b01873e5e605cdc30f1ff70ef2 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.27.0" + dependencies: + "@typescript-eslint/scope-manager": 5.27.0 + "@typescript-eslint/type-utils": 5.27.0 + "@typescript-eslint/utils": 5.27.0 + debug: ^4.3.4 + functional-red-black-tree: ^1.0.1 + ignore: ^5.2.0 + regexpp: ^3.2.0 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: af7970f90c511641c332b7abecc53523fbbcb19e59ec52df9679f02047ddd5fd5e9ce3ca9359b17674ac7e20e380995861482fb6e60049fe8facd766c2bd85fe + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^4.2.0": + version: 4.33.0 + resolution: "@typescript-eslint/eslint-plugin@npm:4.33.0" + dependencies: + "@typescript-eslint/experimental-utils": 4.33.0 + "@typescript-eslint/scope-manager": 4.33.0 + debug: ^4.3.1 + functional-red-black-tree: ^1.0.1 + ignore: ^5.1.8 + regexpp: ^3.1.0 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^4.0.0 + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: d74855d0a5ffe0b2f362ec02fcd9301d39a53fb4155b9bd0cb15a0a31d065143129ebf98df9d86af4b6f74de1d423a4c0d8c0095520844068117453afda5bc4f + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/experimental-utils@npm:4.33.0" + dependencies: + "@types/json-schema": ^7.0.7 + "@typescript-eslint/scope-manager": 4.33.0 + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/typescript-estree": 4.33.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: "*" + checksum: f859800ada0884f92db6856f24efcb1d073ac9883ddc2b1aa9339f392215487895bed8447ebce3741e8141bb32e545244abef62b73193ba9a8a0527c523aabae + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:^5.0.0": + version: 5.33.0 + resolution: "@typescript-eslint/experimental-utils@npm:5.33.0" + dependencies: + "@typescript-eslint/utils": 5.33.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 51374c63afd368e992278c321819cca64354f0a160de07780378cd30fe148e9a239676b4005869ff0dc1910575e60cc96535a36be3d509b7e22c0cec7b0eed12 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/parser@npm:5.27.0" + dependencies: + "@typescript-eslint/scope-manager": 5.27.0 + "@typescript-eslint/types": 5.27.0 + "@typescript-eslint/typescript-estree": 5.27.0 + debug: ^4.3.4 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 40ccdc481f871c296ee419e886ffd6f89ec23f6b10dbb2847c7e89bfd2234c6be23c49ab92d2965e16cd4c3cf378010e3dcd72d34f82b1e2ca8b5c812133fb00 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^4.2.0": + version: 4.33.0 + resolution: "@typescript-eslint/parser@npm:4.33.0" + dependencies: + "@typescript-eslint/scope-manager": 4.33.0 + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/typescript-estree": 4.33.0 + debug: ^4.3.1 + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 102457eae1acd516211098fea081c8a2ed728522bbda7f5a557b6ef23d88970514f9a0f6285d53fca134d3d4d7d17822b5d5e12438d5918df4d1f89cc9e67d57 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/scope-manager@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/visitor-keys": 4.33.0 + checksum: 9a25fb7ba7c725ea7227a24d315b0f6aacbad002e2549a049edf723c1d3615c22f5c301f0d7d615b377f2cdf2f3519d97e79af0c459de6ef8d2aaf0906dff13e + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/scope-manager@npm:5.27.0" + dependencies: + "@typescript-eslint/types": 5.27.0 + "@typescript-eslint/visitor-keys": 5.27.0 + checksum: 84eb2d6241a6644c622b473c060bb7a227c2a82e8af8ddcf654fb63716e1b3c6fe1b5d747d032d85594c0ad147d95aabc2b217d4af574b55eab93910e0c292ce + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:5.33.0": + version: 5.33.0 + resolution: "@typescript-eslint/scope-manager@npm:5.33.0" + dependencies: + "@typescript-eslint/types": 5.33.0 + "@typescript-eslint/visitor-keys": 5.33.0 + checksum: b2cbea9abd528d01a5acb2d68a2a5be51ec6827760d3869bdd70920cf6c3a4f9f96d87c77177f8313009d9db71253e4a75f8393f38651e2abaf91ef28e60fb9d + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/type-utils@npm:5.27.0" + dependencies: + "@typescript-eslint/utils": 5.27.0 + debug: ^4.3.4 + tsutils: ^3.21.0 + peerDependencies: + eslint: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 21ef57ecc0dfa085e7ce8f7714d143993f592004086e37582cb6ab5924cb3358267b607e0701ce43737e01f46fb33d66e3f3428fbb7be6e64971d4c26f73c265 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/types@npm:4.33.0" + checksum: 3baae1ca35872421b4eb60f5d3f3f32dc1d513f2ae0a67dee28c7d159fd7a43ed0d11a8a5a0f0c2d38507ffa036fc7c511cb0f18a5e8ac524b3ebde77390ec53 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/types@npm:5.27.0" + checksum: d19802bb7bc8202885a47118e196ad9a26b686f00da5aa71a84974c1e838c5e3a36f54116605c46ffe909ccf856a49623f2a095fd05243b4fe4fecfe5cecb89c + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.33.0": + version: 5.33.0 + resolution: "@typescript-eslint/types@npm:5.33.0" + checksum: 8bbddda84cb3adf5c659b0d42547a2d6ab87f4eea574aca5dd63a3bd85169f32796ecbddad3b27f18a609070f6b1d18a54018d488bad746ae0f6ea5c02206109 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/typescript-estree@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/visitor-keys": 4.33.0 + debug: ^4.3.1 + globby: ^11.0.3 + is-glob: ^4.0.1 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 2566984390c76bd95f43240057215c068c69769e406e27aba41e9f21fd300074d6772e4983fa58fe61e80eb5550af1548d2e31e80550d92ba1d051bb00fe6f5c + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.27.0" + dependencies: + "@typescript-eslint/types": 5.27.0 + "@typescript-eslint/visitor-keys": 5.27.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: a0f14c332cd293a100399172c9ae498c230c8c205ab74565ea2de08a0bd860af829a9c4dde1888df89667fa0bc29048bc33993eb9445d2689fa2dfcec55c4915 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.33.0": + version: 5.33.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.33.0" + dependencies: + "@typescript-eslint/types": 5.33.0 + "@typescript-eslint/visitor-keys": 5.33.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 26f9005cdfb14654125a33d90d872b926820e560dff8970c4629fd5f6f47ad2a31e4c63161564d21bb42a8fc3ced0033994854ee37336ae07d90ccf6300d702b + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/utils@npm:5.27.0" + dependencies: + "@types/json-schema": ^7.0.9 + "@typescript-eslint/scope-manager": 5.27.0 + "@typescript-eslint/types": 5.27.0 + "@typescript-eslint/typescript-estree": 5.27.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: ed823528c3b7f8c71a44ea0481896c46178e361e89003c63736de6ece45cb771defea13b505f0adb517c59f55a95d0b5f1bb990f7a24d3a2597aa045bba0a7bf + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.33.0": + version: 5.33.0 + resolution: "@typescript-eslint/utils@npm:5.33.0" + dependencies: + "@types/json-schema": ^7.0.9 + "@typescript-eslint/scope-manager": 5.33.0 + "@typescript-eslint/types": 5.33.0 + "@typescript-eslint/typescript-estree": 5.33.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 6ce5ee5eabeb6d73538b24e6487f811ecb0ef3467bd366cbd15bf30d904bdedb73fc6f48cf2e2e742dda462b42999ea505e8b59255545825ec9db86f3d423ea7 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/visitor-keys@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + eslint-visitor-keys: ^2.0.0 + checksum: 59953e474ad4610c1aa23b2b1a964445e2c6201521da6367752f37939d854352bbfced5c04ea539274065e012b1337ba3ffa49c2647a240a4e87155378ba9873 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.27.0": + version: 5.27.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.27.0" + dependencies: + "@typescript-eslint/types": 5.27.0 + eslint-visitor-keys: ^3.3.0 + checksum: 7781f35e25a09d0986b4ba97c707102394cf94738a92d68eca6382b00ffba1b0fac3e937ca4ee6266295dd40ec837a61889fd715f594549f2c3d837594999c29 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.33.0": + version: 5.33.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.33.0" + dependencies: + "@typescript-eslint/types": 5.33.0 + eslint-visitor-keys: ^3.3.0 + checksum: d7e3653de6bac6841e6fcc54226b93ad6bdca4aa76ebe7d83459c016c3eebcc50d4f65ee713174bc267d765295b642d1927a778c5de707b8389e3fcc052aa4a1 + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/ast@npm:1.11.1" + dependencies: + "@webassemblyjs/helper-numbers": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + checksum: 1eee1534adebeece635362f8e834ae03e389281972611408d64be7895fc49f48f98fddbbb5339bf8a72cb101bcb066e8bca3ca1bf1ef47dadf89def0395a8d87 + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" + checksum: b8efc6fa08e4787b7f8e682182d84dfdf8da9d9c77cae5d293818bc4a55c1f419a87fa265ab85252b3e6c1fd323d799efea68d825d341a7c365c64bc14750e97 + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" + checksum: 0792813f0ed4a0e5ee0750e8b5d0c631f08e927f4bdfdd9fe9105dc410c786850b8c61bff7f9f515fdfb149903bec3c976a1310573a4c6866a94d49bc7271959 + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" + checksum: a337ee44b45590c3a30db5a8b7b68a717526cf967ada9f10253995294dbd70a58b2da2165222e0b9830cd4fc6e4c833bf441a721128d1fe2e9a7ab26b36003ce + languageName: node + linkType: hard + +"@webassemblyjs/helper-numbers@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" + dependencies: + "@webassemblyjs/floating-point-hex-parser": 1.11.1 + "@webassemblyjs/helper-api-error": 1.11.1 + "@xtuc/long": 4.2.2 + checksum: 44d2905dac2f14d1e9b5765cf1063a0fa3d57295c6d8930f6c59a36462afecc6e763e8a110b97b342a0f13376166c5d41aa928e6ced92e2f06b071fd0db59d3a + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1" + checksum: eac400113127832c88f5826bcc3ad1c0db9b3dbd4c51a723cfdb16af6bfcbceb608170fdaac0ab7731a7e18b291be7af68a47fcdb41cfe0260c10857e7413d97 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + checksum: 617696cfe8ecaf0532763162aaf748eb69096fb27950219bb87686c6b2e66e11cd0614d95d319d0ab1904bc14ebe4e29068b12c3e7c5e020281379741fe4bedf + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/ieee754@npm:1.11.1" + dependencies: + "@xtuc/ieee754": ^1.2.0 + checksum: 23a0ac02a50f244471631802798a816524df17e56b1ef929f0c73e3cde70eaf105a24130105c60aff9d64a24ce3b640dad443d6f86e5967f922943a7115022ec + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/leb128@npm:1.11.1" + dependencies: + "@xtuc/long": 4.2.2 + checksum: 33ccc4ade2f24de07bf31690844d0b1ad224304ee2062b0e464a610b0209c79e0b3009ac190efe0e6bd568b0d1578d7c3047fc1f9d0197c92fc061f56224ff4a + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/utf8@npm:1.11.1" + checksum: 972c5cfc769d7af79313a6bfb96517253a270a4bf0c33ba486aa43cac43917184fb35e51dfc9e6b5601548cd5931479a42e42c89a13bb591ffabebf30c8a6a0b + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/helper-wasm-section": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + "@webassemblyjs/wasm-opt": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + "@webassemblyjs/wast-printer": 1.11.1 + checksum: 6d7d9efaec1227e7ef7585a5d7ff0be5f329f7c1c6b6c0e906b18ed2e9a28792a5635e450aca2d136770d0207225f204eff70a4b8fd879d3ac79e1dcc26dbeb9 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/ieee754": 1.11.1 + "@webassemblyjs/leb128": 1.11.1 + "@webassemblyjs/utf8": 1.11.1 + checksum: 1f6921e640293bf99fb16b21e09acb59b340a79f986c8f979853a0ae9f0b58557534b81e02ea2b4ef11e929d946708533fd0693c7f3712924128fdafd6465f5b + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + checksum: 21586883a20009e2b20feb67bdc451bbc6942252e038aae4c3a08e6f67b6bae0f5f88f20bfc7bd0452db5000bacaf5ab42b98cf9aa034a6c70e9fc616142e1db + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-api-error": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/ieee754": 1.11.1 + "@webassemblyjs/leb128": 1.11.1 + "@webassemblyjs/utf8": 1.11.1 + checksum: 1521644065c360e7b27fad9f4bb2df1802d134dd62937fa1f601a1975cde56bc31a57b6e26408b9ee0228626ff3ba1131ae6f74ffb7d718415b6528c5a6dbfc2 + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wast-printer@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@xtuc/long": 4.2.2 + checksum: f15ae4c2441b979a3b4fce78f3d83472fb22350c6dc3fd34bfe7c3da108e0b2360718734d961bba20e7716cb8578e964b870da55b035e209e50ec9db0378a3f7 + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: ac56d4ca6e17790f1b1677f978c0c6808b1900a5b138885d3da21732f62e30e8f0d9120fcf8f6edfff5100ca902b46f8dd7c1e3f903728634523981e80e2885a + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 8ed0d477ce3bc9c6fe2bf6a6a2cc316bb9c4127c5a7827bae947fa8ec34c7092395c5a283cc300c05b5fa01cbbfa1f938f410a7bf75db7c7846fea41949989ec + languageName: node + linkType: hard + +"@yarnpkg/lockfile@npm:1.1.0": + version: 1.1.0 + resolution: "@yarnpkg/lockfile@npm:1.1.0" + checksum: 05b881b4866a3546861fee756e6d3812776ea47fa6eb7098f983d6d0eefa02e12b66c3fff931574120f196286a7ad4879ce02743c8bb2be36c6a576c7852083a + languageName: node + linkType: hard + +"abab@npm:^2.0.5, abab@npm:^2.0.6": + version: 2.0.6 + resolution: "abab@npm:2.0.6" + checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 + languageName: node + linkType: hard + +"accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 + languageName: node + linkType: hard + +"ace-builds@npm:1.5.3": + version: 1.5.3 + resolution: "ace-builds@npm:1.5.3" + checksum: 2d379543a5a46a2c121c77271c2f618f1ad385d1b7add085bae1ba65d18443420948272decef49559495ef1b9fa5ec045eb46cc2c5ebc9418362a53928f8cd50 + languageName: node + linkType: hard + +"acorn-globals@npm:^6.0.0": + version: 6.0.0 + resolution: "acorn-globals@npm:6.0.0" + dependencies: + acorn: ^7.1.1 + acorn-walk: ^7.1.1 + checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 + languageName: node + linkType: hard + +"acorn-import-assertions@npm:^1.7.6": + version: 1.8.0 + resolution: "acorn-import-assertions@npm:1.8.0" + peerDependencies: + acorn: ^8 + checksum: 5c4cf7c850102ba7ae0eeae0deb40fb3158c8ca5ff15c0bca43b5c47e307a1de3d8ef761788f881343680ea374631ae9e9615ba8876fee5268dbe068c98bcba6 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950 + languageName: node + linkType: hard + +"acorn-walk@npm:^7.1.1": + version: 7.2.0 + resolution: "acorn-walk@npm:7.2.0" + checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 + languageName: node + linkType: hard + +"acorn@npm:^7.1.1, acorn@npm:^7.4.0": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + languageName: node + linkType: hard + +"acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.0": + version: 8.8.0 + resolution: "acorn@npm:8.8.0" + bin: + acorn: bin/acorn + checksum: 7270ca82b242eafe5687a11fea6e088c960af712683756abf0791b68855ea9cace3057bd5e998ffcef50c944810c1e0ca1da526d02b32110e13c722aa959afdc + languageName: node + linkType: hard + +"adjust-sourcemap-loader@npm:^4.0.0": + version: 4.0.0 + resolution: "adjust-sourcemap-loader@npm:4.0.0" + dependencies: + loader-utils: ^2.0.0 + regex-parser: ^2.2.11 + checksum: d524ae23582f41e2275af5d88faab7a9dc09770ed588244e0a76d3196d0d6a90bf02760c71bc6213dbfef3aef4a86232ac9521bfd629752c32b7af37bc74c660 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.1.3, agentkeepalive@npm:^4.2.1": + version: 4.2.1 + resolution: "agentkeepalive@npm:4.2.1" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + +"ajv-formats@npm:2.1.1, ajv-formats@npm:^2.1.1": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: ^8.0.0 + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 4a287d937f1ebaad4683249a4c40c0fa3beed30d9ddc0adba04859026a622da0d317851316ea64b3680dc60f5c3c708105ddd5d5db8fe595d9d0207fd19f90b7 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.5.2": + version: 3.5.2 + resolution: "ajv-keywords@npm:3.5.2" + peerDependencies: + ajv: ^6.9.1 + checksum: 7dc5e5931677a680589050f79dcbe1fefbb8fea38a955af03724229139175b433c63c68f7ae5f86cf8f65d55eb7c25f75a046723e2e58296707617ca690feae9 + languageName: node + linkType: hard + +"ajv-keywords@npm:^5.0.0": + version: 5.1.0 + resolution: "ajv-keywords@npm:5.1.0" + dependencies: + fast-deep-equal: ^3.1.3 + peerDependencies: + ajv: ^8.8.2 + checksum: c35193940b853119242c6757787f09ecf89a2c19bcd36d03ed1a615e710d19d450cb448bfda407b939aba54b002368c8bff30529cc50a0536a8e10bcce300421 + languageName: node + linkType: hard + +"ajv@npm:8.8.2": + version: 8.8.2 + resolution: "ajv@npm:8.8.2" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 90849ef03c4f4f7051d15f655120137b89e3205537d683beebd39d95f40c0ca00ea8476cd999602d2f433863e7e4bf1b81d1869d1e07f4dcf56d71b6430a605c + languageName: node + linkType: hard + +"ajv@npm:8.9.0": + version: 8.9.0 + resolution: "ajv@npm:8.9.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 756c048bfa917b43bb84c8a0a53e6a489123203bc4bdec8cbeb8ec2d715674f5e61d49560a1a6ec83268af4f33bed324f5cb6d9c76d96849fd58ed7089b8e7f3 + languageName: node + linkType: hard + +"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: ^3.1.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4 + languageName: node + linkType: hard + +"ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.8.0": + version: 8.11.0 + resolution: "ajv@npm:8.11.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef + languageName: node + linkType: hard + +"ansi-align@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: ^4.1.0 + checksum: 6abfa08f2141d231c257162b15292467081fa49a208593e055c866aa0455b57f3a86b5a678c190c618faa79b4c59e254493099cb700dd9cf2293c6be2c8f5d8d + languageName: node + linkType: hard + +"ansi-colors@npm:4.1.1": + version: 4.1.1 + resolution: "ansi-colors@npm:4.1.1" + checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: ^0.21.3 + checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + languageName: node + linkType: hard + +"ansi-html-community@npm:^0.0.8": + version: 0.0.8 + resolution: "ansi-html-community@npm:0.0.8" + bin: + ansi-html: bin/ansi-html + checksum: 04c568e8348a636963f915e48eaa3e01218322e1169acafdd79c384f22e5558c003f79bbc480c1563865497482817c7eed025f0653ebc17642fededa5cb42089 + languageName: node + linkType: hard + +"ansi-regex@npm:^4.1.0": + version: 4.1.1 + resolution: "ansi-regex@npm:4.1.1" + checksum: b1a6ee44cb6ecdabaa770b2ed500542714d4395d71c7e5c25baa631f680fb2ad322eb9ba697548d498a6fd366949fc8b5bfcf48d49a32803611f648005b01888 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: ^2.0.1 + checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.0.0": + version: 6.1.0 + resolution: "ansi-styles@npm:6.1.0" + checksum: 7a7f8528c07a9d20c3a92bccd2b6bc3bb4d26e5cb775c02826921477377bd495d615d61f710d56216344b6238d1d11ef2b0348e146c5b128715578bfb3217229 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": + version: 3.1.2 + resolution: "anymatch@npm:3.1.2" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 + languageName: node + linkType: hard + +"app-root-path@npm:^3.0.0": + version: 3.0.0 + resolution: "app-root-path@npm:3.0.0" + checksum: ff91a24db2b55070f6b3e22e72ce8fe8ea847e19eb8a3cbb267f9e9ac2a8372db65114dd6798a4ed7897a6f475b90a49330b3e53bf199d47e6abb5c5279aa1d7 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + +"arch@npm:^2.2.0": + version: 2.2.0 + resolution: "arch@npm:2.2.0" + checksum: e21b7635029fe8e9cdd5a026f9a6c659103e63fff423834323cdf836a1bb240a72d0c39ca8c470f84643385cf581bd8eda2cad8bf493e27e54bd9783abe9101f + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: ~1.0.2 + checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced + languageName: node + linkType: hard + +"aria-query@npm:^3.0.0": + version: 3.0.0 + resolution: "aria-query@npm:3.0.0" + dependencies: + ast-types-flow: 0.0.7 + commander: ^2.11.0 + checksum: 52861d7d31321a23f27e5f95a437ddafd20e5eee03ff6e4319eeb1e98dce103f03ccaea34acb5bf2810580f71a9ac1658200fa3d49435279e99df2908f213f1b + languageName: node + linkType: hard + +"array-differ@npm:^3.0.0": + version: 3.0.0 + resolution: "array-differ@npm:3.0.0" + checksum: 117edd9df5c1530bd116c6e8eea891d4bd02850fd89b1b36e532b6540e47ca620a373b81feca1c62d1395d9ae601516ba538abe5e8172d41091da2c546b05fb7 + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b + languageName: node + linkType: hard + +"array-flatten@npm:^2.1.0, array-flatten@npm:^2.1.2": + version: 2.1.2 + resolution: "array-flatten@npm:2.1.2" + checksum: e8988aac1fbfcdaae343d08c9a06a6fddd2c6141721eeeea45c3cf523bf4431d29a46602929455ed548c7a3e0769928cdc630405427297e7081bd118fdec9262 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + languageName: node + linkType: hard + +"array-union@npm:^3.0.1": + version: 3.0.1 + resolution: "array-union@npm:3.0.1" + checksum: 47b29f88258e8f37ffb93ddaa327d4308edd950b52943c172b73558afdd3fa74cfd68816ba5aa4b894242cf281fa3c6d0362ae057e4a18bddbaedbe46ebe7112 + languageName: node + linkType: hard + +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 745075dd4a4624ff0225c331dacb99be501a515d39bcb7c84d24660314a6ec28e68131b137e6f7e16318170842ce97538cd298fc4cd6b2cc798e0b957f2747e7 + languageName: node + linkType: hard + +"arrify@npm:^2.0.1": + version: 2.0.1 + resolution: "arrify@npm:2.0.1" + checksum: 067c4c1afd182806a82e4c1cb8acee16ab8b5284fbca1ce29408e6e91281c36bb5b612f6ddfbd40a0f7a7e0c75bf2696eb94c027f6e328d6e9c52465c98e4209 + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.6 + resolution: "asn1@npm:0.2.6" + dependencies: + safer-buffer: ~2.1.0 + checksum: 39f2ae343b03c15ad4f238ba561e626602a3de8d94ae536c46a4a93e69578826305366dc09fbb9b56aec39b4982a463682f259c38e59f6fa380cd72cd61e493d + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 19b4340cb8f0e6a981c07225eacac0e9d52c2644c080198765d63398f0075f83bbc0c8e95474d54224e297555ad0d631c1dcd058adb1ddc2437b41a6b424ac64 + languageName: node + linkType: hard + +"ast-types-flow@npm:0.0.7": + version: 0.0.7 + resolution: "ast-types-flow@npm:0.0.7" + checksum: a26dcc2182ffee111cad7c471759b0bda22d3b7ebacf27c348b22c55f16896b18ab0a4d03b85b4020dce7f3e634b8f00b593888f622915096ea1927fa51866c4 + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 + languageName: node + linkType: hard + +"async@npm:^2.6.4": + version: 2.6.4 + resolution: "async@npm:2.6.4" + dependencies: + lodash: ^4.17.14 + checksum: a52083fb32e1ebe1d63e5c5624038bb30be68ff07a6c8d7dfe35e47c93fc144bd8652cbec869e0ac07d57dde387aa5f1386be3559cdee799cb1f789678d88e19 + languageName: node + linkType: hard + +"async@npm:^3.2.0, async@npm:^3.2.3": + version: 3.2.4 + resolution: "async@npm:3.2.4" + checksum: 43d07459a4e1d09b84a20772414aa684ff4de085cbcaec6eea3c7a8f8150e8c62aa6cd4e699fe8ee93c3a5b324e777d34642531875a0817a35697522c1b02e89 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e + languageName: node + linkType: hard + +"atob@npm:^2.1.2": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: dfeeeb70090c5ebea7be4b9f787f866686c645d9f39a0d184c817252d0cf08455ed25267d79c03254d3be1f03ac399992a792edcd5ffb9c91e097ab5ef42833a + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.2": + version: 10.4.8 + resolution: "autoprefixer@npm:10.4.8" + dependencies: + browserslist: ^4.21.3 + caniuse-lite: ^1.0.30001373 + fraction.js: ^4.2.0 + normalize-range: ^0.1.2 + picocolors: ^1.0.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 06cb4c497bb948714d5b1b4f7e7465fd88c50f90788fc2020b3d97d7661fb4dd0d9918c1b09dd3e909acd4485cbb27ad99085487d8ed5d75915e646d2b535770 + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: b148b0bb0778098ad8cf7e5fc619768bcb51236707ca1d3e5b49e41b171166d8be9fdc2ea2ae43d7decf02989d0aaa3a9c4caa6f320af95d684de9b548a71525 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.11.0 + resolution: "aws4@npm:1.11.0" + checksum: 5a00d045fd0385926d20ebebcfba5ec79d4482fe706f63c27b324d489a04c68edb0db99ed991e19eda09cb8c97dc2452059a34d97545cebf591d7a2b5a10999f + languageName: node + linkType: hard + +"axios@npm:^0.25.0": + version: 0.25.0 + resolution: "axios@npm:0.25.0" + dependencies: + follow-redirects: ^1.14.7 + checksum: 2a8a3787c05f2a0c9c3878f49782357e2a9f38945b93018fb0c4fd788171c43dceefbb577988628e09fea53952744d1ecebde234b561f1e703aa43e0a598a3ad + languageName: node + linkType: hard + +"axobject-query@npm:2.0.2": + version: 2.0.2 + resolution: "axobject-query@npm:2.0.2" + dependencies: + ast-types-flow: 0.0.7 + checksum: 0d3c64a8277711fe543624e0d114d661a2b3b451dd796116dc963893ac77f8dd7df42fdf5bbf37a1234adfa6f2196ee3bd0096407e133bce547c2a725f4288ee + languageName: node + linkType: hard + +"babel-jest@npm:^28.1.3": + version: 28.1.3 + resolution: "babel-jest@npm:28.1.3" + dependencies: + "@jest/transform": ^28.1.3 + "@types/babel__core": ^7.1.14 + babel-plugin-istanbul: ^6.1.1 + babel-preset-jest: ^28.1.3 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 57ccd2296e1839687b5df2fd138c3d00717e0369e385254b012ccd4ee70e75f5d5c8e6cfcdf92d155015b468cfebb847b38e69bb5805d8aaf730e20575127cc6 + languageName: node + linkType: hard + +"babel-loader@npm:8.2.5": + version: 8.2.5 + resolution: "babel-loader@npm:8.2.5" + dependencies: + find-cache-dir: ^3.3.1 + loader-utils: ^2.0.0 + make-dir: ^3.1.0 + schema-utils: ^2.6.5 + peerDependencies: + "@babel/core": ^7.0.0 + webpack: ">=2" + checksum: a6605557885eabbc3250412405f2c63ca87287a95a439c643fdb47d5ea3d5326f72e43ab97be070316998cb685d5dfbc70927ce1abe8be7a6a4f5919287773fb + languageName: node + linkType: hard + +"babel-plugin-dynamic-import-node@npm:^2.3.3": + version: 2.3.3 + resolution: "babel-plugin-dynamic-import-node@npm:2.3.3" + dependencies: + object.assign: ^4.1.0 + checksum: c9d24415bcc608d0db7d4c8540d8002ac2f94e2573d2eadced137a29d9eab7e25d2cbb4bc6b9db65cf6ee7430f7dd011d19c911a9a778f0533b4a05ce8292c9b + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:6.1.1, babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + "@istanbuljs/load-nyc-config": ^1.0.0 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-instrument: ^5.0.4 + test-exclude: ^6.0.0 + checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^28.1.3": + version: 28.1.3 + resolution: "babel-plugin-jest-hoist@npm:28.1.3" + dependencies: + "@babel/template": ^7.3.3 + "@babel/types": ^7.3.3 + "@types/babel__core": ^7.1.14 + "@types/babel__traverse": ^7.0.6 + checksum: 648d89f9d80f6450ce7e50d0c32eb91b7f26269b47c3e37aaf2e0f2f66a980978345bd6b8c9b8c3aa6a8252ad2bc2c9fb50630e9895622c9a0972af5f70ed20e + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.3.0": + version: 0.3.2 + resolution: "babel-plugin-polyfill-corejs2@npm:0.3.2" + dependencies: + "@babel/compat-data": ^7.17.7 + "@babel/helper-define-polyfill-provider": ^0.3.2 + semver: ^6.1.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a76e7bb1a5cc0a4507baa523c23f9efd75764069a25845beba92290386e5e48ed85b894005ece3b527e13c3d2d9c6589cc0a23befb72ea6fc7aa8711f231bb4d + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.5.0": + version: 0.5.3 + resolution: "babel-plugin-polyfill-corejs3@npm:0.5.3" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.3.2 + core-js-compat: ^3.21.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9c6644a1b0afbe59e402827fdafc6f44994ff92c5b2f258659cbbfd228f7075dea49e95114af10e66d70f36cbde12ff1d81263eb67be749b3ef0e2c18cf3c16d + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.3.0": + version: 0.3.1 + resolution: "babel-plugin-polyfill-regenerator@npm:0.3.1" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.3.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f1473df7b700d6795ca41301b1e65a0aff15ce6c1463fc0ce2cf0c821114b0330920f59d4cebf52976363ee817ba29ad2758544a4661a724b08191080b9fe1da + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" + dependencies: + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-bigint": ^7.8.3 + "@babel/plugin-syntax-class-properties": ^7.8.3 + "@babel/plugin-syntax-import-meta": ^7.8.3 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.8.3 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.8.3 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-top-level-await": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^28.1.3": + version: 28.1.3 + resolution: "babel-preset-jest@npm:28.1.3" + dependencies: + babel-plugin-jest-hoist: ^28.1.3 + babel-preset-current-node-syntax: ^1.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 8248a4a5ca4242cc06ad13b10b9183ad2664da8fb0da060c352223dcf286f0ce9c708fa17901dc44ecabec25e6d309e5e5b9830a61dd777c3925f187a345a47d + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + languageName: node + linkType: hard + +"balanced-match@npm:^2.0.0": + version: 2.0.0 + resolution: "balanced-match@npm:2.0.0" + checksum: 9a5caad6a292c5df164cc6d0c38e0eedf9a1413f42e5fece733640949d74d0052cfa9587c1a1681f772147fb79be495121325a649526957fd75b3a216d1fbc68 + languageName: node + linkType: hard + +"base64-js@npm:^1.2.0, base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"batch@npm:0.6.1": + version: 0.6.1 + resolution: "batch@npm:0.6.1" + checksum: 61f9934c7378a51dce61b915586191078ef7f1c3eca707fdd58b96ff2ff56d9e0af2bdab66b1462301a73c73374239e6542d9821c0af787f3209a23365d07e7f + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: ^0.14.3 + checksum: 4edfc9fe7d07019609ccf797a2af28351736e9d012c8402a07120c4453a3b789a15f2ee1530dc49eee8f7eb9379331a8dd4b3766042b9e502f74a68e7f662291 + languageName: node + linkType: hard + +"bent@npm:~7.3.6": + version: 7.3.12 + resolution: "bent@npm:7.3.12" + dependencies: + bytesish: ^0.4.1 + caseless: ~0.12.0 + is-stream: ^2.0.0 + checksum: b0c08f6fa204baec0841021f5cff49aba929bbff28089bbac0d446122aa5f8e10b1b6837310b0800717cbf431c984bead2ed130bec35045d4ea688d896458d54 + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 + resolution: "big.js@npm:5.2.2" + checksum: b89b6e8419b097a8fb4ed2399a1931a68c612bce3cfd5ca8c214b2d017531191070f990598de2fc6f3f993d91c0f08aa82697717f6b3b8732c9731866d233c9e + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.2.0 + resolution: "binary-extensions@npm:2.2.0" + checksum: ccd267956c58d2315f5d3ea6757cf09863c5fc703e50fbeb13a7dc849b812ef76e3cf9ca8f35a0c48498776a7478d7b4a0418e1e2b8cb9cb9731f2922aaad7f8 + languageName: node + linkType: hard + +"bl@npm:^4.1.0": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: ^5.5.0 + inherits: ^2.0.4 + readable-stream: ^3.4.0 + checksum: 9e8521fa7e83aa9427c6f8ccdcba6e8167ef30cc9a22df26effcc5ab682ef91d2cbc23a239f945d099289e4bbcfae7a192e9c28c84c6202e710a0dfec3722662 + languageName: node + linkType: hard + +"blob-util@npm:^2.0.2": + version: 2.0.2 + resolution: "blob-util@npm:2.0.2" + checksum: d543e6b92e4ca715ca33c78e89a07a2290d43e5b2bc897d7ec588c5c7bbf59df93e45225ac0c9258aa6ce4320358990f99c9288f1c48280f8ec5d7a2e088d19b + languageName: node + linkType: hard + +"bluebird@npm:3.7.1": + version: 3.7.1 + resolution: "bluebird@npm:3.7.1" + checksum: 58c295399e109925149977ebcb40e42fd109d3e458899e71441bc7e5e0867bbd796fdd20278b425fa29f13377fe335fbfc2a6e68e5ca1da03b1c3afdc439d097 + languageName: node + linkType: hard + +"bluebird@npm:^3.7.2": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 869417503c722e7dc54ca46715f70e15f4d9c602a423a02c825570862d12935be59ed9c7ba34a9b31f186c017c23cac6b54e35446f8353059c101da73eac22ef + languageName: node + linkType: hard + +"body-parser@npm:1.20.0": + version: 1.20.0 + resolution: "body-parser@npm:1.20.0" + dependencies: + bytes: 3.1.2 + content-type: ~1.0.4 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 + type-is: ~1.6.18 + unpipe: 1.0.0 + checksum: 12fffdeac82fe20dddcab7074215d5156e7d02a69ae90cbe9fee1ca3efa2f28ef52097cbea76685ee0a1509c71d85abd0056a08e612c09077cad6277a644cf88 + languageName: node + linkType: hard + +"bonjour-service@npm:^1.0.11": + version: 1.0.13 + resolution: "bonjour-service@npm:1.0.13" + dependencies: + array-flatten: ^2.1.2 + dns-equal: ^1.0.0 + fast-deep-equal: ^3.1.3 + multicast-dns: ^7.2.5 + checksum: aee186f542e0ec095d1f7fd8194182373ea4e854eef1182a3cb90e70c958deb6945de38f1a793bb43cc51f3a0044fa7eabee05a7ecb698c446aee80f00101124 + languageName: node + linkType: hard + +"bonjour@npm:^3.5.0": + version: 3.5.0 + resolution: "bonjour@npm:3.5.0" + dependencies: + array-flatten: ^2.1.0 + deep-equal: ^1.0.1 + dns-equal: ^1.0.0 + dns-txt: ^2.0.2 + multicast-dns: ^6.0.1 + multicast-dns-service-types: ^1.1.0 + checksum: 2cfbe9fa861f4507b5ff3853eeae3ef03a231ede2b7363efedd80880ea3c0576f64416f98056c96e429ed68ff38dc4a70c0583d1eb4dab72e491ca44a0f03444 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 + languageName: node + linkType: hard + +"boxen@npm:^5.0.0": + version: 5.1.2 + resolution: "boxen@npm:5.1.2" + dependencies: + ansi-align: ^3.0.0 + camelcase: ^6.2.0 + chalk: ^4.1.0 + cli-boxes: ^2.2.1 + string-width: ^4.2.2 + type-fest: ^0.20.2 + widest-line: ^3.1.0 + wrap-ansi: ^7.0.0 + checksum: 82d03e42a72576ff235123f17b7c505372fe05c83f75f61e7d4fa4bcb393897ec95ce766fecb8f26b915f0f7a7227d66e5ec7cef43f5b2bd9d3aeed47ec55877 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + +"braces@npm:^3.0.2, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + languageName: node + linkType: hard + +"browser-process-hrtime@npm:^1.0.0": + version: 1.0.0 + resolution: "browser-process-hrtime@npm:1.0.0" + checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f + languageName: node + linkType: hard + +"browserslist@npm:^4.14.5, browserslist@npm:^4.16.1, browserslist@npm:^4.19.1, browserslist@npm:^4.20.2, browserslist@npm:^4.21.3, browserslist@npm:^4.9.1": + version: 4.21.3 + resolution: "browserslist@npm:4.21.3" + dependencies: + caniuse-lite: ^1.0.30001370 + electron-to-chromium: ^1.4.202 + node-releases: ^2.0.6 + update-browserslist-db: ^1.0.5 + bin: + browserslist: cli.js + checksum: ff512a7bcca1c530e2854bbdfc7be2791d0fb524097a6340e56e1d5924164c7e4e0a9b070de04cdc4c149d15cb4d4275cb7c626ebbce954278a2823aaad2452a + languageName: node + linkType: hard + +"bs-logger@npm:0.x, bs-logger@npm:^0.2.6": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: ^0.4.0 + checksum: 9ba4dc58ce86300c862bffc3ae91f00b2a03b01ee07f3564beeeaf82aa243b8b03ba53f123b0b842c190d4399b94697970c8e7cf7b1ea44b61aa28c3526a4449 + languageName: node + linkType: hard + +"btoa@npm:^1.2.1": + version: 1.2.1 + resolution: "btoa@npm:1.2.1" + bin: + btoa: bin/btoa.js + checksum: afbf004fb1b1d530e053ffa66ef5bd3878b101c59d808ac947fcff96810b4452abba2b54be687adadea2ba9efc7af48b04228742789bf824ef93f103767e690c + languageName: node + linkType: hard + +"buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 06252347ae6daca3453b94e4b2f1d3754a3b146a111d81c68924c22d91889a40623264e95e67955b1cb4a68cbedf317abeabb5140a9766ed248973096db5ce1c + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb + languageName: node + linkType: hard + +"buffer-indexof@npm:^1.0.0": + version: 1.1.1 + resolution: "buffer-indexof@npm:1.1.1" + checksum: 0967abc2981a8e7d776324c6b84811e4d84a7ead89b54a3bb8791437f0c4751afd060406b06db90a436f1cf771867331b5ecf5c4aca95b4ccb9f6cb146c22ebc + languageName: node + linkType: hard + +"buffer@npm:^5.5.0, buffer@npm:^5.6.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.1.13 + checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 + languageName: node + linkType: hard + +"builtins@npm:^1.0.3": + version: 1.0.3 + resolution: "builtins@npm:1.0.3" + checksum: 47ce94f7eee0e644969da1f1a28e5f29bd2e48b25b2bbb61164c345881086e29464ccb1fb88dbc155ea26e8b1f5fc8a923b26c8c1ed0935b67b644d410674513 + languageName: node + linkType: hard + +"bytes@npm:3.0.0": + version: 3.0.0 + resolution: "bytes@npm:3.0.0" + checksum: a2b386dd8188849a5325f58eef69c3b73c51801c08ffc6963eddc9be244089ba32d19347caf6d145c86f315ae1b1fc7061a32b0c1aa6379e6a719090287ed101 + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e + languageName: node + linkType: hard + +"bytesish@npm:^0.4.1": + version: 0.4.4 + resolution: "bytesish@npm:0.4.4" + checksum: 50a6c9423f66fff984676ee1d3c5f12d2a23830cb5de81abc597415aa2f51cc617b251d660eede10b8e45bf3a3a5c31d4be467ec69888f31ccc66e90cb586ad5 + languageName: node + linkType: hard + +"cacache@npm:15.3.0, cacache@npm:^15.0.5, cacache@npm:^15.2.0": + version: 15.3.0 + resolution: "cacache@npm:15.3.0" + dependencies: + "@npmcli/fs": ^1.0.0 + "@npmcli/move-file": ^1.0.1 + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + glob: ^7.1.4 + infer-owner: ^1.0.4 + lru-cache: ^6.0.0 + minipass: ^3.1.1 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.2 + mkdirp: ^1.0.3 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^8.0.1 + tar: ^6.0.2 + unique-filename: ^1.1.1 + checksum: a07327c27a4152c04eb0a831c63c00390d90f94d51bb80624a66f4e14a6b6360bbf02a84421267bd4d00ca73ac9773287d8d7169e8d2eafe378d2ce140579db8 + languageName: node + linkType: hard + +"cacache@npm:^16.1.0": + version: 16.1.1 + resolution: "cacache@npm:16.1.1" + dependencies: + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + glob: ^8.0.1 + infer-owner: ^1.0.4 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^1.1.1 + checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a + languageName: node + linkType: hard + +"cacheable-request@npm:^6.0.0": + version: 6.1.0 + resolution: "cacheable-request@npm:6.1.0" + dependencies: + clone-response: ^1.0.2 + get-stream: ^5.1.0 + http-cache-semantics: ^4.0.0 + keyv: ^3.0.0 + lowercase-keys: ^2.0.0 + normalize-url: ^4.1.0 + responselike: ^1.0.2 + checksum: b510b237b18d17e89942e9ee2d2a077cb38db03f12167fd100932dfa8fc963424bfae0bfa1598df4ae16c944a5484e43e03df8f32105b04395ee9495e9e4e9f1 + languageName: node + linkType: hard + +"cachedir@npm:^2.3.0": + version: 2.3.0 + resolution: "cachedir@npm:2.3.0" + checksum: ec90cb0f2e6336e266aa748dbadf3da9e0b20e843e43f1591acab7a3f1451337dc2f26cb9dd833ae8cfefeffeeb43ef5b5ff62782a685f4e3c2305dd98482fcb + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind@npm:1.0.2" + dependencies: + function-bind: ^1.1.1 + get-intrinsic: ^1.0.2 + checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: ^5.3.1 + map-obj: ^4.0.0 + quick-lru: ^4.0.1 + checksum: 43c9af1adf840471e54c68ab3e5fe8a62719a6b7dbf4e2e86886b7b0ff96112c945736342b837bd2529ec9d1c7d1934e5653318478d98e0cf22c475c04658e2a + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001179, caniuse-lite@npm:^1.0.30001299, caniuse-lite@npm:^1.0.30001370, caniuse-lite@npm:^1.0.30001373": + version: 1.0.30001375 + resolution: "caniuse-lite@npm:1.0.30001375" + checksum: 6ed9cf7a3f80f5880cb021105864b869dddfdda8490559aa623e77feeca5ce8958a3b7c1cf37322e519176dcb488c99e6358b8c2de2aa4a0e08846ac122c4e75 + languageName: node + linkType: hard + +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: b43bd4c440aa1e8ee6baefee8063b4850fd0d7b378f6aabc796c9ec8cb26d27fb30b46885350777d9bd079c5256c0e1329ad0dc7c2817e0bb466810ebb353751 + languageName: node + linkType: hard + +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:~4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + languageName: node + linkType: hard + +"chalk@npm:^2.0.0": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d + languageName: node + linkType: hard + +"check-more-types@npm:^2.24.0": + version: 2.24.0 + resolution: "check-more-types@npm:2.24.0" + checksum: b09080ec3404d20a4b0ead828994b2e5913236ef44ed3033a27062af0004cf7d2091fbde4b396bf13b7ce02fb018bc9960b48305e6ab2304cd82d73ed7a51ef4 + languageName: node + linkType: hard + +"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.0.0, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3": + version: 3.5.3 + resolution: "chokidar@npm:3.5.3" + dependencies: + anymatch: ~3.1.2 + braces: ~3.0.2 + fsevents: ~2.3.2 + glob-parent: ~5.1.2 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.6.0 + dependenciesMeta: + fsevents: + optional: true + checksum: b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.3 + resolution: "chrome-trace-event@npm:1.0.3" + checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.3.2 + resolution: "ci-info@npm:3.3.2" + checksum: fd81f1edd2d3b0f6cb077b2e84365136d87b9db8c055928c1ad69da8a76c2c2f19cba8ea51b90238302157ca927f91f92b653e933f2398dde4867500f08d6e62 + languageName: node + linkType: hard + +"circular-dependency-plugin@npm:5.2.2": + version: 5.2.2 + resolution: "circular-dependency-plugin@npm:5.2.2" + peerDependencies: + webpack: ">=4.0.1" + checksum: d1a51e7f86e72d9e7a08c47234511cc7a5c3050781c2d6dcc77c0b22214f94f272702488c952e59b2af589c67944160ad1c9c0b7b3e0d4f89222f2a27ebf085e + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.2.2 + resolution: "cjs-module-lexer@npm:1.2.2" + checksum: 977f3f042bd4f08e368c890d91eecfbc4f91da0bc009a3c557bc4dfbf32022ad1141244ac1178d44de70fc9f3dea7add7cd9a658a34b9fae98a55d8f92331ce5 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 + languageName: node + linkType: hard + +"cli-boxes@npm:^2.2.1": + version: 2.2.1 + resolution: "cli-boxes@npm:2.2.1" + checksum: be79f8ec23a558b49e01311b39a1ea01243ecee30539c880cf14bf518a12e223ef40c57ead0cb44f509bffdffc5c129c746cd50d863ab879385370112af4f585 + languageName: node + linkType: hard + +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: ^3.1.0 + checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.5.0": + version: 2.7.0 + resolution: "cli-spinners@npm:2.7.0" + checksum: a9afaf73f58d1f951fb23742f503631b3cf513f43f4c7acb1b640100eb76bfa16efbcd1994d149ffc6603a6d75dd3d4a516a76f125f90dce437de9b16fd0ee6f + languageName: node + linkType: hard + +"cli-table3@npm:~0.6.1": + version: 0.6.2 + resolution: "cli-table3@npm:0.6.2" + dependencies: + "@colors/colors": 1.5.0 + string-width: ^4.2.0 + dependenciesMeta: + "@colors/colors": + optional: true + checksum: 2f82391698b8a2a2a5e45d2adcfea5d93e557207f90455a8d4c1aac688e9b18a204d9eb4ba1d322fa123b17d64ea3dc5e11de8b005529f3c3e7dbeb27cb4d9be + languageName: node + linkType: hard + +"cli-truncate@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-truncate@npm:2.1.0" + dependencies: + slice-ansi: ^3.0.0 + string-width: ^4.2.0 + checksum: bf1e4e6195392dc718bf9cd71f317b6300dc4a9191d052f31046b8773230ece4fa09458813bf0e3455a5e68c0690d2ea2c197d14a8b85a7b5e01c97f4b5feb5d + languageName: node + linkType: hard + +"cli-truncate@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-truncate@npm:3.1.0" + dependencies: + slice-ansi: ^5.0.0 + string-width: ^5.0.0 + checksum: c3243e41974445691c63f8b405df1d5a24049dc33d324fe448dc572e561a7b772ae982692900b1a5960901cc4fc7def25a629b9c69a4208ee89d12ab3332617a + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 + languageName: node + linkType: hard + +"cliui@npm:^5.0.0": + version: 5.0.0 + resolution: "cliui@npm:5.0.0" + dependencies: + string-width: ^3.1.0 + strip-ansi: ^5.2.0 + wrap-ansi: ^5.1.0 + checksum: 0bb8779efe299b8f3002a73619eaa8add4081eb8d1c17bc4fedc6240557fb4eacdc08fe87c39b002eacb6cfc117ce736b362dbfd8bf28d90da800e010ee97df4 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^7.0.0 + checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f + languageName: node + linkType: hard + +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: ^2.0.4 + kind-of: ^6.0.2 + shallow-clone: ^3.0.0 + checksum: 770f912fe4e6f21873c8e8fbb1e99134db3b93da32df271d00589ea4a29dbe83a9808a322c93f3bcaf8584b8b4fa6fc269fc8032efbaa6728e0c9886c74467d2 + languageName: node + linkType: hard + +"clone-regexp@npm:^2.1.0": + version: 2.2.0 + resolution: "clone-regexp@npm:2.2.0" + dependencies: + is-regexp: ^2.0.0 + checksum: 3624905a98920ad5c196080f4ea4379fa42b12f3b1d1272d958bb79c194508d2aec85160c25846f0016ca861a064316b213a565cf53b81a513047f89cf877803 + languageName: node + linkType: hard + +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: ^1.0.0 + checksum: 4e671cac39b11c60aa8ba0a450657194a5d6504df51bca3fac5b3bd0145c4f8e8464898f87c8406b83232e3bc5cca555f51c1f9c8ac023969ebfbf7f6bdabb2e + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: d06418b7335897209e77bdd430d04f882189582e67bd1f75a04565f3f07f5b3f119a9d670c943b6697d0afb100f03b866b3b8a1f91d4d02d72c4ecf2bb64b5dd + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 + languageName: node + linkType: hard + +"codelyzer@npm:6.0.2": + version: 6.0.2 + resolution: "codelyzer@npm:6.0.2" + dependencies: + "@angular/compiler": 9.0.0 + "@angular/core": 9.0.0 + app-root-path: ^3.0.0 + aria-query: ^3.0.0 + axobject-query: 2.0.2 + css-selector-tokenizer: ^0.7.1 + cssauron: ^1.4.0 + damerau-levenshtein: ^1.0.4 + rxjs: ^6.5.3 + semver-dsl: ^1.0.1 + source-map: ^0.5.7 + sprintf-js: ^1.1.2 + tslib: ^1.10.0 + zone.js: ~0.10.3 + peerDependencies: + "@angular/compiler": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next" + "@angular/core": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next" + tslint: ^5.0.0 || ^6.0.0 + checksum: 8f9f20f2196ccf6c0e549fd894c37ec707c54e01f9afc795c13452b4abc6f72890293a9ebff22f93241e3d9db4f982566fca4d12eca5b77e9cd4f9553767c5a4 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.1 + resolution: "collect-v8-coverage@npm:1.0.1" + checksum: 4efe0a1fccd517b65478a2364b33dadd0a43fc92a56f59aaece9b6186fe5177b2de471253587de7c91516f07c7268c2f6770b6cbcffc0e0ece353b766ec87e55 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b + languageName: node + linkType: hard + +"colord@npm:^2.9.2": + version: 2.9.3 + resolution: "colord@npm:2.9.3" + checksum: 95d909bfbcfd8d5605cbb5af56f2d1ce2b323990258fd7c0d2eb0e6d3bb177254d7fb8213758db56bb4ede708964f78c6b992b326615f81a18a6aaf11d64c650 + languageName: node + linkType: hard + +"colorette@npm:^2.0.10, colorette@npm:^2.0.16": + version: 2.0.19 + resolution: "colorette@npm:2.0.19" + checksum: 888cf5493f781e5fcf54ce4d49e9d7d698f96ea2b2ef67906834bb319a392c667f9ec69f4a10e268d2946d13a9503d2d19b3abaaaf174e3451bfe91fb9d82427 + languageName: node + linkType: hard + +"colors@npm:1.4.0": + version: 1.4.0 + resolution: "colors@npm:1.4.0" + checksum: 98aa2c2418ad87dedf25d781be69dc5fc5908e279d9d30c34d8b702e586a0474605b3a189511482b9d5ed0d20c867515d22749537f7bc546256c6014f3ebdcec + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c + languageName: node + linkType: hard + +"commander@npm:2, commander@npm:^2.11.0, commander@npm:^2.19.0, commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e + languageName: node + linkType: hard + +"commander@npm:^5.1.0": + version: 5.1.0 + resolution: "commander@npm:5.1.0" + checksum: 0b7fec1712fbcc6230fcb161d8d73b4730fa91a21dc089515489402ad78810547683f058e2a9835929c212fead1d6a6ade70db28bbb03edbc2829a9ab7d69447 + languageName: node + linkType: hard + +"commander@npm:^9.3.0": + version: 9.4.0 + resolution: "commander@npm:9.4.0" + checksum: a322de584a6ccd1ea83c24f6a660e52d16ffbe2613fcfbb8d2cc68bc9dec637492456d754fe8bb5b039ad843ed8e04fb0b107e581a75f62cde9e1a0ab1546e09 + languageName: node + linkType: hard + +"commander@npm:~7.1.0": + version: 7.1.0 + resolution: "commander@npm:7.1.0" + checksum: 99c120b939b610b1fb4a14424b48dc6431643ec46836f251a26434ad77b1eed22577a36378cfd66ed4b56fc69f98553f7dcb30f1539e3685874fd77cfb6e52fb + languageName: node + linkType: hard + +"commander@npm:~8.3.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 + languageName: node + linkType: hard + +"common-tags@npm:^1.8.0": + version: 1.8.2 + resolution: "common-tags@npm:1.8.2" + checksum: 767a6255a84bbc47df49a60ab583053bb29a7d9687066a18500a516188a062c4e4cd52de341f22de0b07062e699b1b8fe3cfa1cb55b241cb9301aeb4f45b4dff + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 59715f2fc456a73f68826285718503340b9f0dd89bfffc42749906c5cf3d4277ef11ef1cca0350d0e79204f00f1f6d83851ececc9095dc88512a697ac0b9bdcb + languageName: node + linkType: hard + +"compressible@npm:~2.0.16": + version: 2.0.18 + resolution: "compressible@npm:2.0.18" + dependencies: + mime-db: ">= 1.43.0 < 2" + checksum: 58321a85b375d39230405654721353f709d0c1442129e9a17081771b816302a012471a9b8f4864c7dbe02eef7f2aaac3c614795197092262e94b409c9be108f0 + languageName: node + linkType: hard + +"compression@npm:^1.7.4": + version: 1.7.4 + resolution: "compression@npm:1.7.4" + dependencies: + accepts: ~1.3.5 + bytes: 3.0.0 + compressible: ~2.0.16 + debug: 2.6.9 + on-headers: ~1.0.2 + safe-buffer: 5.1.2 + vary: ~1.1.2 + checksum: 35c0f2eb1f28418978615dc1bc02075b34b1568f7f56c62d60f4214d4b7cc00d0f6d282b5f8a954f59872396bd770b6b15ffd8aa94c67d4bce9b8887b906999b + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af + languageName: node + linkType: hard + +"concurrently@npm:7.2.1": + version: 7.2.1 + resolution: "concurrently@npm:7.2.1" + dependencies: + chalk: ^4.1.0 + date-fns: ^2.16.1 + lodash: ^4.17.21 + rxjs: ^6.6.3 + shell-quote: ^1.7.3 + spawn-command: ^0.0.2-1 + supports-color: ^8.1.0 + tree-kill: ^1.2.2 + yargs: ^17.3.1 + bin: + concurrently: dist/bin/concurrently.js + checksum: 384e9f48f2c53a7c46b1bb1143b9dba734953c587e0c080db0c6e71dd4a58f556d096fe4fd9d2d9c601ba7ae8e6c06d452c162bbc2b6a4b16c080c1c4b8e81b4 + languageName: node + linkType: hard + +"config-chain@npm:^1.1.13": + version: 1.1.13 + resolution: "config-chain@npm:1.1.13" + dependencies: + ini: ^1.3.4 + proto-list: ~1.2.1 + checksum: 828137a28e7c2fc4b7fb229bd0cd6c1397bcf83434de54347e608154008f411749041ee392cbe42fab6307e02de4c12480260bf769b7d44b778fdea3839eafab + languageName: node + linkType: hard + +"configstore@npm:^5.0.1": + version: 5.0.1 + resolution: "configstore@npm:5.0.1" + dependencies: + dot-prop: ^5.2.0 + graceful-fs: ^4.1.2 + make-dir: ^3.0.0 + unique-string: ^2.0.0 + write-file-atomic: ^3.0.0 + xdg-basedir: ^4.0.0 + checksum: 60ef65d493b63f96e14b11ba7ec072fdbf3d40110a94fb7199d1c287761bdea5c5244e76b2596325f30c1b652213aa75de96ea20afd4a5f82065e61ea090988e + languageName: node + linkType: hard + +"connect-history-api-fallback@npm:^1.6.0": + version: 1.6.0 + resolution: "connect-history-api-fallback@npm:1.6.0" + checksum: 804ca2be28c999032ecd37a9f71405e5d7b7a4b3defcebbe41077bb8c5a0a150d7b59f51dcc33b2de30bc7e217a31d10f8cfad27e8e74c2fc7655eeba82d6e7e + languageName: node + linkType: hard + +"console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 + languageName: node + linkType: hard + +"content-type@npm:~1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": + version: 1.8.0 + resolution: "convert-source-map@npm:1.8.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: 985d974a2d33e1a2543ada51c93e1ba2f73eaed608dc39f229afc78f71dcc4c8b7d7c684aa647e3c6a3a204027444d69e53e169ce94e8d1fa8d7dee80c9c8fed + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a + languageName: node + linkType: hard + +"cookie@npm:0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 + languageName: node + linkType: hard + +"copy-anything@npm:^2.0.1": + version: 2.0.6 + resolution: "copy-anything@npm:2.0.6" + dependencies: + is-what: ^3.14.1 + checksum: 7318dc00ca14f846d14fc886845cff63bf20a3c5f4fcdd31f68c40a213648c78a1093426947ac0f8f8577845e9a7a11eeaaeefb05d9a6f1b78ca5ec60c2aaf6e + languageName: node + linkType: hard + +"copy-webpack-plugin@npm:10.2.1": + version: 10.2.1 + resolution: "copy-webpack-plugin@npm:10.2.1" + dependencies: + fast-glob: ^3.2.7 + glob-parent: ^6.0.1 + globby: ^12.0.2 + normalize-path: ^3.0.0 + schema-utils: ^4.0.0 + serialize-javascript: ^6.0.0 + peerDependencies: + webpack: ^5.1.0 + checksum: 59b4fc10aaa81658fa1b6164fc9985ef0e4b54ba2734c07e0da5fdbc6828a5954fe822e2c383beac1e247dd26e669b2c86fa0d7d5495dfb1cbf562196d005ec2 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": + version: 3.24.1 + resolution: "core-js-compat@npm:3.24.1" + dependencies: + browserslist: ^4.21.3 + semver: 7.0.0 + checksum: b14516add9d59a9fae3b96d0de6e1d8864df80b714232814fce56ce946af3696cb50a4f83c717f8f36e43e1a37adf99a4cde6fc921e6ee56021eee2ea3bdc4dc + languageName: node + linkType: hard + +"core-js@npm:3.20.3": + version: 3.20.3 + resolution: "core-js@npm:3.20.3" + checksum: 2106cdfb1330abf9e27d577666fc0421feafe8c39bb5af90a63af16e9706c767a7e3a82edc21ce3ed6b9d806f3200d1cf6cc3d0597a8c0af12dbec287c781d65 + languageName: node + linkType: hard + +"core-js@npm:3.22.7": + version: 3.22.7 + resolution: "core-js@npm:3.22.7" + checksum: c5f1d8a96b6d1828d02583603d9df1fcbf45f95454585ff9d49ba7ea1470bf1422d00561044939bf4952465ae4ae2bf30a39b4874da8ed2741a3f3996bd175ab + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + languageName: node + linkType: hard + +"cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": + version: 7.0.1 + resolution: "cosmiconfig@npm:7.0.1" + dependencies: + "@types/parse-json": ^4.0.0 + import-fresh: ^3.2.1 + parse-json: ^5.0.0 + path-type: ^4.0.0 + yaml: ^1.10.0 + checksum: 4be63e7117955fd88333d7460e4c466a90f556df6ef34efd59034d2463484e339666c41f02b523d574a797ec61f4a91918c5b89a316db2ea2f834e0d2d09465b + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff + languageName: node + linkType: hard + +"critters@npm:0.0.16": + version: 0.0.16 + resolution: "critters@npm:0.0.16" + dependencies: + chalk: ^4.1.0 + css-select: ^4.2.0 + parse5: ^6.0.1 + parse5-htmlparser2-tree-adapter: ^6.0.1 + postcss: ^8.3.7 + pretty-bytes: ^5.3.0 + checksum: cfccfbb94f0b461fffd3c02a20f033cc42b78191a8e2fe68f825e263a6f3c53bd091d5e3cfc477100ddc5be162f9601cb4f7f080a0993a030621bc5d3359e979 + languageName: node + linkType: hard + +"crop-url@npm:4.0.1": + version: 4.0.1 + resolution: "crop-url@npm:4.0.1" + checksum: 2ab98f0dd1912e53af0761e27e73aa7794645fadb495fe4d2d3449cf653aa5990111cf902252b4cc989ff0d8dcf834102eb65d5fa5342f46fb61b78be84352c6 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + +"crypto-random-string@npm:^2.0.0": + version: 2.0.0 + resolution: "crypto-random-string@npm:2.0.0" + checksum: 0283879f55e7c16fdceacc181f87a0a65c53bc16ffe1d58b9d19a6277adcd71900d02bb2c4843dd55e78c51e30e89b0fec618a7f170ebcc95b33182c28f05fd6 + languageName: node + linkType: hard + +"css-blank-pseudo@npm:^3.0.2": + version: 3.0.3 + resolution: "css-blank-pseudo@npm:3.0.3" + dependencies: + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 + bin: + css-blank-pseudo: dist/cli.cjs + checksum: 9be0a13885a99d8ba9e1f45ea66e801d4da75b58c1c3c516a40772fa3a93ef9952b15dcac0418acbb6c89daaae0572819647701b8e553a02972826e33d4cd67f + languageName: node + linkType: hard + +"css-functions-list@npm:^3.0.1": + version: 3.1.0 + resolution: "css-functions-list@npm:3.1.0" + checksum: 8a7c9d4ae57cb2f01500263e65a21372048d359ca7aa6430a32a736fe2a421decfebe45e579124b9a158ec68aba2eadcd733e568495a7698240d9607d31f681b + languageName: node + linkType: hard + +"css-has-pseudo@npm:^3.0.3": + version: 3.0.4 + resolution: "css-has-pseudo@npm:3.0.4" + dependencies: + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 + bin: + css-has-pseudo: dist/cli.cjs + checksum: 8f165d68f6621891d9fa1d874794916a52ed8847dfbec591523ad68774650cc1eae062ba08f59514666e04aeba27be72c9b211892f3a187c5ba6e287bd4260e7 + languageName: node + linkType: hard + +"css-loader@npm:6.5.1": + version: 6.5.1 + resolution: "css-loader@npm:6.5.1" + dependencies: + icss-utils: ^5.1.0 + postcss: ^8.2.15 + postcss-modules-extract-imports: ^3.0.0 + postcss-modules-local-by-default: ^4.0.0 + postcss-modules-scope: ^3.0.0 + postcss-modules-values: ^4.0.0 + postcss-value-parser: ^4.1.0 + semver: ^7.3.5 + peerDependencies: + webpack: ^5.0.0 + checksum: 5a3bedecb468038f09673d25c32d8db5b0baa6c38820253c54ce4c56c27a2250d5d5b4bace77dd5e20ba0a569604eb759362bab4e3128e7db2229e40857d4aca + languageName: node + linkType: hard + +"css-prefers-color-scheme@npm:^6.0.2": + version: 6.0.3 + resolution: "css-prefers-color-scheme@npm:6.0.3" + peerDependencies: + postcss: ^8.4 + bin: + css-prefers-color-scheme: dist/cli.cjs + checksum: 3a2b02f0454adda68861cdcaf6a0d11f462eadf165301cba61c5ec7c5f229ac261c5baa54c377d9b811ec5f21b30d72a02bc032cdad2415b3a566f08a0c47b3a + languageName: node + linkType: hard + +"css-rule-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "css-rule-stream@npm:1.1.0" + dependencies: + css-tokenize: ^1.0.1 + duplexer2: 0.0.2 + ldjson-stream: ^1.2.1 + through2: ^0.6.3 + bin: + css-rule-stream: index.js + checksum: 115f6c90695bca8e1287cf6441978a0ead688e9b83a8f643cbbbd6abaab08bca3f11fa3ab5478686e73481f0b88b521a25a6c484d45e61bbd3c6a29d54bbcb34 + languageName: node + linkType: hard + +"css-select@npm:^4.2.0": + version: 4.3.0 + resolution: "css-select@npm:4.3.0" + dependencies: + boolbase: ^1.0.0 + css-what: ^6.0.1 + domhandler: ^4.3.1 + domutils: ^2.8.0 + nth-check: ^2.0.1 + checksum: d6202736839194dd7f910320032e7cfc40372f025e4bf21ca5bf6eb0a33264f322f50ba9c0adc35dadd342d3d6fae5ca244779a4873afbfa76561e343f2058e0 + languageName: node + linkType: hard + +"css-selector-tokenizer@npm:^0.7.1": + version: 0.7.3 + resolution: "css-selector-tokenizer@npm:0.7.3" + dependencies: + cssesc: ^3.0.0 + fastparse: ^1.1.2 + checksum: 92560a9616a8bc073b88c678aa04f22c599ac23c5f8587e60f4861069e2d5aeb37b722af581ae3c5fbce453bed7a893d9c3e06830912e6d28badc3b8b99acd24 + languageName: node + linkType: hard + +"css-tokenize@npm:^1.0.1": + version: 1.0.1 + resolution: "css-tokenize@npm:1.0.1" + dependencies: + inherits: ^2.0.1 + readable-stream: ^1.0.33 + checksum: 08ae936418f7c812052d690c59bf8588e4b4576aa12c6a74b72ff5befa0a21825071df46219987075fde94baf536bb396c7b9e32d955673d6be1cfc4ddb7ea6d + languageName: node + linkType: hard + +"css-what@npm:^6.0.1": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: b975e547e1e90b79625918f84e67db5d33d896e6de846c9b584094e529f0c63e2ab85ee33b9daffd05bff3a146a1916bec664e18bb76dd5f66cbff9fc13b2bbe + languageName: node + linkType: hard + +"css@npm:^3.0.0": + version: 3.0.0 + resolution: "css@npm:3.0.0" + dependencies: + inherits: ^2.0.4 + source-map: ^0.6.1 + source-map-resolve: ^0.6.0 + checksum: 4273ac816ddf99b99acb9c1d1a27d86d266a533cc01118369d941d8e8a78277a83cad3315e267a398c509d930fbb86504e193ea1ebc620a4a4212e06fe76e8be + languageName: node + linkType: hard + +"cssauron@npm:^1.4.0": + version: 1.4.0 + resolution: "cssauron@npm:1.4.0" + dependencies: + through: X.X.X + checksum: bfb9cbf763f6fc560f807f2b9c4b91f5b338c066572f539cbd16decaa813c837ef40951526c3a07a1ba097fa89dfe3e43c4e8e80c1f26573d687b9d7be854279 + languageName: node + linkType: hard + +"cssdb@npm:^5.0.0": + version: 5.1.0 + resolution: "cssdb@npm:5.1.0" + checksum: 34b4e57b375348850fbe312b0ceefbd060ff70b2e47966d6053a8316b066423809fe9099c0ab08f5f8580b4dfd32eb63bfe10a52bccc4fec1660009873d13003 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: f8c4ababffbc5e2ddf2fa9957dda1ee4af6048e22aeda1869d0d00843223c1b13ad3f5d88b51caa46c994225eacb636b764eb807a8883e2fb6f99b4f4e8c48b2 + languageName: node + linkType: hard + +"cssom@npm:^0.5.0": + version: 0.5.0 + resolution: "cssom@npm:0.5.0" + checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 + languageName: node + linkType: hard + +"cssom@npm:~0.3.6": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 + languageName: node + linkType: hard + +"cssstyle@npm:^2.3.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 + languageName: node + linkType: hard + +"cypress-fail-fast@npm:4.0.0": + version: 4.0.0 + resolution: "cypress-fail-fast@npm:4.0.0" + dependencies: + chalk: 4.1.2 + peerDependencies: + cypress: ">=5.0.0" + checksum: a2f8eac05a6dbe099b122007b85955e89e05840a8a19ae0da690684a9365aa6f280682aa029385ee0345e3917a413d8cf84467fa5b7c18ea43c7aa1d30962da4 + languageName: node + linkType: hard + +"cypress@npm:9.7.0": + version: 9.7.0 + resolution: "cypress@npm:9.7.0" + dependencies: + "@cypress/request": ^2.88.10 + "@cypress/xvfb": ^1.2.4 + "@types/node": ^14.14.31 + "@types/sinonjs__fake-timers": 8.1.1 + "@types/sizzle": ^2.3.2 + arch: ^2.2.0 + blob-util: ^2.0.2 + bluebird: ^3.7.2 + buffer: ^5.6.0 + cachedir: ^2.3.0 + chalk: ^4.1.0 + check-more-types: ^2.24.0 + cli-cursor: ^3.1.0 + cli-table3: ~0.6.1 + commander: ^5.1.0 + common-tags: ^1.8.0 + dayjs: ^1.10.4 + debug: ^4.3.2 + enquirer: ^2.3.6 + eventemitter2: ^6.4.3 + execa: 4.1.0 + executable: ^4.1.1 + extract-zip: 2.0.1 + figures: ^3.2.0 + fs-extra: ^9.1.0 + getos: ^3.2.1 + is-ci: ^3.0.0 + is-installed-globally: ~0.4.0 + lazy-ass: ^1.6.0 + listr2: ^3.8.3 + lodash: ^4.17.21 + log-symbols: ^4.0.0 + minimist: ^1.2.6 + ospath: ^1.2.2 + pretty-bytes: ^5.6.0 + proxy-from-env: 1.0.0 + request-progress: ^3.0.0 + semver: ^7.3.2 + supports-color: ^8.1.1 + tmp: ~0.2.1 + untildify: ^4.0.0 + yauzl: ^2.10.0 + bin: + cypress: bin/cypress + checksum: 45df7c85bc7ec2e187153ff2b98bf5106d2313d70e2367a5742b5269a9e82d3fdd730d5bbc32ac8da72aeb120a52f9384c2ba4e2fc86b532f68440f22d700fc9 + languageName: node + linkType: hard + +"d3-array@npm:2, d3-array@npm:^2.3.0, d3-array@npm:^2.5.0, d3-array@npm:^2.9.1": + version: 2.12.1 + resolution: "d3-array@npm:2.12.1" + dependencies: + internmap: ^1.0.0 + checksum: 97853b7b523aded17078f37c67742f45d81e88dda2107ae9994c31b9e36c5fa5556c4c4cf39650436f247813602dfe31bf7ad067ff80f127a16903827f10c6eb + languageName: node + linkType: hard + +"d3-axis@npm:2": + version: 2.1.0 + resolution: "d3-axis@npm:2.1.0" + checksum: 43d80f68e516b315bbe86afff1552abd9518296e60f58a9a70ee9a524c109dec9d4585da5fc34a5c589e599c5ee4fe465f850c5a43f5e112c3850965bb00e9f5 + languageName: node + linkType: hard + +"d3-brush@npm:2, d3-brush@npm:^2.1.0": + version: 2.1.0 + resolution: "d3-brush@npm:2.1.0" + dependencies: + d3-dispatch: 1 - 2 + d3-drag: 2 + d3-interpolate: 1 - 2 + d3-selection: 2 + d3-transition: 2 + checksum: 35fb7e3b422626194aac1b85434e6a346de1b69f497d1f80d2f6bf881602e8826255a7c95a0c27f0de5ec2f5f7bc8481d6e1df24c80ebb28175a0830c868d218 + languageName: node + linkType: hard + +"d3-chord@npm:2": + version: 2.0.0 + resolution: "d3-chord@npm:2.0.0" + dependencies: + d3-path: 1 - 2 + checksum: 932f1e9a50a68b95f42431fe043164c671433226582cf4e5f5a8f7064da99efaca656283861bf243286c5ef7dcf87aa77811418564fba83350da48d8c50074c0 + languageName: node + linkType: hard + +"d3-color@npm:1 - 2, d3-color@npm:2, d3-color@npm:^2.0.0": + version: 2.0.0 + resolution: "d3-color@npm:2.0.0" + checksum: b887354aa383937abd04fbffed3e26e5d6a788472cd3737fb10735930e427763e69fe93398663bccf88c0b53ee3e638ac6fcf0c02226b00ed9e4327c2dfbf3dc + languageName: node + linkType: hard + +"d3-contour@npm:2": + version: 2.0.0 + resolution: "d3-contour@npm:2.0.0" + dependencies: + d3-array: 2 + checksum: 7d46bad378f6e329dddcc52df76077f28b563219cf5a0003385fbcb6c501d5fbb10d71c508da6a7690b527ccdbc1909b6f1f36fa36f03b43b19f8bcab0c2961d + languageName: node + linkType: hard + +"d3-delaunay@npm:5": + version: 5.3.0 + resolution: "d3-delaunay@npm:5.3.0" + dependencies: + delaunator: 4 + checksum: 3fa5ae167eb86e62ca0f9c3e8d05470b23572b4b480f05201705c0db976d403834cee1cdf264a41c97e45238e3999d48cc593f97d0da37229a42673a6bb10e95 + languageName: node + linkType: hard + +"d3-dispatch@npm:1 - 2, d3-dispatch@npm:2": + version: 2.0.0 + resolution: "d3-dispatch@npm:2.0.0" + checksum: cf473676ae0df1915d51d056d2c6734ceec480d258611d970a01847c50e8c273c185032bf9ed491abd077696bcbeeb491dc94af53e888871f3a1a0fac7365cec + languageName: node + linkType: hard + +"d3-drag@npm:2": + version: 2.0.0 + resolution: "d3-drag@npm:2.0.0" + dependencies: + d3-dispatch: 1 - 2 + d3-selection: 2 + checksum: 47f0bcdd097fd363d59da41299f276c1f6bd88bc460f53871b3d9c35982d40f59a535c6de7fa07a51120e56c99064bd9aa3551279dc09ce4204c639d54f80399 + languageName: node + linkType: hard + +"d3-dsv@npm:1 - 2, d3-dsv@npm:2": + version: 2.0.0 + resolution: "d3-dsv@npm:2.0.0" + dependencies: + commander: 2 + iconv-lite: 0.4 + rw: 1 + bin: + csv2json: bin/dsv2json + csv2tsv: bin/dsv2dsv + dsv2dsv: bin/dsv2dsv + dsv2json: bin/dsv2json + json2csv: bin/json2dsv + json2dsv: bin/json2dsv + json2tsv: bin/json2dsv + tsv2csv: bin/dsv2dsv + tsv2json: bin/dsv2json + checksum: 01b12d81e4ca3996f2e921388b1929c358a39711bf250f2c53dd0e452b80465ebe31ddb58a4064f160322dec7aaf2ceae1a249874af989404705fcfdf1e9b64d + languageName: node + linkType: hard + +"d3-ease@npm:1 - 2, d3-ease@npm:2": + version: 2.0.0 + resolution: "d3-ease@npm:2.0.0" + checksum: 1a9f6dfc836f0c66fba1ed28f0a3ad170d7c4f4812d442c6b562163e1a60283cc697e72a2cc4ba64abff9e77ad56354847986a5964e0c661af9b6d132c642e29 + languageName: node + linkType: hard + +"d3-fetch@npm:2": + version: 2.0.0 + resolution: "d3-fetch@npm:2.0.0" + dependencies: + d3-dsv: 1 - 2 + checksum: e592420726c39dbbe342504761e5c80a026fc9add4f808ed4e01ab66c3064f7251f988dd2bcb6b8b61f8866769470eabb14a8d7f18e014338d9d9637ffd51af1 + languageName: node + linkType: hard + +"d3-force@npm:2": + version: 2.1.1 + resolution: "d3-force@npm:2.1.1" + dependencies: + d3-dispatch: 1 - 2 + d3-quadtree: 1 - 2 + d3-timer: 1 - 2 + checksum: aaee5b86d753450e72dae6748765ac3e0b7b784bd420a61264b778d697b9521a343b74b5c55654be2ff7fdf9bada0953a6fcae9be69091176d0579b56df72937 + languageName: node + linkType: hard + +"d3-format@npm:1 - 2, d3-format@npm:2, d3-format@npm:^2.0.0": + version: 2.0.0 + resolution: "d3-format@npm:2.0.0" + checksum: c4d3c8f9941d097d514d3986f54f21434e08e5876dc08d1d65226447e8e167600d5b9210235bb03fd45327225f04f32d6e365f08f76d2f4b8bff81594851aaf7 + languageName: node + linkType: hard + +"d3-geo@npm:2": + version: 2.0.2 + resolution: "d3-geo@npm:2.0.2" + dependencies: + d3-array: ^2.5.0 + checksum: 992f667c646f8e2ea810de20e62914128e119f0458bce4090934287af3b93395632ed4af16aae7ccae095ae702a23b5d7a49888674f1aa27ab1a6e410882d86c + languageName: node + linkType: hard + +"d3-hierarchy@npm:2, d3-hierarchy@npm:^2.0.0": + version: 2.0.0 + resolution: "d3-hierarchy@npm:2.0.0" + checksum: 594bea104d3cf947da8499f3c50c93d914c5af34195ef3848e4888ed5c8c1aa6a1adae1dd656acfd04779005255347f68a3d270d825ec94fc88b88a72dd7cb4e + languageName: node + linkType: hard + +"d3-interpolate@npm:1 - 2, d3-interpolate@npm:1.2.0 - 2, d3-interpolate@npm:2, d3-interpolate@npm:^2.0.1": + version: 2.0.1 + resolution: "d3-interpolate@npm:2.0.1" + dependencies: + d3-color: 1 - 2 + checksum: 4a2018ac34fbcc3e0e7241e117087ca1b2274b8b33673913658623efacc5db013b8d876586d167b23e3145bdb34ec8e441d301299b082e1a90985b2f18d4299c + languageName: node + linkType: hard + +"d3-path@npm:1 - 2, d3-path@npm:2": + version: 2.0.0 + resolution: "d3-path@npm:2.0.0" + checksum: e39e91dfb9abf9637962caede1f4ea4877f4b9e1c914868bdfc355688e9a637ba51bed0fb6180934eb596e50a4d0d1f001b5f2e98a4a3d23cc42558acfbd1f2c + languageName: node + linkType: hard + +"d3-polygon@npm:2": + version: 2.0.0 + resolution: "d3-polygon@npm:2.0.0" + checksum: aeabedd8c74b0087d9b3fa9d9a95ce6535edb07c546cb070ffb1f971a3e9112124a9f63bf1377cbb6889d2cb0268363c4a864ec8c7629d990623fff73262d1ea + languageName: node + linkType: hard + +"d3-quadtree@npm:1 - 2, d3-quadtree@npm:2": + version: 2.0.0 + resolution: "d3-quadtree@npm:2.0.0" + checksum: e5f9cee19a636666e9f1614f9a9508dde9af47d80769ecb70b6b5033448a8c3ae96f39f1ffea0d1782442559412e3f98508fedf5dc39fe09a2f5995e6a0913bf + languageName: node + linkType: hard + +"d3-random@npm:2": + version: 2.2.2 + resolution: "d3-random@npm:2.2.2" + checksum: 79931d642f059c874c2be964b629ac0ce0f73306fa744e2ac8eb5ef1592ecfe8ab4a31a5273bef75db7ba2055c344af9921ef1bf55070edd826d7a7ba0b47331 + languageName: node + linkType: hard + +"d3-scale-chromatic@npm:2": + version: 2.0.0 + resolution: "d3-scale-chromatic@npm:2.0.0" + dependencies: + d3-color: 1 - 2 + d3-interpolate: 1 - 2 + checksum: 9fe5b4c1d9907abbda76e414856d9089182a0641f3bbf43d8d3008dbcccb52781e21793682e2b53663d3c6cd63e76965f961894e53ed3b01a345797412fe5b1f + languageName: node + linkType: hard + +"d3-scale@npm:3, d3-scale@npm:^3.2.3": + version: 3.3.0 + resolution: "d3-scale@npm:3.3.0" + dependencies: + d3-array: ^2.3.0 + d3-format: 1 - 2 + d3-interpolate: 1.2.0 - 2 + d3-time: ^2.1.1 + d3-time-format: 2 - 3 + checksum: f77e73f0fb422292211d0687914c30d26e29011a936ad2a535a868ae92f306c3545af1fe7ea5db1b3e67dbce7a6c6cd952e53d02d1d557543e7e5d30e30e52f2 + languageName: node + linkType: hard + +"d3-selection@npm:2, d3-selection@npm:^2.0.0": + version: 2.0.0 + resolution: "d3-selection@npm:2.0.0" + checksum: c00143f55d510e405fc51e5ef626cb6b3705181ec3d595e84e5cb977508e30228d95d7e209aff6e686ff758c562c5dd17e974325ee8c8555bb6f4f382331ec7d + languageName: node + linkType: hard + +"d3-shape@npm:2, d3-shape@npm:^2.0.0": + version: 2.1.0 + resolution: "d3-shape@npm:2.1.0" + dependencies: + d3-path: 1 - 2 + checksum: 4a82a83fbb15aadee3eb6661226a34bcd793cdbcd7aa5bf980a4724efc93eb94acc6c499f0ebedc9c3144c57c0f033867d137f41e86459acbd5d7181cb27b49c + languageName: node + linkType: hard + +"d3-time-format@npm:2 - 3, d3-time-format@npm:3, d3-time-format@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-time-format@npm:3.0.0" + dependencies: + d3-time: 1 - 2 + checksum: c20c1667dbea653f81d923e741f84c23e4b966002ba0d6ed94cbc70692105566e55e89d18d175404534a879383fd1123300bd12885a3c924fe924032bb0060db + languageName: node + linkType: hard + +"d3-time@npm:1 - 2, d3-time@npm:2, d3-time@npm:^2.1.1": + version: 2.1.1 + resolution: "d3-time@npm:2.1.1" + dependencies: + d3-array: 2 + checksum: d1c7b9658c20646e46c3dd19e11c38e02dec098e8baa7d2cd868af8eb01953668f5da499fa33dc63541cf74a26e788786f8828c4381dbbf475a76b95972979a6 + languageName: node + linkType: hard + +"d3-timer@npm:1 - 2, d3-timer@npm:2": + version: 2.0.0 + resolution: "d3-timer@npm:2.0.0" + checksum: 70733c3baffe473155b712896f04f27dae32d6e94169827f57aebb203e190926ba37af12c5f56cbc7126e538a4b1cd083f2451b80dc2a5644d076b6b31982bd8 + languageName: node + linkType: hard + +"d3-transition@npm:2, d3-transition@npm:^2.0.0": + version: 2.0.0 + resolution: "d3-transition@npm:2.0.0" + dependencies: + d3-color: 1 - 2 + d3-dispatch: 1 - 2 + d3-ease: 1 - 2 + d3-interpolate: 1 - 2 + d3-timer: 1 - 2 + peerDependencies: + d3-selection: 2 + checksum: 8f29d195adc75e20dcffacb44e571fd64a2f60d511e6e7438019356bbc6c3ada10ae2b1393c36242ab71eb1b131f60cf71d0d76bd4cab4fce6a5ddaf1f6f6b00 + languageName: node + linkType: hard + +"d3-zoom@npm:2": + version: 2.0.0 + resolution: "d3-zoom@npm:2.0.0" + dependencies: + d3-dispatch: 1 - 2 + d3-drag: 2 + d3-interpolate: 1 - 2 + d3-selection: 2 + d3-transition: 2 + checksum: d98cc6ffa1105b0062ee312303caff9345ecd1f6df11b7da1e008c1c4731551755ac951327e8c758ffcf74e761218bc6c4f4a6b48f91551ea5d67e0dcf574a49 + languageName: node + linkType: hard + +"d3@npm:6.7.0": + version: 6.7.0 + resolution: "d3@npm:6.7.0" + dependencies: + d3-array: 2 + d3-axis: 2 + d3-brush: 2 + d3-chord: 2 + d3-color: 2 + d3-contour: 2 + d3-delaunay: 5 + d3-dispatch: 2 + d3-drag: 2 + d3-dsv: 2 + d3-ease: 2 + d3-fetch: 2 + d3-force: 2 + d3-format: 2 + d3-geo: 2 + d3-hierarchy: 2 + d3-interpolate: 2 + d3-path: 2 + d3-polygon: 2 + d3-quadtree: 2 + d3-random: 2 + d3-scale: 3 + d3-scale-chromatic: 2 + d3-selection: 2 + d3-shape: 2 + d3-time: 2 + d3-time-format: 3 + d3-timer: 2 + d3-transition: 2 + d3-zoom: 2 + checksum: 68e37250bacbfaa677d45dbbd82395e898d628d4598b827a3682e3612e0e43c67784f2cd7ecdc23e75c48ad0abe07b65e20c5aa13fb5ebf8879db6db468032e9 + languageName: node + linkType: hard + +"damerau-levenshtein@npm:^1.0.4": + version: 1.0.8 + resolution: "damerau-levenshtein@npm:1.0.8" + checksum: d240b7757544460ae0586a341a53110ab0a61126570ef2d8c731e3eab3f0cb6e488e2609e6a69b46727635de49be20b071688698744417ff1b6c1d7ccd03e0de + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: ^1.0.0 + checksum: 3634c249570f7f34e3d34f866c93f866c5b417f0dd616275decae08147dcdf8fccfaa5947380ccfb0473998ea3a8057c0b4cd90c875740ee685d0624b2983598 + languageName: node + linkType: hard + +"data-urls@npm:^3.0.1": + version: 3.0.2 + resolution: "data-urls@npm:3.0.2" + dependencies: + abab: ^2.0.6 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^11.0.0 + checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 + languageName: node + linkType: hard + +"date-fns@npm:^2.16.1": + version: 2.29.1 + resolution: "date-fns@npm:2.29.1" + checksum: 9d07f77dffc1eb8c213391bde39f2963ffe7c0019d9edde14487882d627224f3a39b963e6e99d0cc58afff220a6a1a7e8864d2789958f4eaa77714de94d4d076 + languageName: node + linkType: hard + +"dayjs@npm:^1.10.4": + version: 1.11.4 + resolution: "dayjs@npm:1.11.4" + checksum: 478c8a2db9e3fc752db9f02ef23f00e12308eebbeb85569913731ea78e8d5616f2335e14f25af48e9f16bbcbd796653092eca4d2f42c0218a948402c31735f59 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 + languageName: node + linkType: hard + +"debug@npm:4.3.3": + version: 4.3.3 + resolution: "debug@npm:4.3.3" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 14472d56fe4a94dbcfaa6dbed2dd3849f1d72ba78104a1a328047bb564643ca49df0224c3a17fa63533fd11dd3d4c8636cd861191232a2c6735af00cc2d4de16 + languageName: node + linkType: hard + +"debug@npm:^3.1.0, debug@npm:^3.2.6, debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + languageName: node + linkType: hard + +"decamelize-keys@npm:^1.1.0": + version: 1.1.0 + resolution: "decamelize-keys@npm:1.1.0" + dependencies: + decamelize: ^1.1.0 + map-obj: ^1.0.0 + checksum: 8bc5d32e035a072f5dffc1f1f3d26ca7ab1fb44a9cade34c97ab6cd1e62c81a87e718101e96de07d78cecda20a3fdb955df958e46671ccad01bb8dcf0de2e298 + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0, decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa + languageName: node + linkType: hard + +"decamelize@npm:^5.0.0": + version: 5.0.1 + resolution: "decamelize@npm:5.0.1" + checksum: 7c3b1ed4b3e60e7fbc00a35fb248298527c1cdfe603e41dfcf05e6c4a8cb9efbee60630deb677ed428908fb4e74e322966c687a094d1478ddc9c3a74e9dc7140 + languageName: node + linkType: hard + +"decimal.js@npm:^10.3.1": + version: 10.3.1 + resolution: "decimal.js@npm:10.3.1" + checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 + languageName: node + linkType: hard + +"decode-uri-component@npm:^0.2.0": + version: 0.2.0 + resolution: "decode-uri-component@npm:0.2.0" + checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94 + languageName: node + linkType: hard + +"decompress-response@npm:^3.3.0": + version: 3.3.0 + resolution: "decompress-response@npm:3.3.0" + dependencies: + mimic-response: ^1.0.0 + checksum: 952552ac3bd7de2fc18015086b09468645c9638d98a551305e485230ada278c039c91116e946d07894b39ee53c0f0d5b6473f25a224029344354513b412d7380 + languageName: node + linkType: hard + +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 + languageName: node + linkType: hard + +"deep-equal@npm:^1.0.1": + version: 1.1.1 + resolution: "deep-equal@npm:1.1.1" + dependencies: + is-arguments: ^1.0.4 + is-date-object: ^1.0.1 + is-regex: ^1.0.4 + object-is: ^1.0.1 + object-keys: ^1.1.1 + regexp.prototype.flags: ^1.2.0 + checksum: f92686f2c5bcdf714a75a5fa7a9e47cb374a8ec9307e717b8d1ce61f56a75aaebf5619c2a12b8087a705b5a2f60d0292c35f8b58cb1f72e3268a3a15cab9f78d + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.2.2 + resolution: "deepmerge@npm:4.2.2" + checksum: a8c43a1ed8d6d1ed2b5bf569fa4c8eb9f0924034baf75d5d406e47e157a451075c4db353efea7b6bcc56ec48116a8ce72fccf867b6e078e7c561904b5897530b + languageName: node + linkType: hard + +"default-gateway@npm:^6.0.3": + version: 6.0.3 + resolution: "default-gateway@npm:6.0.3" + dependencies: + execa: ^5.0.0 + checksum: 126f8273ecac8ee9ff91ea778e8784f6cd732d77c3157e8c5bdd6ed03651b5291f71446d05bc02d04073b1e67583604db5394ea3cf992ede0088c70ea15b7378 + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.3 + resolution: "defaults@npm:1.0.3" + dependencies: + clone: ^1.0.2 + checksum: 96e2112da6553d376afd5265ea7cbdb2a3b45535965d71ab8bb1da10c8126d168fdd5268799625324b368356d21ba2a7b3d4ec50961f11a47b7feb9de3d4413e + languageName: node + linkType: hard + +"defer-to-connect@npm:^1.0.1": + version: 1.1.3 + resolution: "defer-to-connect@npm:1.1.3" + checksum: 9491b301dcfa04956f989481ba7a43c2231044206269eb4ab64a52d6639ee15b1252262a789eb4239fb46ab63e44d4e408641bae8e0793d640aee55398cb3930 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": + version: 1.1.4 + resolution: "define-properties@npm:1.1.4" + dependencies: + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + languageName: node + linkType: hard + +"del@npm:6.1.1, del@npm:^6.0.0": + version: 6.1.1 + resolution: "del@npm:6.1.1" + dependencies: + globby: ^11.0.1 + graceful-fs: ^4.2.4 + is-glob: ^4.0.1 + is-path-cwd: ^2.2.0 + is-path-inside: ^3.0.2 + p-map: ^4.0.0 + rimraf: ^3.0.2 + slash: ^3.0.0 + checksum: 563288b73b8b19a7261c47fd21a330eeab6e2acd7c6208c49790dfd369127120dd7836cdf0c1eca216b77c94782a81507eac6b4734252d3bef2795cb366996b6 + languageName: node + linkType: hard + +"delaunator@npm:4": + version: 4.0.1 + resolution: "delaunator@npm:4.0.1" + checksum: a49f1c23edbcb79079a13577d32fcd46d0db30879c8484f742a0d840923085f2f3de35a9bfbb96eadd12201ffb7c3adf45b0f528d08b71cb547c5f8068b5d61b + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a + languageName: node + linkType: hard + +"depd@npm:^1.1.2, depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"dependency-graph@npm:^0.11.0": + version: 0.11.0 + resolution: "dependency-graph@npm:0.11.0" + checksum: 477204beaa9be69e642bc31ffe7a8c383d0cf48fa27acbc91c5df01431ab913e65c154213d2ef83d034c98d77280743ec85e5da018a97a18dd43d3c0b78b28cd + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 832184ec458353e41533ac9c622f16c19f7c02d8b10c303dfd3a756f56be93e903616c0bb2d4226183c9351c15fc0b3dba41a17a2308262afabcfa3776e6ae6e + languageName: node + linkType: hard + +"diff-sequences@npm:^27.5.1": + version: 27.5.1 + resolution: "diff-sequences@npm:27.5.1" + checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca + languageName: node + linkType: hard + +"diff-sequences@npm:^28.1.1": + version: 28.1.1 + resolution: "diff-sequences@npm:28.1.1" + checksum: e2529036505567c7ca5a2dea86b6bcd1ca0e3ae63bf8ebf529b8a99cfa915bbf194b7021dc1c57361a4017a6d95578d4ceb29fabc3232a4f4cb866a2726c7690 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: ^4.0.0 + checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 + languageName: node + linkType: hard + +"dns-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "dns-equal@npm:1.0.0" + checksum: a8471ac849c7c13824f053babea1bc26e2f359394dd5a460f8340d8abd13434be01e3327a5c59d212f8c8997817450efd3f3ac77bec709b21979cf0235644524 + languageName: node + linkType: hard + +"dns-packet@npm:^1.3.1": + version: 1.3.4 + resolution: "dns-packet@npm:1.3.4" + dependencies: + ip: ^1.1.0 + safe-buffer: ^5.0.1 + checksum: 7dd87f85cb4f9d1a99c03470730e3d9385e67dc94f6c13868c4034424a5378631e492f9f1fbc43d3c42f319fbbfe18b6488bb9527c32d34692c52bf1f5eedf69 + languageName: node + linkType: hard + +"dns-packet@npm:^5.2.2": + version: 5.4.0 + resolution: "dns-packet@npm:5.4.0" + dependencies: + "@leichtgewicht/ip-codec": ^2.0.1 + checksum: a169963848e8539dfd8a19058562f9e1c15c0f82cbf76fa98942f11c46f3c74e7e7c82e3a8a5182d4c9e6ff19e21be738dbd098a876dde755d3aedd2cc730880 + languageName: node + linkType: hard + +"dns-txt@npm:^2.0.2": + version: 2.0.2 + resolution: "dns-txt@npm:2.0.2" + dependencies: + buffer-indexof: ^1.0.0 + checksum: 80130b665379ecd991687ae079fbee25d091e03e4c4cef41e7643b977849ac48c2f56bfcb3727e53594d29029b833749811110d9f3fbee1b26a6e6f8096a5cef + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + languageName: node + linkType: hard + +"doiuse@npm:^4.4.1": + version: 4.4.1 + resolution: "doiuse@npm:4.4.1" + dependencies: + browserslist: ^4.16.1 + caniuse-lite: ^1.0.30001179 + css-rule-stream: ^1.1.0 + duplexer2: 0.0.2 + ldjson-stream: ^1.2.1 + multimatch: ^5.0.0 + postcss: ^8.2.4 + source-map: ^0.7.3 + through2: ^4.0.2 + yargs: ^16.2.0 + bin: + doiuse: cli.js + checksum: bd3346fedd484586de9d1dfc3e3e41784f64173c5558a364c999cd5dbbddbe43966cb2654dabdd6765beae8b95ac3b66f4fb22f25f3e9342e2b628edf2d9ae35 + languageName: node + linkType: hard + +"dom-serializer@npm:^1.0.1": + version: 1.4.1 + resolution: "dom-serializer@npm:1.4.1" + dependencies: + domelementtype: ^2.0.1 + domhandler: ^4.2.0 + entities: ^2.0.0 + checksum: fbb0b01f87a8a2d18e6e5a388ad0f7ec4a5c05c06d219377da1abc7bb0f674d804f4a8a94e3f71ff15f6cb7dcfc75704a54b261db672b9b3ab03da6b758b0b22 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 + languageName: node + linkType: hard + +"domexception@npm:^4.0.0": + version: 4.0.0 + resolution: "domexception@npm:4.0.0" + dependencies: + webidl-conversions: ^7.0.0 + checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 + languageName: node + linkType: hard + +"domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": + version: 4.3.1 + resolution: "domhandler@npm:4.3.1" + dependencies: + domelementtype: ^2.2.0 + checksum: 4c665ceed016e1911bf7d1dadc09dc888090b64dee7851cccd2fcf5442747ec39c647bb1cb8c8919f8bbdd0f0c625a6bafeeed4b2d656bbecdbae893f43ffaaa + languageName: node + linkType: hard + +"domutils@npm:^2.8.0": + version: 2.8.0 + resolution: "domutils@npm:2.8.0" + dependencies: + dom-serializer: ^1.0.1 + domelementtype: ^2.2.0 + domhandler: ^4.2.0 + checksum: abf7434315283e9aadc2a24bac0e00eab07ae4313b40cc239f89d84d7315ebdfd2fb1b5bf750a96bc1b4403d7237c7b2ebf60459be394d625ead4ca89b934391 + languageName: node + linkType: hard + +"dot-prop@npm:^5.2.0": + version: 5.3.0 + resolution: "dot-prop@npm:5.3.0" + dependencies: + is-obj: ^2.0.0 + checksum: d5775790093c234ef4bfd5fbe40884ff7e6c87573e5339432870616331189f7f5d86575c5b5af2dcf0f61172990f4f734d07844b1f23482fff09e3c4bead05ea + languageName: node + linkType: hard + +"duplexer2@npm:0.0.2": + version: 0.0.2 + resolution: "duplexer2@npm:0.0.2" + dependencies: + readable-stream: ~1.1.9 + checksum: ad525ad520bf3e0b69ead8c447446bbc277073d3b602c82d66e636bc84d97e190fd6d7caea3395bd28fcc1e7d7b3a5f6fe5e73bb181268d6118886cb38372669 + languageName: node + linkType: hard + +"duplexer3@npm:^0.1.4": + version: 0.1.5 + resolution: "duplexer3@npm:0.1.5" + checksum: e677cb4c48f031ca728601d6a20bf6aed4c629d69ef9643cb89c67583d673c4ec9317cc6427501f38bd8c368d3a18f173987cc02bd99d8cf8fe3d94259a22a20 + languageName: node + linkType: hard + +"duplexer@npm:^0.1.2": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 7d00d7cd8e49b9afa762a813faac332dee781932d6f2c848dc348939c4253f1d4564341b7af1d041853bc3f32c2ef141b58e0a4d9862c17a7f08f68df1e0f1ed + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: ~0.1.0 + safer-buffer: ^2.1.0 + checksum: 22fef4b6203e5f31d425f5b711eb389e4c6c2723402e389af394f8411b76a488fa414d309d866e2b577ce3e8462d344205545c88a8143cc21752a5172818888a + languageName: node + linkType: hard + +"editorconfig@npm:^0.15.3": + version: 0.15.3 + resolution: "editorconfig@npm:0.15.3" + dependencies: + commander: ^2.19.0 + lru-cache: ^4.1.5 + semver: ^5.6.0 + sigmund: ^1.0.1 + bin: + editorconfig: bin/editorconfig + checksum: a94afeda19f12a4bcc4a573f0858df13dd3a2d1a3268cc0f17a6326ebe7ddd6cb0c026f8e4e73c17d34f3892bf6f8b561512d9841e70063f61da71b4c57dc5f0 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + +"ejs@npm:^3.1.5": + version: 3.1.8 + resolution: "ejs@npm:3.1.8" + dependencies: + jake: ^10.8.5 + bin: + ejs: bin/cli.js + checksum: 1d40d198ad52e315ccf37e577bdec06e24eefdc4e3c27aafa47751a03a0c7f0ec4310254c9277a5f14763c3cd4bbacce27497332b2d87c74232b9b1defef8efc + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.202": + version: 1.4.217 + resolution: "electron-to-chromium@npm:1.4.217" + checksum: 1902170384200c8f4bc4aa430503c527e6b8d06a63b8c604b5ede566c151c7001d93ebd1ad3d62acf2a872cbc2c8501d63fe9f99ff3b5ec84769bbbb2b36545d + languageName: node + linkType: hard + +"emittery@npm:^0.10.2": + version: 0.10.2 + resolution: "emittery@npm:0.10.2" + checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac + languageName: node + linkType: hard + +"emoji-regex@npm:^7.0.1": + version: 7.0.3 + resolution: "emoji-regex@npm:7.0.3" + checksum: 9159b2228b1511f2870ac5920f394c7e041715429a68459ebe531601555f11ea782a8e1718f969df2711d38c66268174407cbca57ce36485544f695c2dfdc96e + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 + languageName: node + linkType: hard + +"emojis-list@npm:^3.0.0": + version: 3.0.0 + resolution: "emojis-list@npm:3.0.0" + checksum: ddaaa02542e1e9436c03970eeed445f4ed29a5337dfba0fe0c38dfdd2af5da2429c2a0821304e8a8d1cadf27fdd5b22ff793571fa803ae16852a6975c65e8e70 + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + +"encoding@npm:^0.1.12, encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: ^1.4.0 + checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.9.2": + version: 5.10.0 + resolution: "enhanced-resolve@npm:5.10.0" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: 0bb9830704db271610f900e8d79d70a740ea16f251263362b0c91af545576d09fe50103496606c1300a05e588372d6f9780a9bc2e30ce8ef9b827ec8f44687ff + languageName: node + linkType: hard + +"enquirer@npm:^2.3.5, enquirer@npm:^2.3.6": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: ^4.1.1 + checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 + languageName: node + linkType: hard + +"entities@npm:^2.0.0": + version: 2.2.0 + resolution: "entities@npm:2.2.0" + checksum: 19010dacaf0912c895ea262b4f6128574f9ccf8d4b3b65c7e8334ad0079b3706376360e28d8843ff50a78aabcb8f08f0a32dbfacdc77e47ed77ca08b713669b3 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 + languageName: node + linkType: hard + +"errno@npm:^0.1.1": + version: 0.1.8 + resolution: "errno@npm:0.1.8" + dependencies: + prr: ~1.0.1 + bin: + errno: cli.js + checksum: 1271f7b9fbb3bcbec76ffde932485d1e3561856d21d847ec613a9722ee924cdd4e523a62dc71a44174d91e898fe21fdc8d5b50823f4b5e0ce8c35c8271e6ef4a + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + languageName: node + linkType: hard + +"es-module-lexer@npm:^0.9.0": + version: 0.9.3 + resolution: "es-module-lexer@npm:0.9.3" + checksum: 84bbab23c396281db2c906c766af58b1ae2a1a2599844a504df10b9e8dc77ec800b3211fdaa133ff700f5703d791198807bba25d9667392d27a5e9feda344da8 + languageName: node + linkType: hard + +"esbuild-android-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-android-64@npm:0.15.1" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"esbuild-android-arm64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-android-arm64@npm:0.14.22" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-android-arm64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-android-arm64@npm:0.15.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-darwin-64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-darwin-64@npm:0.14.22" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"esbuild-darwin-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-darwin-64@npm:0.15.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"esbuild-darwin-arm64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-darwin-arm64@npm:0.14.22" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-darwin-arm64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-darwin-arm64@npm:0.15.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-freebsd-64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-freebsd-64@npm:0.14.22" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"esbuild-freebsd-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-freebsd-64@npm:0.15.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"esbuild-freebsd-arm64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-freebsd-arm64@npm:0.14.22" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-freebsd-arm64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-freebsd-arm64@npm:0.15.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-linux-32@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-32@npm:0.14.22" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"esbuild-linux-32@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-32@npm:0.15.1" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"esbuild-linux-64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-64@npm:0.14.22" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"esbuild-linux-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-64@npm:0.15.1" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"esbuild-linux-arm64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-arm64@npm:0.14.22" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-linux-arm64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-arm64@npm:0.15.1" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-linux-arm@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-arm@npm:0.14.22" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"esbuild-linux-arm@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-arm@npm:0.15.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"esbuild-linux-mips64le@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-mips64le@npm:0.14.22" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"esbuild-linux-mips64le@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-mips64le@npm:0.15.1" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"esbuild-linux-ppc64le@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-ppc64le@npm:0.14.22" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"esbuild-linux-ppc64le@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-ppc64le@npm:0.15.1" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"esbuild-linux-riscv64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-riscv64@npm:0.14.22" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"esbuild-linux-riscv64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-riscv64@npm:0.15.1" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"esbuild-linux-s390x@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-linux-s390x@npm:0.14.22" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"esbuild-linux-s390x@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-linux-s390x@npm:0.15.1" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"esbuild-netbsd-64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-netbsd-64@npm:0.14.22" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"esbuild-netbsd-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-netbsd-64@npm:0.15.1" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"esbuild-openbsd-64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-openbsd-64@npm:0.14.22" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"esbuild-openbsd-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-openbsd-64@npm:0.15.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"esbuild-sunos-64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-sunos-64@npm:0.14.22" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"esbuild-sunos-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-sunos-64@npm:0.15.1" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"esbuild-wasm@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-wasm@npm:0.14.22" + bin: + esbuild: bin/esbuild + checksum: 56a75d428e086440126132bb465f64ad33e40fd9ecf91dbdd4fe5b1e16ca65b30d8cec8f90eb538c99ad0c5f57dcb15df809cbe626ed6ea5106d723de985a53b + languageName: node + linkType: hard + +"esbuild-wasm@npm:>=0.13.8": + version: 0.15.1 + resolution: "esbuild-wasm@npm:0.15.1" + bin: + esbuild: bin/esbuild + checksum: ed1ac4745ec6b4c70e66b4970dbbd437030d6c35539bde53d88661bbf69b1595a8727816f48c07e80328bebd3139fa95c9e48528a42d98b49b7441d17ec19cdc + languageName: node + linkType: hard + +"esbuild-windows-32@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-windows-32@npm:0.14.22" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"esbuild-windows-32@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-windows-32@npm:0.15.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"esbuild-windows-64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-windows-64@npm:0.14.22" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"esbuild-windows-64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-windows-64@npm:0.15.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"esbuild-windows-arm64@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild-windows-arm64@npm:0.14.22" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"esbuild-windows-arm64@npm:0.15.1": + version: 0.15.1 + resolution: "esbuild-windows-arm64@npm:0.15.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"esbuild@npm:0.14.22": + version: 0.14.22 + resolution: "esbuild@npm:0.14.22" + dependencies: + esbuild-android-arm64: 0.14.22 + esbuild-darwin-64: 0.14.22 + esbuild-darwin-arm64: 0.14.22 + esbuild-freebsd-64: 0.14.22 + esbuild-freebsd-arm64: 0.14.22 + esbuild-linux-32: 0.14.22 + esbuild-linux-64: 0.14.22 + esbuild-linux-arm: 0.14.22 + esbuild-linux-arm64: 0.14.22 + esbuild-linux-mips64le: 0.14.22 + esbuild-linux-ppc64le: 0.14.22 + esbuild-linux-riscv64: 0.14.22 + esbuild-linux-s390x: 0.14.22 + esbuild-netbsd-64: 0.14.22 + esbuild-openbsd-64: 0.14.22 + esbuild-sunos-64: 0.14.22 + esbuild-windows-32: 0.14.22 + esbuild-windows-64: 0.14.22 + esbuild-windows-arm64: 0.14.22 + dependenciesMeta: + esbuild-android-arm64: + optional: true + esbuild-darwin-64: + optional: true + esbuild-darwin-arm64: + optional: true + esbuild-freebsd-64: + optional: true + esbuild-freebsd-arm64: + optional: true + esbuild-linux-32: + optional: true + esbuild-linux-64: + optional: true + esbuild-linux-arm: + optional: true + esbuild-linux-arm64: + optional: true + esbuild-linux-mips64le: + optional: true + esbuild-linux-ppc64le: + optional: true + esbuild-linux-riscv64: + optional: true + esbuild-linux-s390x: + optional: true + esbuild-netbsd-64: + optional: true + esbuild-openbsd-64: + optional: true + esbuild-sunos-64: + optional: true + esbuild-windows-32: + optional: true + esbuild-windows-64: + optional: true + esbuild-windows-arm64: + optional: true + bin: + esbuild: bin/esbuild + checksum: 8b99a61203b289ff0ad2be1dfc78420d3f838384ddef6a302203e5a9d8e4913f2c152d58dd775be9ab15ce6c77ea9588934c0af27b25806be48d56472e661676 + languageName: node + linkType: hard + +"esbuild@npm:>=0.13.8": + version: 0.15.1 + resolution: "esbuild@npm:0.15.1" + dependencies: + "@esbuild/linux-loong64": 0.15.1 + esbuild-android-64: 0.15.1 + esbuild-android-arm64: 0.15.1 + esbuild-darwin-64: 0.15.1 + esbuild-darwin-arm64: 0.15.1 + esbuild-freebsd-64: 0.15.1 + esbuild-freebsd-arm64: 0.15.1 + esbuild-linux-32: 0.15.1 + esbuild-linux-64: 0.15.1 + esbuild-linux-arm: 0.15.1 + esbuild-linux-arm64: 0.15.1 + esbuild-linux-mips64le: 0.15.1 + esbuild-linux-ppc64le: 0.15.1 + esbuild-linux-riscv64: 0.15.1 + esbuild-linux-s390x: 0.15.1 + esbuild-netbsd-64: 0.15.1 + esbuild-openbsd-64: 0.15.1 + esbuild-sunos-64: 0.15.1 + esbuild-windows-32: 0.15.1 + esbuild-windows-64: 0.15.1 + esbuild-windows-arm64: 0.15.1 + dependenciesMeta: + "@esbuild/linux-loong64": + optional: true + esbuild-android-64: + optional: true + esbuild-android-arm64: + optional: true + esbuild-darwin-64: + optional: true + esbuild-darwin-arm64: + optional: true + esbuild-freebsd-64: + optional: true + esbuild-freebsd-arm64: + optional: true + esbuild-linux-32: + optional: true + esbuild-linux-64: + optional: true + esbuild-linux-arm: + optional: true + esbuild-linux-arm64: + optional: true + esbuild-linux-mips64le: + optional: true + esbuild-linux-ppc64le: + optional: true + esbuild-linux-riscv64: + optional: true + esbuild-linux-s390x: + optional: true + esbuild-netbsd-64: + optional: true + esbuild-openbsd-64: + optional: true + esbuild-sunos-64: + optional: true + esbuild-windows-32: + optional: true + esbuild-windows-64: + optional: true + esbuild-windows-arm64: + optional: true + bin: + esbuild: bin/esbuild + checksum: c6723f60bf5dc7d14bb81996db294d059bb16f3cb21cd2e46f7ee7fd34e29068c11b8b3e758224e278f45dc527ccb01b3e39aea540dc4c5de817ab6ae7f40987 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 + languageName: node + linkType: hard + +"escape-goat@npm:^2.0.0": + version: 2.1.1 + resolution: "escape-goat@npm:2.1.1" + checksum: ce05c70c20dd7007b60d2d644b625da5412325fdb57acf671ba06cb2ab3cd6789e2087026921a05b665b0a03fadee2955e7fc0b9a67da15a6551a980b260eba7 + languageName: node + linkType: hard + +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + +"escodegen@npm:^2.0.0": + version: 2.0.0 + resolution: "escodegen@npm:2.0.0" + dependencies: + esprima: ^4.0.1 + estraverse: ^5.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^7.0.0": + version: 7.2.0 + resolution: "eslint-config-prettier@npm:7.2.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: e3f7bba98e743bf62e937518104d3eb1dbbd17e8aef2b64ac4683c0e6d0643aca678b9f7321d1da79e7a4fd8c65b8836a20a8b0721647cb81787fd2caa046361 + languageName: node + linkType: hard + +"eslint-etc@npm:^5.1.0": + version: 5.2.0 + resolution: "eslint-etc@npm:5.2.0" + dependencies: + "@typescript-eslint/experimental-utils": ^5.0.0 + tsutils: ^3.17.1 + tsutils-etc: ^1.4.1 + peerDependencies: + eslint: ^8.0.0 + typescript: ^4.0.0 + checksum: ad89126fb643bf3772d34a8c47909f4ec05777d7c3a5d33c948cb36e4ca27eebded3a37dee8b4e4a87075b80163ae5f9a694827a2435a57a59fcaf02acfdb056 + languageName: node + linkType: hard + +"eslint-plugin-es@npm:^3.0.0": + version: 3.0.1 + resolution: "eslint-plugin-es@npm:3.0.1" + dependencies: + eslint-utils: ^2.0.0 + regexpp: ^3.0.0 + peerDependencies: + eslint: ">=4.19.1" + checksum: e57592c52301ee8ddc296ae44216df007f3a870bcb3be8d1fbdb909a1d3a3efe3fa3785de02066f9eba1d6466b722d3eb3cc3f8b75b3cf6a1cbded31ac6298e4 + languageName: node + linkType: hard + +"eslint-plugin-node@npm:11.1.0, eslint-plugin-node@npm:^11.1.0": + version: 11.1.0 + resolution: "eslint-plugin-node@npm:11.1.0" + dependencies: + eslint-plugin-es: ^3.0.0 + eslint-utils: ^2.0.0 + ignore: ^5.1.1 + minimatch: ^3.0.4 + resolve: ^1.10.1 + semver: ^6.1.0 + peerDependencies: + eslint: ">=5.16.0" + checksum: 5804c4f8a6e721f183ef31d46fbe3b4e1265832f352810060e0502aeac7de034df83352fc88643b19641bb2163f2587f1bd4119aff0fd21e8d98c57c450e013b + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:4.0.0": + version: 4.0.0 + resolution: "eslint-plugin-prettier@npm:4.0.0" + dependencies: + prettier-linter-helpers: ^1.0.0 + peerDependencies: + eslint: ">=7.28.0" + prettier: ">=2.0.0" + peerDependenciesMeta: + eslint-config-prettier: + optional: true + checksum: 03d69177a3c21fa2229c7e427ce604429f0b20ab7f411e2e824912f572a207c7f5a41fd1f0a95b9b8afe121e291c1b1f1dc1d44c7aad4b0837487f9c19f5210d + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^3.1.4": + version: 3.4.1 + resolution: "eslint-plugin-prettier@npm:3.4.1" + dependencies: + prettier-linter-helpers: ^1.0.0 + peerDependencies: + eslint: ">=5.0.0" + prettier: ">=1.13.0" + peerDependenciesMeta: + eslint-config-prettier: + optional: true + checksum: fa6a89f0d7cba1cc87064352f5a4a68dc3739448dd279bec2bced1bfa3b704467e603d13b69dcec853f8fa30b286b8b715912898e9da776e1b016cf0ee48bd99 + languageName: node + linkType: hard + +"eslint-plugin-rxjs@npm:5.0.2": + version: 5.0.2 + resolution: "eslint-plugin-rxjs@npm:5.0.2" + dependencies: + "@typescript-eslint/experimental-utils": ^5.0.0 + common-tags: ^1.8.0 + decamelize: ^5.0.0 + eslint-etc: ^5.1.0 + requireindex: ~1.2.0 + rxjs-report-usage: ^1.0.4 + tslib: ^2.0.0 + tsutils: ^3.0.0 + tsutils-etc: ^1.4.1 + peerDependencies: + eslint: ^8.0.0 + typescript: ^4.0.0 + checksum: c1f2a3b26f3a154351fb24e209d9850c1b7454249695fdafe911932da2ff307728c6ba8116bbe8a1a036e804ea0daddae1167dd7c2ea13d491f3745447d1e506 + languageName: node + linkType: hard + +"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^4.1.1 + checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb + languageName: node + linkType: hard + +"eslint-scope@npm:^7.1.1": + version: 7.1.1 + resolution: "eslint-scope@npm:7.1.1" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^5.2.0 + checksum: 9f6e974ab2db641ca8ab13508c405b7b859e72afe9f254e8131ff154d2f40c99ad4545ce326fd9fde3212ff29707102562a4834f1c48617b35d98c71a97fbf3e + languageName: node + linkType: hard + +"eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-utils@npm:2.1.0" + dependencies: + eslint-visitor-keys: ^1.1.0 + checksum: 27500938f348da42100d9e6ad03ae29b3de19ba757ae1a7f4a087bdcf83ac60949bbb54286492ca61fac1f5f3ac8692dd21537ce6214240bf95ad0122f24d71d + languageName: node + linkType: hard + +"eslint-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-utils@npm:3.0.0" + dependencies: + eslint-visitor-keys: ^2.0.0 + peerDependencies: + eslint: ">=5" + checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": + version: 1.3.0 + resolution: "eslint-visitor-keys@npm:1.3.0" + checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^2.0.0": + version: 2.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0": + version: 3.3.0 + resolution: "eslint-visitor-keys@npm:3.3.0" + checksum: d59e68a7c5a6d0146526b0eec16ce87fbf97fe46b8281e0d41384224375c4e52f5ffb9e16d48f4ea50785cde93f766b0c898e31ab89978d88b0e1720fbfb7808 + languageName: node + linkType: hard + +"eslint@npm:8.16.0": + version: 8.16.0 + resolution: "eslint@npm:8.16.0" + dependencies: + "@eslint/eslintrc": ^1.3.0 + "@humanwhocodes/config-array": ^0.9.2 + ajv: ^6.10.0 + chalk: ^4.0.0 + cross-spawn: ^7.0.2 + debug: ^4.3.2 + doctrine: ^3.0.0 + escape-string-regexp: ^4.0.0 + eslint-scope: ^7.1.1 + eslint-utils: ^3.0.0 + eslint-visitor-keys: ^3.3.0 + espree: ^9.3.2 + esquery: ^1.4.0 + esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 + file-entry-cache: ^6.0.1 + functional-red-black-tree: ^1.0.1 + glob-parent: ^6.0.1 + globals: ^13.15.0 + ignore: ^5.2.0 + import-fresh: ^3.0.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + js-yaml: ^4.1.0 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 + lodash.merge: ^4.6.2 + minimatch: ^3.1.2 + natural-compare: ^1.4.0 + optionator: ^0.9.1 + regexpp: ^3.2.0 + strip-ansi: ^6.0.1 + strip-json-comments: ^3.1.0 + text-table: ^0.2.0 + v8-compile-cache: ^2.0.3 + bin: + eslint: bin/eslint.js + checksum: 654a0200b49dc07280673fee13cdfb04326466790e031dfa9660b69fba3b1cf766a51504328f9de56bd18e6b5eb7578985cf29dc7f016c5ec851220ff9db95eb + languageName: node + linkType: hard + +"eslint@npm:^7.10.0": + version: 7.32.0 + resolution: "eslint@npm:7.32.0" + dependencies: + "@babel/code-frame": 7.12.11 + "@eslint/eslintrc": ^0.4.3 + "@humanwhocodes/config-array": ^0.5.0 + ajv: ^6.10.0 + chalk: ^4.0.0 + cross-spawn: ^7.0.2 + debug: ^4.0.1 + doctrine: ^3.0.0 + enquirer: ^2.3.5 + escape-string-regexp: ^4.0.0 + eslint-scope: ^5.1.1 + eslint-utils: ^2.1.0 + eslint-visitor-keys: ^2.0.0 + espree: ^7.3.1 + esquery: ^1.4.0 + esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 + file-entry-cache: ^6.0.1 + functional-red-black-tree: ^1.0.1 + glob-parent: ^5.1.2 + globals: ^13.6.0 + ignore: ^4.0.6 + import-fresh: ^3.0.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + js-yaml: ^3.13.1 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 + lodash.merge: ^4.6.2 + minimatch: ^3.0.4 + natural-compare: ^1.4.0 + optionator: ^0.9.1 + progress: ^2.0.0 + regexpp: ^3.1.0 + semver: ^7.2.1 + strip-ansi: ^6.0.0 + strip-json-comments: ^3.1.0 + table: ^6.0.9 + text-table: ^0.2.0 + v8-compile-cache: ^2.0.3 + bin: + eslint: bin/eslint.js + checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 + languageName: node + linkType: hard + +"espree@npm:^7.3.0, espree@npm:^7.3.1": + version: 7.3.1 + resolution: "espree@npm:7.3.1" + dependencies: + acorn: ^7.4.0 + acorn-jsx: ^5.3.1 + eslint-visitor-keys: ^1.3.0 + checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + languageName: node + linkType: hard + +"espree@npm:^9.3.2": + version: 9.3.3 + resolution: "espree@npm:9.3.3" + dependencies: + acorn: ^8.8.0 + acorn-jsx: ^5.3.2 + eslint-visitor-keys: ^3.3.0 + checksum: 33e8a36fc15d082e68672e322e22a53856b564d60aad8f291a667bfc21b2c900c42412d37dd3c7a0f18b9d0d8f8858dabe8776dbd4b4c2f72c5cf4d6afeabf65 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0": + version: 1.4.0 + resolution: "esquery@npm:1.4.0" + dependencies: + estraverse: ^5.1.0 + checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: ^5.2.0 + checksum: ebc17b1a33c51cef46fdc28b958994b1dc43cd2e86237515cbc3b4e5d2be6a811b2315d0a1a4d9d340b6d2308b15322f5c8291059521cc5f4802f65e7ec32837 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff + languageName: node + linkType: hard + +"eventemitter-asyncresource@npm:^1.0.0": + version: 1.0.0 + resolution: "eventemitter-asyncresource@npm:1.0.0" + checksum: 3cfbbc3490bd429a165bff6336289ff810f7df214796f25000d2097a5a0883eae51542a78674916ff99bbd4c66811911b310df1cb4fc96dfc9546ba9dfc89f8f + languageName: node + linkType: hard + +"eventemitter2@npm:^6.4.3": + version: 6.4.7 + resolution: "eventemitter2@npm:6.4.7" + checksum: 1b36a77e139d6965ebf3a36c01fa00c089ae6b80faa1911e52888f40b3a7057b36a2cc45dcd1ad87cda3798fe7b97a0aabcbb8175a8b96092a23bb7d0f039e66 + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.0": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 + languageName: node + linkType: hard + +"events@npm:^3.2.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + languageName: node + linkType: hard + +"eventsource@npm:^2.0.2": + version: 2.0.2 + resolution: "eventsource@npm:2.0.2" + checksum: c0072d972753e10c705d9b2285b559184bf29d011bc208973dde9c8b6b8b7b6fdad4ef0846cecb249f7b1585e860fdf324cbd2ac854a76bc53649e797496e99a + languageName: node + linkType: hard + +"execa@npm:4.1.0": + version: 4.1.0 + resolution: "execa@npm:4.1.0" + dependencies: + cross-spawn: ^7.0.0 + get-stream: ^5.0.0 + human-signals: ^1.1.1 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.0 + onetime: ^5.1.0 + signal-exit: ^3.0.2 + strip-final-newline: ^2.0.0 + checksum: e30d298934d9c52f90f3847704fd8224e849a081ab2b517bbc02f5f7732c24e56a21f14cb96a08256deffeb2d12b2b7cb7e2b014a12fb36f8d3357e06417ed55 + languageName: node + linkType: hard + +"execa@npm:^5.0.0, execa@npm:^5.1.1": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.0 + human-signals: ^2.1.0 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.1 + onetime: ^5.1.2 + signal-exit: ^3.0.3 + strip-final-newline: ^2.0.0 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + +"execall@npm:^2.0.0": + version: 2.0.0 + resolution: "execall@npm:2.0.0" + dependencies: + clone-regexp: ^2.1.0 + checksum: d98ee3e33f6c9001e80970e927fb9f16c6a121d5e250b2f4d6764d4157974f58cbe88613bbf073db05d5342677012002c5de956f4f0c32d10d092b6ff03a085c + languageName: node + linkType: hard + +"executable@npm:^4.1.1": + version: 4.1.1 + resolution: "executable@npm:4.1.1" + dependencies: + pify: ^2.2.0 + checksum: f01927ce59bccec804e171bf859a26e362c1f50aa9ebc69f7cafdcce3859d29d4b6267fd47237c18b0a1830614bd3f0ee14b7380d9bad18a4e7af9b5f0b6984f + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: abc407f07a875c3961e4781dfcb743b58d6c93de9ab263f4f8c9d23bb6da5f9b7764fc773f86b43dd88030444d5ab8abcb611cb680fba8ca075362b77114bba3 + languageName: node + linkType: hard + +"expect@npm:^28.1.3": + version: 28.1.3 + resolution: "expect@npm:28.1.3" + dependencies: + "@jest/expect-utils": ^28.1.3 + jest-get-type: ^28.0.2 + jest-matcher-utils: ^28.1.3 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + checksum: 101e0090de300bcafedb7dbfd19223368a2251ce5fe0105bbb6de5720100b89fb6b64290ebfb42febc048324c76d6a4979cdc4b61eb77747857daf7a5de9b03d + languageName: node + linkType: hard + +"express@npm:^4.17.1, express@npm:^4.17.3": + version: 4.18.1 + resolution: "express@npm:4.18.1" + dependencies: + accepts: ~1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.0 + content-disposition: 0.5.4 + content-type: ~1.0.4 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: ~1.1.2 + on-finished: 2.4.1 + parseurl: ~1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: ~2.0.7 + qs: 6.10.3 + range-parser: ~1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: ~1.6.18 + utils-merge: 1.0.1 + vary: ~1.1.2 + checksum: c3d44c92e48226ef32ec978becfedb0ecf0ca21316bfd33674b3c5d20459840584f2325726a4f17f33d9c99f769636f728982d1c5433a5b6fe6eb95b8cf0c854 + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: a50a8309ca65ea5d426382ff09f33586527882cf532931cb08ca786ea3146c0553310bda688710ff61d7668eba9f96b923fe1420cdf56a2c3eaf30fcab87b515 + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: ^0.7.0 + iconv-lite: ^0.4.24 + tmp: ^0.0.33 + checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 + languageName: node + linkType: hard + +"extract-zip@npm:2.0.1": + version: 2.0.1 + resolution: "extract-zip@npm:2.0.1" + dependencies: + "@types/yauzl": ^2.9.1 + debug: ^4.1.1 + get-stream: ^5.1.0 + yauzl: ^2.10.0 + dependenciesMeta: + "@types/yauzl": + optional: true + bin: + extract-zip: cli.js + checksum: 8cbda9debdd6d6980819cc69734d874ddd71051c9fe5bde1ef307ebcedfe949ba57b004894b585f758b7c9eeeea0e3d87f2dda89b7d25320459c2c9643ebb635 + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2 + languageName: node + linkType: hard + +"extsprintf@npm:^1.2.0": + version: 1.4.1 + resolution: "extsprintf@npm:1.4.1" + checksum: a2f29b241914a8d2bad64363de684821b6b1609d06ae68d5b539e4de6b28659715b5bea94a7265201603713b7027d35399d10b0548f09071c5513e65e8323d33 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.2.0 + resolution: "fast-diff@npm:1.2.0" + checksum: 1b5306eaa9e826564d9e5ffcd6ebd881eb5f770b3f977fcbf38f05c824e42172b53c79920e8429c54eb742ce15a0caf268b0fdd5b38f6de52234c4a8368131ae + languageName: node + linkType: hard + +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": + version: 3.2.11 + resolution: "fast-glob@npm:3.2.11" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.1.0, fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c + languageName: node + linkType: hard + +"fastest-levenshtein@npm:^1.0.12": + version: 1.0.16 + resolution: "fastest-levenshtein@npm:1.0.16" + checksum: a78d44285c9e2ae2c25f3ef0f8a73f332c1247b7ea7fb4a191e6bb51aa6ee1ef0dfb3ed113616dcdc7023e18e35a8db41f61c8d88988e877cf510df8edafbc71 + languageName: node + linkType: hard + +"fastparse@npm:^1.1.2": + version: 1.1.2 + resolution: "fastparse@npm:1.1.2" + checksum: c4d199809dc4e8acafeb786be49481cc9144de296e2d54df4540ccfd868d0df73afc649aba70a748925eb32bbc4208b723d6288adf92382275031a8c7e10c0aa + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.13.0 + resolution: "fastq@npm:1.13.0" + dependencies: + reusify: ^1.0.4 + checksum: 32cf15c29afe622af187d12fc9cd93e160a0cb7c31a3bb6ace86b7dea3b28e7b72acde89c882663f307b2184e14782c6c664fa315973c03626c7d4bff070bb0b + languageName: node + linkType: hard + +"faye-websocket@npm:^0.11.3, faye-websocket@npm:^0.11.4": + version: 0.11.4 + resolution: "faye-websocket@npm:0.11.4" + dependencies: + websocket-driver: ">=0.5.1" + checksum: d49a62caf027f871149fc2b3f3c7104dc6d62744277eb6f9f36e2d5714e847d846b9f7f0d0b7169b25a012e24a594cde11a93034b30732e4c683f20b8a5019fa + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.1 + resolution: "fb-watchman@npm:2.0.1" + dependencies: + bser: 2.1.1 + checksum: 8510230778ab3a51c27dffb1b76ef2c24fab672a42742d3c0a45c2e9d1e5f20210b1fbca33486088da4a9a3958bde96b5aec0a63aac9894b4e9df65c88b2cbd6 + languageName: node + linkType: hard + +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" + dependencies: + pend: ~1.2.0 + checksum: c8585fd5713f4476eb8261150900d2cb7f6ff2d87f8feb306ccc8a1122efd152f1783bdb2b8dc891395744583436bfd8081d8e63ece0ec8687eeefea394d4ff2 + languageName: node + linkType: hard + +"figures@npm:^3.0.0, figures@npm:^3.2.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: ^1.0.5 + checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: ^3.0.4 + checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 + languageName: node + linkType: hard + +"file-saver@npm:2.0.5": + version: 2.0.5 + resolution: "file-saver@npm:2.0.5" + checksum: c62d96e5cebc58b4bdf3ae8a60d5cf9607ad82f75f798c33a4ee63435ac2203002584d5256a2a780eda7feb5e19dc3b6351c2212e58b3f529e63d265a7cc79f7 + languageName: node + linkType: hard + +"filelist@npm:^1.0.1": + version: 1.0.4 + resolution: "filelist@npm:1.0.4" + dependencies: + minimatch: ^5.0.1 + checksum: a303573b0821e17f2d5e9783688ab6fbfce5d52aaac842790ae85e704a6f5e4e3538660a63183d6453834dedf1e0f19a9dadcebfa3e926c72397694ea11f5160 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + languageName: node + linkType: hard + +"finalhandler@npm:1.2.0": + version: 1.2.0 + resolution: "finalhandler@npm:1.2.0" + dependencies: + debug: 2.6.9 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + on-finished: 2.4.1 + parseurl: ~1.3.3 + statuses: 2.0.1 + unpipe: ~1.0.0 + checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 + languageName: node + linkType: hard + +"find-cache-dir@npm:^2.0.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: ^1.0.1 + make-dir: ^2.0.0 + pkg-dir: ^3.0.0 + checksum: 60ad475a6da9f257df4e81900f78986ab367d4f65d33cf802c5b91e969c28a8762f098693d7a571b6e4dd4c15166c2da32ae2d18b6766a18e2071079448fdce4 + languageName: node + linkType: hard + +"find-cache-dir@npm:^3.3.1": + version: 3.3.2 + resolution: "find-cache-dir@npm:3.3.2" + dependencies: + commondir: ^1.0.1 + make-dir: ^3.0.2 + pkg-dir: ^4.1.0 + checksum: 1e61c2e64f5c0b1c535bd85939ae73b0e5773142713273818cc0b393ee3555fb0fd44e1a5b161b8b6c3e03e98c2fcc9c227d784850a13a90a8ab576869576817 + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: ^3.0.0 + checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.0.4 + resolution: "flat-cache@npm:3.0.4" + dependencies: + flatted: ^3.1.0 + rimraf: ^3.0.2 + checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365 + languageName: node + linkType: hard + +"flatted@npm:^3.1.0": + version: 3.2.6 + resolution: "flatted@npm:3.2.6" + checksum: 33b87aa88dfa40ca6ee31d7df61712bbbad3d3c05c132c23e59b9b61d34631b337a18ff2b8dc5553acdc871ec72b741e485f78969cf006124a3f57174de29a0e + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.7": + version: 1.15.1 + resolution: "follow-redirects@npm:1.15.1" + peerDependenciesMeta: + debug: + optional: true + checksum: 6aa4e3e3cdfa3b9314801a1cd192ba756a53479d9d8cca65bf4db3a3e8834e62139245cd2f9566147c8dfe2efff1700d3e6aefd103de4004a7b99985e71dd533 + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 766ae6e220f5fe23676bb4c6a99387cec5b7b62ceb99e10923376e27bfea72f3c3aeec2ba5f45f3f7ba65d6616965aa7c20b15002b6860833bb6e394dea546a8 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.6 + mime-types: ^2.1.12 + checksum: 10c1780fa13dbe1ff3100114c2ce1f9307f8be10b14bf16e103815356ff567b6be39d70fc4a40f8990b9660012dc24b0f5e1dde1b6426166eb23a445ba068ca3 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 + languageName: node + linkType: hard + +"fraction.js@npm:^4.2.0": + version: 4.2.0 + resolution: "fraction.js@npm:4.2.0" + checksum: 8c76a6e21dedea87109d6171a0ac77afa14205794a565d71cb10d2925f629a3922da61bf45ea52dbc30bce4d8636dc0a27213a88cbd600eab047d82f9a3a94c5 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 + languageName: node + linkType: hard + +"fs-extra@npm:^9.1.0": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: ^1.0.0 + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: ba71ba32e0faa74ab931b7a0031d1523c66a73e225de7426e275e238e312d07313d2da2d33e34a52aa406c8763ade5712eb3ec9ba4d9edce652bcacdc29e6b20 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 + languageName: node + linkType: hard + +"fs-monkey@npm:^1.0.3": + version: 1.0.3 + resolution: "fs-monkey@npm:1.0.3" + checksum: cf50804833f9b88a476911ae911fe50f61a98d986df52f890bd97e7262796d023698cb2309fa9b74fdd8974f04315b648748a0a8ee059e7d5257b293bfc409c0 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 + languageName: node + linkType: hard + +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a + languageName: node + linkType: hard + +"functional-red-black-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "functional-red-black-tree@npm:1.0.1" + checksum: ca6c170f37640e2d94297da8bb4bf27a1d12bea3e00e6a3e007fd7aa32e37e000f5772acf941b4e4f3cf1c95c3752033d0c509af157ad8f526e7f00723b9eb9f + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.2": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1": + version: 1.1.2 + resolution: "get-intrinsic@npm:1.1.2" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.3 + checksum: 252f45491f2ba88ebf5b38018020c7cc3279de54b1d67ffb70c0cdf1dfa8ab31cd56467b5d117a8b4275b7a4dde91f86766b163a17a850f036528a7b2faafb2b + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 + languageName: node + linkType: hard + +"get-stdin@npm:^8.0.0": + version: 8.0.0 + resolution: "get-stdin@npm:8.0.0" + checksum: 40128b6cd25781ddbd233344f1a1e4006d4284906191ed0a7d55ec2c1a3e44d650f280b2c9eeab79c03ac3037da80257476c0e4e5af38ddfb902d6ff06282d77 + languageName: node + linkType: hard + +"get-stream@npm:^4.1.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: ^3.0.0 + checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 + languageName: node + linkType: hard + +"get-stream@npm:^5.0.0, get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: ^3.0.0 + checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad + languageName: node + linkType: hard + +"getos@npm:^3.2.1": + version: 3.2.1 + resolution: "getos@npm:3.2.1" + dependencies: + async: ^3.2.0 + checksum: 42fd78a66d47cebd3e09de5566cc0044e034b08f4a000a310dbd89a77b02c65d8f4002554bfa495ea5bdc4fa9d515f5ac785a7cc474ba45383cc697f865eeaf1 + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: ^1.0.0 + checksum: ab18d55661db264e3eac6012c2d3daeafaab7a501c035ae0ccb193c3c23e9849c6e29b6ac762b9c2adae460266f925d55a3a2a3a3c8b94be2f222df94d70c046 + languageName: node + linkType: hard + +"git-describe@npm:4.1.1": + version: 4.1.1 + resolution: "git-describe@npm:4.1.1" + dependencies: + "@types/semver": ^7.3.8 + lodash: ^4.17.21 + semver: ^5.6.0 + dependenciesMeta: + semver: + optional: true + checksum: 6da8fc43c0de89f328e29194473e5ef19e557dd44405e8ec7685a3464dd06263cb752dc5c60542a4c8531230f46f9d714f675dceb17e1077d9a33b91329f06bb + languageName: node + linkType: hard + +"gitignore-to-glob@npm:^0.3.0": + version: 0.3.0 + resolution: "gitignore-to-glob@npm:0.3.0" + checksum: 4b6f2dbac7232c00579cbee9a7cb24a8495c8c488b4f39c4dc398aab7758cd9010503582be4d99cf25f847d7ca33dab40c01dd5e72ea3721b55a5c3e561afce8 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: ^4.0.1 + checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.1": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: ^4.0.3 + checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 + languageName: node + linkType: hard + +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: e795f4e8f06d2a15e86f76e4d92751cf8bbfcf0157cea5c2f0f35678a8195a750b34096b1256e436f0cebc1883b5ff0888c47348443e69546a5a87f9e1eb1167 + languageName: node + linkType: hard + +"glob@npm:7.2.0": + version: 7.2.0 + resolution: "glob@npm:7.2.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:~7.2.0": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.1.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + languageName: node + linkType: hard + +"glob@npm:^8.0.1": + version: 8.0.3 + resolution: "glob@npm:8.0.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 + languageName: node + linkType: hard + +"global-dirs@npm:^3.0.0": + version: 3.0.0 + resolution: "global-dirs@npm:3.0.0" + dependencies: + ini: 2.0.0 + checksum: 953c17cf14bf6ee0e2100ae82a0d779934eed8a3ec5c94a7a4f37c5b3b592c31ea015fb9a15cf32484de13c79f4a814f3015152f3e1d65976cfbe47c1bfe4a88 + languageName: node + linkType: hard + +"global-modules@npm:^2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: ^3.0.0 + checksum: d6197f25856c878c2fb5f038899f2dca7cbb2f7b7cf8999660c0104972d5cfa5c68b5a0a77fa8206bb536c3903a4615665acb9709b4d80846e1bb47eaef65430 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: ^1.3.5 + kind-of: ^6.0.2 + which: ^1.3.1 + checksum: 8a82fc1d6f22c45484a4e34656cc91bf021a03e03213b0035098d605bfc612d7141f1e14a21097e8a0413b4884afd5b260df0b6a25605ce9d722e11f1df2881d + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e + languageName: node + linkType: hard + +"globals@npm:^13.15.0, globals@npm:^13.6.0, globals@npm:^13.9.0": + version: 13.17.0 + resolution: "globals@npm:13.17.0" + dependencies: + type-fest: ^0.20.2 + checksum: fbaf4112e59b92c9f5575e85ce65e9e17c0b82711196ec5f58beb08599bbd92fd72703d6dfc9b080381fd35b644e1b11dcf25b38cc2341ec21df942594cbc8ce + languageName: node + linkType: hard + +"globby@npm:^10.0.1": + version: 10.0.2 + resolution: "globby@npm:10.0.2" + dependencies: + "@types/glob": ^7.1.1 + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.0.3 + glob: ^7.1.3 + ignore: ^5.1.1 + merge2: ^1.2.3 + slash: ^3.0.0 + checksum: 167cd067f2cdc030db2ec43232a1e835fa06217577d545709dbf29fd21631b30ff8258705172069c855dc4d5766c3b2690834e35b936fbff01ad0329fb95a26f + languageName: node + linkType: hard + +"globby@npm:^11.0.1, globby@npm:^11.0.3, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.2.9 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^3.0.0 + checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 + languageName: node + linkType: hard + +"globby@npm:^12.0.2": + version: 12.2.0 + resolution: "globby@npm:12.2.0" + dependencies: + array-union: ^3.0.1 + dir-glob: ^3.0.1 + fast-glob: ^3.2.7 + ignore: ^5.1.9 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: 2539379a7fff3473d3e7c68b4540ba38f36970f43f760e36e301515d5cb98a0c5736554957d90390906bee632327beb2f9518d1acd6911f61e436db11b0da5b5 + languageName: node + linkType: hard + +"globjoin@npm:^0.1.4": + version: 0.1.4 + resolution: "globjoin@npm:0.1.4" + checksum: 0a47d88d566122d9e42da946453ee38b398e0021515ac6a95d13f980ba8c1e42954e05ee26cfcbffce1ac1ee094d0524b16ce1dd874ca52408d6db5c6d39985b + languageName: node + linkType: hard + +"got@npm:^9.6.0": + version: 9.6.0 + resolution: "got@npm:9.6.0" + dependencies: + "@sindresorhus/is": ^0.14.0 + "@szmarczak/http-timer": ^1.1.2 + cacheable-request: ^6.0.0 + decompress-response: ^3.3.0 + duplexer3: ^0.1.4 + get-stream: ^4.1.0 + lowercase-keys: ^1.0.1 + mimic-response: ^1.0.1 + p-cancelable: ^1.0.0 + to-readable-stream: ^1.0.0 + url-parse-lax: ^3.0.0 + checksum: 941807bd9704bacf5eb401f0cc1212ffa1f67c6642f2d028fd75900471c221b1da2b8527f4553d2558f3faeda62ea1cf31665f8b002c6137f5de8732f07370b0 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da + languageName: node + linkType: hard + +"gts@npm:3.1.0": + version: 3.1.0 + resolution: "gts@npm:3.1.0" + dependencies: + "@typescript-eslint/eslint-plugin": ^4.2.0 + "@typescript-eslint/parser": ^4.2.0 + chalk: ^4.1.0 + eslint: ^7.10.0 + eslint-config-prettier: ^7.0.0 + eslint-plugin-node: ^11.1.0 + eslint-plugin-prettier: ^3.1.4 + execa: ^5.0.0 + inquirer: ^7.3.3 + json5: ^2.1.3 + meow: ^9.0.0 + ncp: ^2.0.0 + prettier: ^2.1.2 + rimraf: ^3.0.2 + update-notifier: ^5.0.0 + write-file-atomic: ^3.0.3 + peerDependencies: + typescript: ">=3" + bin: + gts: build/src/cli.js + checksum: 643156933053af58d6df1390615c97596b1e58392047588a7848db74e2a7997adc6e8b62a950b873ae12958108190d587c82086c64f992cb74fb6e79dd0bbbe4 + languageName: node + linkType: hard + +"gzip-size@npm:^6.0.0": + version: 6.0.0 + resolution: "gzip-size@npm:6.0.0" + dependencies: + duplexer: ^0.1.2 + checksum: 2df97f359696ad154fc171dcb55bc883fe6e833bca7a65e457b9358f3cb6312405ed70a8da24a77c1baac0639906cd52358dc0ce2ec1a937eaa631b934c94194 + languageName: node + linkType: hard + +"handle-thing@npm:^2.0.0": + version: 2.0.1 + resolution: "handle-thing@npm:2.0.1" + checksum: 68071f313062315cd9dce55710e9496873945f1dd425107007058fc1629f93002a7649fcc3e464281ce02c7e809a35f5925504ab8105d972cf649f1f47cb7d6c + languageName: node + linkType: hard + +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 7baaf80a0c7fff4ca79687b4060113f1529589852152fa935e6787a2bc96211e784ad4588fb3048136ff8ffc9dfcf3ae385314a5b24db32de20bea0d1597f9dc + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0": + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" + dependencies: + get-intrinsic: ^1.1.1 + checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + +"has-yarn@npm:^2.1.0": + version: 2.1.0 + resolution: "has-yarn@npm:2.1.0" + checksum: 5eb1d0bb8518103d7da24532bdbc7124ffc6d367b5d3c10840b508116f2f1bcbcf10fd3ba843ff6e2e991bdf9969fd862d42b2ed58aade88343326c950b7e7f7 + languageName: node + linkType: hard + +"has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + languageName: node + linkType: hard + +"hdr-histogram-js@npm:^2.0.1": + version: 2.0.3 + resolution: "hdr-histogram-js@npm:2.0.3" + dependencies: + "@assemblyscript/loader": ^0.10.1 + base64-js: ^1.2.0 + pako: ^1.0.3 + checksum: 7bb252ba3596bed72b90427ffc6f6fa332a460c4810788faa9b9a743f7ac6f1cb42dccd7ae7555740f0a8c0602884944d00d1ccfb746af4976a816772361a6d6 + languageName: node + linkType: hard + +"hdr-histogram-percentiles-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "hdr-histogram-percentiles-obj@npm:3.0.0" + checksum: ab238edcb38d9b60d23ca53da0ecd9a6b1c8ee9a49e30a6146bd3f8f70f26244652f28b79974157c00504e7ddf3129e0ddb217baf71d32330e3fae0105bf30ed + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd + languageName: node + linkType: hard + +"hosted-git-info@npm:^4.0.1": + version: 4.1.0 + resolution: "hosted-git-info@npm:4.1.0" + dependencies: + lru-cache: ^6.0.0 + checksum: c3f87b3c2f7eb8c2748c8f49c0c2517c9a95f35d26f4bf54b2a8cba05d2e668f3753548b6ea366b18ec8dadb4e12066e19fa382a01496b0ffa0497eb23cbe461 + languageName: node + linkType: hard + +"hpack.js@npm:^2.1.6": + version: 2.1.6 + resolution: "hpack.js@npm:2.1.6" + dependencies: + inherits: ^2.0.1 + obuf: ^1.0.0 + readable-stream: ^2.0.1 + wbuf: ^1.1.0 + checksum: 2de144115197967ad6eeee33faf41096c6ba87078703c5cb011632dcfbffeb45784569e0cf02c317bd79c48375597c8ec88c30fff5bb0b023e8f654fb6e9c06e + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^3.0.0": + version: 3.0.0 + resolution: "html-encoding-sniffer@npm:3.0.0" + dependencies: + whatwg-encoding: ^2.0.0 + checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 + languageName: node + linkType: hard + +"html-entities@npm:^2.3.2": + version: 2.3.3 + resolution: "html-entities@npm:2.3.3" + checksum: 92521501da8aa5f66fee27f0f022d6e9ceae62667dae93aa6a2f636afa71ad530b7fb24a18d4d6c124c9885970cac5f8a52dbf1731741161002816ae43f98196 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 + languageName: node + linkType: hard + +"html-tags@npm:^3.2.0": + version: 3.2.0 + resolution: "html-tags@npm:3.2.0" + checksum: a0c9e96ac26c84adad9cc66d15d6711a17f60acda8d987218f1d4cbaacd52864939b230e635cce5a1179f3ddab2a12b9231355617dfbae7945fcfec5e96d2041 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + languageName: node + linkType: hard + +"http-deceiver@npm:^1.2.7": + version: 1.2.7 + resolution: "http-deceiver@npm:1.2.7" + checksum: 64d7d1ae3a6933eb0e9a94e6f27be4af45a53a96c3c34e84ff57113787105a89fff9d1c3df263ef63add823df019b0e8f52f7121e32393bb5ce9a713bf100b41 + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + checksum: 9b0a3782665c52ce9dc658a0d1560bcb0214ba5699e4ea15aefb2a496e2ca83db03ebc42e1cce4ac1f413e4e0d2d736a3fd755772c556a9a06853ba2a0b7d920 + languageName: node + linkType: hard + +"http-errors@npm:~1.6.2": + version: 1.6.3 + resolution: "http-errors@npm:1.6.3" + dependencies: + depd: ~1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: ">= 1.4.0 < 2" + checksum: a9654ee027e3d5de305a56db1d1461f25709ac23267c6dc28cdab8323e3f96caa58a9a6a5e93ac15d7285cee0c2f019378c3ada9026e7fe19c872d695f27de7c + languageName: node + linkType: hard + +"http-parser-js@npm:>=0.5.1": + version: 0.5.8 + resolution: "http-parser-js@npm:0.5.8" + checksum: 6bbdf2429858e8cf13c62375b0bfb6dc3955ca0f32e58237488bc86cd2378f31d31785fd3ac4ce93f1c74e0189cf8823c91f5cb061696214fd368d2452dc871d + languageName: node + linkType: hard + +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" + dependencies: + "@tootallnate/once": 1 + agent-base: 6 + debug: 4 + checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + languageName: node + linkType: hard + +"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3": + version: 2.0.6 + resolution: "http-proxy-middleware@npm:2.0.6" + dependencies: + "@types/http-proxy": ^1.17.8 + http-proxy: ^1.18.1 + is-glob: ^4.0.1 + is-plain-obj: ^3.0.0 + micromatch: ^4.0.2 + peerDependencies: + "@types/express": ^4.17.13 + peerDependenciesMeta: + "@types/express": + optional: true + checksum: 2ee85bc878afa6cbf34491e972ece0f5be0a3e5c98a60850cf40d2a9a5356e1fc57aab6cff33c1fc37691b0121c3a42602d2b1956c52577e87a5b77b62ae1c3a + languageName: node + linkType: hard + +"http-proxy@npm:^1.18.1": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: ^4.0.0 + follow-redirects: ^1.0.0 + requires-port: ^1.0.0 + checksum: f5bd96bf83e0b1e4226633dbb51f8b056c3e6321917df402deacec31dd7fe433914fc7a2c1831cf7ae21e69c90b3a669b8f434723e9e8b71fd68afe30737b6a5 + languageName: node + linkType: hard + +"http-signature@npm:~1.3.6": + version: 1.3.6 + resolution: "http-signature@npm:1.3.6" + dependencies: + assert-plus: ^1.0.0 + jsprim: ^2.0.2 + sshpk: ^1.14.1 + checksum: 10be2af4764e71fee0281392937050201ee576ac755c543f570d6d87134ce5e858663fe999a7adb3e4e368e1e356d0d7fec6b9542295b875726ff615188e7a0c + languageName: node + linkType: hard + +"https-proxy-agent@npm:5.0.0": + version: 5.0.0 + resolution: "https-proxy-agent@npm:5.0.0" + dependencies: + agent-base: 6 + debug: 4 + checksum: 165bfb090bd26d47693597661298006841ab733d0c7383a8cb2f17373387a94c903a3ac687090aa739de05e379ab6f868bae84ab4eac288ad85c328cd1ec9e53 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + languageName: node + linkType: hard + +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: d587647c9e8ec24e02821b6be7de5a0fc37f591f6c4e319b3054b43fd4c35a70a94c46fc74d8c1a43c47fde157d23acd7421f375e1c1365b09a16835b8300205 + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + languageName: node + linkType: hard + +"husky@npm:8.0.1": + version: 8.0.1 + resolution: "husky@npm:8.0.1" + bin: + husky: lib/bin.js + checksum: 943a73a13d0201318fd30e83d299bb81d866bd245b69e6277804c3b462638dc1921694cb94c2b8c920a4a187060f7d6058d3365152865406352e934c5fff70dc + languageName: node + linkType: hard + +"iconv-lite@npm:0.4, iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24, iconv-lite@npm:^0.4.4": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + +"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": + version: 5.1.0 + resolution: "icss-utils@npm:5.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 5c324d283552b1269cfc13a503aaaa172a280f914e5b81544f3803bc6f06a3b585fb79f66f7c771a2c052db7982c18bf92d001e3b47282e3abbbb4c4cc488d68 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + +"ignore-walk@npm:^4.0.1": + version: 4.0.1 + resolution: "ignore-walk@npm:4.0.1" + dependencies: + minimatch: ^3.0.4 + checksum: 903cd5cb68d57b2e70fddb83d885aea55f137a44636254a29b08037797376d8d3e09d1c58935778f3a271bf6a2b41ecc54fc22260ac07190e09e1ec7253b49f3 + languageName: node + linkType: hard + +"ignore@npm:^4.0.6": + version: 4.0.6 + resolution: "ignore@npm:4.0.6" + checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800 + languageName: node + linkType: hard + +"ignore@npm:^5.1.1, ignore@npm:^5.1.2, ignore@npm:^5.1.8, ignore@npm:^5.1.9, ignore@npm:^5.2.0": + version: 5.2.0 + resolution: "ignore@npm:5.2.0" + checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 + languageName: node + linkType: hard + +"image-size@npm:~0.5.0": + version: 0.5.5 + resolution: "image-size@npm:0.5.5" + bin: + image-size: bin/image-size.js + checksum: 6709d5cb73e96d5097ae5e9aa746dd36d6a9c8cf645e7eecac72ea07dbd6f312a65183752762fa92e2f3b698d4ed8d85dd55bf5207b6367245996bd16576d8fe + languageName: node + linkType: hard + +"immutable@npm:^4.0.0": + version: 4.1.0 + resolution: "immutable@npm:4.1.0" + checksum: b9bc1f14fb18eb382d48339c064b24a1f97ae4cf43102e0906c0a6e186a27afcd18b55ca4a0b63c98eefb58143e2b5ebc7755a5fb4da4a7ad84b7a6096ac5b13 + languageName: node + linkType: hard + +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + languageName: node + linkType: hard + +"import-lazy@npm:^2.1.0": + version: 2.1.0 + resolution: "import-lazy@npm:2.1.0" + checksum: 05294f3b9dd4971d3a996f0d2f176410fb6745d491d6e73376429189f5c1c3d290548116b2960a7cf3e89c20cdf11431739d1d2d8c54b84061980795010e803a + languageName: node + linkType: hard + +"import-lazy@npm:^4.0.0": + version: 4.0.0 + resolution: "import-lazy@npm:4.0.0" + checksum: 22f5e51702134aef78890156738454f620e5fe7044b204ebc057c614888a1dd6fdf2ede0fdcca44d5c173fd64f65c985f19a51775b06967ef58cc3d26898df07 + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.1.0 + resolution: "import-local@npm:3.1.0" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 78cb8d7d850d20a5e9a7f3620db31483aa00ad5f722ce03a55b110e5a723539b3716a3b463e2b96ce3fe286f33afc7c131fa2f91407528ba80cea98a7545d4c0 + languageName: node + linkType: hard + +"ini@npm:2.0.0": + version: 2.0.0 + resolution: "ini@npm:2.0.0" + checksum: e7aadc5fb2e4aefc666d74ee2160c073995a4061556b1b5b4241ecb19ad609243b9cceafe91bae49c219519394bbd31512516cb22a3b1ca6e66d869e0447e84e + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 + languageName: node + linkType: hard + +"inquirer@npm:8.2.0": + version: 8.2.0 + resolution: "inquirer@npm:8.2.0" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.1 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.21 + mute-stream: 0.0.8 + ora: ^5.4.1 + run-async: ^2.4.0 + rxjs: ^7.2.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 861d1a9324ae933b49126b3541d94e4d6a2f2a25411b3f3cc00c34bf1bdab34146362d702cf289efe6d8034900dc5905bcf2ea716092a02b6fc390e5986dd236 + languageName: node + linkType: hard + +"inquirer@npm:^7.3.3": + version: 7.3.3 + resolution: "inquirer@npm:7.3.3" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.0 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.19 + mute-stream: 0.0.8 + run-async: ^2.4.0 + rxjs: ^6.6.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 4d387fc1eb6126acbd58cbdb9ad99d2887d181df86ab0c2b9abdf734e751093e2d5882c2b6dc7144d9ab16b7ab30a78a1d7f01fb6a2850a44aeb175d1e3f8778 + languageName: node + linkType: hard + +"internmap@npm:^1.0.0": + version: 1.0.1 + resolution: "internmap@npm:1.0.1" + checksum: 9d00f8c0cf873a24a53a5a937120dab634c41f383105e066bb318a61864e6292d24eb9516e8e7dccfb4420ec42ca474a0f28ac9a6cc82536898fa09bbbe53813 + languageName: node + linkType: hard + +"ip@npm:^1.1.0": + version: 1.1.8 + resolution: "ip@npm:1.1.8" + checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb + languageName: node + linkType: hard + +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 + languageName: node + linkType: hard + +"ipaddr.js@npm:^2.0.1": + version: 2.0.1 + resolution: "ipaddr.js@npm:2.0.1" + checksum: dd194a394a843d470f88d17191b0948f383ed1c8e320813f850c336a0fcb5e9215d97ec26ca35ab4fbbd31392c8b3467f3e8344628029ed3710b2ff6b5d1034e + languageName: node + linkType: hard + +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: ^2.0.0 + checksum: 84192eb88cff70d320426f35ecd63c3d6d495da9d805b19bc65b518984b7c0760280e57dbf119b7e9be6b161784a5a673ab2c6abe83abb5198a432232ad5b35c + languageName: node + linkType: hard + +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: ^2.0.0 + bin: + is-ci: bin.js + checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 + languageName: node + linkType: hard + +"is-ci@npm:^3.0.0": + version: 3.0.1 + resolution: "is-ci@npm:3.0.1" + dependencies: + ci-info: ^3.2.0 + bin: + is-ci: bin.js + checksum: 192c66dc7826d58f803ecae624860dccf1899fc1f3ac5505284c0a5cf5f889046ffeb958fa651e5725d5705c5bcb14f055b79150ea5fcad7456a9569de60260e + languageName: node + linkType: hard + +"is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": + version: 2.10.0 + resolution: "is-core-module@npm:2.10.0" + dependencies: + has: ^1.0.3 + checksum: 0f3f77811f430af3256fa7bbc806f9639534b140f8ee69476f632c3e1eb4e28a38be0b9d1b8ecf596179c841b53576129279df95e7051d694dac4ceb6f967593 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1": + version: 1.0.5 + resolution: "is-date-object@npm:1.0.5" + dependencies: + has-tostringtag: ^1.0.0 + checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^4.0.0": + version: 4.0.0 + resolution: "is-fullwidth-code-point@npm:4.0.0" + checksum: 8ae89bf5057bdf4f57b346fb6c55e9c3dd2549983d54191d722d5c739397a903012cc41a04ee3403fd872e811243ef91a7c5196da7b5841dc6b6aae31a264a8d + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: ^2.1.1 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 + languageName: node + linkType: hard + +"is-installed-globally@npm:^0.4.0, is-installed-globally@npm:~0.4.0": + version: 0.4.0 + resolution: "is-installed-globally@npm:0.4.0" + dependencies: + global-dirs: ^3.0.0 + is-path-inside: ^3.0.2 + checksum: 3359840d5982d22e9b350034237b2cda2a12bac1b48a721912e1ab8e0631dd07d45a2797a120b7b87552759a65ba03e819f1bd63f2d7ab8657ec0b44ee0bf399 + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: 824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9 + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + +"is-npm@npm:^5.0.0": + version: 5.0.0 + resolution: "is-npm@npm:5.0.0" + checksum: 9baff02b0c69a3d3c79b162cb2f9e67fb40ef6d172c16601b2e2471c21e9a4fa1fc9885a308d7bc6f3a3cd2a324c27fa0bf284c133c3349bb22571ab70d041cc + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: c9916ac8f4621962a42f5e80e7ffdb1d79a3fab7456ceaeea394cd9e0858d04f985a9ace45be44433bf605673c8be8810540fe4cc7f4266fc7526ced95af5a08 + languageName: node + linkType: hard + +"is-path-cwd@npm:^2.2.0": + version: 2.2.0 + resolution: "is-path-cwd@npm:2.2.0" + checksum: 46a840921bb8cc0dc7b5b423a14220e7db338072a4495743a8230533ce78812dc152548c86f4b828411fe98c5451959f07cf841c6a19f611e46600bd699e8048 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.2": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 + languageName: node + linkType: hard + +"is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 + languageName: node + linkType: hard + +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: a6ebdf8e12ab73f33530641972a72a4b8aed6df04f762070d823808303e4f76d87d5ea5bd76f96a7bbe83d93f04ac7764429c29413bd9049853a69cb630fb21c + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab + languageName: node + linkType: hard + +"is-regex@npm:^1.0.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + +"is-regexp@npm:^2.0.0": + version: 2.1.0 + resolution: "is-regexp@npm:2.1.0" + checksum: 502f8e09faddc2e360350d3fa88dfb3af47b3c8e0bea1d0fe9903a1265cb199547cc11c99e9ee27cb010f678f6b48e52e92273860b68f6339e463e034f21859c + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 + languageName: node + linkType: hard + +"is-what@npm:^3.14.1": + version: 3.14.1 + resolution: "is-what@npm:3.14.1" + checksum: a9a6ce92d33799f1ae0916c7afb6f8128a23ce9d28bd69d9ec3ec88910e7a1f68432e6236c3c8a4d544cf0b864675e5d828437efde60ee0cf8102061d395c1df + languageName: node + linkType: hard + +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: ^2.0.0 + checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 + languageName: node + linkType: hard + +"is-yarn-global@npm:^0.3.0": + version: 0.3.0 + resolution: "is-yarn-global@npm:0.3.0" + checksum: bca013d65fee2862024c9fbb3ba13720ffca2fe750095174c1c80922fdda16402b5c233f5ac9e265bc12ecb5446e7b7f519a32d9541788f01d4d44e24d2bf481 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 + languageName: node + linkType: hard + +"isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 1eb2fe63a729f7bdd8a559ab552c69055f4f48eb5c2f03724430587c6f450783c8f1cd936c1c952d0a927925180fcc892ebd5b174236cf1065d4bd5bdb37e963 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": + version: 5.2.0 + resolution: "istanbul-lib-instrument@npm:5.2.0" + dependencies: + "@babel/core": ^7.12.3 + "@babel/parser": ^7.14.7 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.2.0 + semver: ^6.3.0 + checksum: 7c242ed782b6bf7b655656576afae8b6bd23dcc020e5fdc1472cca3dfb6ddb196a478385206d0df5219b9babf46ac4f21fea5d8ea9a431848b6cca6007012353 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-report@npm:3.0.0" + dependencies: + istanbul-lib-coverage: ^3.0.0 + make-dir: ^3.0.0 + supports-color: ^7.1.0 + checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + source-map: ^0.6.1 + checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.3": + version: 3.1.5 + resolution: "istanbul-reports@npm:3.1.5" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: 7867228f83ed39477b188ea07e7ccb9b4f5320b6f73d1db93a0981b7414fa4ef72d3f80c4692c442f90fc250d9406e71d8d7ab65bb615cb334e6292b73192b89 + languageName: node + linkType: hard + +"jake@npm:^10.8.5": + version: 10.8.5 + resolution: "jake@npm:10.8.5" + dependencies: + async: ^3.2.3 + chalk: ^4.0.2 + filelist: ^1.0.1 + minimatch: ^3.0.4 + bin: + jake: ./bin/cli.js + checksum: 56c913ecf5a8d74325d0af9bc17a233bad50977438d44864d925bb6c45c946e0fee8c4c1f5fe2225471ef40df5222e943047982717ebff0d624770564d3c46ba + languageName: node + linkType: hard + +"jasmine-core@npm:4.1.1": + version: 4.1.1 + resolution: "jasmine-core@npm:4.1.1" + checksum: 0488f1ac38f2acbe54bfec57d2be8a4c63c9af1bb2076fbfe84008b79b6f26a54a1ca8bf4021bb0afc84ae1de2773356f69fdb9bd886a4717d1d3599b5e7eddb + languageName: node + linkType: hard + +"jasmine-spec-reporter@npm:7.0.0": + version: 7.0.0 + resolution: "jasmine-spec-reporter@npm:7.0.0" + dependencies: + colors: 1.4.0 + checksum: d5dd5ee26aad98158653776111231889b21b6cffa136d712a814058ad099301045fa2b95f887fcdeaa20e2a82c3896ffd43b47e25190ddfc921782b09088224e + languageName: node + linkType: hard + +"jest-changed-files@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-changed-files@npm:28.1.3" + dependencies: + execa: ^5.0.0 + p-limit: ^3.1.0 + checksum: c78af14a68b9b19101623ae7fde15a2488f9b3dbe8cca12a05c4a223bc9bfd3bf41ee06830f20fb560c52434435d6153c9cc6cf450b1f7b03e5e7f96a953a6a6 + languageName: node + linkType: hard + +"jest-circus@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-circus@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/expect": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + dedent: ^0.7.0 + is-generator-fn: ^2.0.0 + jest-each: ^28.1.3 + jest-matcher-utils: ^28.1.3 + jest-message-util: ^28.1.3 + jest-runtime: ^28.1.3 + jest-snapshot: ^28.1.3 + jest-util: ^28.1.3 + p-limit: ^3.1.0 + pretty-format: ^28.1.3 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: b635e60a9c92adaefc3f24def8eba691e7c2fdcf6c9fa640cddf2eb8c8b26ee62eab73ebb88798fd7c52a74c1495a984e39b748429b610426f02e9d3d56e09b2 + languageName: node + linkType: hard + +"jest-cli@npm:^28.1.0": + version: 28.1.3 + resolution: "jest-cli@npm:28.1.3" + dependencies: + "@jest/core": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/types": ^28.1.3 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.9 + import-local: ^3.0.2 + jest-config: ^28.1.3 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + prompts: ^2.0.1 + yargs: ^17.3.1 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: fb424576bf38346318daddee3fcc597cd78cb8dda1759d09c529d8ba1a748f2765c17b00671072a838826e59465a810ff8a232bc6ba2395c131bf3504425a363 + languageName: node + linkType: hard + +"jest-config@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-config@npm:28.1.3" + dependencies: + "@babel/core": ^7.11.6 + "@jest/test-sequencer": ^28.1.3 + "@jest/types": ^28.1.3 + babel-jest: ^28.1.3 + chalk: ^4.0.0 + ci-info: ^3.2.0 + deepmerge: ^4.2.2 + glob: ^7.1.3 + graceful-fs: ^4.2.9 + jest-circus: ^28.1.3 + jest-environment-node: ^28.1.3 + jest-get-type: ^28.0.2 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.3 + jest-runner: ^28.1.3 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + micromatch: ^4.0.4 + parse-json: ^5.2.0 + pretty-format: ^28.1.3 + slash: ^3.0.0 + strip-json-comments: ^3.1.1 + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: ddabffd3a3a8cb6c2f58f06cdf3535157dbf8c70bcde3e5c3de7bee6a8d617840ffc8cffb0083e38c6814f2a08c225ca19f58898efaf4f351af94679f22ce6bc + languageName: node + linkType: hard + +"jest-diff@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-diff@npm:27.5.1" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 + languageName: node + linkType: hard + +"jest-diff@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-diff@npm:28.1.3" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^28.1.1 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: fa8583e0ccbe775714ce850b009be1b0f6b17a4b6759f33ff47adef27942ebc610dbbcc8a5f7cfb7f12b3b3b05afc9fb41d5f766674616025032ff1e4f9866e0 + languageName: node + linkType: hard + +"jest-docblock@npm:^28.1.1": + version: 28.1.1 + resolution: "jest-docblock@npm:28.1.1" + dependencies: + detect-newline: ^3.0.0 + checksum: 22fca68d988ecb2933bc65f448facdca85fc71b4bd0a188ea09a5ae1b0cc3a049a2a6ec7e7eaa2542c1d5cb5e5145e420a3df4fa280f5070f486c44da1d36151 + languageName: node + linkType: hard + +"jest-each@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-each@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + chalk: ^4.0.0 + jest-get-type: ^28.0.2 + jest-util: ^28.1.3 + pretty-format: ^28.1.3 + checksum: 5c5b8ccb1484e58b027bea682cfa020a45e5bf5379cc7c23bdec972576c1dc3c3bf03df2b78416cefc1a58859dd33b7cf5fff54c370bc3c0f14a3e509eb87282 + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^28.0.0": + version: 28.1.3 + resolution: "jest-environment-jsdom@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/fake-timers": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/jsdom": ^16.2.4 + "@types/node": "*" + jest-mock: ^28.1.3 + jest-util: ^28.1.3 + jsdom: ^19.0.0 + checksum: 32758f9b9a1fd04ec3ebaaa608d740a36b960d37d00bd3d4d83fdc4b527afc474c14f04fa860817e1fa22923e2dc3cd2b497db41af6a5d73e91327951612025e + languageName: node + linkType: hard + +"jest-environment-node@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-environment-node@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/fake-timers": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + jest-mock: ^28.1.3 + jest-util: ^28.1.3 + checksum: 1048fe306a6a8b0880a4c66278ebb57479f29c12cff89aab3aa79ab77a8859cf17ab8aa9919fd21c329a7db90e35581b43664e694ad453d5b04e00f3c6420469 + languageName: node + linkType: hard + +"jest-get-type@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-get-type@npm:27.5.1" + checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 + languageName: node + linkType: hard + +"jest-get-type@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-get-type@npm:28.0.2" + checksum: 5281d7c89bc8156605f6d15784f45074f4548501195c26e9b188742768f72d40948252d13230ea905b5349038865a1a8eeff0e614cc530ff289dfc41fe843abd + languageName: node + linkType: hard + +"jest-haste-map@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-haste-map@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@types/graceful-fs": ^4.1.3 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.3.2 + graceful-fs: ^4.2.9 + jest-regex-util: ^28.0.2 + jest-util: ^28.1.3 + jest-worker: ^28.1.3 + micromatch: ^4.0.4 + walker: ^1.0.8 + dependenciesMeta: + fsevents: + optional: true + checksum: d05fdc108645fc2b39fcd4001952cc7a8cb550e93494e98c1e9ab1fc542686f6ac67177c132e564cf94fe8f81503f3f8db8b825b9b713dc8c5748aec63ba4688 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-leak-detector@npm:28.1.3" + dependencies: + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: 2e976a4880cf9af11f53a19f6a3820e0f90b635a900737a5427fc42e337d5628ba446dcd7c020ecea3806cf92bc0bbf6982ed62a9cd84e5a13d8751aa30fbbb7 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^27.0.0": + version: 27.5.1 + resolution: "jest-matcher-utils@npm:27.5.1" + dependencies: + chalk: ^4.0.0 + jest-diff: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-matcher-utils@npm:28.1.3" + dependencies: + chalk: ^4.0.0 + jest-diff: ^28.1.3 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: 6b34f0cf66f6781e92e3bec97bf27796bd2ba31121e5c5997218d9adba6deea38a30df5203937d6785b68023ed95cbad73663cc9aad6fb0cb59aeb5813a58daf + languageName: node + linkType: hard + +"jest-message-util@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-message-util@npm:28.1.3" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^28.1.3 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^28.1.3 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: 1f266854166dcc6900d75a88b54a25225a2f3710d463063ff1c99021569045c35c7d58557b25447a17eb3a65ce763b2f9b25550248b468a9d4657db365f39e96 + languageName: node + linkType: hard + +"jest-mock@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-mock@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@types/node": "*" + checksum: a573bf8e5f12f4c29c661266c31b5c6b69a28d3195b83049983bce025b2b1a0152351567e89e63b102ef817034c2a3aa97eda4e776f3bae2aee54c5765573aa7 + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.2 + resolution: "jest-pnp-resolver@npm:1.2.2" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: bd85dcc0e76e0eb0c3d56382ec140f08d25ff4068cda9d0e360bb78fb176cb726d0beab82dc0e8694cafd09f55fee7622b8bcb240afa5fad301f4ed3eebb4f47 + languageName: node + linkType: hard + +"jest-preset-angular@npm:12.0.1": + version: 12.0.1 + resolution: "jest-preset-angular@npm:12.0.1" + dependencies: + bs-logger: ^0.2.6 + esbuild: ">=0.13.8" + esbuild-wasm: ">=0.13.8" + jest-environment-jsdom: ^28.0.0 + pretty-format: ^28.0.0 + ts-jest: ^28.0.0 + peerDependencies: + "@angular-devkit/build-angular": ">=0.1102.19 <14.0.0" + "@angular/compiler-cli": ">=11.2.14 <14.0.0" + "@angular/core": ">=11.2.14 <14.0.0" + "@angular/platform-browser-dynamic": ">=11.2.14 <14.0.0" + jest: ^28.0.0 + typescript: ">=4.3" + dependenciesMeta: + esbuild: + optional: true + checksum: 7d48734b85d2ae2d36237b558b682076dd96b48f2010e5c75776482cff54721a4d8ec41eadb5bef77d29ae21dedbda461720f37908a94e9c828de81d5de19fdd + languageName: node + linkType: hard + +"jest-regex-util@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-regex-util@npm:28.0.2" + checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-resolve-dependencies@npm:28.1.3" + dependencies: + jest-regex-util: ^28.0.2 + jest-snapshot: ^28.1.3 + checksum: 4eea9ec33aefc1c71dc5956391efbcc7be76bda986b366ab3931d99c5f7ed01c9ebd7520e405ea2c76e1bb2c7ce504be6eca2b9831df16564d1e625500f3bfe7 + languageName: node + linkType: hard + +"jest-resolve@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-resolve@npm:28.1.3" + dependencies: + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + jest-pnp-resolver: ^1.2.2 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + resolve: ^1.20.0 + resolve.exports: ^1.1.0 + slash: ^3.0.0 + checksum: df61a490c93f4f4cf52135e43d6a4fcacb07b0b7d4acc6319e9289529c1d14f2d8e1638e095dbf96f156834802755e38db68caca69dba21a3261ee711d4426b6 + languageName: node + linkType: hard + +"jest-runner@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-runner@npm:28.1.3" + dependencies: + "@jest/console": ^28.1.3 + "@jest/environment": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + emittery: ^0.10.2 + graceful-fs: ^4.2.9 + jest-docblock: ^28.1.1 + jest-environment-node: ^28.1.3 + jest-haste-map: ^28.1.3 + jest-leak-detector: ^28.1.3 + jest-message-util: ^28.1.3 + jest-resolve: ^28.1.3 + jest-runtime: ^28.1.3 + jest-util: ^28.1.3 + jest-watcher: ^28.1.3 + jest-worker: ^28.1.3 + p-limit: ^3.1.0 + source-map-support: 0.5.13 + checksum: 32405cd970fa6b11e039192dae699fd1bcc6f61f67d50605af81d193f24dd4373b25f5fcc1c571a028ec1b02174e8a4b6d0d608772063fb06f08a5105693533b + languageName: node + linkType: hard + +"jest-runtime@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-runtime@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/fake-timers": ^28.1.3 + "@jest/globals": ^28.1.3 + "@jest/source-map": ^28.1.2 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + chalk: ^4.0.0 + cjs-module-lexer: ^1.0.0 + collect-v8-coverage: ^1.0.0 + execa: ^5.0.0 + glob: ^7.1.3 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + jest-message-util: ^28.1.3 + jest-mock: ^28.1.3 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.3 + jest-snapshot: ^28.1.3 + jest-util: ^28.1.3 + slash: ^3.0.0 + strip-bom: ^4.0.0 + checksum: b17c40af858e74dafa4f515ef3711c1e9ef3d4ad7d74534ee0745422534bc04fd166d4eceb62a3aa7dc951505d6f6d2a81d16e90bebb032be409ec0500974a36 + languageName: node + linkType: hard + +"jest-snapshot@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-snapshot@npm:28.1.3" + dependencies: + "@babel/core": ^7.11.6 + "@babel/generator": ^7.7.2 + "@babel/plugin-syntax-typescript": ^7.7.2 + "@babel/traverse": ^7.7.2 + "@babel/types": ^7.3.3 + "@jest/expect-utils": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/babel__traverse": ^7.0.6 + "@types/prettier": ^2.1.5 + babel-preset-current-node-syntax: ^1.0.0 + chalk: ^4.0.0 + expect: ^28.1.3 + graceful-fs: ^4.2.9 + jest-diff: ^28.1.3 + jest-get-type: ^28.0.2 + jest-haste-map: ^28.1.3 + jest-matcher-utils: ^28.1.3 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + natural-compare: ^1.4.0 + pretty-format: ^28.1.3 + semver: ^7.3.5 + checksum: 2a46a5493f1fb50b0a236a21f25045e7f46a244f9f3ae37ef4fbcd40249d0d68bb20c950ce77439e4e2cac985b05c3061c90b34739bf6069913a1199c8c716e1 + languageName: node + linkType: hard + +"jest-util@npm:^28.0.0, jest-util@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-util@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: fd6459742c941f070223f25e38a2ac0719aad92561591e9fb2a50d602a5d19d754750b79b4074327a42b00055662b95da3b006542ceb8b54309da44d4a62e721 + languageName: node + linkType: hard + +"jest-validate@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-validate@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + camelcase: ^6.2.0 + chalk: ^4.0.0 + jest-get-type: ^28.0.2 + leven: ^3.1.0 + pretty-format: ^28.1.3 + checksum: 95e0513b3803c3372a145cda86edbdb33d9dfeaa18818176f2d581e821548ceac9a179f065b6d4671a941de211354efd67f1fff8789a4fb89962565c85f646db + languageName: node + linkType: hard + +"jest-watcher@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-watcher@npm:28.1.3" + dependencies: + "@jest/test-result": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + emittery: ^0.10.2 + jest-util: ^28.1.3 + string-length: ^4.0.1 + checksum: 8f6d674a4865e7df251f71544f1b51f06fd36b5a3a61f2ac81aeb81fa2a196be354fba51d0f97911c88f67cd254583b3a22ee124bf2c5b6ee2fadec27356c207 + languageName: node + linkType: hard + +"jest-worker@npm:^27.4.5": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: 98cd68b696781caed61c983a3ee30bf880b5bd021c01d98f47b143d4362b85d0737f8523761e2713d45e18b4f9a2b98af1eaee77afade4111bb65c77d6f7c980 + languageName: node + linkType: hard + +"jest-worker@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-worker@npm:28.1.3" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: e921c9a1b8f0909da9ea07dbf3592f95b653aef3a8bb0cbcd20fc7f9a795a1304adecac31eecb308992c167e8d7e75c522061fec38a5928ace0f9571c90169ca + languageName: node + linkType: hard + +"jest@npm:28.1.0": + version: 28.1.0 + resolution: "jest@npm:28.1.0" + dependencies: + "@jest/core": ^28.1.0 + import-local: ^3.0.2 + jest-cli: ^28.1.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: f025164c408cf5ddb6e74dac1e8cbaf94c1c31dd1c67aba4ceee5989b2d8a77886db8ed1fb88853b45cf194b14cd802b454bbbe6b278a1e2140250297dc100d3 + languageName: node + linkType: hard + +"joi@npm:^17.6.0": + version: 17.6.0 + resolution: "joi@npm:17.6.0" + dependencies: + "@hapi/hoek": ^9.0.0 + "@hapi/topo": ^5.0.0 + "@sideway/address": ^4.1.3 + "@sideway/formula": ^3.0.0 + "@sideway/pinpoint": ^2.0.0 + checksum: eaf62f6c02f2edb1042f1ab04fc23a5918a2cb8f54bec84c6e1033624d8a462c10ae9518af55a3ba84f1793960450d58094eda308e7ef93c17edd4e3c8ef31d5 + languageName: node + linkType: hard + +"js-beautify@npm:1.14.3": + version: 1.14.3 + resolution: "js-beautify@npm:1.14.3" + dependencies: + config-chain: ^1.1.13 + editorconfig: ^0.15.3 + glob: ^7.1.3 + nopt: ^5.0.0 + bin: + css-beautify: js/bin/css-beautify.js + html-beautify: js/bin/html-beautify.js + js-beautify: js/bin/js-beautify.js + checksum: 475146747ddfa233dedfdcba2c2c29cd0895730e6627455fa5dc388b61074fd856fc874cbd18da92b8dc5c04aea25eb46aec95a1e37b2c32f0dd25fb1f4c4698 + languageName: node + linkType: hard + +"js-levenshtein@npm:~1.1.6": + version: 1.1.6 + resolution: "js-levenshtein@npm:1.1.6" + checksum: 409f052a7f1141be4058d97da7860e08efd97fc588b7a4c5cfa0548bc04f6d576644dae65ab630266dff685d56fb90d494e03d4d79cb484c287746b4f1bf0694 + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 + languageName: node + linkType: hard + +"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: e5ff29c1b8d965017ef3f9c219dacd6e40ad355c664e277d31246c90545a02e6047018c16c60a00f36d561b3647215c41894f5d869ada6908a2e0ce4200c88f2 + languageName: node + linkType: hard + +"jsdom@npm:^19.0.0": + version: 19.0.0 + resolution: "jsdom@npm:19.0.0" + dependencies: + abab: ^2.0.5 + acorn: ^8.5.0 + acorn-globals: ^6.0.0 + cssom: ^0.5.0 + cssstyle: ^2.3.0 + data-urls: ^3.0.1 + decimal.js: ^10.3.1 + domexception: ^4.0.0 + escodegen: ^2.0.0 + form-data: ^4.0.0 + html-encoding-sniffer: ^3.0.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-potential-custom-element-name: ^1.0.1 + nwsapi: ^2.2.0 + parse5: 6.0.1 + saxes: ^5.0.1 + symbol-tree: ^3.2.4 + tough-cookie: ^4.0.0 + w3c-hr-time: ^1.0.2 + w3c-xmlserializer: ^3.0.0 + webidl-conversions: ^7.0.0 + whatwg-encoding: ^2.0.0 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^10.0.0 + ws: ^8.2.3 + xml-name-validator: ^4.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 94b693bf4a394097dd96705550bb7b6cd3c8db3c5414e6e9c92a0995ed8b61067597da2f37fca6bed4b5a2f1ef33960ee759522156dccd0b306311988ea87cfb + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: b8b44cbfc92f198ad972fba706ee6a1dfa7485321ee8c0b25f5cedd538dcb20cde3197de16a7265430fce8277a12db066219369e3d51055038946039f6e20e17 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.0": + version: 3.0.0 + resolution: "json-buffer@npm:3.0.0" + checksum: 0cecacb8025370686a916069a2ff81f7d55167421b6aa7270ee74e244012650dd6bce22b0852202ea7ff8624fce50ff0ec1bdf95914ccb4553426e290d5a63fa + languageName: node + linkType: hard + +"json-parse-better-errors@npm:^1.0.2": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + +"json-schema@npm:0.4.0": + version: 0.4.0 + resolution: "json-schema@npm:0.4.0" + checksum: 66389434c3469e698da0df2e7ac5a3281bcff75e797a5c127db7c5b56270e01ae13d9afa3c03344f76e32e81678337a8c912bdbb75101c62e487dc3778461d72 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: cff44156ddce9c67c44386ad5cddf91925fe06b1d217f2da9c4910d01f358c6e3989c4d5a02683c7a5667f9727ff05831f7aa8ae66c8ff691c556f0884d49215 + languageName: node + linkType: hard + +"json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee + languageName: node + linkType: hard + +"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.1": + version: 2.2.1 + resolution: "json5@npm:2.2.1" + bin: + json5: lib/cli.js + checksum: 74b8a23b102a6f2bf2d224797ae553a75488b5adbaee9c9b6e5ab8b510a2fc6e38f876d4c77dea672d4014a44b2399e15f2051ac2b37b87f74c0c7602003543b + languageName: node + linkType: hard + +"jsonc-parser@npm:3.0.0": + version: 3.0.0 + resolution: "jsonc-parser@npm:3.0.0" + checksum: 1df2326f1f9688de30c70ff19c5b2a83ba3b89a1036160da79821d1361090775e9db502dc57a67c11b56e1186fc1ed70b887f25c5febf9a3ec4f91435836c99d + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.6 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^2.0.0 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 + languageName: node + linkType: hard + +"jsonparse@npm:^1.3.1": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 6514a7be4674ebf407afca0eda3ba284b69b07f9958a8d3113ef1005f7ec610860c312be067e450c569aab8b89635e332cee3696789c750692bb60daba627f4d + languageName: node + linkType: hard + +"jsprim@npm:^2.0.2": + version: 2.0.2 + resolution: "jsprim@npm:2.0.2" + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + checksum: d175f6b1991e160cb0aa39bc857da780e035611986b5492f32395411879fdaf4e513d98677f08f7352dac93a16b66b8361c674b86a3fa406e2e7af6b26321838 + languageName: node + linkType: hard + +"jwt-decode@npm:3.1.2": + version: 3.1.2 + resolution: "jwt-decode@npm:3.1.2" + checksum: 20a4b072d44ce3479f42d0d2c8d3dabeb353081ba4982e40b83a779f2459a70be26441be6c160bfc8c3c6eadf9f6380a036fbb06ac5406b5674e35d8c4205eeb + languageName: node + linkType: hard + +"karma-source-map-support@npm:1.4.0": + version: 1.4.0 + resolution: "karma-source-map-support@npm:1.4.0" + dependencies: + source-map-support: ^0.5.5 + checksum: 7a482bc836c70f8c1d9468382a9e1c887d032697f6ace97fac90b02e73d0523cb59fc0af8759356293e6bc4ce3a17bab59b331bad0560cab9dd77ac65b343de8 + languageName: node + linkType: hard + +"keyv@npm:^3.0.0": + version: 3.1.0 + resolution: "keyv@npm:3.1.0" + dependencies: + json-buffer: 3.0.0 + checksum: bb7e8f3acffdbafbc2dd5b63f377fe6ec4c0e2c44fc82720449ef8ab54f4a7ce3802671ed94c0f475ae0a8549703353a2124561fcf3317010c141b32ca1ce903 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 + languageName: node + linkType: hard + +"klona@npm:^2.0.4, klona@npm:^2.0.5": + version: 2.0.5 + resolution: "klona@npm:2.0.5" + checksum: 8c976126ea252b766e648a4866e1bccff9d3b08432474ad80c559f6c7265cf7caede2498d463754d8c88c4759895edd8210c85c0d3155e6aae4968362889466f + languageName: node + linkType: hard + +"known-css-properties@npm:^0.25.0": + version: 0.25.0 + resolution: "known-css-properties@npm:0.25.0" + checksum: 1e6860b9cb8f671fc913f0a94a04c278769d9d8ac69f7975986440ef19825bdc26d8833e59ef7ef7ec3d4984e28e4f73e7bf99b9deb24803841d39135c26a1e6 + languageName: node + linkType: hard + +"kubernetes-dashboard@workspace:.": + version: 0.0.0-use.local + resolution: "kubernetes-dashboard@workspace:." + dependencies: + "@angular-devkit/build-angular": 13.3.7 + "@angular/animations": 13.3.10 + "@angular/cdk": 13.3.8 + "@angular/cli": 13.3.7 + "@angular/common": 13.3.10 + "@angular/compiler": 13.3.10 + "@angular/compiler-cli": 13.3.10 + "@angular/core": 13.3.10 + "@angular/flex-layout": 13.0.0-beta.38 + "@angular/forms": 13.3.10 + "@angular/language-service": 13.3.10 + "@angular/localize": 13.3.10 + "@angular/material": 13.3.8 + "@angular/platform-browser": 13.3.10 + "@angular/platform-browser-dynamic": 13.3.10 + "@angular/router": 13.3.10 + "@babel/core": 7.18.2 + "@babel/preset-env": 7.18.2 + "@babel/register": 7.17.7 + "@cypress/webpack-preprocessor": 5.11.1 + "@swimlane/ngx-charts": 20.1.0 + "@types/d3": 7.4.0 + "@types/d3-scale": 4.0.2 + "@types/file-saver": 2.0.5 + "@types/jasmine": 4.0.3 + "@types/jasminewd2": 2.0.10 + "@types/jest": 27.5.1 + "@types/js-yaml": 4.0.5 + "@types/lodash": 4.14.182 + "@types/node": 17.0.36 + "@typescript-eslint/eslint-plugin": 5.27.0 + "@typescript-eslint/parser": 5.27.0 + ace-builds: 1.5.3 + codelyzer: 6.0.2 + concurrently: 7.2.1 + core-js: 3.22.7 + crop-url: 4.0.1 + cypress: 9.7.0 + cypress-fail-fast: 4.0.0 + d3: 6.7.0 + del: 6.1.1 + eslint: 8.16.0 + eslint-plugin-node: 11.1.0 + eslint-plugin-prettier: 4.0.0 + eslint-plugin-rxjs: 5.0.2 + file-saver: 2.0.5 + git-describe: 4.1.1 + gts: 3.1.0 + husky: 8.0.1 + jasmine-core: 4.1.1 + jasmine-spec-reporter: 7.0.0 + jest: 28.1.0 + jest-preset-angular: 12.0.1 + js-beautify: 1.14.3 + js-yaml: 4.1.0 + jwt-decode: 3.1.2 + license-check-and-add: 4.0.5 + lint-staged: 12.4.3 + lodash: 4.17.21 + material-design-icons: 3.0.1 + minimatch: 5.1.0 + minimist: 1.2.6 + ng-extract-i18n-merge: 1.4.0 + ng-in-viewport: 13.0.1 + ngx-cookie-service: 13.2.1 + ngx-pipes: 3.0.0 + node-gyp: 9.0.0 + normalize.css: 8.0.1 + q: 1.5.1 + raw-loader: 4.0.2 + roboto-fontface: 0.10.0 + run-node: 2.0.0 + rxjs: 7.5.5 + rxjs-compat: 6.6.7 + sass: 1.52.1 + sass-loader: 13.0.0 + semver: 7.3.7 + sockjs-client: 1.6.1 + source-map-explorer: 2.5.2 + strip-ansi: 6.0.1 + stylelint: 14.8.5 + stylelint-config-standard-scss: 4.0.0 + stylelint-no-unsupported-browser-features: 5.0.3 + stylelint-order: 5.0.0 + systemjs: 6.12.1 + tar: 6.1.11 + through2: 4.0.2 + ts-jest: 28.0.3 + ts-loader: 9.3.0 + ts-node: 10.8.0 + tslib: 2.4.0 + typescript: 4.6.4 + wait-on: 6.0.1 + web-animations-js: 2.3.2 + webpack-dev-server: 4.8.1 + xterm: 4.18.0 + xterm-addon-fit: 0.5.0 + zone.js: 0.11.5 + languageName: unknown + linkType: soft + +"latest-version@npm:^5.1.0": + version: 5.1.0 + resolution: "latest-version@npm:5.1.0" + dependencies: + package-json: ^6.3.0 + checksum: fbc72b071eb66c40f652441fd783a9cca62f08bf42433651937f078cd9ef94bf728ec7743992777826e4e89305aef24f234b515e6030503a2cbee7fc9bdc2c0f + languageName: node + linkType: hard + +"lazy-ass@npm:^1.6.0": + version: 1.6.0 + resolution: "lazy-ass@npm:1.6.0" + checksum: 5a3ebb17915b03452320804466345382a6c25ac782ec4874fecdb2385793896cd459be2f187dc7def8899180c32ee0ab9a1aa7fe52193ac3ff3fe29bb0591729 + languageName: node + linkType: hard + +"ldjson-stream@npm:^1.2.1": + version: 1.2.1 + resolution: "ldjson-stream@npm:1.2.1" + dependencies: + split2: ^0.2.1 + through2: ^0.6.1 + checksum: 688f593b5163217fea8c404080a9646ce4735d20aa502b296719c6b6159118c10045bbb2cd1dcabc5192290a000b10fdb93720bc893667d2324c0f929db5ece6 + languageName: node + linkType: hard + +"less-loader@npm:10.2.0": + version: 10.2.0 + resolution: "less-loader@npm:10.2.0" + dependencies: + klona: ^2.0.4 + peerDependencies: + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + checksum: 42a2b56a9d474c066b22423e8ed82821ed6dbc5effad8d84b2a3d8651fb4c5027f32ac770a0fe4810e3e6d0595be576a2f7f2341f2603bdf795cff4e94d7340b + languageName: node + linkType: hard + +"less@npm:4.1.2": + version: 4.1.2 + resolution: "less@npm:4.1.2" + dependencies: + copy-anything: ^2.0.1 + errno: ^0.1.1 + graceful-fs: ^4.1.2 + image-size: ~0.5.0 + make-dir: ^2.1.0 + mime: ^1.4.1 + needle: ^2.5.2 + parse-node-version: ^1.0.1 + source-map: ~0.6.0 + tslib: ^2.3.0 + dependenciesMeta: + errno: + optional: true + graceful-fs: + optional: true + image-size: + optional: true + make-dir: + optional: true + mime: + optional: true + needle: + optional: true + source-map: + optional: true + bin: + lessc: bin/lessc + checksum: d3cbc3e18a8313e44f7feaf5fce1728b25911e116a8b9f7206e1f7bf5660902ddaf470b58e68a52288488c8a337433b7de686a3d2405ce49155c2280191983de + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: ^1.2.1 + type-check: ~0.4.0 + checksum: 12c5021c859bd0f5248561bf139121f0358285ec545ebf48bb3d346820d5c61a4309535c7f387ed7d84361cf821e124ce346c6b7cef8ee09a67c1473b46d0fc4 + languageName: node + linkType: hard + +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e + languageName: node + linkType: hard + +"license-check-and-add@npm:4.0.5": + version: 4.0.5 + resolution: "license-check-and-add@npm:4.0.5" + dependencies: + fs-extra: ^8.1.0 + gitignore-to-glob: ^0.3.0 + globby: ^10.0.1 + ignore: ^5.1.2 + yargs: ^13.3.0 + bin: + license-check-and-add: dist/src/cli.js + checksum: 5ca55fe2445c50b9e910850b66e9f0b9a46bfe95ce4d7a95abff17c2899142f7946517b1cffda148adbbfdc3c7c6af7c65d9c34ed248334a2e84be97e5d15fa2 + languageName: node + linkType: hard + +"license-webpack-plugin@npm:4.0.2": + version: 4.0.2 + resolution: "license-webpack-plugin@npm:4.0.2" + dependencies: + webpack-sources: ^3.0.0 + peerDependenciesMeta: + webpack: + optional: true + webpack-sources: + optional: true + checksum: e88ebdb9c8bdfc0926dd7211d7fe2ee8697a44bb00a96bb5e6ca844b6acb7d24dd54eb17ec485e2e0140c3cc86709d1c2bd46e091ab52af076e1e421054c8322 + languageName: node + linkType: hard + +"lilconfig@npm:2.0.5": + version: 2.0.5 + resolution: "lilconfig@npm:2.0.5" + checksum: f7bb9e42656f06930ad04e583026f087508ae408d3526b8b54895e934eb2a966b7aafae569656f2c79a29fe6d779b3ec44ba577e80814734c8655d6f71cdf2d1 + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 + languageName: node + linkType: hard + +"lint-staged@npm:12.4.3": + version: 12.4.3 + resolution: "lint-staged@npm:12.4.3" + dependencies: + cli-truncate: ^3.1.0 + colorette: ^2.0.16 + commander: ^9.3.0 + debug: ^4.3.4 + execa: ^5.1.1 + lilconfig: 2.0.5 + listr2: ^4.0.5 + micromatch: ^4.0.5 + normalize-path: ^3.0.0 + object-inspect: ^1.12.2 + pidtree: ^0.5.0 + string-argv: ^0.3.1 + supports-color: ^9.2.2 + yaml: ^1.10.2 + bin: + lint-staged: bin/lint-staged.js + checksum: db5dfd14e9e2bf68ec98752021ed1df9572561f3c2adbe52a775d6866e2e6eacb9c50d176c5cb773ebf01fb497b3a644e8ce80154e7fa9546ada23148cac8979 + languageName: node + linkType: hard + +"listr2@npm:^3.8.3": + version: 3.14.0 + resolution: "listr2@npm:3.14.0" + dependencies: + cli-truncate: ^2.1.0 + colorette: ^2.0.16 + log-update: ^4.0.0 + p-map: ^4.0.0 + rfdc: ^1.3.0 + rxjs: ^7.5.1 + through: ^2.3.8 + wrap-ansi: ^7.0.0 + peerDependencies: + enquirer: ">= 2.3.0 < 3" + peerDependenciesMeta: + enquirer: + optional: true + checksum: fdb8b2d6bdf5df9371ebd5082bee46c6d0ca3d1e5f2b11fbb5a127839855d5f3da9d4968fce94f0a5ec67cac2459766abbb1faeef621065ebb1829b11ef9476d + languageName: node + linkType: hard + +"listr2@npm:^4.0.5": + version: 4.0.5 + resolution: "listr2@npm:4.0.5" + dependencies: + cli-truncate: ^2.1.0 + colorette: ^2.0.16 + log-update: ^4.0.0 + p-map: ^4.0.0 + rfdc: ^1.3.0 + rxjs: ^7.5.5 + through: ^2.3.8 + wrap-ansi: ^7.0.0 + peerDependencies: + enquirer: ">= 2.3.0 < 3" + peerDependenciesMeta: + enquirer: + optional: true + checksum: 7af31851abe25969ef0581c6db808117e36af15b131401795182427769d9824f451ba9e8aff6ccd25b6a4f6c8796f816292caf08e5f1f9b1775e8e9c313dc6c5 + languageName: node + linkType: hard + +"loader-runner@npm:^4.2.0": + version: 4.3.0 + resolution: "loader-runner@npm:4.3.0" + checksum: a90e00dee9a16be118ea43fec3192d0b491fe03a32ed48a4132eb61d498f5536a03a1315531c19d284392a8726a4ecad71d82044c28d7f22ef62e029bf761569 + languageName: node + linkType: hard + +"loader-utils@npm:3.2.0": + version: 3.2.0 + resolution: "loader-utils@npm:3.2.0" + checksum: c7b9a8dc4b3bc19e9ef563c48e3a18ea9f8bb2da1ad38a12e4b88358cfba5f148a7baf12d78fe78ffcb718ce1e062ab31fcf5c148459f1247a672a4213471e80 + languageName: node + linkType: hard + +"loader-utils@npm:^2.0.0": + version: 2.0.2 + resolution: "loader-utils@npm:2.0.2" + dependencies: + big.js: ^5.2.2 + emojis-list: ^3.0.0 + json5: ^2.1.2 + checksum: 9078d1ed47cadc57f4c6ddbdb2add324ee7da544cea41de3b7f1128e8108fcd41cd3443a85b7ee8d7d8ac439148aa221922774efe4cf87506d4fb054d5889303 + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: ^3.0.0 + path-exists: ^3.0.0 + checksum: 53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: ^4.1.0 + checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: a3f527d22c548f43ae31c861ada88b2637eb48ac6aa3eb56e82d44917971b8aa96fbb37aa60efea674dc4ee8c42074f90f7b1f772e9db375435f6c83a19b3bc6 + languageName: node + linkType: hard + +"lodash.memoize@npm:4.x": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 + languageName: node + linkType: hard + +"lodash.once@npm:^4.1.1": + version: 4.1.1 + resolution: "lodash.once@npm:4.1.1" + checksum: d768fa9f9b4e1dc6453be99b753906f58990e0c45e7b2ca5a3b40a33111e5d17f6edf2f768786e2716af90a8e78f8f91431ab8435f761fef00f9b0c256f6d245 + languageName: node + linkType: hard + +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 + languageName: node + linkType: hard + +"lodash@npm:4.17.21, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 + languageName: node + linkType: hard + +"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: ^4.1.0 + is-unicode-supported: ^0.1.0 + checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 + languageName: node + linkType: hard + +"log-update@npm:^4.0.0": + version: 4.0.0 + resolution: "log-update@npm:4.0.0" + dependencies: + ansi-escapes: ^4.3.0 + cli-cursor: ^3.1.0 + slice-ansi: ^4.0.0 + wrap-ansi: ^6.2.0 + checksum: ae2f85bbabc1906034154fb7d4c4477c79b3e703d22d78adee8b3862fa913942772e7fa11713e3d96fb46de4e3cabefbf5d0a544344f03b58d3c4bff52aa9eb2 + languageName: node + linkType: hard + +"lowercase-keys@npm:^1.0.0, lowercase-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "lowercase-keys@npm:1.0.1" + checksum: 4d045026595936e09953e3867722e309415ff2c80d7701d067546d75ef698dac218a4f53c6d1d0e7368b47e45fd7529df47e6cb56fbb90523ba599f898b3d147 + languageName: node + linkType: hard + +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 24d7ebd56ccdf15ff529ca9e08863f3c54b0b9d1edb97a3ae1af34940ae666c01a1e6d200707bce730a8ef76cb57cc10e65f245ecaaf7e6bc8639f2fb460ac23 + languageName: node + linkType: hard + +"lru-cache@npm:^4.1.5": + version: 4.1.5 + resolution: "lru-cache@npm:4.1.5" + dependencies: + pseudomap: ^1.0.2 + yallist: ^2.1.2 + checksum: 4bb4b58a36cd7dc4dcec74cbe6a8f766a38b7426f1ff59d4cf7d82a2aa9b9565cd1cb98f6ff60ce5cd174524868d7bc9b7b1c294371851356066ca9ac4cf135a + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: ^4.0.0 + checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 + languageName: node + linkType: hard + +"lru-cache@npm:^7.7.1": + version: 7.13.2 + resolution: "lru-cache@npm:7.13.2" + checksum: dfed24e52bae95edf490d0f28f4f14552319ac7e7dc37ae0b84a72e084949233821b33227271abe81d8361ac079810f9d171a706f316cfdeda135012e4311015 + languageName: node + linkType: hard + +"magic-string@npm:0.25.7": + version: 0.25.7 + resolution: "magic-string@npm:0.25.7" + dependencies: + sourcemap-codec: ^1.4.4 + checksum: 727a1fb70f9610304fe384f1df0251eb7d1d9dd779c07ef1225690361b71b216f26f5d934bfb11c919b5b0e7ba50f6240c823a6f2e44cfd33d4a07d7747ca829 + languageName: node + linkType: hard + +"magic-string@npm:^0.26.0": + version: 0.26.2 + resolution: "magic-string@npm:0.26.2" + dependencies: + sourcemap-codec: ^1.4.8 + checksum: b4db4e2b370ac8d9ffc6443a2b591b75364bf1fc9121b5a4068d5b89804abff6709d1fa4a0e0c2d54f2e61e0e44db83efdfe219a5ab0ba6d25ee1f2b51fbed55 + languageName: node + linkType: hard + +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: ^4.0.1 + semver: ^5.6.0 + checksum: 043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab + languageName: node + linkType: hard + +"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: ^6.0.0 + checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + languageName: node + linkType: hard + +"make-error@npm:1.x, make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^10.0.1, make-fetch-happen@npm:^10.0.3": + version: 10.2.0 + resolution: "make-fetch-happen@npm:10.2.0" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.1.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^9.0.0 + checksum: 2f6c294179972f56fab40fd8618f07841e06550692bb78f6da16e7afaa9dca78c345b08cf44a77a8907ef3948e4dc77e93eb7492b8381f1217d7ac057a7522f8 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^9.1.0": + version: 9.1.0 + resolution: "make-fetch-happen@npm:9.1.0" + dependencies: + agentkeepalive: ^4.1.3 + cacache: ^15.2.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^4.0.1 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^6.0.0 + minipass: ^3.1.3 + minipass-collect: ^1.0.2 + minipass-fetch: ^1.3.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.2 + promise-retry: ^2.0.1 + socks-proxy-agent: ^6.0.0 + ssri: ^8.0.0 + checksum: 0eb371c85fdd0b1584fcfdf3dc3c62395761b3c14658be02620c310305a9a7ecf1617a5e6fb30c1d081c5c8aaf177fa133ee225024313afabb7aa6a10f1e3d04 + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: 1.0.5 + checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 + languageName: node + linkType: hard + +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 9949e7baec2a336e63b8d4dc71018c117c3ce6e39d2451ccbfd3b8350c547c4f6af331a4cbe1c83193d7c6b786082b6256bde843db90cb7da2a21e8fcc28afed + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e + languageName: node + linkType: hard + +"material-design-icons@npm:3.0.1": + version: 3.0.1 + resolution: "material-design-icons@npm:3.0.1" + checksum: 9a6dd4b2a7f531616df76080508281d3235f290568e40592b347ba4ea582fc992d8068491c55260b7d11907ad16be57d9c64d57ac4bbf7fc1c93f622e7accde7 + languageName: node + linkType: hard + +"mathml-tag-names@npm:^2.1.3": + version: 2.1.3 + resolution: "mathml-tag-names@npm:2.1.3" + checksum: 1201a25a137d6b9e328facd67912058b8b45b19a6c4cc62641c9476195da28a275ca6e0eca070af5378b905c2b11abc1114676ba703411db0b9ce007de921ad0 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 + languageName: node + linkType: hard + +"memfs@npm:^3.2.2, memfs@npm:^3.4.3": + version: 3.4.7 + resolution: "memfs@npm:3.4.7" + dependencies: + fs-monkey: ^1.0.3 + checksum: fab88266dc576dc4999e38bdf531d703fb798affac2e0dd3fc17470878486844027b2766008ba80c0103b443f52cf9068a5c00f4e1ecf04106f4b29c11855822 + languageName: node + linkType: hard + +"meow@npm:^9.0.0": + version: 9.0.0 + resolution: "meow@npm:9.0.0" + dependencies: + "@types/minimist": ^1.2.0 + camelcase-keys: ^6.2.2 + decamelize: ^1.2.0 + decamelize-keys: ^1.1.0 + hard-rejection: ^2.1.0 + minimist-options: 4.1.0 + normalize-package-data: ^3.0.0 + read-pkg-up: ^7.0.1 + redent: ^3.0.0 + trim-newlines: ^3.0.0 + type-fest: ^0.18.0 + yargs-parser: ^20.2.3 + checksum: 99799c47247f4daeee178e3124f6ef6f84bde2ba3f37652865d5d8f8b8adcf9eedfc551dd043e2455cd8206545fd848e269c0c5ab6b594680a0ad4d3617c9639 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + languageName: node + linkType: hard + +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a + languageName: node + linkType: hard + +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: ^3.0.2 + picomatch: ^2.3.1 + checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc + languageName: node + linkType: hard + +"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: 1.52.0 + checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 + languageName: node + linkType: hard + +"mime@npm:1.6.0, mime@npm:^1.4.1": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + +"mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823 + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 + languageName: node + linkType: hard + +"mini-css-extract-plugin@npm:2.5.3": + version: 2.5.3 + resolution: "mini-css-extract-plugin@npm:2.5.3" + dependencies: + schema-utils: ^4.0.0 + peerDependencies: + webpack: ^5.0.0 + checksum: de53fbded09fd2ae81174b11754bc955fcf0e0a85b2c4df7e179fcc8a81533362498824395d43d50960b0bc93550eb2bd9cd1ded113eaa21bd84ab50ef29e65c + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 + languageName: node + linkType: hard + +"minimatch@npm:3.0.5": + version: 3.0.5 + resolution: "minimatch@npm:3.0.5" + dependencies: + brace-expansion: ^1.1.7 + checksum: a3b84b426eafca947741b864502cee02860c4e7b145de11ad98775cfcf3066fef422583bc0ffce0952ddf4750c1ccf4220b1556430d4ce10139f66247d87d69e + languageName: node + linkType: hard + +"minimatch@npm:5.1.0, minimatch@npm:^5.0.1": + version: 5.1.0 + resolution: "minimatch@npm:5.1.0" + dependencies: + brace-expansion: ^2.0.1 + checksum: 15ce53d31a06361e8b7a629501b5c75491bc2b59712d53e802b1987121d91b433d73fcc5be92974fde66b2b51d8fb28d75a9ae900d249feb792bb1ba2a4f0a90 + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + +"minimist-options@npm:4.1.0": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: ^1.0.1 + is-plain-obj: ^1.1.0 + kind-of: ^6.0.3 + checksum: 8c040b3068811e79de1140ca2b708d3e203c8003eb9a414c1ab3cd467fc5f17c9ca02a5aef23bedc51a7f8bfbe77f87e9a7e31ec81fba304cda675b019496f4e + languageName: node + linkType: hard + +"minimist@npm:1.2.6, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": + version: 1.2.6 + resolution: "minimist@npm:1.2.6" + checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + +"minipass-fetch@npm:^1.3.2, minipass-fetch@npm:^1.4.1": + version: 1.4.1 + resolution: "minipass-fetch@npm:1.4.1" + dependencies: + encoding: ^0.1.12 + minipass: ^3.1.0 + minipass-sized: ^1.0.3 + minizlib: ^2.0.0 + dependenciesMeta: + encoding: + optional: true + checksum: ec93697bdb62129c4e6c0104138e681e30efef8c15d9429dd172f776f83898471bc76521b539ff913248cc2aa6d2b37b652c993504a51cc53282563640f29216 + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.0 + resolution: "minipass-fetch@npm:2.1.0" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-json-stream@npm:^1.0.1": + version: 1.0.1 + resolution: "minipass-json-stream@npm:1.0.1" + dependencies: + jsonparse: ^1.3.1 + minipass: ^3.0.0 + checksum: 791b696a27d1074c4c08dab1bf5a9f3201145c2933e428f45d880467bce12c60de4703203d2928de4b162d0ae77b0bb4b55f96cb846645800aa0eb4919b3e796 + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3, minipass@npm:^3.1.6": + version: 3.3.5 + resolution: "minipass@npm:3.3.5" + dependencies: + yallist: ^4.0.0 + checksum: f89f02bcaa0e0e4bb4c44ec796008e69fbca62db0aba6ead1bc57d25bdaefdf42102130f4f9ecb7d9c6b6cd35ff7b0c7b97d001d3435da8e629fb68af3aea57e + languageName: node + linkType: hard + +"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.6": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: ^1.2.6 + bin: + mkdirp: bin/cmd.js + checksum: 0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"multicast-dns-service-types@npm:^1.1.0": + version: 1.1.0 + resolution: "multicast-dns-service-types@npm:1.1.0" + checksum: 0979fca1cce85484d256e4db3af591d941b41a61f134da3607213d2624c12ed5b8a246565cb19a9b3cb542819e8fbc71a90b07e77023ee6a9515540fe1d371f7 + languageName: node + linkType: hard + +"multicast-dns@npm:^6.0.1": + version: 6.2.3 + resolution: "multicast-dns@npm:6.2.3" + dependencies: + dns-packet: ^1.3.1 + thunky: ^1.0.2 + bin: + multicast-dns: cli.js + checksum: f515b49ca964429ab48a4ac8041fcf969c927aeb49ab65288bd982e52c849a870fc3b03565780b0d194a1a02da8821f28b6425e48e95b8107bc9fcc92f571a6f + languageName: node + linkType: hard + +"multicast-dns@npm:^7.2.5": + version: 7.2.5 + resolution: "multicast-dns@npm:7.2.5" + dependencies: + dns-packet: ^5.2.2 + thunky: ^1.0.2 + bin: + multicast-dns: cli.js + checksum: 00b8a57df152d4cd0297946320a94b7c3cdf75a46a2247f32f958a8927dea42958177f9b7fdae69fab2e4e033fb3416881af1f5e9055a3e1542888767139e2fb + languageName: node + linkType: hard + +"multimatch@npm:^5.0.0": + version: 5.0.0 + resolution: "multimatch@npm:5.0.0" + dependencies: + "@types/minimatch": ^3.0.3 + array-differ: ^3.0.0 + array-union: ^2.1.0 + arrify: ^2.0.1 + minimatch: ^3.0.4 + checksum: 82c8030a53af965cab48da22f1b0f894ef99e16ee680dabdfbd38d2dfacc3c8208c475203d747afd9e26db44118ed0221d5a0d65268c864f06d6efc7ac6df812 + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 + languageName: node + linkType: hard + +"nanoid@npm:^3.1.30, nanoid@npm:^3.3.4": + version: 3.3.4 + resolution: "nanoid@npm:3.3.4" + bin: + nanoid: bin/nanoid.cjs + checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d + languageName: node + linkType: hard + +"ncp@npm:^2.0.0": + version: 2.0.0 + resolution: "ncp@npm:2.0.0" + bin: + ncp: ./bin/ncp + checksum: ea9b19221da1d1c5529bdb9f8e85c9d191d156bcaae408cce5e415b7fbfd8744c288e792bd7faf1fe3b70fd44c74e22f0d43c39b209bc7ac1fb8016f70793a16 + languageName: node + linkType: hard + +"needle@npm:^2.5.2": + version: 2.9.1 + resolution: "needle@npm:2.9.1" + dependencies: + debug: ^3.2.6 + iconv-lite: ^0.4.4 + sax: ^1.2.4 + bin: + needle: ./bin/needle + checksum: 746ae3a3782f0a057ff304a98843cc6f2009f978a0fad0c3e641a9d46d0b5702bb3e197ba08aecd48678067874a991c4f5fc320c7e51a4c041d9dd3441146cf0 + languageName: node + linkType: hard + +"negotiator@npm:0.6.3, negotiator@npm:^0.6.2, negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 + languageName: node + linkType: hard + +"ng-extract-i18n-merge@npm:1.4.0": + version: 1.4.0 + resolution: "ng-extract-i18n-merge@npm:1.4.0" + dependencies: + "@angular-devkit/architect": ^0.1301.0 + "@angular-devkit/core": ^13.0.0 + "@angular-devkit/schematics": ^13.0.0 + "@schematics/angular": ^13.0.0 + xliff-simple-merge: ~0.12.0 + xml_normalize: ~0.8.3 + xmldoc: ~1.1.2 + checksum: 4dcb53762791579dc4a23356c421e30236864b96aeda8d6758688294dab6240415f19ad400da0ed57c23fbb4a6e59287d1b076206f1ce77c55e28892a5924b43 + languageName: node + linkType: hard + +"ng-in-viewport@npm:13.0.1": + version: 13.0.1 + resolution: "ng-in-viewport@npm:13.0.1" + dependencies: + tslib: ^2.1.0 + peerDependencies: + "@angular/common": ">=12.0.0" + "@angular/core": ">=12.0.0" + rxjs: ">=6.5.3" + checksum: 6e7b490a25b32ca16190d78474bd3dc35017fb48e039c570926b3e404ad0529db8f7645849ada063829c6fded48126a821a04bbbb59ec5ff27fc9aef02866229 + languageName: node + linkType: hard + +"ngx-cookie-service@npm:13.2.1": + version: 13.2.1 + resolution: "ngx-cookie-service@npm:13.2.1" + dependencies: + tslib: ^2.0.0 + peerDependencies: + "@angular/common": ^13.0.0 + "@angular/core": ^13.0.0 + checksum: f11b232688fc93a3be0456a5367b5fca2cdcfedc86c7d474b413255ceb366a7fd3e533f69adabde8d9202bed9f7c9bb1aa08301956dc3a3fc8b2b273cbe45ecc + languageName: node + linkType: hard + +"ngx-pipes@npm:3.0.0": + version: 3.0.0 + resolution: "ngx-pipes@npm:3.0.0" + dependencies: + tslib: ^2.3.0 + peerDependencies: + "@angular/core": ^13.0.0 + checksum: 42a1f2375925190946e0a8241bca0752c256678bec41ea374c7ce4a52aa34430772219ecbec73a6d40b7be877a875ff8466458ced3080cf989c59ef4ee9e31a9 + languageName: node + linkType: hard + +"nice-napi@npm:^1.0.2": + version: 1.0.2 + resolution: "nice-napi@npm:1.0.2" + dependencies: + node-addon-api: ^3.0.0 + node-gyp: latest + node-gyp-build: ^4.2.2 + conditions: "!os=win32" + languageName: node + linkType: hard + +"node-addon-api@npm:^3.0.0": + version: 3.2.1 + resolution: "node-addon-api@npm:3.2.1" + dependencies: + node-gyp: latest + checksum: 2369986bb0881ccd9ef6bacdf39550e07e089a9c8ede1cbc5fc7712d8e2faa4d50da0e487e333d4125f8c7a616c730131d1091676c9d499af1d74560756b4a18 + languageName: node + linkType: hard + +"node-forge@npm:^1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 08fb072d3d670599c89a1704b3e9c649ff1b998256737f0e06fbd1a5bf41cae4457ccaee32d95052d80bbafd9ffe01284e078c8071f0267dc9744e51c5ed42a9 + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.2.2": + version: 4.5.0 + resolution: "node-gyp-build@npm:4.5.0" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: d888bae0fb88335f69af1b57a2294a931c5042f36e413d8d364c992c9ebfa0b96ffe773179a5a2c8f04b73856e8634e09cce108dbb9804396d3cc8c5455ff2db + languageName: node + linkType: hard + +"node-gyp@npm:9.0.0": + version: 9.0.0 + resolution: "node-gyp@npm:9.0.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 4d8ef8860f7e4f4d86c91db3f519d26ed5cc23b48fe54543e2afd86162b4acbd14f21de42a5db344525efb69a991e021b96a68c70c6e2d5f4a5cb770793da6d3 + languageName: node + linkType: hard + +"node-gyp@npm:^8.2.0": + version: 8.4.1 + resolution: "node-gyp@npm:8.4.1" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^9.1.0 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 341710b5da39d3660e6a886b37e210d33f8282047405c2e62c277bcc744c7552c5b8b972ebc3a7d5c2813794e60cc48c3ebd142c46d6e0321db4db6c92dd0355 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.1.0 + resolution: "node-gyp@npm:9.1.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 1437fa4a879b5b9010604128e8da8609b57c66034262087539ee04a8b764b8436af2be01bab66f8fc729a3adba2dcc21b10a32b9f552696c3fa8cd657d134fc4 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: d0b30b1ee6d961851c60d5eaa745d30b5c95d94bc0e74b81e5292f7c42a49e3af87f1eb9e89f59456f80645d679202537de751b7d72e9e40ceea40c5e449057e + languageName: node + linkType: hard + +"node-releases@npm:^2.0.6": + version: 2.0.6 + resolution: "node-releases@npm:2.0.6" + checksum: e86a926dc9fbb3b41b4c4a89d998afdf140e20a4e8dbe6c0a807f7b2948b42ea97d7fd3ad4868041487b6e9ee98409829c6e4d84a734a4215dff060a7fbeb4bf + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: ^2.1.4 + resolve: ^1.10.0 + semver: 2 || 3 || 4 || 5 + validate-npm-package-license: ^3.0.1 + checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 + languageName: node + linkType: hard + +"normalize-package-data@npm:^3.0.0": + version: 3.0.3 + resolution: "normalize-package-data@npm:3.0.3" + dependencies: + hosted-git-info: ^4.0.1 + is-core-module: ^2.5.0 + semver: ^7.3.4 + validate-npm-package-license: ^3.0.1 + checksum: bbcee00339e7c26fdbc760f9b66d429258e2ceca41a5df41f5df06cc7652de8d82e8679ff188ca095cad8eff2b6118d7d866af2b68400f74602fbcbce39c160a + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 9b2f14f093593f367a7a0834267c24f3cb3e887a2d9809c77d8a7e5fd08738bcd15af46f0ab01cc3a3d660386f015816b5c922cea8bf2ee79777f40874063184 + languageName: node + linkType: hard + +"normalize-url@npm:^4.1.0": + version: 4.5.1 + resolution: "normalize-url@npm:4.5.1" + checksum: 9a9dee01df02ad23e171171893e56e22d752f7cff86fb96aafeae074819b572ea655b60f8302e2d85dbb834dc885c972cc1c573892fea24df46b2765065dd05a + languageName: node + linkType: hard + +"normalize.css@npm:8.0.1": + version: 8.0.1 + resolution: "normalize.css@npm:8.0.1" + checksum: 4698cae88ec35e3f3e82f9f9402e6ffb906c27ccd6373cad88e6b3f5634fc7a043cb38702472299e5edb73825cf8b18d5fd9283f58829eddda79ea97453049a2 + languageName: node + linkType: hard + +"npm-bundled@npm:^1.1.1": + version: 1.1.2 + resolution: "npm-bundled@npm:1.1.2" + dependencies: + npm-normalize-package-bin: ^1.0.1 + checksum: 6e599155ef28d0b498622f47f1ba189dfbae05095a1ed17cb3a5babf961e965dd5eab621f0ec6f0a98de774e5836b8f5a5ee639010d64f42850a74acec3d4d09 + languageName: node + linkType: hard + +"npm-install-checks@npm:^4.0.0": + version: 4.0.0 + resolution: "npm-install-checks@npm:4.0.0" + dependencies: + semver: ^7.1.1 + checksum: 8308ff48e61e0863d7f148f62543e1f6c832525a7d8002ea742d5e478efa8b29bf65a87f9fb82786e15232e4b3d0362b126c45afdceed4c051c0d3c227dd0ace + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^1.0.1": + version: 1.0.1 + resolution: "npm-normalize-package-bin@npm:1.0.1" + checksum: ae7f15155a1e3ace2653f12ddd1ee8eaa3c84452fdfbf2f1943e1de264e4b079c86645e2c55931a51a0a498cba31f70022a5219d5665fbcb221e99e58bc70122 + languageName: node + linkType: hard + +"npm-package-arg@npm:8.1.5, npm-package-arg@npm:^8.0.1, npm-package-arg@npm:^8.1.2, npm-package-arg@npm:^8.1.5": + version: 8.1.5 + resolution: "npm-package-arg@npm:8.1.5" + dependencies: + hosted-git-info: ^4.0.1 + semver: ^7.3.4 + validate-npm-package-name: ^3.0.0 + checksum: ae76afbcebb4ea8d0b849b8b18ed1b0491030fb04a0af5d75f1b8390cc50bec186ced9fbe60f47d939eab630c7c0db0919d879ac56a87d3782267dfe8eec60d3 + languageName: node + linkType: hard + +"npm-packlist@npm:^3.0.0": + version: 3.0.0 + resolution: "npm-packlist@npm:3.0.0" + dependencies: + glob: ^7.1.6 + ignore-walk: ^4.0.1 + npm-bundled: ^1.1.1 + npm-normalize-package-bin: ^1.0.1 + bin: + npm-packlist: bin/index.js + checksum: 8550ecdec5feb2708aa8289e71c3e9ed72dd792642dd3d2c871955504c0e460bc1c2106483a164eb405b3cdfcfddf311315d4a647fca1a511f710654c015a91e + languageName: node + linkType: hard + +"npm-pick-manifest@npm:6.1.1, npm-pick-manifest@npm:^6.0.0, npm-pick-manifest@npm:^6.1.1": + version: 6.1.1 + resolution: "npm-pick-manifest@npm:6.1.1" + dependencies: + npm-install-checks: ^4.0.0 + npm-normalize-package-bin: ^1.0.1 + npm-package-arg: ^8.1.2 + semver: ^7.3.4 + checksum: 7a7b9475ae95cf903d37471229efbd12a829a9a7a1020ba36e75768aaa35da4c3a087fde3f06070baf81ec6b2ea2b660f022a1172644e6e7188199d7c1d2954b + languageName: node + linkType: hard + +"npm-registry-fetch@npm:^12.0.0": + version: 12.0.2 + resolution: "npm-registry-fetch@npm:12.0.2" + dependencies: + make-fetch-happen: ^10.0.1 + minipass: ^3.1.6 + minipass-fetch: ^1.4.1 + minipass-json-stream: ^1.0.1 + minizlib: ^2.1.2 + npm-package-arg: ^8.1.5 + checksum: 88ef49b6fad104165f183ec804a65471a23cead40fa035ac57f2cbe084feffe9c10bed8c4234af3fa549d947108450d5359b41ae5dec9a1ffca4d8fa7c7f78b8 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: ^3.0.0 + checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a + languageName: node + linkType: hard + +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: ^1.0.0 + checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.0": + version: 2.2.1 + resolution: "nwsapi@npm:2.2.1" + checksum: 6c21fcb6950538012516b39137ed9b53ed56843e521362e977282c781169f229e7bca8ec6e207165b19912550f360806b222f77b6c9202bb8d66818456875c3d + languageName: node + linkType: hard + +"object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": + version: 1.12.2 + resolution: "object-inspect@npm:1.12.2" + checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 + languageName: node + linkType: hard + +"object-is@npm:^1.0.1": + version: 1.1.5 + resolution: "object-is@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a + languageName: node + linkType: hard + +"object.assign@npm:^4.1.0": + version: 4.1.3 + resolution: "object.assign@npm:4.1.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + has-symbols: ^1.0.3 + object-keys: ^1.1.1 + checksum: fe87c8acd60e0d7140e1eae8886804e7497bf6a019bae715084083c2abd1760bd5aa9c3f0e5b02c82ca5cc33b641dc908c42c86c6f7d6dfd9f083a7baa95d318 + languageName: node + linkType: hard + +"obuf@npm:^1.0.0, obuf@npm:^1.1.2": + version: 1.1.2 + resolution: "obuf@npm:1.1.2" + checksum: 41a2ba310e7b6f6c3b905af82c275bf8854896e2e4c5752966d64cbcd2f599cfffd5932006bcf3b8b419dfdacebb3a3912d5d94e10f1d0acab59876c8757f27f + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: 1.1.1 + checksum: d20929a25e7f0bb62f937a425b5edeb4e4cde0540d77ba146ec9357f00b0d497cdb3b9b05b9c8e46222407d1548d08166bff69cc56dfa55ba0e4469228920ff0 + languageName: node + linkType: hard + +"on-headers@npm:~1.0.2": + version: 1.0.2 + resolution: "on-headers@npm:1.0.2" + checksum: 2bf13467215d1e540a62a75021e8b318a6cfc5d4fc53af8e8f84ad98dbcea02d506c6d24180cd62e1d769c44721ba542f3154effc1f7579a8288c9f7873ed8e5 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: ^2.1.0 + checksum: 2478859ef817fc5d4e9c2f9e5728512ddd1dbc9fb7829ad263765bb6d3b91ce699d6e2332eef6b7dff183c2f490bd3349f1666427eaba4469fba0ac38dfd0d34 + languageName: node + linkType: hard + +"open@npm:8.4.0, open@npm:^8.0.9": + version: 8.4.0 + resolution: "open@npm:8.4.0" + dependencies: + define-lazy-prop: ^2.0.0 + is-docker: ^2.1.1 + is-wsl: ^2.2.0 + checksum: e9545bec64cdbf30a0c35c1bdc310344adf8428a117f7d8df3c0af0a0a24c513b304916a6d9b11db0190ff7225c2d578885080b761ed46a3d5f6f1eebb98b63c + languageName: node + linkType: hard + +"open@npm:^7.3.1": + version: 7.4.2 + resolution: "open@npm:7.4.2" + dependencies: + is-docker: ^2.0.0 + is-wsl: ^2.1.1 + checksum: 3333900ec0e420d64c23b831bc3467e57031461d843c801f569b2204a1acc3cd7b3ec3c7897afc9dde86491dfa289708eb92bba164093d8bd88fb2c231843c91 + languageName: node + linkType: hard + +"optionator@npm:^0.8.1": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.6 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + word-wrap: ~1.2.3 + checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 + languageName: node + linkType: hard + +"optionator@npm:^0.9.1": + version: 0.9.1 + resolution: "optionator@npm:0.9.1" + dependencies: + deep-is: ^0.1.3 + fast-levenshtein: ^2.0.6 + levn: ^0.4.1 + prelude-ls: ^1.2.1 + type-check: ^0.4.0 + word-wrap: ^1.2.3 + checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + languageName: node + linkType: hard + +"ora@npm:5.4.1, ora@npm:^5.4.1": + version: 5.4.1 + resolution: "ora@npm:5.4.1" + dependencies: + bl: ^4.1.0 + chalk: ^4.1.0 + cli-cursor: ^3.1.0 + cli-spinners: ^2.5.0 + is-interactive: ^1.0.0 + is-unicode-supported: ^0.1.0 + log-symbols: ^4.1.0 + strip-ansi: ^6.0.0 + wcwidth: ^1.0.1 + checksum: 28d476ee6c1049d68368c0dc922e7225e3b5600c3ede88fade8052837f9ed342625fdaa84a6209302587c8ddd9b664f71f0759833cbdb3a4cf81344057e63c63 + languageName: node + linkType: hard + +"os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d + languageName: node + linkType: hard + +"ospath@npm:^1.2.2": + version: 1.2.2 + resolution: "ospath@npm:1.2.2" + checksum: 505f48a4f4f1c557d6c656ec985707726e3714721680139be037613e903aa8c8fa4ddd8d1342006f9b2dc0065e6e20f8b7bea2ee05354f31257044790367b347 + languageName: node + linkType: hard + +"p-cancelable@npm:^1.0.0": + version: 1.1.0 + resolution: "p-cancelable@npm:1.1.0" + checksum: 2db3814fef6d9025787f30afaee4496a8857a28be3c5706432cbad76c688a6db1874308f48e364a42f5317f5e41e8e7b4f2ff5c8ff2256dbb6264bc361704ece + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: ^2.0.0 + checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + languageName: node + linkType: hard + +"p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: ^0.1.0 + checksum: 7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: ^2.0.0 + checksum: 83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: ^2.2.0 + checksum: 513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c + languageName: node + linkType: hard + +"p-retry@npm:^4.5.0": + version: 4.6.2 + resolution: "p-retry@npm:4.6.2" + dependencies: + "@types/retry": 0.12.0 + retry: ^0.13.1 + checksum: 45c270bfddaffb4a895cea16cb760dcc72bdecb6cb45fef1971fa6ea2e91ddeafddefe01e444ac73e33b1b3d5d29fb0dd18a7effb294262437221ddc03ce0f2e + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae + languageName: node + linkType: hard + +"package-json@npm:^6.3.0": + version: 6.5.0 + resolution: "package-json@npm:6.5.0" + dependencies: + got: ^9.6.0 + registry-auth-token: ^4.0.0 + registry-url: ^5.0.0 + semver: ^6.2.0 + checksum: cc9f890d3667d7610e6184decf543278b87f657d1ace0deb4a9c9155feca738ef88f660c82200763d3348010f4e42e9c7adc91e96ab0f86a770955995b5351e2 + languageName: node + linkType: hard + +"pacote@npm:12.0.3": + version: 12.0.3 + resolution: "pacote@npm:12.0.3" + dependencies: + "@npmcli/git": ^2.1.0 + "@npmcli/installed-package-contents": ^1.0.6 + "@npmcli/promise-spawn": ^1.2.0 + "@npmcli/run-script": ^2.0.0 + cacache: ^15.0.5 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + infer-owner: ^1.0.4 + minipass: ^3.1.3 + mkdirp: ^1.0.3 + npm-package-arg: ^8.0.1 + npm-packlist: ^3.0.0 + npm-pick-manifest: ^6.0.0 + npm-registry-fetch: ^12.0.0 + promise-retry: ^2.0.1 + read-package-json-fast: ^2.0.1 + rimraf: ^3.0.2 + ssri: ^8.0.1 + tar: ^6.1.0 + bin: + pacote: lib/bin.js + checksum: 730e2b344619daff078b1f7c085c2da3b1417f1667204384cba981409098af2375b130a6470f75ea22f09b83c00fe227143b68e50d0dd7ff972e28a697b9c1d5 + languageName: node + linkType: hard + +"pako@npm:^1.0.3": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: ^3.0.0 + checksum: 6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": ^7.0.0 + error-ex: ^1.3.1 + json-parse-even-better-errors: ^2.3.0 + lines-and-columns: ^1.1.6 + checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + languageName: node + linkType: hard + +"parse-node-version@npm:^1.0.1": + version: 1.0.1 + resolution: "parse-node-version@npm:1.0.1" + checksum: c192393b6a978092c1ef8df2c42c0a02e4534b96543e23d335f1b9b5b913ac75473d18fe6050b58d6995c57fb383ee71a5cb8397e363caaf38a6df8215cc52fd + languageName: node + linkType: hard + +"parse5-html-rewriting-stream@npm:6.0.1": + version: 6.0.1 + resolution: "parse5-html-rewriting-stream@npm:6.0.1" + dependencies: + parse5: ^6.0.1 + parse5-sax-parser: ^6.0.1 + checksum: 41b8c8ac611e2d478fe46fabb6b624b939bede68dc095beaf4e0a014cc095f0cb12cff62200f3cd39374b62ba91b8284f6c49d4bea8bc398085182408e2a2f5d + languageName: node + linkType: hard + +"parse5-htmlparser2-tree-adapter@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5-htmlparser2-tree-adapter@npm:6.0.1" + dependencies: + parse5: ^6.0.1 + checksum: 1848378b355d027915645c13f13f982e60502d201f53bc2067a508bf2dba4aac08219fc781dcd160167f5f50f0c73f58d20fa4fb3d90ee46762c20234fa90a6d + languageName: node + linkType: hard + +"parse5-sax-parser@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5-sax-parser@npm:6.0.1" + dependencies: + parse5: ^6.0.1 + checksum: c62961aeac04a1fc4a6ce1053520da935694abb877d2b8284258361768b10c424e2c1a25aec22aa1e7841d36a74caddf79a0544020bdb43c7d57f90a5f7bacca + languageName: node + linkType: hard + +"parse5@npm:6.0.1, parse5@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd + languageName: node + linkType: hard + +"parse5@npm:^5.0.0": + version: 5.1.1 + resolution: "parse5@npm:5.1.1" + checksum: 613a714af4c1101d1cb9f7cece2558e35b9ae8a0c03518223a4a1e35494624d9a9ad5fad4c13eab66a0e0adccd9aa3d522fc8f5f9cc19789e0579f3fa0bdfc65 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + languageName: node + linkType: hard + +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 6c72f5243303d9c60bd98e6446ba7d30ae29e3d56fdb6fae8767e8ba6386f33ee284c97efe3230a0d0217e2b1723b8ab490b1bbf34fcbb2180dbc8a9de47850d + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 534e641aa8f7cba160f0afec0599b6cecefbb516a2e837b512be0adbe6c1da5550e89c78059c7fabc5c9ffdf6627edabe23eb7c518c4500067a898fa65c2b550 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf + languageName: node + linkType: hard + +"pidtree@npm:^0.5.0": + version: 0.5.0 + resolution: "pidtree@npm:0.5.0" + bin: + pidtree: bin/pidtree.js + checksum: 371cd14bbc9bdee2a6a44596dd521dd3565e223481e0b1afffdca3f1c29831850bfa7784114dc30d245d37e7d186cec035e036256b39f75d878d19498fe0df6a + languageName: node + linkType: hard + +"pify@npm:^2.2.0, pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b + languageName: node + linkType: hard + +"pirates@npm:^4.0.4, pirates@npm:^4.0.5": + version: 4.0.5 + resolution: "pirates@npm:4.0.5" + checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 + languageName: node + linkType: hard + +"piscina@npm:3.2.0": + version: 3.2.0 + resolution: "piscina@npm:3.2.0" + dependencies: + eventemitter-asyncresource: ^1.0.0 + hdr-histogram-js: ^2.0.1 + hdr-histogram-percentiles-obj: ^3.0.0 + nice-napi: ^1.0.2 + dependenciesMeta: + nice-napi: + optional: true + checksum: c1980c7d45d85f53265652dd2fc62a2b9e9d2321f5bbb9fc1796edb9c1324bb77c153e823a0d6454c3c35098820efedff584737cc282207480afe478a3b8a166 + languageName: node + linkType: hard + +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: ^3.0.0 + checksum: 70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: ^4.0.0 + checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 + languageName: node + linkType: hard + +"portfinder@npm:^1.0.28": + version: 1.0.29 + resolution: "portfinder@npm:1.0.29" + dependencies: + async: ^2.6.4 + debug: ^3.2.7 + mkdirp: ^0.5.6 + checksum: b39cfb60334c79208dc30746fce5d241a9fa03a73b7f1b6b02972b17ee17579fb837a663a933607fb0f12a04f3a95c95aa50cde60836bae5b172588890cfb675 + languageName: node + linkType: hard + +"postcss-attribute-case-insensitive@npm:^5.0.0": + version: 5.0.2 + resolution: "postcss-attribute-case-insensitive@npm:5.0.2" + dependencies: + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: c0b8139f37e68dba372724cba03a53c30716224f0085f98485cada99489beb7c3da9d598ffc1d81519b59d9899291712c9041c250205e6ec0b034bb2c144dcf9 + languageName: node + linkType: hard + +"postcss-color-functional-notation@npm:^4.2.1": + version: 4.2.4 + resolution: "postcss-color-functional-notation@npm:4.2.4" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: b763e164fe3577a1de96f75e4bf451585c4f80b8ce60799763a51582cc9402d76faed57324a5d5e5556d90ca7ea0ebde565acb820c95e04bee6f36a91b019831 + languageName: node + linkType: hard + +"postcss-color-hex-alpha@npm:^8.0.2": + version: 8.0.4 + resolution: "postcss-color-hex-alpha@npm:8.0.4" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.4 + checksum: a2f3173a60176cf0aea3b7ebbc799b2cb08229127f0fff708fa31efa14e4ded47ca49aff549d8ed92e74ffe24adee32d5b9d557dbde0524fde5fe389bc520b4e + languageName: node + linkType: hard + +"postcss-color-rebeccapurple@npm:^7.0.2": + version: 7.1.1 + resolution: "postcss-color-rebeccapurple@npm:7.1.1" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 03482f9b8170da0fa014c41a5d88bce7b987471fb73fc456d397222a2455c89ac7f974dd6ddf40fd31907e768aad158057164b7c5f62cee63a6ecf29d47d7467 + languageName: node + linkType: hard + +"postcss-custom-media@npm:^8.0.0": + version: 8.0.2 + resolution: "postcss-custom-media@npm:8.0.2" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.3 + checksum: 887bbbacf6f8fab688123796e5dc1e8283b99f21e4c674235bd929dc8018c50df8634ea08932033ec93baaca32670ef2b87e6632863e0b4d84847375dbde9366 + languageName: node + linkType: hard + +"postcss-custom-properties@npm:^12.1.2": + version: 12.1.8 + resolution: "postcss-custom-properties@npm:12.1.8" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.4 + checksum: 4615b8181fe61c2df9f3a739b3257a9d76d00088c8fc3c502a59de52b25ab90be3d65ece8d372bcd1f9f8ba6bb99da5075707f9f11cb3522826a5d3553265ee5 + languageName: node + linkType: hard + +"postcss-custom-selectors@npm:^6.0.0": + version: 6.0.3 + resolution: "postcss-custom-selectors@npm:6.0.3" + dependencies: + postcss-selector-parser: ^6.0.4 + peerDependencies: + postcss: ^8.3 + checksum: 18080d60a8a77a76d8ddff185104d65418fffd02bbf9824499f807ced7941509ba63828ab8fe3ec1d6b0d6c72a482bb90a79d79cdef58e5f4b30113cca16e69b + languageName: node + linkType: hard + +"postcss-dir-pseudo-class@npm:^6.0.3": + version: 6.0.5 + resolution: "postcss-dir-pseudo-class@npm:6.0.5" + dependencies: + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: 7810c439d8d1a9072c00f8ab39261a1492873ad170425745bd2819c59767db2f352f906588fc2a7d814e91117900563d7e569ecd640367c7332b26b9829927ef + languageName: node + linkType: hard + +"postcss-double-position-gradients@npm:^3.0.4": + version: 3.1.2 + resolution: "postcss-double-position-gradients@npm:3.1.2" + dependencies: + "@csstools/postcss-progressive-custom-properties": ^1.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: ca09bf2aefddc180f1c1413f379eef30d492b8147543413f7251216f23f413c394b2ed10b7cd255e87b18e0c8efe36087ea8b9bfb26a09813f9607a0b8e538b6 + languageName: node + linkType: hard + +"postcss-env-function@npm:^4.0.4": + version: 4.0.6 + resolution: "postcss-env-function@npm:4.0.6" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.4 + checksum: 645b2363cfa21be9dcce7fe4a0f172f0af70c00d6a4c1eb3d7ff7e9cfe26d569e291ec2533114d77b12d610023cd168a92d62c38f2fc969fa333b5ae2bff5ffe + languageName: node + linkType: hard + +"postcss-focus-visible@npm:^6.0.3": + version: 6.0.4 + resolution: "postcss-focus-visible@npm:6.0.4" + dependencies: + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 + checksum: acd010b9ddef9b86ffb5fa604c13515ba83e18bc5118dad0a1281150f412aa0ece056c2c5ac56b55e2599f53ab0f740f5ebfdc51e1f5cfe43b8130bac0096fcc + languageName: node + linkType: hard + +"postcss-focus-within@npm:^5.0.3": + version: 5.0.4 + resolution: "postcss-focus-within@npm:5.0.4" + dependencies: + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 + checksum: f23d8ab757345a6deaa807d76e10c88caf4b771c38b60e1593b24aee161c503b5823620e89302226a6ae5e7afdb6ac31809241291912e4176eb594a7ddcc9521 + languageName: node + linkType: hard + +"postcss-font-variant@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-font-variant@npm:5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: a19286589261c2bc3e20470486e1ee3b4daf34271c5020167f30856c9b30c26f23264307cb97a184d503814e1b8c5d8a1f9f64a14fd4fd9551c173dca9424695 + languageName: node + linkType: hard + +"postcss-gap-properties@npm:^3.0.2": + version: 3.0.5 + resolution: "postcss-gap-properties@npm:3.0.5" + peerDependencies: + postcss: ^8.2 + checksum: aed559d6d375203a08a006c9ae8cf5ae90d9edaec5cadd20fe65c1b8ce63c2bc8dfe752d4331880a6e24a300541cde61058be790b7bd9b5d04d470c250fbcd39 + languageName: node + linkType: hard + +"postcss-image-set-function@npm:^4.0.4": + version: 4.0.7 + resolution: "postcss-image-set-function@npm:4.0.7" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 7e509330986de14250ead1a557e8da8baaf66ebe8a40354a5dff60ab40d99a483d92aa57d52713251ca1adbf0055ef476c5702b0d0ba5f85a4f407367cdabac0 + languageName: node + linkType: hard + +"postcss-import@npm:14.0.2": + version: 14.0.2 + resolution: "postcss-import@npm:14.0.2" + dependencies: + postcss-value-parser: ^4.0.0 + read-cache: ^1.0.0 + resolve: ^1.1.7 + peerDependencies: + postcss: ^8.0.0 + checksum: e9f42b5956b1231f8516da11268021222d61969befc142bb7d0a65d9d3e53bdc574e51486b6ffdf72c0b395ce19060663eab5b5504b3d0855c173357425f9fb5 + languageName: node + linkType: hard + +"postcss-initial@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-initial@npm:4.0.1" + peerDependencies: + postcss: ^8.0.0 + checksum: 6956953853865de79c39d11533a2860e9f38b770bb284d0010d98a00b9469e22de344e4e5fd8208614d797030487e8918dd2f2c37d9e24d4dd59d565d4fc3e12 + languageName: node + linkType: hard + +"postcss-lab-function@npm:^4.0.3": + version: 4.2.1 + resolution: "postcss-lab-function@npm:4.2.1" + dependencies: + "@csstools/postcss-progressive-custom-properties": ^1.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 26ac74b430011271b5581beba69b2cd788f56375fcb64c90f6ec1577379af85f6022dc38c410ff471dac520c7ddc289160a6a16cca3c7ff76f5af7e90d31eaa3 + languageName: node + linkType: hard + +"postcss-loader@npm:6.2.1": + version: 6.2.1 + resolution: "postcss-loader@npm:6.2.1" + dependencies: + cosmiconfig: ^7.0.0 + klona: ^2.0.5 + semver: ^7.3.5 + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + checksum: e40ae79c3e39df37014677a817b001bd115d8b10dedf53a07b97513d93b1533cd702d7a48831bdd77b9a9484b1ec84a5d4a723f80e83fb28682c75b5e65e8a90 + languageName: node + linkType: hard + +"postcss-logical@npm:^5.0.3": + version: 5.0.4 + resolution: "postcss-logical@npm:5.0.4" + peerDependencies: + postcss: ^8.4 + checksum: 17c71291ed6a03883a5aa54b9923b874c32710707d041a0f0752e6febdb09dee5d2abf4ef271978d932e4a4c948f349bb23edf633c03e3427ba15e71bfc66ac7 + languageName: node + linkType: hard + +"postcss-media-minmax@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-media-minmax@npm:5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 2cd7283e07a1ac1acdcc3ecbaa0e9932f8d1e7647e7aeb14d91845fcb890d60d7257ec70c825cae8d48ae80a08cc77ebc4021a0dfa32360e0cd991e2bc021607 + languageName: node + linkType: hard + +"postcss-media-query-parser@npm:^0.2.3": + version: 0.2.3 + resolution: "postcss-media-query-parser@npm:0.2.3" + checksum: 8000d4d95b912994928ff86137f5ab0ed4c4ee1498af2336e93d708ae8827a690cd7acbaed55d14684cf44d82c8d44b031c1c69ae6bcd2f9620ea67573888090 + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-extract-imports@npm:3.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 4b65f2f1382d89c4bc3c0a1bdc5942f52f3cb19c110c57bd591ffab3a5fee03fcf831604168205b0c1b631a3dce2255c70b61aaae3ef39d69cd7eb450c2552d2 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-local-by-default@npm:4.0.0" + dependencies: + icss-utils: ^5.0.0 + postcss-selector-parser: ^6.0.2 + postcss-value-parser: ^4.1.0 + peerDependencies: + postcss: ^8.1.0 + checksum: 6cf570badc7bc26c265e073f3ff9596b69bb954bc6ac9c5c1b8cba2995b80834226b60e0a3cbb87d5f399dbb52e6466bba8aa1d244f6218f99d834aec431a69d + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-scope@npm:3.0.0" + dependencies: + postcss-selector-parser: ^6.0.4 + peerDependencies: + postcss: ^8.1.0 + checksum: 330b9398dbd44c992c92b0dc612c0626135e2cc840fee41841eb61247a6cfed95af2bd6f67ead9dd9d0bb41f5b0367129d93c6e434fa3e9c58ade391d9a5a138 + languageName: node + linkType: hard + +"postcss-modules-values@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-values@npm:4.0.0" + dependencies: + icss-utils: ^5.0.0 + peerDependencies: + postcss: ^8.1.0 + checksum: f7f2cdf14a575b60e919ad5ea52fed48da46fe80db2733318d71d523fc87db66c835814940d7d05b5746b0426e44661c707f09bdb83592c16aea06e859409db6 + languageName: node + linkType: hard + +"postcss-nesting@npm:^10.1.2": + version: 10.1.10 + resolution: "postcss-nesting@npm:10.1.10" + dependencies: + "@csstools/selector-specificity": ^2.0.0 + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: fffaf42aaa1f7cc9c381c6be9c0b6a69a50ed1a5f0fc21a430bdb501ce1eb3767a6b6ed981ea830e62c29ce7c32b5180b91d99b6eeca755309131c95af025eed + languageName: node + linkType: hard + +"postcss-overflow-shorthand@npm:^3.0.2": + version: 3.0.4 + resolution: "postcss-overflow-shorthand@npm:3.0.4" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 74009022491e3901263f8f5811630393480323e51f5d23ef17f3fdc7e03bf9c2502a632f3ba8fe6a468b57590f13b2fa3b17a68ef19653589e76277607696743 + languageName: node + linkType: hard + +"postcss-page-break@npm:^3.0.4": + version: 3.0.4 + resolution: "postcss-page-break@npm:3.0.4" + peerDependencies: + postcss: ^8 + checksum: a7d08c945fc691f62c77ac701e64722218b14ec5c8fc1972b8af9c21553492d40808cf95e61b9697b1dacaf7e6180636876d7fee314f079e6c9e39ac1b1edc6f + languageName: node + linkType: hard + +"postcss-place@npm:^7.0.3": + version: 7.0.5 + resolution: "postcss-place@npm:7.0.5" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 903fec0c313bb7ec20f2c8f0a125866fb7804aa3186b5b2c7c2d58cb9039ff301461677a060e9db643d1aaffaf80a0ff71e900a6da16705dad6b49c804cb3c73 + languageName: node + linkType: hard + +"postcss-preset-env@npm:7.2.3": + version: 7.2.3 + resolution: "postcss-preset-env@npm:7.2.3" + dependencies: + autoprefixer: ^10.4.2 + browserslist: ^4.19.1 + caniuse-lite: ^1.0.30001299 + css-blank-pseudo: ^3.0.2 + css-has-pseudo: ^3.0.3 + css-prefers-color-scheme: ^6.0.2 + cssdb: ^5.0.0 + postcss-attribute-case-insensitive: ^5.0.0 + postcss-color-functional-notation: ^4.2.1 + postcss-color-hex-alpha: ^8.0.2 + postcss-color-rebeccapurple: ^7.0.2 + postcss-custom-media: ^8.0.0 + postcss-custom-properties: ^12.1.2 + postcss-custom-selectors: ^6.0.0 + postcss-dir-pseudo-class: ^6.0.3 + postcss-double-position-gradients: ^3.0.4 + postcss-env-function: ^4.0.4 + postcss-focus-visible: ^6.0.3 + postcss-focus-within: ^5.0.3 + postcss-font-variant: ^5.0.0 + postcss-gap-properties: ^3.0.2 + postcss-image-set-function: ^4.0.4 + postcss-initial: ^4.0.1 + postcss-lab-function: ^4.0.3 + postcss-logical: ^5.0.3 + postcss-media-minmax: ^5.0.0 + postcss-nesting: ^10.1.2 + postcss-overflow-shorthand: ^3.0.2 + postcss-page-break: ^3.0.4 + postcss-place: ^7.0.3 + postcss-pseudo-class-any-link: ^7.0.2 + postcss-replace-overflow-wrap: ^4.0.0 + postcss-selector-not: ^5.0.0 + peerDependencies: + postcss: ^8.4 + checksum: ee2f3a1e7855817b22e0aa44174d2efce0db8da92c6bfa40cfc97f9c27d77c843486879f7fc3ecbb700e9571b3cb9d8d37a3ff77d419ed34eddc90e64aef849c + languageName: node + linkType: hard + +"postcss-pseudo-class-any-link@npm:^7.0.2": + version: 7.1.6 + resolution: "postcss-pseudo-class-any-link@npm:7.1.6" + dependencies: + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: 43aa18ea1ef1b168f61310856dd92f46ceb3dc60b6cf820e079ca1a849df5cc0f12a1511bdc1811a23f03d60ddcc959200c80c3f9a7b57feebe32bab226afb39 + languageName: node + linkType: hard + +"postcss-replace-overflow-wrap@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-replace-overflow-wrap@npm:4.0.0" + peerDependencies: + postcss: ^8.0.3 + checksum: 3ffe20b300a4c377a11c588b142740d8557e03c707474c45234c934190ac374750ddc92c7906c373471d273a20504a429c2062c21fdcaff830fb28e0a81ac1dc + languageName: node + linkType: hard + +"postcss-resolve-nested-selector@npm:^0.1.1": + version: 0.1.1 + resolution: "postcss-resolve-nested-selector@npm:0.1.1" + checksum: b08fb76ab092a09ee01328bad620a01dcb445ac5eb02dd0ed9ed75217c2f779ecb3bf99a361c46e695689309c08c09f1a1ad7354c8d58c2c2c40d364657fcb08 + languageName: node + linkType: hard + +"postcss-safe-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-safe-parser@npm:6.0.0" + peerDependencies: + postcss: ^8.3.3 + checksum: 06c733eaad83a3954367e7ee02ddfe3796e7a44d4299ccf9239f40964a4daac153c7d77613f32964b5a86c0c6c2f6167738f31d578b73b17cb69d0c4446f0ebe + languageName: node + linkType: hard + +"postcss-scss@npm:^4.0.2": + version: 4.0.4 + resolution: "postcss-scss@npm:4.0.4" + peerDependencies: + postcss: ^8.3.3 + checksum: b4f240dd5eeb0c21738b673d9caf9a06b9a6db665a5b1c815ee4ca10c4c74a67c54f11cd5a4970dea98475cbb9e6d846e05dd3e48924189c2ecbf1f50cd44aa4 + languageName: node + linkType: hard + +"postcss-selector-not@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-selector-not@npm:5.0.0" + dependencies: + balanced-match: ^1.0.0 + peerDependencies: + postcss: ^8.1.0 + checksum: eb7bdfdd665b2f0db660d4a2061f103b96d7c326a4b9d6241d55bf32bdcd1f5defaa4c8251123c73e1bcc75dad5a2ce77c520e42ce26ecd1e42f2f842baa155f + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.6, postcss-selector-parser@npm:^6.0.9": + version: 6.0.10 + resolution: "postcss-selector-parser@npm:6.0.10" + dependencies: + cssesc: ^3.0.0 + util-deprecate: ^1.0.2 + checksum: 46afaa60e3d1998bd7adf6caa374baf857cc58d3ff944e29459c9a9e4680a7fe41597bd5b755fc81d7c388357e9bf67c0251d047c640a09f148e13606b8a8608 + languageName: node + linkType: hard + +"postcss-sorting@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-sorting@npm:7.0.1" + peerDependencies: + postcss: ^8.3.9 + checksum: 79cca6703ef7c60ea913c3bfb91f85bd7adce35e60b834a40cadd1c7e18f37961d63f0e641387651ee3bf1df1996e952d8fe443f93a271aa2d23f239ea3145bc + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f + languageName: node + linkType: hard + +"postcss@npm:8.4.5": + version: 8.4.5 + resolution: "postcss@npm:8.4.5" + dependencies: + nanoid: ^3.1.30 + picocolors: ^1.0.0 + source-map-js: ^1.0.1 + checksum: b78abdd89c10f7b48f4bdcd376104a19d6e9c7495ab521729bdb3df315af6c211360e9f06887ad3bc0ab0f61a04b91d68ea11462997c79cced58b9ccd66fac07 + languageName: node + linkType: hard + +"postcss@npm:^8.2.14, postcss@npm:^8.2.15, postcss@npm:^8.2.4, postcss@npm:^8.3.11, postcss@npm:^8.3.6, postcss@npm:^8.3.7, postcss@npm:^8.4.14": + version: 8.4.16 + resolution: "postcss@npm:8.4.16" + dependencies: + nanoid: ^3.3.4 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: 10eee25efd77868036403858577da0cefaf2e0905feeaba5770d5438ccdddba3d01cba8063e96b8aac4c6daa0ed413dd5ae0554a433a3c4db38df1d134cffc1f + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: cd192ec0d0a8e4c6da3bb80e4f62afe336df3f76271ac6deb0e6a36187133b6073a19e9727a1ff108cd8b9982e4768850d413baa71214dd80c7979617dca827a + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 + languageName: node + linkType: hard + +"prepend-http@npm:^2.0.0": + version: 2.0.0 + resolution: "prepend-http@npm:2.0.0" + checksum: 7694a9525405447662c1ffd352fcb41b6410c705b739b6f4e3a3e21cf5fdede8377890088e8934436b8b17ba55365a615f153960f30877bf0d0392f9e93503ea + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: ^1.1.2 + checksum: 00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392 + languageName: node + linkType: hard + +"prettier@npm:^2.1.2": + version: 2.7.1 + resolution: "prettier@npm:2.7.1" + bin: + prettier: bin-prettier.js + checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + languageName: node + linkType: hard + +"pretty-bytes@npm:^5.3.0, pretty-bytes@npm:^5.6.0": + version: 5.6.0 + resolution: "pretty-bytes@npm:5.6.0" + checksum: 9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd + languageName: node + linkType: hard + +"pretty-format@npm:^27.0.0, pretty-format@npm:^27.5.1": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" + dependencies: + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^17.0.1 + checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 + languageName: node + linkType: hard + +"pretty-format@npm:^28.0.0, pretty-format@npm:^28.1.3": + version: 28.1.3 + resolution: "pretty-format@npm:28.1.3" + dependencies: + "@jest/schemas": ^28.1.3 + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^18.0.0 + checksum: e69f857358a3e03d271252d7524bec758c35e44680287f36c1cb905187fbc82da9981a6eb07edfd8a03bc3cbeebfa6f5234c13a3d5b59f2bbdf9b4c4053e0a7f + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf + languageName: node + linkType: hard + +"progress@npm:^2.0.0": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 22749483091d2c594261517f4f80e05226d4d5ecc1fc917e1886929da56e22b5718b7f2a75f3807e7a7d471bc3be2907fe92e6e8f373ddf5c64bae35b5af3981 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1, prompts@npm:~2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.5 + checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d + languageName: node + linkType: hard + +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 4d4826e1713cbfa0f15124ab0ae494c91b597a3c458670c9714c36e8baddf5a6aad22842776f2f5b137f259c8533e741771445eb8df82e861eea37a6eaba03f7 + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 + languageName: node + linkType: hard + +"proxy-from-env@npm:1.0.0": + version: 1.0.0 + resolution: "proxy-from-env@npm:1.0.0" + checksum: 292e28d1de0c315958d71d8315eb546dd3cd8c8cbc2dab7c54eeb9f5c17f421771964ad0b5e1f77011bab2305bdae42e1757ce33bdb1ccc3e87732322a8efcf1 + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 3bca2db0479fd38f8c4c9439139b0c42dcaadcc2fbb7bb8e0e6afaa1383457f1d19aea9e5f961d5b080f1cfc05bfa1fe9e45c97a1d3fd6d421950a73d3108381 + languageName: node + linkType: hard + +"pseudomap@npm:^1.0.2": + version: 1.0.2 + resolution: "pseudomap@npm:1.0.2" + checksum: 856c0aae0ff2ad60881168334448e898ad7a0e45fe7386d114b150084254c01e200c957cf378378025df4e052c7890c5bd933939b0e0d2ecfcc1dc2f0b2991f5 + languageName: node + linkType: hard + +"psl@npm:^1.1.28, psl@npm:^1.1.33": + version: 1.9.0 + resolution: "psl@npm:1.9.0" + checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 + languageName: node + linkType: hard + +"pupa@npm:^2.1.1": + version: 2.1.1 + resolution: "pupa@npm:2.1.1" + dependencies: + escape-goat: ^2.0.0 + checksum: 49529e50372ffdb0cccf0efa0f3b3cb0a2c77805d0d9cc2725bd2a0f6bb414631e61c93a38561b26be1259550b7bb6c2cb92315aa09c8bf93f3bdcb49f2b2fb7 + languageName: node + linkType: hard + +"q@npm:1.5.1": + version: 1.5.1 + resolution: "q@npm:1.5.1" + checksum: 147baa93c805bc1200ed698bdf9c72e9e42c05f96d007e33a558b5fdfd63e5ea130e99313f28efc1783e90e6bdb4e48b67a36fcc026b7b09202437ae88a1fb12 + languageName: node + linkType: hard + +"qs@npm:6.10.3": + version: 6.10.3 + resolution: "qs@npm:6.10.3" + dependencies: + side-channel: ^1.0.4 + checksum: 0fac5e6c7191d0295a96d0e83c851aeb015df7e990e4d3b093897d3ac6c94e555dbd0a599739c84d7fa46d7fee282d94ba76943983935cf33bba6769539b8019 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.3 + resolution: "qs@npm:6.5.3" + checksum: 6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692 + languageName: node + linkType: hard + +"querystringify@npm:^2.1.1": + version: 2.2.0 + resolution: "querystringify@npm:2.2.0" + checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 + languageName: node + linkType: hard + +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: bea46e1abfaa07023e047d3cf1716a06172c4947886c053ede5c50321893711577cb6119360f810cc3ffcd70c4d7db4069c3cee876b358ceff8596e062bd1154 + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: d779499376bd4cbb435ef3ab9a957006c8682f343f14089ed5f27764e4645114196e75b7f6abf1cbd84fd247c0cb0651698444df8c9bf30e62120fbbc52269d6 + languageName: node + linkType: hard + +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 + languageName: node + linkType: hard + +"raw-body@npm:2.5.1": + version: 2.5.1 + resolution: "raw-body@npm:2.5.1" + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: 5362adff1575d691bb3f75998803a0ffed8c64eabeaa06e54b4ada25a0cd1b2ae7f4f5ec46565d1bec337e08b5ac90c76eaa0758de6f72a633f025d754dec29e + languageName: node + linkType: hard + +"raw-loader@npm:4.0.2": + version: 4.0.2 + resolution: "raw-loader@npm:4.0.2" + dependencies: + loader-utils: ^2.0.0 + schema-utils: ^3.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 51cc1b0d0e8c37c4336b5318f3b2c9c51d6998ad6f56ea09612afcfefc9c1f596341309e934a744ae907177f28efc9f1654eacd62151e82853fcc6d37450e795 + languageName: node + linkType: hard + +"rc@npm:1.2.8, rc@npm:^1.2.8": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: ^0.6.0 + ini: ~1.3.0 + minimist: ^1.2.0 + strip-json-comments: ~2.0.1 + bin: + rc: ./cli.js + checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e + languageName: node + linkType: hard + +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: ^2.3.0 + checksum: cffc728b9ede1e0667399903f9ecaf3789888b041c46ca53382fa3a06303e5132774dc0a96d0c16aa702dbac1ea0833d5a868d414f5ab2af1e1438e19e6657c6 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^2.0.1": + version: 2.0.3 + resolution: "read-package-json-fast@npm:2.0.3" + dependencies: + json-parse-even-better-errors: ^2.3.0 + npm-normalize-package-bin: ^1.0.1 + checksum: fca37b3b2160b9dda7c5588b767f6a2b8ce68d03a044000e568208e20bea0cf6dd2de17b90740ce8da8b42ea79c0b3859649dadf29510bbe77224ea65326a903 + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: ^4.1.0 + read-pkg: ^5.2.0 + type-fest: ^0.8.1 + checksum: e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 + languageName: node + linkType: hard + +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": ^2.4.0 + normalize-package-data: ^2.5.0 + parse-json: ^5.0.0 + type-fest: ^0.6.0 + checksum: eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 + languageName: node + linkType: hard + +"readable-stream@npm:3, readable-stream@npm:^3.0.6, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + languageName: node + linkType: hard + +"readable-stream@npm:>=1.0.33-1 <1.1.0-0": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 + languageName: node + linkType: hard + +"readable-stream@npm:^1.0.33, readable-stream@npm:~1.1.9": + version: 1.1.14 + resolution: "readable-stream@npm:1.1.14" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 17dfeae3e909945a4a1abc5613ea92d03269ef54c49288599507fc98ff4615988a1c39a999dcf9aacba70233d9b7040bc11a5f2bfc947e262dedcc0a8b32b5a0 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.1": + version: 2.3.7 + resolution: "readable-stream@npm:2.3.7" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: e4920cf7549a60f8aaf694d483a0e61b2a878b969d224f89b3bc788b8d920075132c4b55a7494ee944c7b6a9a0eada28a7f6220d80b0312ece70bbf08eeca755 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: ^2.2.1 + checksum: 1ced032e6e45670b6d7352d71d21ce7edf7b9b928494dcaba6f11fba63180d9da6cd7061ebc34175ffda6ff529f481818c962952004d273178acd70f7059b320 + languageName: node + linkType: hard + +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: ^4.0.0 + strip-indent: ^3.0.0 + checksum: fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b + languageName: node + linkType: hard + +"reflect-metadata@npm:^0.1.2": + version: 0.1.13 + resolution: "reflect-metadata@npm:0.1.13" + checksum: 798d379a7b6f6455501145419505c97dd11cbc23857a386add2b9ef15963ccf15a48d9d15507afe01d4cd74116df8a213247200bac00320bd7c11ddeaa5e8fb4 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.0.1": + version: 10.0.1 + resolution: "regenerate-unicode-properties@npm:10.0.1" + dependencies: + regenerate: ^1.4.2 + checksum: 1b638b7087d8143e5be3e20e2cda197ea0440fa0bc2cc49646b2f50c5a2b1acdc54b21e4215805a5a2dd487c686b2291accd5ad00619534098d2667e76247754 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 3317a09b2f802da8db09aa276e469b57a6c0dd818347e05b8862959c6193408242f150db5de83c12c3fa99091ad95fb42a6db2c3329bfaa12a0ea4cbbeb30cb0 + languageName: node + linkType: hard + +"regenerator-runtime@npm:0.13.9, regenerator-runtime@npm:^0.13.4": + version: 0.13.9 + resolution: "regenerator-runtime@npm:0.13.9" + checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.15.0": + version: 0.15.0 + resolution: "regenerator-transform@npm:0.15.0" + dependencies: + "@babel/runtime": ^7.8.4 + checksum: 86e54849ab1167618d28bb56d214c52a983daf29b0d115c976d79840511420049b6b42c9ebdf187defa8e7129bdd74b6dd266420d0d3868c9fa7f793b5d15d49 + languageName: node + linkType: hard + +"regex-parser@npm:^2.2.11": + version: 2.2.11 + resolution: "regex-parser@npm:2.2.11" + checksum: 78200331ec0cc372302d287a4946c38681eb5fe435453fca572cb53cac0ba579e5eb3b9e25eac24c0c80a555fb3ea7a637814a35da1e9bc88e8819110ae5de24 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.2.0": + version: 1.4.3 + resolution: "regexp.prototype.flags@npm:1.4.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + functions-have-names: ^1.2.2 + checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + languageName: node + linkType: hard + +"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0, regexpp@npm:^3.2.0": + version: 3.2.0 + resolution: "regexpp@npm:3.2.0" + checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 + languageName: node + linkType: hard + +"regexpu-core@npm:^5.1.0": + version: 5.1.0 + resolution: "regexpu-core@npm:5.1.0" + dependencies: + regenerate: ^1.4.2 + regenerate-unicode-properties: ^10.0.1 + regjsgen: ^0.6.0 + regjsparser: ^0.8.2 + unicode-match-property-ecmascript: ^2.0.0 + unicode-match-property-value-ecmascript: ^2.0.0 + checksum: 7b4eb8d182d9d10537a220a93138df5bc7eaf4ed53e36b95e8427d33ed8a2b081468f1a15d3e5fcee66517e1df7f5ca180b999e046d060badd97150f2ffe87b2 + languageName: node + linkType: hard + +"registry-auth-token@npm:^4.0.0": + version: 4.2.2 + resolution: "registry-auth-token@npm:4.2.2" + dependencies: + rc: 1.2.8 + checksum: c5030198546ecfdcbcb0722cbc3e260c4f5f174d8d07bdfedd4620e79bfdf17a2db735aa230d600bd388fce6edd26c0a9ed2eb7e9b4641ec15213a28a806688b + languageName: node + linkType: hard + +"registry-url@npm:^5.0.0": + version: 5.1.0 + resolution: "registry-url@npm:5.1.0" + dependencies: + rc: ^1.2.8 + checksum: bcea86c84a0dbb66467b53187fadebfea79017cddfb4a45cf27530d7275e49082fe9f44301976eb0164c438e395684bcf3dae4819b36ff9d1640d8cc60c73df9 + languageName: node + linkType: hard + +"regjsgen@npm:^0.6.0": + version: 0.6.0 + resolution: "regjsgen@npm:0.6.0" + checksum: c5158ebd735e75074e41292ade1ff05d85566d205426cc61501e360c450a63baced8512ee3ae238e5c0a0e42969563c7875b08fa69d6f0402daf36bcb3e4d348 + languageName: node + linkType: hard + +"regjsparser@npm:^0.8.2": + version: 0.8.4 + resolution: "regjsparser@npm:0.8.4" + dependencies: + jsesc: ~0.5.0 + bin: + regjsparser: bin/parser + checksum: d069b932491761cda127ce11f6bd2729c3b1b394a35200ec33f1199e937423db28ceb86cf33f0a97c76ecd7c0f8db996476579eaf0d80a1f74c1934f4ca8b27a + languageName: node + linkType: hard + +"request-progress@npm:^3.0.0": + version: 3.0.0 + resolution: "request-progress@npm:3.0.0" + dependencies: + throttleit: ^1.0.0 + checksum: 6ea1761dcc8a8b7b5894afd478c0286aa31bd69438d7050294bd4fd0d0b3e09b5cde417d38deef9c49809039c337d8744e4bb49d8632b0c3e4ffa5e8a687e0fd + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b + languageName: node + linkType: hard + +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 + languageName: node + linkType: hard + +"requireindex@npm:~1.2.0": + version: 1.2.0 + resolution: "requireindex@npm:1.2.0" + checksum: 50d8b10a1ff1fdf6aea7a1870bc7bd238b0fb1917d8d7ca17fd03afc38a65dcd7a8a4eddd031f89128b5f0065833d5c92c4fef67f2c04e8624057fe626c9cf94 + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: eee0e303adffb69be55d1a214e415cf42b7441ae858c76dfc5353148644f6fd6e698926fc4643f510d5c126d12a705e7c8ed7e38061113bdf37547ab356797ff + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: ^5.0.0 + checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + +"resolve-url-loader@npm:5.0.0": + version: 5.0.0 + resolution: "resolve-url-loader@npm:5.0.0" + dependencies: + adjust-sourcemap-loader: ^4.0.0 + convert-source-map: ^1.7.0 + loader-utils: ^2.0.0 + postcss: ^8.2.14 + source-map: 0.6.1 + checksum: 6d483733a4c26f75ce930a61943113bf730b5ba33a7186791cf1ae9c2ca02c3e94610bc6484ca008a372ee9e31750eccea74856a89daf1a29b8437ff564d27f2 + languageName: node + linkType: hard + +"resolve.exports@npm:^1.1.0": + version: 1.1.0 + resolution: "resolve.exports@npm:1.1.0" + checksum: 52865af8edb088f6c7759a328584a5de6b226754f004b742523adcfe398cfbc4559515104bc2ae87b8e78b1e4de46c9baec400b3fb1f7d517b86d2d48a098a2d + languageName: node + linkType: hard + +"resolve@npm:1.22.0": + version: 1.22.0 + resolution: "resolve@npm:1.22.0" + dependencies: + is-core-module: ^2.8.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: a2d14cc437b3a23996f8c7367eee5c7cf8149c586b07ca2ae00e96581ce59455555a1190be9aa92154785cf9f2042646c200d0e00e0bbd2b8a995a93a0ed3e4e + languageName: node + linkType: hard + +"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.20.0": + version: 1.22.1 + resolution: "resolve@npm:1.22.1" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e + languageName: node + linkType: hard + +"resolve@patch:resolve@1.22.0#~builtin": + version: 1.22.0 + resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" + dependencies: + is-core-module: ^2.8.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: c79ecaea36c872ee4a79e3db0d3d4160b593f2ca16e031d8283735acd01715a203607e9ded3f91f68899c2937fa0d49390cddbe0fb2852629212f3cda283f4a7 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin": + version: 1.22.1 + resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b + languageName: node + linkType: hard + +"responselike@npm:^1.0.2": + version: 1.0.2 + resolution: "responselike@npm:1.0.2" + dependencies: + lowercase-keys: ^1.0.0 + checksum: 2e9e70f1dcca3da621a80ce71f2f9a9cad12c047145c6ece20df22f0743f051cf7c73505e109814915f23f9e34fb0d358e22827723ee3d56b623533cab8eafcd + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: ^5.1.0 + signal-exit: ^3.0.2 + checksum: f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c + languageName: node + linkType: hard + +"retry@npm:^0.13.1": + version: 0.13.1 + resolution: "retry@npm:0.13.1" + checksum: 47c4d5be674f7c13eee4cfe927345023972197dbbdfba5d3af7e461d13b44de1bfd663bfc80d2f601f8ef3fc8164c16dd99655a221921954a65d044a2fc1233b + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc + languageName: node + linkType: hard + +"rfdc@npm:^1.3.0": + version: 1.3.0 + resolution: "rfdc@npm:1.3.0" + checksum: fb2ba8512e43519983b4c61bd3fa77c0f410eff6bae68b08614437bc3f35f91362215f7b4a73cbda6f67330b5746ce07db5dd9850ad3edc91271ad6deea0df32 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 + languageName: node + linkType: hard + +"rimraf@npm:~2.6.2": + version: 2.6.3 + resolution: "rimraf@npm:2.6.3" + dependencies: + glob: ^7.1.3 + bin: + rimraf: ./bin.js + checksum: 3ea587b981a19016297edb96d1ffe48af7e6af69660e3b371dbfc73722a73a0b0e9be5c88089fbeeb866c389c1098e07f64929c7414290504b855f54f901ab10 + languageName: node + linkType: hard + +"roboto-fontface@npm:0.10.0": + version: 0.10.0 + resolution: "roboto-fontface@npm:0.10.0" + checksum: 58749bb49133974aa72d79ab1928d5d0aa1df162daab7398cbceeadc1508d222054d2e81d41ab548361a785c5cd2da97159544c3acecc8a180030c91b504be3b + languageName: node + linkType: hard + +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 + languageName: node + linkType: hard + +"run-node@npm:2.0.0": + version: 2.0.0 + resolution: "run-node@npm:2.0.0" + bin: + run-node: run-node + checksum: 4eea7eb4814bba7b7d11633bc4059bba3685553e0ccc82c8fe5f0edefc9b68bd977b0cff0c25bf1d9c316aaafcebce530e48679b7dd19d48d749de36cf4b111f + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: ^1.2.2 + checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d + languageName: node + linkType: hard + +"rw@npm:1": + version: 1.3.3 + resolution: "rw@npm:1.3.3" + checksum: c20d82421f5a71c86a13f76121b751553a99cd4a70ea27db86f9b23f33db941f3f06019c30f60d50c356d0bd674c8e74764ac146ea55e217c091bde6fba82aa3 + languageName: node + linkType: hard + +"rxjs-compat@npm:6.6.7": + version: 6.6.7 + resolution: "rxjs-compat@npm:6.6.7" + checksum: a47339680d8da5ad8d00693ff75653deff99206ca9a12fc21c48d5dc88b972d0aed2dbcdf34b8f7ae52fe8817931f70a0e25a053ea75eb24802f2daf6c8a47b7 + languageName: node + linkType: hard + +"rxjs-report-usage@npm:^1.0.4": + version: 1.0.6 + resolution: "rxjs-report-usage@npm:1.0.6" + dependencies: + "@babel/parser": ^7.10.3 + "@babel/traverse": ^7.10.3 + "@babel/types": ^7.10.3 + bent: ~7.3.6 + chalk: ~4.1.0 + glob: ~7.2.0 + prompts: ~2.4.2 + bin: + rxjs-report-usage: bin/rxjs-report-usage + checksum: 7982c94659cd0527ffda6c3147300672fc2ee21cfbbe754575812cca0439240367dcfe630cbcb816287355f977acd0f80b1e5323fa81903bd486b91cf6c19787 + languageName: node + linkType: hard + +"rxjs@npm:6.6.7, rxjs@npm:^6.5.3, rxjs@npm:^6.6.0, rxjs@npm:^6.6.3": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: ^1.9.0 + checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b + languageName: node + linkType: hard + +"rxjs@npm:7.5.5": + version: 7.5.5 + resolution: "rxjs@npm:7.5.5" + dependencies: + tslib: ^2.1.0 + checksum: e034f60805210cce756dd2f49664a8108780b117cf5d0e2281506e9e6387f7b4f1532d974a8c8b09314fa7a16dd2f6cff3462072a5789672b5dcb45c4173f3c6 + languageName: node + linkType: hard + +"rxjs@npm:^7.2.0, rxjs@npm:^7.5.1, rxjs@npm:^7.5.4, rxjs@npm:^7.5.5": + version: 7.5.6 + resolution: "rxjs@npm:7.5.6" + dependencies: + tslib: ^2.1.0 + checksum: fc05f01364a74dac57490fb3e07ea63b422af04017fae1db641a009073f902ef69f285c5daac31359620dc8d9aee7d81e42b370ca2a8573d1feae0b04329383b + languageName: node + linkType: hard + +"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:^2.1.2, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"sass-loader@npm:12.4.0": + version: 12.4.0 + resolution: "sass-loader@npm:12.4.0" + dependencies: + klona: ^2.0.4 + neo-async: ^2.6.2 + peerDependencies: + fibers: ">= 3.1.0" + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + sass: ^1.3.0 + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + checksum: 0f7ca3633e7f61c412b0628766a9b57cb15f68def45e4303e68eb2f3a0722aec231956fbfd118489d93c997ab605470e89de8e3f7d6776830cc6366d9657d618 + languageName: node + linkType: hard + +"sass-loader@npm:13.0.0": + version: 13.0.0 + resolution: "sass-loader@npm:13.0.0" + dependencies: + klona: ^2.0.4 + neo-async: ^2.6.2 + peerDependencies: + fibers: ">= 3.1.0" + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + sass: ^1.3.0 + sass-embedded: "*" + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + checksum: f7af03813dccf0405eb02917cd10c97571ab81f42e9ea1f3da6d9e96991e076521809a452ad319d57c1a63273ce07c23ddfdbda5cd071a56d261dc28913afdaa + languageName: node + linkType: hard + +"sass@npm:1.49.9": + version: 1.49.9 + resolution: "sass@npm:1.49.9" + dependencies: + chokidar: ">=3.0.0 <4.0.0" + immutable: ^4.0.0 + source-map-js: ">=0.6.2 <2.0.0" + bin: + sass: sass.js + checksum: e5653e3499274c5127dcb5c9e7c5f6930378fc61764d999a5d8965782e027181ed09714f94836dec74ef55e3a858107fe6c571954c0cab0ad0be5ab8e586829c + languageName: node + linkType: hard + +"sass@npm:1.52.1": + version: 1.52.1 + resolution: "sass@npm:1.52.1" + dependencies: + chokidar: ">=3.0.0 <4.0.0" + immutable: ^4.0.0 + source-map-js: ">=0.6.2 <2.0.0" + bin: + sass: sass.js + checksum: a0508c88b149641202e8fb589f731e0cb09a15650128dfee6d0d1ee4a868cb57f1e71575535ccd72f54c5313b684a8beb208d293402ca8d32084ee1709d9f26d + languageName: node + linkType: hard + +"sax@npm:^1.2.4, sax@npm:~1.2.4": + version: 1.2.4 + resolution: "sax@npm:1.2.4" + checksum: d3df7d32b897a2c2f28e941f732c71ba90e27c24f62ee918bd4d9a8cfb3553f2f81e5493c7f0be94a11c1911b643a9108f231dd6f60df3fa9586b5d2e3e9e1fe + languageName: node + linkType: hard + +"saxes@npm:^5.0.1": + version: 5.0.1 + resolution: "saxes@npm:5.0.1" + dependencies: + xmlchars: ^2.2.0 + checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 + languageName: node + linkType: hard + +"schema-utils@npm:^2.6.5": + version: 2.7.1 + resolution: "schema-utils@npm:2.7.1" + dependencies: + "@types/json-schema": ^7.0.5 + ajv: ^6.12.4 + ajv-keywords: ^3.5.2 + checksum: 32c62fc9e28edd101e1bd83453a4216eb9bd875cc4d3775e4452b541908fa8f61a7bbac8ffde57484f01d7096279d3ba0337078e85a918ecbeb72872fb09fb2b + languageName: node + linkType: hard + +"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.0, schema-utils@npm:^3.1.1": + version: 3.1.1 + resolution: "schema-utils@npm:3.1.1" + dependencies: + "@types/json-schema": ^7.0.8 + ajv: ^6.12.5 + ajv-keywords: ^3.5.2 + checksum: fb73f3d759d43ba033c877628fe9751620a26879f6301d3dbeeb48cf2a65baec5cdf99da65d1bf3b4ff5444b2e59cbe4f81c2456b5e0d2ba7d7fd4aed5da29ce + languageName: node + linkType: hard + +"schema-utils@npm:^4.0.0": + version: 4.0.0 + resolution: "schema-utils@npm:4.0.0" + dependencies: + "@types/json-schema": ^7.0.9 + ajv: ^8.8.0 + ajv-formats: ^2.1.1 + ajv-keywords: ^5.0.0 + checksum: c843e92fdd1a5c145dbb6ffdae33e501867f9703afac67bdf35a685e49f85b1dcc10ea250033175a64bd9d31f0555bc6785b8359da0c90bcea30cf6dfbb55a8f + languageName: node + linkType: hard + +"select-hose@npm:^2.0.0": + version: 2.0.0 + resolution: "select-hose@npm:2.0.0" + checksum: d7e5fcc695a4804209d232a1b18624a5134be334d4e1114b0721f7a5e72bd73da483dcf41528c1af4f4f4892ad7cfd6a1e55c8ffb83f9c9fe723b738db609dbb + languageName: node + linkType: hard + +"selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": + version: 2.0.1 + resolution: "selfsigned@npm:2.0.1" + dependencies: + node-forge: ^1 + checksum: 864e65c2f31ca877bce3ccdaa3bdef5e1e992b63b2a03641e00c24cd305bf2acce093431d1fed2e5ae9f526558db4be5e90baa2b3474c0428fcf7e25cc86ac93 + languageName: node + linkType: hard + +"semver-diff@npm:^3.1.1": + version: 3.1.1 + resolution: "semver-diff@npm:3.1.1" + dependencies: + semver: ^6.3.0 + checksum: 8bbe5a5d7add2d5e51b72314a9215cd294d71f41cdc2bf6bd59ee76411f3610b576172896f1d191d0d7294cb9f2f847438d2ee158adacc0c224dca79052812fe + languageName: node + linkType: hard + +"semver-dsl@npm:^1.0.1": + version: 1.0.1 + resolution: "semver-dsl@npm:1.0.1" + dependencies: + semver: ^5.3.0 + checksum: b7ca615cb51ce462c28f3f7152c235e4ef4548b82ada9d2d33409fd501c0f658a8cd445de646eb711cca1865505499d1adab3f0da764501c8e162ccd8fdaf5c9 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.3.0, semver@npm:^5.6.0": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + languageName: node + linkType: hard + +"semver@npm:7.0.0": + version: 7.0.0 + resolution: "semver@npm:7.0.0" + bin: + semver: bin/semver.js + checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 + languageName: node + linkType: hard + +"semver@npm:7.3.5": + version: 7.3.5 + resolution: "semver@npm:7.3.5" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60 + languageName: node + linkType: hard + +"semver@npm:7.3.7, semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7": + version: 7.3.7 + resolution: "semver@npm:7.3.7" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + +"send@npm:0.18.0": + version: 0.18.0 + resolution: "send@npm:0.18.0" + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: ~1.2.1 + statuses: 2.0.1 + checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.0": + version: 6.0.0 + resolution: "serialize-javascript@npm:6.0.0" + dependencies: + randombytes: ^2.1.0 + checksum: 56f90b562a1bdc92e55afb3e657c6397c01a902c588c0fe3d4c490efdcc97dcd2a3074ba12df9e94630f33a5ce5b76a74784a7041294628a6f4306e0ec84bf93 + languageName: node + linkType: hard + +"serve-index@npm:^1.9.1": + version: 1.9.1 + resolution: "serve-index@npm:1.9.1" + dependencies: + accepts: ~1.3.4 + batch: 0.6.1 + debug: 2.6.9 + escape-html: ~1.0.3 + http-errors: ~1.6.2 + mime-types: ~2.1.17 + parseurl: ~1.3.2 + checksum: e2647ce13379485b98a53ba2ea3fbad4d44b57540d00663b02b976e426e6194d62ac465c0d862cb7057f65e0de8ab8a684aa095427a4b8612412eca0d300d22f + languageName: node + linkType: hard + +"serve-static@npm:1.15.0": + version: 1.15.0 + resolution: "serve-static@npm:1.15.0" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.18.0 + checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.0": + version: 1.1.0 + resolution: "setprototypeof@npm:1.1.0" + checksum: 27cb44304d6c9e1a23bc6c706af4acaae1a7aa1054d4ec13c05f01a99fd4887109a83a8042b67ad90dbfcd100d43efc171ee036eb080667172079213242ca36e + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 + languageName: node + linkType: hard + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: ^6.0.2 + checksum: 39b3dd9630a774aba288a680e7d2901f5c0eae7b8387fc5c8ea559918b29b3da144b7bdb990d7ccd9e11be05508ac9e459ce51d01fd65e583282f6ffafcba2e7 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + languageName: node + linkType: hard + +"shell-quote@npm:^1.7.3": + version: 1.7.3 + resolution: "shell-quote@npm:1.7.3" + checksum: aca58e73a3a5d933d02e0bdddedc53ee14f7c2ec264f97ac915b9d4482d077a38e422aa664631d60a672cd3cdb4054eb2e6c0303f54882453dacb6483e482d34 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4": + version: 1.0.4 + resolution: "side-channel@npm:1.0.4" + dependencies: + call-bind: ^1.0.0 + get-intrinsic: ^1.0.2 + object-inspect: ^1.9.0 + checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 + languageName: node + linkType: hard + +"sigmund@npm:^1.0.1": + version: 1.0.1 + resolution: "sigmund@npm:1.0.1" + checksum: 793f81f8083ad75ff3903ffd93cf35be8d797e872822cf880aea27ce6db522b508d93ea52ae292bccf357ce34dd5c7faa544cc51c2216e70bbf5fcf09b62707c + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c + languageName: node + linkType: hard + +"slash@npm:^4.0.0": + version: 4.0.0 + resolution: "slash@npm:4.0.0" + checksum: da8e4af73712253acd21b7853b7e0dbba776b786e82b010a5bfc8b5051a1db38ed8aba8e1e8f400dd2c9f373be91eb1c42b66e91abb407ff42b10feece5e1d2d + languageName: node + linkType: hard + +"slice-ansi@npm:^3.0.0": + version: 3.0.0 + resolution: "slice-ansi@npm:3.0.0" + dependencies: + ansi-styles: ^4.0.0 + astral-regex: ^2.0.0 + is-fullwidth-code-point: ^3.0.0 + checksum: 5ec6d022d12e016347e9e3e98a7eb2a592213a43a65f1b61b74d2c78288da0aded781f665807a9f3876b9daa9ad94f64f77d7633a0458876c3a4fdc4eb223f24 + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: ^4.0.0 + astral-regex: ^2.0.0 + is-fullwidth-code-point: ^3.0.0 + checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 + languageName: node + linkType: hard + +"slice-ansi@npm:^5.0.0": + version: 5.0.0 + resolution: "slice-ansi@npm:5.0.0" + dependencies: + ansi-styles: ^6.0.0 + is-fullwidth-code-point: ^4.0.0 + checksum: 7e600a2a55e333a21ef5214b987c8358fe28bfb03c2867ff2cbf919d62143d1812ac27b4297a077fdaf27a03da3678e49551c93e35f9498a3d90221908a1180e + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + +"sockjs-client@npm:1.6.1": + version: 1.6.1 + resolution: "sockjs-client@npm:1.6.1" + dependencies: + debug: ^3.2.7 + eventsource: ^2.0.2 + faye-websocket: ^0.11.4 + inherits: ^2.0.4 + url-parse: ^1.5.10 + checksum: c7623bbc9891f427c1670145550a1c9c2d5379719e174a791606ba4f12c7d92e4cfb9acec6c17f91fda45d910b23c308a1f9fbcad4916ce5db4e982b24079fc7 + languageName: node + linkType: hard + +"sockjs@npm:^0.3.21": + version: 0.3.24 + resolution: "sockjs@npm:0.3.24" + dependencies: + faye-websocket: ^0.11.3 + uuid: ^8.3.2 + websocket-driver: ^0.7.4 + checksum: 355309b48d2c4e9755349daa29cea1c0d9ee23e49b983841c6bf7a20276b00d3c02343f9f33f26d2ee8b261a5a02961b52a25c8da88b2538c5b68d3071b4934c + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^6.0.0": + version: 6.2.1 + resolution: "socks-proxy-agent@npm:6.2.1" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 9ca089d489e5ee84af06741135c4b0d2022977dad27ac8d649478a114cdce87849e8d82b7c22b51501a4116e231241592946fc7fae0afc93b65030ee57084f58 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.7.0 + resolution: "socks@npm:2.7.0" + dependencies: + ip: ^2.0.0 + smart-buffer: ^4.2.0 + checksum: 0b5d94e2b3c11e7937b40fc5dac1e80d8b92a330e68c51f1d271ce6980c70adca42a3f8cd47c4a5769956bada074823b53374f2dc5f2ea5c2121b222dec6eadf + languageName: node + linkType: hard + +"source-map-explorer@npm:2.5.2": + version: 2.5.2 + resolution: "source-map-explorer@npm:2.5.2" + dependencies: + btoa: ^1.2.1 + chalk: ^4.1.0 + convert-source-map: ^1.7.0 + ejs: ^3.1.5 + escape-html: ^1.0.3 + glob: ^7.1.6 + gzip-size: ^6.0.0 + lodash: ^4.17.20 + open: ^7.3.1 + source-map: ^0.7.3 + temp: ^0.9.4 + yargs: ^16.2.0 + bin: + sme: bin/cli.js + source-map-explorer: bin/cli.js + checksum: ff6748a5e132e03cd7646892e7b3869d10ebae1f2adea6f359145e188f2af5450e3ed9d8f132ed6b2e7fe9359e5e5d2b5becb0264fb8ef7105437ff452981295 + languageName: node + linkType: hard + +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c + languageName: node + linkType: hard + +"source-map-loader@npm:3.0.1": + version: 3.0.1 + resolution: "source-map-loader@npm:3.0.1" + dependencies: + abab: ^2.0.5 + iconv-lite: ^0.6.3 + source-map-js: ^1.0.1 + peerDependencies: + webpack: ^5.0.0 + checksum: 6ff27ba9335307e64edaab8fb8f87aa82a88d7efb12260732f7e3649c3fffe8bd3f77b6970c39c0bdd5e3a9b2a5ed8f11ac805bea90a6c99f186aa52033e53e0 + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.6.0": + version: 0.6.0 + resolution: "source-map-resolve@npm:0.6.0" + dependencies: + atob: ^2.1.2 + decode-uri-component: ^0.2.0 + checksum: fe503b9e5dac1c54be835282fcfec10879434e7b3ee08a9774f230299c724a8d403484d9531276d1670c87390e0e4d1d3f92b14cca6e4a2445ea3016b786ecd4 + languageName: node + linkType: hard + +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 + languageName: node + linkType: hard + +"source-map-support@npm:0.5.21, source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.5, source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 + languageName: node + linkType: hard + +"source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 + languageName: node + linkType: hard + +"source-map@npm:0.7.3": + version: 0.7.3 + resolution: "source-map@npm:0.7.3" + checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea + languageName: node + linkType: hard + +"source-map@npm:^0.5.0, source-map@npm:^0.5.7": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d + languageName: node + linkType: hard + +"source-map@npm:^0.7.3, source-map@npm:~0.7.2": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 + languageName: node + linkType: hard + +"sourcemap-codec@npm:^1.4.4, sourcemap-codec@npm:^1.4.8": + version: 1.4.8 + resolution: "sourcemap-codec@npm:1.4.8" + checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 + languageName: node + linkType: hard + +"spawn-command@npm:^0.0.2-1": + version: 0.0.2 + resolution: "spawn-command@npm:0.0.2" + checksum: e35c5d28177b4d461d33c88cc11f6f3a5079e2b132c11e1746453bbb7a0c0b8a634f07541a2a234fa4758239d88203b758def509161b651e81958894c0b4b64b + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.1.1 + resolution: "spdx-correct@npm:3.1.1" + dependencies: + spdx-expression-parse: ^3.0.0 + spdx-license-ids: ^3.0.0 + checksum: 77ce438344a34f9930feffa61be0eddcda5b55fc592906ef75621d4b52c07400a97084d8701557b13f7d2aae0cb64f808431f469e566ef3fe0a3a131dcb775a6 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.3.0 + resolution: "spdx-exceptions@npm:2.3.0" + checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.11 + resolution: "spdx-license-ids@npm:3.0.11" + checksum: 1da1acb090257773e60b022094050e810ae9fec874dc1461f65dc0400cd42dd830ab2df6e64fb49c2db3dce386dd0362110780e1b154db7c0bb413488836aaeb + languageName: node + linkType: hard + +"spdy-transport@npm:^3.0.0": + version: 3.0.0 + resolution: "spdy-transport@npm:3.0.0" + dependencies: + debug: ^4.1.0 + detect-node: ^2.0.4 + hpack.js: ^2.1.6 + obuf: ^1.1.2 + readable-stream: ^3.0.6 + wbuf: ^1.7.3 + checksum: 0fcaad3b836fb1ec0bdd39fa7008b9a7a84a553f12be6b736a2512613b323207ffc924b9551cef0378f7233c85916cff1118652e03a730bdb97c0e042243d56c + languageName: node + linkType: hard + +"spdy@npm:^4.0.2": + version: 4.0.2 + resolution: "spdy@npm:4.0.2" + dependencies: + debug: ^4.1.0 + handle-thing: ^2.0.0 + http-deceiver: ^1.2.7 + select-hose: ^2.0.0 + spdy-transport: ^3.0.0 + checksum: 2c739d0ff6f56ad36d2d754d0261d5ec358457bea7cbf77b1b05b0c6464f2ce65b85f196305f50b7bd9120723eb94bae9933466f28e67e5cd8cde4e27f1d75f8 + languageName: node + linkType: hard + +"specificity@npm:^0.4.1": + version: 0.4.1 + resolution: "specificity@npm:0.4.1" + bin: + specificity: ./bin/specificity + checksum: e558f1098f85aa54a8e90277309ac0d1913c84812c0bd349aa449076aa700964f71ab69f04f5fda9b7898bef9b7da3faa1cad9caedfd3f1a1ebfebedc18604ab + languageName: node + linkType: hard + +"split2@npm:^0.2.1": + version: 0.2.1 + resolution: "split2@npm:0.2.1" + dependencies: + through2: ~0.6.1 + checksum: 14be524492d3af546b5cfe217a1cf46a56728cda80ef2af02c250f36db89b0456cf4238e0603d379287074f22c14fb4e2d35467be48425c8f582e5e7eabb6f6c + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.2": + version: 1.1.2 + resolution: "sprintf-js@npm:1.1.2" + checksum: d4bb46464632b335e5faed381bd331157e0af64915a98ede833452663bc672823db49d7531c32d58798e85236581fb7342fd0270531ffc8f914e186187bf1c90 + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 + languageName: node + linkType: hard + +"sshpk@npm:^1.14.1": + version: 1.17.0 + resolution: "sshpk@npm:1.17.0" + dependencies: + asn1: ~0.2.3 + assert-plus: ^1.0.0 + bcrypt-pbkdf: ^1.0.0 + dashdash: ^1.12.0 + ecc-jsbn: ~0.1.1 + getpass: ^0.1.1 + jsbn: ~0.1.0 + safer-buffer: ^2.0.2 + tweetnacl: ~0.14.0 + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: ba109f65c8e6c35133b8e6ed5576abeff8aa8d614824b7275ec3ca308f081fef483607c28d97780c1e235818b0f93ed8c8b56d0a5968d5a23fd6af57718c7597 + languageName: node + linkType: hard + +"ssri@npm:^8.0.0, ssri@npm:^8.0.1": + version: 8.0.1 + resolution: "ssri@npm:8.0.1" + dependencies: + minipass: ^3.1.1 + checksum: bc447f5af814fa9713aa201ec2522208ae0f4d8f3bda7a1f445a797c7b929a02720436ff7c478fb5edc4045adb02b1b88d2341b436a80798734e2494f1067b36 + languageName: node + linkType: hard + +"ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" + dependencies: + minipass: ^3.1.1 + checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.5 + resolution: "stack-utils@npm:2.0.5" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: 76b69da0f5b48a34a0f93c98ee2a96544d2c4ca2557f7eef5ddb961d3bdc33870b46f498a84a7c4f4ffb781df639840e7ebf6639164ed4da5e1aeb659615b9c7 + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c + languageName: node + linkType: hard + +"string-argv@npm:^0.3.1": + version: 0.3.1 + resolution: "string-argv@npm:0.3.1" + checksum: efbd0289b599bee808ce80820dfe49c9635610715429c6b7cc50750f0437e3c2f697c81e5c390208c13b5d5d12d904a1546172a88579f6ee5cbaaaa4dc9ec5cf + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" + dependencies: + char-regex: ^1.0.2 + strip-ansi: ^6.0.0 + checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + +"string-width@npm:^3.0.0, string-width@npm:^3.1.0": + version: 3.1.0 + resolution: "string-width@npm:3.1.0" + dependencies: + emoji-regex: ^7.0.1 + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^5.1.0 + checksum: 57f7ca73d201682816d573dc68bd4bb8e1dff8dc9fcf10470fdfc3474135c97175fec12ea6a159e67339b41e86963112355b64529489af6e7e70f94a7caf08b2 + languageName: node + linkType: hard + +"string-width@npm:^5.0.0": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: ^0.2.0 + emoji-regex: ^9.2.2 + strip-ansi: ^7.0.1 + checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 + languageName: node + linkType: hard + +"string_decoder@npm:~0.10.x": + version: 0.10.31 + resolution: "string_decoder@npm:0.10.31" + checksum: fe00f8e303647e5db919948ccb5ce0da7dea209ab54702894dd0c664edd98e5d4df4b80d6fabf7b9e92b237359d21136c95bf068b2f7760b772ca974ba970202 + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b + languageName: node + linkType: hard + +"strip-ansi@npm:6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c + languageName: node + linkType: hard + +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": + version: 5.2.0 + resolution: "strip-ansi@npm:5.2.0" + dependencies: + ansi-regex: ^4.1.0 + checksum: bdb5f76ade97062bd88e7723aa019adbfacdcba42223b19ccb528ffb9fb0b89a5be442c663c4a3fb25268eaa3f6ea19c7c3fbae830bd1562d55adccae1fcec46 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.0, strip-ansi@npm:^7.0.1": + version: 7.0.1 + resolution: "strip-ansi@npm:7.0.1" + dependencies: + ansi-regex: ^6.0.1 + checksum: 257f78fa433520e7f9897722731d78599cb3fce29ff26a20a5e12ba4957463b50a01136f37c43707f4951817a75e90820174853d6ccc240997adc5df8f966039 + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: ^1.0.0 + checksum: 18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 + languageName: node + linkType: hard + +"style-search@npm:^0.1.0": + version: 0.1.0 + resolution: "style-search@npm:0.1.0" + checksum: 3cfefe335033aad6d47da0725cb48f5db91a73935954c77eab77d9e415e6668cdb406da4a4f7ef9f1aca77853cf5ba7952c45e869caa5bd6439691d88098d468 + languageName: node + linkType: hard + +"stylelint-config-recommended-scss@npm:^6.0.0": + version: 6.0.0 + resolution: "stylelint-config-recommended-scss@npm:6.0.0" + dependencies: + postcss-scss: ^4.0.2 + stylelint-config-recommended: ^7.0.0 + stylelint-scss: ^4.0.0 + peerDependencies: + stylelint: ^14.4.0 + checksum: a7254f4e8fc8c25990ad0fade6c3a7e663e867d4f4f92175919de26315a7283e7dd7dc10ef5f7f3a2f7fb76b3aeb5b428c4f3417b2d526868bb9db40c85270b3 + languageName: node + linkType: hard + +"stylelint-config-recommended@npm:^7.0.0": + version: 7.0.0 + resolution: "stylelint-config-recommended@npm:7.0.0" + peerDependencies: + stylelint: ^14.4.0 + checksum: 9a60a59effb7565314d6001779a31228d5713b4d13e05e991e6da5f9d0784aacf55bc0fe217010e257a79136753a22ae61e309fb982367ebd4de3316f37eb821 + languageName: node + linkType: hard + +"stylelint-config-standard-scss@npm:4.0.0": + version: 4.0.0 + resolution: "stylelint-config-standard-scss@npm:4.0.0" + dependencies: + stylelint-config-recommended-scss: ^6.0.0 + stylelint-config-standard: ^25.0.0 + peerDependencies: + stylelint: ^14.4.0 + checksum: 1f65f8f3c8e5a7706f41d27f5983a88bc4b2cf0d31bd10cc2ef4250eb4a55d46fa4ccac4411c5be57b681a7ddc5c7d0c4c57dfda01769a7b2b41499a16873a12 + languageName: node + linkType: hard + +"stylelint-config-standard@npm:^25.0.0": + version: 25.0.0 + resolution: "stylelint-config-standard@npm:25.0.0" + dependencies: + stylelint-config-recommended: ^7.0.0 + peerDependencies: + stylelint: ^14.4.0 + checksum: bfd5773f47ea7fcddba972037d6dd32d1fb900c2ca592a313fe1a28df054ef465b11e6e53fe6e87bbf0c356ab33a7a4eecc447cf7a1bd39c9b50c7b4bfb48d81 + languageName: node + linkType: hard + +"stylelint-no-unsupported-browser-features@npm:5.0.3": + version: 5.0.3 + resolution: "stylelint-no-unsupported-browser-features@npm:5.0.3" + dependencies: + doiuse: ^4.4.1 + lodash: ^4.17.15 + postcss: ^8.3.6 + peerDependencies: + stylelint: ">=13.0.0" + checksum: cdaf18bc6b32fa0b2cd6d5e3fcb6cc2fbcfb05a9430594881931cda1cc0fee4619df0c1546d4c53637e24fadcdbde1b9e60e0127632f55a1a09fb3044ab160d8 + languageName: node + linkType: hard + +"stylelint-order@npm:5.0.0": + version: 5.0.0 + resolution: "stylelint-order@npm:5.0.0" + dependencies: + postcss: ^8.3.11 + postcss-sorting: ^7.0.1 + peerDependencies: + stylelint: ^14.0.0 + checksum: fa3ace3cc65486b9f94165603bd04983636fda5ac959cd29bf87847a95b32f366b16faf612bd49e3b9f96073f8fe28a22a5c5727cc08c8f9d7327c89084b3f30 + languageName: node + linkType: hard + +"stylelint-scss@npm:^4.0.0": + version: 4.3.0 + resolution: "stylelint-scss@npm:4.3.0" + dependencies: + lodash: ^4.17.21 + postcss-media-query-parser: ^0.2.3 + postcss-resolve-nested-selector: ^0.1.1 + postcss-selector-parser: ^6.0.6 + postcss-value-parser: ^4.1.0 + peerDependencies: + stylelint: ^14.5.1 + checksum: fdf6119add2a3ccbf79f3a928acd7f90fc0f77fc45e5cf6f67d97419fe1a39dc6feec56307e1c45e0ec5ae677b0f18f83ce70e644df52aa6600706cf3551d0db + languageName: node + linkType: hard + +"stylelint@npm:14.8.5": + version: 14.8.5 + resolution: "stylelint@npm:14.8.5" + dependencies: + balanced-match: ^2.0.0 + colord: ^2.9.2 + cosmiconfig: ^7.0.1 + css-functions-list: ^3.0.1 + debug: ^4.3.4 + execall: ^2.0.0 + fast-glob: ^3.2.11 + fastest-levenshtein: ^1.0.12 + file-entry-cache: ^6.0.1 + get-stdin: ^8.0.0 + global-modules: ^2.0.0 + globby: ^11.1.0 + globjoin: ^0.1.4 + html-tags: ^3.2.0 + ignore: ^5.2.0 + import-lazy: ^4.0.0 + imurmurhash: ^0.1.4 + is-plain-object: ^5.0.0 + known-css-properties: ^0.25.0 + mathml-tag-names: ^2.1.3 + meow: ^9.0.0 + micromatch: ^4.0.5 + normalize-path: ^3.0.0 + picocolors: ^1.0.0 + postcss: ^8.4.14 + postcss-media-query-parser: ^0.2.3 + postcss-resolve-nested-selector: ^0.1.1 + postcss-safe-parser: ^6.0.0 + postcss-selector-parser: ^6.0.10 + postcss-value-parser: ^4.2.0 + resolve-from: ^5.0.0 + specificity: ^0.4.1 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + style-search: ^0.1.0 + supports-hyperlinks: ^2.2.0 + svg-tags: ^1.0.0 + table: ^6.8.0 + v8-compile-cache: ^2.3.0 + write-file-atomic: ^4.0.1 + bin: + stylelint: bin/stylelint.js + checksum: ab4a8cbe49223f068f2219cddb8fac9061c21bc6544731cdbe18ec2c2aeff76566fadc185a7b49e8fb48242c732566a565f0e862af083c58ae97d5b2213617d1 + languageName: node + linkType: hard + +"stylus-loader@npm:6.2.0": + version: 6.2.0 + resolution: "stylus-loader@npm:6.2.0" + dependencies: + fast-glob: ^3.2.7 + klona: ^2.0.4 + normalize-path: ^3.0.0 + peerDependencies: + stylus: ">=0.52.4" + webpack: ^5.0.0 + checksum: 0a7bf31f1d8b0c0a0733509523ec542216e17088d01405d0e5e2dca6c5bacca3863cf5d40f4a2ffd8722c471e2e15db553dd8c65512602242533617b4a0fd70a + languageName: node + linkType: hard + +"stylus@npm:0.56.0": + version: 0.56.0 + resolution: "stylus@npm:0.56.0" + dependencies: + css: ^3.0.0 + debug: ^4.3.2 + glob: ^7.1.6 + safer-buffer: ^2.1.2 + sax: ~1.2.4 + source-map: ^0.7.3 + bin: + stylus: bin/stylus + checksum: 0b5827f772bcfcdd194d20a980114011128f42815aa3bfc2bfd0967686301313516d7623179f6bc0bbd4fb45abf21097debe7861dc27c0bea877c98e5594f3dc + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: ^4.0.0 + checksum: 3dda818de06ebbe5b9653e07842d9479f3555ebc77e9a0280caf5a14fb877ffee9ed57007c3b78f5a6324b8dbeec648d9e97a24e2ed9fdb81ddc69ea07100f4a + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0, supports-color@npm:^8.1.0, supports-color@npm:^8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: ^4.0.0 + checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 + languageName: node + linkType: hard + +"supports-color@npm:^9.2.2": + version: 9.2.2 + resolution: "supports-color@npm:9.2.2" + checksum: 976d84877402fc38c1d43b1fde20b0a8dc0283273f21cfebe4ff7507d27543cdfbeec7db108a96b82d694465f06d64e8577562b05d0520b41710088e0a33cc50 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^2.0.0, supports-hyperlinks@npm:^2.2.0": + version: 2.2.0 + resolution: "supports-hyperlinks@npm:2.2.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae + languageName: node + linkType: hard + +"svg-tags@npm:^1.0.0": + version: 1.0.0 + resolution: "svg-tags@npm:1.0.0" + checksum: 407e5ef87cfa2fb81c61d738081c2decd022ce13b922d035b214b49810630bf5d1409255a4beb3a940b77b32f6957806deff16f1bf0ce1ab11c7a184115a0b7f + languageName: node + linkType: hard + +"symbol-observable@npm:4.0.0": + version: 4.0.0 + resolution: "symbol-observable@npm:4.0.0" + checksum: 212c7edce6186634d671336a88c0e0bbd626c2ab51ed57498dc90698cce541839a261b969c2a1e8dd43762133d47672e8b62e0b1ce9cf4157934ba45fd172ba8 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d + languageName: node + linkType: hard + +"systemjs@npm:6.12.1": + version: 6.12.1 + resolution: "systemjs@npm:6.12.1" + checksum: 82388eb436013898d364d063478f97ce2a0a01c4a9a46088244da16e48a4aae6b4368a988c24409d3680c0d9bfb0ed68464f45494836218bd1cb4798501be8f9 + languageName: node + linkType: hard + +"table@npm:^6.0.9, table@npm:^6.8.0": + version: 6.8.0 + resolution: "table@npm:6.8.0" + dependencies: + ajv: ^8.0.1 + lodash.truncate: ^4.4.2 + slice-ansi: ^4.0.0 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + checksum: 5b07fe462ee03d2e1fac02cbb578efd2e0b55ac07e3d3db2e950aa9570ade5a4a2b8d3c15e9f25c89e4e50b646bc4269934601ee1eef4ca7968ad31960977690 + languageName: node + linkType: hard + +"tapable@npm:^2.1.1, tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + languageName: node + linkType: hard + +"tar@npm:6.1.11, tar@npm:^6.0.2, tar@npm:^6.1.0, tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.1.11 + resolution: "tar@npm:6.1.11" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^3.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f + languageName: node + linkType: hard + +"temp@npm:^0.9.4": + version: 0.9.4 + resolution: "temp@npm:0.9.4" + dependencies: + mkdirp: ^0.5.1 + rimraf: ~2.6.2 + checksum: 8709d4d63278bd309ca0e49e80a268308dea543a949e71acd427b3314cd9417da9a2cc73425dd9c21c6780334dbffd67e05e7be5aaa73e9affe8479afc6f20e3 + languageName: node + linkType: hard + +"terminal-link@npm:^2.0.0": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^5.1.3": + version: 5.3.3 + resolution: "terser-webpack-plugin@npm:5.3.3" + dependencies: + "@jridgewell/trace-mapping": ^0.3.7 + jest-worker: ^27.4.5 + schema-utils: ^3.1.1 + serialize-javascript: ^6.0.0 + terser: ^5.7.2 + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 4b8d508d8a0f6e604addb286975f1fa670f8c3964a67abc03a7cfcfd4cdeca4b07dda6655e1c4425427fb62e4d2b0ca59d84f1b2cd83262ff73616d5d3ccdeb5 + languageName: node + linkType: hard + +"terser@npm:5.11.0": + version: 5.11.0 + resolution: "terser@npm:5.11.0" + dependencies: + acorn: ^8.5.0 + commander: ^2.20.0 + source-map: ~0.7.2 + source-map-support: ~0.5.20 + bin: + terser: bin/terser + checksum: cc72b7a0e87421b5a6ef3f8a3c86ef251f6e7f8d6327b83c63045b8991a041cc4a42ea64e07701128e1786489902c8c44b5904056b0f12ceedb52924d493db04 + languageName: node + linkType: hard + +"terser@npm:^5.7.2": + version: 5.14.2 + resolution: "terser@npm:5.14.2" + dependencies: + "@jridgewell/source-map": ^0.3.2 + acorn: ^8.5.0 + commander: ^2.20.0 + source-map-support: ~0.5.20 + bin: + terser: bin/terser + checksum: cabb50a640d6c2cfb351e4f43dc7bf7436f649755bb83eb78b2cacda426d5e0979bd44e6f92d713f3ca0f0866e322739b9ced888ebbce6508ad872d08de74fcc + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": ^0.1.2 + glob: ^7.1.4 + minimatch: ^3.0.4 + checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28 + languageName: node + linkType: hard + +"text-table@npm:0.2.0, text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a + languageName: node + linkType: hard + +"throttleit@npm:^1.0.0": + version: 1.0.0 + resolution: "throttleit@npm:1.0.0" + checksum: 1b2db4d2454202d589e8236c07a69d2fab838876d370030ebea237c34c0a7d1d9cf11c29f994531ebb00efd31e9728291042b7754f2798a8352ec4463455b659 + languageName: node + linkType: hard + +"through2@npm:4.0.2, through2@npm:^4.0.2": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: 3 + checksum: ac7430bd54ccb7920fd094b1c7ff3e1ad6edd94202e5528331253e5fde0cc56ceaa690e8df9895de2e073148c52dfbe6c4db74cacae812477a35660090960cc0 + languageName: node + linkType: hard + +"through2@npm:^0.6.1, through2@npm:^0.6.3, through2@npm:~0.6.1": + version: 0.6.5 + resolution: "through2@npm:0.6.5" + dependencies: + readable-stream: ">=1.0.33-1 <1.1.0-0" + xtend: ">=4.0.0 <4.1.0-0" + checksum: dfea228e3134a33219a588448847250897a9994a687807dab52f850fac8b4eb1dc18e3b2c1d3d60dd0d78eb492d2032fdf814ac6576ba5b8d5ba0dade29a3544 + languageName: node + linkType: hard + +"through@npm:X.X.X, through@npm:^2.3.6, through@npm:^2.3.8": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd + languageName: node + linkType: hard + +"thunky@npm:^1.0.2": + version: 1.1.0 + resolution: "thunky@npm:1.1.0" + checksum: 993096c472b6b8f30e29dc777a8d17720e4cab448375041f20c0cb802a09a7fb2217f2a3e8cdc11851faa71c957e2db309357367fc9d7af3cb7a4d00f4b66034 + languageName: node + linkType: hard + +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: ~1.0.2 + checksum: 902d7aceb74453ea02abbf58c203f4a8fc1cead89b60b31e354f74ed5b3fb09ea817f94fb310f884a5d16987dd9fa5a735412a7c2dd088dd3d415aa819ae3a28 + languageName: node + linkType: hard + +"tmp@npm:~0.2.1": + version: 0.2.1 + resolution: "tmp@npm:0.2.1" + dependencies: + rimraf: ^3.0.0 + checksum: 8b1214654182575124498c87ca986ac53dc76ff36e8f0e0b67139a8d221eaecfdec108c0e6ec54d76f49f1f72ab9325500b246f562b926f85bcdfca8bf35df9e + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 + languageName: node + linkType: hard + +"to-readable-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "to-readable-stream@npm:1.0.0" + checksum: 2bd7778490b6214a2c40276065dd88949f4cf7037ce3964c76838b8cb212893aeb9cceaaf4352a4c486e3336214c350270f3263e1ce7a0c38863a715a4d9aeb5 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 + languageName: node + linkType: hard + +"tough-cookie@npm:^4.0.0": + version: 4.0.0 + resolution: "tough-cookie@npm:4.0.0" + dependencies: + psl: ^1.1.33 + punycode: ^2.1.1 + universalify: ^0.1.2 + checksum: 0891b37eb7d17faa3479d47f0dce2e3007f2583094ad272f2670d120fbcc3df3b0b0a631ba96ecad49f9e2297d93ff8995ce0d3292d08dd7eabe162f5b224d69 + languageName: node + linkType: hard + +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 + languageName: node + linkType: hard + +"tr46@npm:^3.0.0": + version: 3.0.0 + resolution: "tr46@npm:3.0.0" + dependencies: + punycode: ^2.1.1 + checksum: 44c3cc6767fb800490e6e9fd64fd49041aa4e49e1f6a012b34a75de739cc9ed3a6405296072c1df8b6389ae139c5e7c6496f659cfe13a04a4bff3a1422981270 + languageName: node + linkType: hard + +"tree-kill@npm:1.2.2, tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7 + languageName: node + linkType: hard + +"trim-newlines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-newlines@npm:3.0.1" + checksum: b530f3fadf78e570cf3c761fb74fef655beff6b0f84b29209bac6c9622db75ad1417f4a7b5d54c96605dcd72734ad44526fef9f396807b90839449eb543c6206 + languageName: node + linkType: hard + +"ts-jest@npm:28.0.3": + version: 28.0.3 + resolution: "ts-jest@npm:28.0.3" + dependencies: + bs-logger: 0.x + fast-json-stable-stringify: 2.x + jest-util: ^28.0.0 + json5: ^2.2.1 + lodash.memoize: 4.x + make-error: 1.x + semver: 7.x + yargs-parser: ^20.x + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@types/jest": ^27.0.0 + babel-jest: ^28.0.0 + jest: ^28.0.0 + typescript: ">=4.3" + peerDependenciesMeta: + "@babel/core": + optional: true + "@types/jest": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + bin: + ts-jest: cli.js + checksum: dc6f49507cef996abb75d5870f6ce09c9f191d135a5bb2c38c46adac890f10fd4610b7697a0045b9b37315ce4e075f39d5578da8034d6791952eebc7951475c2 + languageName: node + linkType: hard + +"ts-jest@npm:^28.0.0": + version: 28.0.7 + resolution: "ts-jest@npm:28.0.7" + dependencies: + bs-logger: 0.x + fast-json-stable-stringify: 2.x + jest-util: ^28.0.0 + json5: ^2.2.1 + lodash.memoize: 4.x + make-error: 1.x + semver: 7.x + yargs-parser: ^21.0.1 + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@jest/types": ^28.0.0 + babel-jest: ^28.0.0 + jest: ^28.0.0 + typescript: ">=4.3" + peerDependenciesMeta: + "@babel/core": + optional: true + "@jest/types": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + bin: + ts-jest: cli.js + checksum: be6ad6382e3b2e7b0c45d06616a4a02aeb6815bad2026fe8eeb4e0941205faa50ac3f5930adb7ba2fda5fea6a5739bfa507e2eac8764d2c729ddc8010681707a + languageName: node + linkType: hard + +"ts-loader@npm:9.3.0": + version: 9.3.0 + resolution: "ts-loader@npm:9.3.0" + dependencies: + chalk: ^4.1.0 + enhanced-resolve: ^5.0.0 + micromatch: ^4.0.0 + semver: ^7.3.4 + peerDependencies: + typescript: "*" + webpack: ^5.0.0 + checksum: 90755ac5850890ff433f2f8c7186d57ae4e172d389342d874b50ab233675f06c47c69043c517e2a2eeaf2251637ecfac607ac6190c89340f246ceff8c7f4af7a + languageName: node + linkType: hard + +"ts-node@npm:10.8.0": + version: 10.8.0 + resolution: "ts-node@npm:10.8.0" + dependencies: + "@cspotcode/source-map-support": ^0.8.0 + "@tsconfig/node10": ^1.0.7 + "@tsconfig/node12": ^1.0.7 + "@tsconfig/node14": ^1.0.0 + "@tsconfig/node16": ^1.0.2 + acorn: ^8.4.1 + acorn-walk: ^8.1.1 + arg: ^4.1.0 + create-require: ^1.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + v8-compile-cache-lib: ^3.0.1 + yn: 3.1.1 + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 1c22dc8dd80d0ba4dd4250b82cc032b63f6fbe8c87f8197cef43e7f9e2d43f5b333b445ed712e3006e24119257b4bff2c46605f7da61ab6f5e9514885d296f0c + languageName: node + linkType: hard + +"tslib@npm:2.3.1": + version: 2.3.1 + resolution: "tslib@npm:2.3.1" + checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 + languageName: node + linkType: hard + +"tslib@npm:2.4.0, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0": + version: 2.4.0 + resolution: "tslib@npm:2.4.0" + checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 + languageName: node + linkType: hard + +"tslib@npm:^1.10.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd + languageName: node + linkType: hard + +"tsutils-etc@npm:^1.4.1": + version: 1.4.1 + resolution: "tsutils-etc@npm:1.4.1" + dependencies: + "@types/yargs": ^17.0.0 + yargs: ^17.0.0 + peerDependencies: + tsutils: ^3.0.0 + typescript: ^4.0.0 + bin: + ts-flags: bin/ts-flags + ts-kind: bin/ts-kind + checksum: e44f0fd4229f9e4f00190e6f10cd03f06fa7c11c9f9339c328ebc80a19925582b6a9b32da442359bf63751b7737152e0d8e732c681f7646c2253dffa49f97b32 + languageName: node + linkType: hard + +"tsutils@npm:^3.0.0, tsutils@npm:^3.17.1, tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 6061daba1724f59473d99a7bb82e13f211cdf6e31315510ae9656fefd4779851cb927adad90f3b488c8ed77c106adc0421ea8055f6f976ff21b27c5c4e918487 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: ^1.2.1 + checksum: ec688ebfc9c45d0c30412e41ca9c0cdbd704580eb3a9ccf07b9b576094d7b86a012baebc95681999dd38f4f444afd28504cb3a89f2ef16b31d4ab61a0739025a + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 + languageName: node + linkType: hard + +"type-fest@npm:^0.18.0": + version: 0.18.1 + resolution: "type-fest@npm:0.18.1" + checksum: e96dcee18abe50ec82dab6cbc4751b3a82046da54c52e3b2d035b3c519732c0b3dd7a2fa9df24efd1a38d953d8d4813c50985f215f1957ee5e4f26b0fe0da395 + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: b2188e6e4b21557f6e92960ec496d28a51d68658018cba8b597bd3ef757721d1db309f120ae987abeeda874511d14b776157ff809f23c6d1ce8f83b9b2b7d60f + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + languageName: node + linkType: hard + +"typed-assert@npm:^1.0.8": + version: 1.0.9 + resolution: "typed-assert@npm:1.0.9" + checksum: 79351bd3ea184a552bf55a77bd3012f128741c841ed718d054c5abbbc8925362aa033ae2cdcc79e1f445a15112447c8a95a08ddf7ff8aeb04f805e92187f77c1 + languageName: node + linkType: hard + +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: ^1.0.0 + checksum: 99c11aaa8f45189fcfba6b8a4825fd684a321caa9bd7a76a27cf0c7732c174d198b99f449c52c3818107430b5f41c0ccbbfb75cb2ee3ca4a9451710986d61a60 + languageName: node + linkType: hard + +"typescript@npm:4.6.4": + version: 4.6.4 + resolution: "typescript@npm:4.6.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: e7bfcc39cd4571a63a54e5ea21f16b8445268b9900bf55aee0e02ad981be576acc140eba24f1af5e3c1457767c96cea6d12861768fb386cf3ffb34013718631a + languageName: node + linkType: hard + +"typescript@patch:typescript@4.6.4#~builtin": + version: 4.6.4 + resolution: "typescript@patch:typescript@npm%3A4.6.4#~builtin::version=4.6.4&hash=f456af" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 1cb434fbc637d347be90e3a0c6cd05e33c38f941713c8786d3031faf1842c2c148ba91d2fac01e7276b0ae3249b8633f1660e32686cc7a8c6a8fd5361dc52c66 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" + checksum: 39be078afd014c14dcd957a7a46a60061bc37c4508ba146517f85f60361acf4c7539552645ece25de840e17e293baa5556268d091ca6762747fdd0c705001a45 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: ^2.0.0 + unicode-property-aliases-ecmascript: ^2.0.0 + checksum: 1f34a7434a23df4885b5890ac36c5b2161a809887000be560f56ad4b11126d433c0c1c39baf1016bdabed4ec54829a6190ee37aa24919aa116dc1a5a8a62965a + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.0.0" + checksum: 8fe6a09d9085a625cabcead5d95bdbc1a2d5d481712856092ce0347231e81a60b93a68f1b69e82b3076a07e415a72c708044efa2aa40ae23e2e7b5c99ed4a9ea + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.0.0" + checksum: dda4d39128cbbede2ac60fbb85493d979ec65913b8a486bf7cb7a375a2346fa48cbf9dc6f1ae23376e7e8e684c2b411434891e151e865a661b40a85407db51d0 + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: ^2.0.0 + checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: ^0.1.4 + checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a + languageName: node + linkType: hard + +"unique-string@npm:^2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" + dependencies: + crypto-random-string: ^2.0.0 + checksum: ef68f639136bcfe040cf7e3cd7a8dff076a665288122855148a6f7134092e6ed33bf83a7f3a9185e46c98dddc445a0da6ac25612afa1a7c38b8b654d6c02498e + languageName: node + linkType: hard + +"universalify@npm:^0.1.0, universalify@npm:^0.1.2": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.0 + resolution: "universalify@npm:2.0.0" + checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 + languageName: node + linkType: hard + +"untildify@npm:^4.0.0": + version: 4.0.0 + resolution: "untildify@npm:4.0.0" + checksum: 39ced9c418a74f73f0a56e1ba4634b4d959422dff61f4c72a8e39f60b99380c1b45ed776fbaa0a4101b157e4310d873ad7d114e8534ca02609b4916bb4187fb9 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.5": + version: 1.0.5 + resolution: "update-browserslist-db@npm:1.0.5" + dependencies: + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + browserslist-lint: cli.js + checksum: 7e425fe5dbbebdccf72a84ce70ec47fc74dce561d28f47bc2b84a1c2b84179a862c2261b18ab66a5e73e261c7e2ef9e11c6129112989d4d52e8f75a56bb923f8 + languageName: node + linkType: hard + +"update-notifier@npm:^5.0.0": + version: 5.1.0 + resolution: "update-notifier@npm:5.1.0" + dependencies: + boxen: ^5.0.0 + chalk: ^4.1.0 + configstore: ^5.0.1 + has-yarn: ^2.1.0 + import-lazy: ^2.1.0 + is-ci: ^2.0.0 + is-installed-globally: ^0.4.0 + is-npm: ^5.0.0 + is-yarn-global: ^0.3.0 + latest-version: ^5.1.0 + pupa: ^2.1.1 + semver: ^7.3.4 + semver-diff: ^3.1.1 + xdg-basedir: ^4.0.0 + checksum: 461e5e5b002419296d3868ee2abe0f9ab3e1846d9db642936d0c46f838872ec56069eddfe662c45ce1af0a8d6d5026353728de2e0a95ab2e3546a22ea077caf1 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: ^2.1.0 + checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 + languageName: node + linkType: hard + +"url-parse-lax@npm:^3.0.0": + version: 3.0.0 + resolution: "url-parse-lax@npm:3.0.0" + dependencies: + prepend-http: ^2.0.0 + checksum: 1040e357750451173132228036aff1fd04abbd43eac1fb3e4fca7495a078bcb8d33cb765fe71ad7e473d9c94d98fd67adca63bd2716c815a2da066198dd37217 + languageName: node + linkType: hard + +"url-parse@npm:^1.5.10": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" + dependencies: + querystringify: ^2.1.1 + requires-port: ^1.0.0 + checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 + languageName: node + linkType: hard + +"uuid@npm:8.3.2, uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 + languageName: node + linkType: hard + +"v8-compile-cache@npm:^2.0.3, v8-compile-cache@npm:^2.3.0": + version: 2.3.0 + resolution: "v8-compile-cache@npm:2.3.0" + checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.0.1": + version: 9.0.1 + resolution: "v8-to-istanbul@npm:9.0.1" + dependencies: + "@jridgewell/trace-mapping": ^0.3.12 + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + checksum: a49c34bf0a3af0c11041a3952a2600913904a983bd1bc87148b5c033bc5c1d02d5a13620fcdbfa2c60bc582a2e2970185780f0c844b4c3a220abf405f8af6311 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: ^3.0.0 + spdx-expression-parse: ^3.0.0 + checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad + languageName: node + linkType: hard + +"validate-npm-package-name@npm:^3.0.0": + version: 3.0.0 + resolution: "validate-npm-package-name@npm:3.0.0" + dependencies: + builtins: ^1.0.3 + checksum: ce4c68207abfb22c05eedb09ff97adbcedc80304a235a0844f5344f1fd5086aa80e4dbec5684d6094e26e35065277b765c1caef68bcea66b9056761eddb22967 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: ^1.0.0 + core-util-is: 1.0.2 + extsprintf: ^1.2.0 + checksum: c431df0bedf2088b227a4e051e0ff4ca54df2c114096b0c01e1cbaadb021c30a04d7dd5b41ab277bcd51246ca135bf931d4c4c796ecae7a4fef6d744ecef36ea + languageName: node + linkType: hard + +"w3c-hr-time@npm:^1.0.2": + version: 1.0.2 + resolution: "w3c-hr-time@npm:1.0.2" + dependencies: + browser-process-hrtime: ^1.0.0 + checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^3.0.0": + version: 3.0.0 + resolution: "w3c-xmlserializer@npm:3.0.0" + dependencies: + xml-name-validator: ^4.0.0 + checksum: 0af8589942eeb11c9fe29eb31a1a09f3d5dd136aea53a9848dfbabff79ac0dd26fe13eb54d330d5555fe27bb50b28dca0715e09f9cc2bfa7670ccc8b7f919ca2 + languageName: node + linkType: hard + +"wait-on@npm:6.0.1": + version: 6.0.1 + resolution: "wait-on@npm:6.0.1" + dependencies: + axios: ^0.25.0 + joi: ^17.6.0 + lodash: ^4.17.21 + minimist: ^1.2.5 + rxjs: ^7.5.4 + bin: + wait-on: bin/wait-on + checksum: e4d62aa4145d99fe34747ccf7506d4b4d6e60dd677c0eb18a51e316d38116ace2d194e4b22a9eb7b767b0282f39878ddcc4ae9440dcb0c005c9150668747cf5b + languageName: node + linkType: hard + +"walker@npm:^1.0.8": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: 1.0.12 + checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + languageName: node + linkType: hard + +"watchpack@npm:^2.3.1": + version: 2.4.0 + resolution: "watchpack@npm:2.4.0" + dependencies: + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.1.2 + checksum: 23d4bc58634dbe13b86093e01c6a68d8096028b664ab7139d58f0c37d962d549a940e98f2f201cecdabd6f9c340338dc73ef8bf094a2249ef582f35183d1a131 + languageName: node + linkType: hard + +"wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": + version: 1.7.3 + resolution: "wbuf@npm:1.7.3" + dependencies: + minimalistic-assert: ^1.0.0 + checksum: 2abc306c96930b757972a1c4650eb6b25b5d99f24088714957f88629e137db569368c5de0e57986c89ea70db2f1df9bba11a87cb6d0c8694b6f53a0159fab3bf + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: ^1.0.3 + checksum: 814e9d1ddcc9798f7377ffa448a5a3892232b9275ebb30a41b529607691c0491de47cba426e917a4d08ded3ee7e9ba2f3fe32e62ee3cd9c7d3bafb7754bd553c + languageName: node + linkType: hard + +"web-animations-js@npm:2.3.2": + version: 2.3.2 + resolution: "web-animations-js@npm:2.3.2" + checksum: 194db111bb2f92c15100c33b63af320ccdc26066748e358a945b947c510216c78e0a1e2ae22fefbaacb585c8a0b41b62a1417d8b549636ee32e16f059bb488f2 + languageName: node + linkType: hard + +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: f05588567a2a76428515333eff87200fae6c83c3948a7482ebb109562971e77ef6dc49749afa58abb993391227c5697b3ecca52018793e0cb4620a48f10bd21b + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:5.3.0": + version: 5.3.0 + resolution: "webpack-dev-middleware@npm:5.3.0" + dependencies: + colorette: ^2.0.10 + memfs: ^3.2.2 + mime-types: ^2.1.31 + range-parser: ^1.2.1 + schema-utils: ^4.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 01f9e11583bb682cd5ab5a1b9d6dc99545f777513c4c15aa67d10f5d057fc3d0c6f9365e02c07792d3c9b17bd47a16c8185e66eb66e9de74d8ccf561e75085e7 + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:^5.3.0, webpack-dev-middleware@npm:^5.3.1": + version: 5.3.3 + resolution: "webpack-dev-middleware@npm:5.3.3" + dependencies: + colorette: ^2.0.10 + memfs: ^3.4.3 + mime-types: ^2.1.31 + range-parser: ^1.2.1 + schema-utils: ^4.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: dd332cc6da61222c43d25e5a2155e23147b777ff32fdf1f1a0a8777020c072fbcef7756360ce2a13939c3f534c06b4992a4d659318c4a7fe2c0530b52a8a6621 + languageName: node + linkType: hard + +"webpack-dev-server@npm:4.7.3": + version: 4.7.3 + resolution: "webpack-dev-server@npm:4.7.3" + dependencies: + "@types/bonjour": ^3.5.9 + "@types/connect-history-api-fallback": ^1.3.5 + "@types/serve-index": ^1.9.1 + "@types/sockjs": ^0.3.33 + "@types/ws": ^8.2.2 + ansi-html-community: ^0.0.8 + bonjour: ^3.5.0 + chokidar: ^3.5.2 + colorette: ^2.0.10 + compression: ^1.7.4 + connect-history-api-fallback: ^1.6.0 + default-gateway: ^6.0.3 + del: ^6.0.0 + express: ^4.17.1 + graceful-fs: ^4.2.6 + html-entities: ^2.3.2 + http-proxy-middleware: ^2.0.0 + ipaddr.js: ^2.0.1 + open: ^8.0.9 + p-retry: ^4.5.0 + portfinder: ^1.0.28 + schema-utils: ^4.0.0 + selfsigned: ^2.0.0 + serve-index: ^1.9.1 + sockjs: ^0.3.21 + spdy: ^4.0.2 + strip-ansi: ^7.0.0 + webpack-dev-middleware: ^5.3.0 + ws: ^8.1.0 + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack-dev-server: bin/webpack-dev-server.js + checksum: 6062db1ba62e372ab3bd127f0c1a575a0758ad15338bff56e65f344bfa495d566049752a3e0c18d44469123e2f0cd2ba26cc0cab8d4ca704e8b4ace596871b21 + languageName: node + linkType: hard + +"webpack-dev-server@npm:4.8.1": + version: 4.8.1 + resolution: "webpack-dev-server@npm:4.8.1" + dependencies: + "@types/bonjour": ^3.5.9 + "@types/connect-history-api-fallback": ^1.3.5 + "@types/express": ^4.17.13 + "@types/serve-index": ^1.9.1 + "@types/sockjs": ^0.3.33 + "@types/ws": ^8.5.1 + ansi-html-community: ^0.0.8 + bonjour-service: ^1.0.11 + chokidar: ^3.5.3 + colorette: ^2.0.10 + compression: ^1.7.4 + connect-history-api-fallback: ^1.6.0 + default-gateway: ^6.0.3 + express: ^4.17.3 + graceful-fs: ^4.2.6 + html-entities: ^2.3.2 + http-proxy-middleware: ^2.0.3 + ipaddr.js: ^2.0.1 + open: ^8.0.9 + p-retry: ^4.5.0 + portfinder: ^1.0.28 + rimraf: ^3.0.2 + schema-utils: ^4.0.0 + selfsigned: ^2.0.1 + serve-index: ^1.9.1 + sockjs: ^0.3.21 + spdy: ^4.0.2 + webpack-dev-middleware: ^5.3.1 + ws: ^8.4.2 + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack-dev-server: bin/webpack-dev-server.js + checksum: 6f827068353cb024f04edd275ae2828b6d47a3316c1a8677066d1500b1d1038b516399777792bb464ec40bc6f963abe9b24a5fd93b9b39487a3574b38ae45fd6 + languageName: node + linkType: hard + +"webpack-merge@npm:5.8.0": + version: 5.8.0 + resolution: "webpack-merge@npm:5.8.0" + dependencies: + clone-deep: ^4.0.1 + wildcard: ^2.0.0 + checksum: 88786ab91013f1bd2a683834ff381be81c245a4b0f63304a5103e90f6653f44dab496a0768287f8531761f8ad957d1f9f3ccb2cb55df0de1bd9ee343e079da26 + languageName: node + linkType: hard + +"webpack-sources@npm:^3.0.0, webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 + languageName: node + linkType: hard + +"webpack-subresource-integrity@npm:5.1.0": + version: 5.1.0 + resolution: "webpack-subresource-integrity@npm:5.1.0" + dependencies: + typed-assert: ^1.0.8 + peerDependencies: + html-webpack-plugin: ">= 5.0.0-beta.1 < 6" + webpack: ^5.12.0 + peerDependenciesMeta: + html-webpack-plugin: + optional: true + checksum: 827c2c1170f52eaec9d68728d4c3910be5451253ffb24e7dbab35c48acc69c4b4ed6dcea2c29bd62b4cb4569c00eafa4e95d8aa00305656fe9c2a6aeb5415e1e + languageName: node + linkType: hard + +"webpack@npm:5.70.0": + version: 5.70.0 + resolution: "webpack@npm:5.70.0" + dependencies: + "@types/eslint-scope": ^3.7.3 + "@types/estree": ^0.0.51 + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/wasm-edit": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + acorn: ^8.4.1 + acorn-import-assertions: ^1.7.6 + browserslist: ^4.14.5 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^5.9.2 + es-module-lexer: ^0.9.0 + eslint-scope: 5.1.1 + events: ^3.2.0 + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.2.9 + json-parse-better-errors: ^1.0.2 + loader-runner: ^4.2.0 + mime-types: ^2.1.27 + neo-async: ^2.6.2 + schema-utils: ^3.1.0 + tapable: ^2.1.1 + terser-webpack-plugin: ^5.1.3 + watchpack: ^2.3.1 + webpack-sources: ^3.2.3 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 00439884a9cdd5305aed3ce93735635785a15c5464a6d2cfce87e17727a07585de02420913e82aa85ddd2ae7322175d2cfda6ac0878a17f061cb605e6a7db57a + languageName: node + linkType: hard + +"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": + version: 0.7.4 + resolution: "websocket-driver@npm:0.7.4" + dependencies: + http-parser-js: ">=0.5.1" + safe-buffer: ">=5.1.0" + websocket-extensions: ">=0.1.1" + checksum: fffe5a33fe8eceafd21d2a065661d09e38b93877eae1de6ab5d7d2734c6ed243973beae10ae48c6613cfd675f200e5a058d1e3531bc9e6c5d4f1396ff1f0bfb9 + languageName: node + linkType: hard + +"websocket-extensions@npm:>=0.1.1": + version: 0.1.4 + resolution: "websocket-extensions@npm:0.1.4" + checksum: 5976835e68a86afcd64c7a9762ed85f2f27d48c488c707e67ba85e717b90fa066b98ab33c744d64255c9622d349eedecf728e65a5f921da71b58d0e9591b9038 + languageName: node + linkType: hard + +"whatwg-encoding@npm:^2.0.0": + version: 2.0.0 + resolution: "whatwg-encoding@npm:2.0.0" + dependencies: + iconv-lite: 0.6.3 + checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^3.0.0": + version: 3.0.0 + resolution: "whatwg-mimetype@npm:3.0.0" + checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 + languageName: node + linkType: hard + +"whatwg-url@npm:^10.0.0": + version: 10.0.0 + resolution: "whatwg-url@npm:10.0.0" + dependencies: + tr46: ^3.0.0 + webidl-conversions: ^7.0.0 + checksum: a21ec309c5cc743fe9414509408bedf65eaf0fb5c17ac66baa08ef12fce16da4dd30ce90abefbd5a716408301c58a73666dabfd5042cf4242992eb98b954f861 + languageName: node + linkType: hard + +"whatwg-url@npm:^11.0.0": + version: 11.0.0 + resolution: "whatwg-url@npm:11.0.0" + dependencies: + tr46: ^3.0.0 + webidl-conversions: ^7.0.0 + checksum: ed4826aaa57e66bb3488a4b25c9cd476c46ba96052747388b5801f137dd740b73fde91ad207d96baf9f17fbcc80fc1a477ad65181b5eb5fa718d27c69501d7af + languageName: node + linkType: hard + +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 809f7fd3dfcb2cdbe0180b60d68100c88785084f8f9492b0998c051d7a8efe56784492609d3f09ac161635b78ea29219eb1418a98c15ce87d085bce905705c9c + languageName: node + linkType: hard + +"which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + languageName: node + linkType: hard + +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1 + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + +"widest-line@npm:^3.1.0": + version: 3.1.0 + resolution: "widest-line@npm:3.1.0" + dependencies: + string-width: ^4.0.0 + checksum: 03db6c9d0af9329c37d74378ff1d91972b12553c7d72a6f4e8525fe61563fa7adb0b9d6e8d546b7e059688712ea874edd5ded475999abdeedf708de9849310e0 + languageName: node + linkType: hard + +"wildcard@npm:^2.0.0": + version: 2.0.0 + resolution: "wildcard@npm:2.0.0" + checksum: 1f4fe4c03dfc492777c60f795bbba597ac78794f1b650d68f398fbee9adb765367c516ebd4220889b6a81e9626e7228bbe0d66237abb311573c2ee1f4902a5ad + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": + version: 1.2.3 + resolution: "word-wrap@npm:1.2.3" + checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f + languageName: node + linkType: hard + +"wrap-ansi@npm:^5.1.0": + version: 5.1.0 + resolution: "wrap-ansi@npm:5.1.0" + dependencies: + ansi-styles: ^3.2.0 + string-width: ^3.0.0 + strip-ansi: ^5.0.0 + checksum: 9b48c862220e541eb0daa22661b38b947973fc57054e91be5b0f2dcc77741a6875ccab4ebe970a394b4682c8dfc17e888266a105fb8b0a9b23c19245e781ceae + languageName: node + linkType: hard + +"wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: 6cd96a410161ff617b63581a08376f0cb9162375adeb7956e10c8cd397821f7eb2a6de24eb22a0b28401300bf228c86e50617cd568209b5f6775b93c97d2fe3a + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 + languageName: node + linkType: hard + +"write-file-atomic@npm:^3.0.0, write-file-atomic@npm:^3.0.3": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: ^0.1.4 + is-typedarray: ^1.0.0 + signal-exit: ^3.0.2 + typedarray-to-buffer: ^3.1.5 + checksum: c55b24617cc61c3a4379f425fc62a386cc51916a9b9d993f39734d005a09d5a4bb748bc251f1304e7abd71d0a26d339996c275955f527a131b1dcded67878280 + languageName: node + linkType: hard + +"write-file-atomic@npm:^4.0.1": + version: 4.0.1 + resolution: "write-file-atomic@npm:4.0.1" + dependencies: + imurmurhash: ^0.1.4 + signal-exit: ^3.0.7 + checksum: 8f780232533ca6223c63c9b9c01c4386ca8c625ebe5017a9ed17d037aec19462ae17109e0aa155bff5966ee4ae7a27b67a99f55caf3f32ffd84155e9da3929fc + languageName: node + linkType: hard + +"ws@npm:^8.1.0, ws@npm:^8.2.3, ws@npm:^8.4.2": + version: 8.8.1 + resolution: "ws@npm:8.8.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 2152cf862cae0693f3775bc688a6afb2e989d19d626d215e70f5fcd8eb55b1c3b0d3a6a4052905ec320e2d7734e20aeedbf9744496d62f15a26ad79cf4cf7dae + languageName: node + linkType: hard + +"xdg-basedir@npm:^4.0.0": + version: 4.0.0 + resolution: "xdg-basedir@npm:4.0.0" + checksum: 0073d5b59a37224ed3a5ac0dd2ec1d36f09c49f0afd769008a6e9cd3cd666bd6317bd1c7ce2eab47e1de285a286bad11a9b038196413cd753b79770361855f3c + languageName: node + linkType: hard + +"xliff-simple-merge@npm:~0.12.0": + version: 0.12.4 + resolution: "xliff-simple-merge@npm:0.12.4" + dependencies: + commander: ~8.3.0 + js-levenshtein: ~1.1.6 + xmldoc: ~1.1.2 + bin: + xliff-simple-merge: dist/src/index.js + checksum: 07a2fdf2c8640e8c802811ac758468ee40a33debe800f56810b6c263debeb4638c1cee0c715c769eedb03e88002884e1ed28e4ff41c930f7468afdc7df0023fe + languageName: node + linkType: hard + +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad + languageName: node + linkType: hard + +"xml_normalize@npm:~0.8.3": + version: 0.8.4 + resolution: "xml_normalize@npm:0.8.4" + dependencies: + commander: ~7.1.0 + xmldoc: ~1.1.2 + bin: + xml_normalize: dist/src/index.js + checksum: a6cbbf28c46a2c734d35c881384e45feb403ce5d2e36f27df1c93e3d9276743e93617625b43f7da66e248ba0888a50867e307fb153c3157cb204b3fef0ff5054 + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 + languageName: node + linkType: hard + +"xmldoc@npm:~1.1.2": + version: 1.1.4 + resolution: "xmldoc@npm:1.1.4" + dependencies: + sax: ^1.2.4 + checksum: 794c4afabd1c9c718dee9e2859439aa0c6c4e701ce689c5194255ce9447a631e6206af01fbd65864c1986d60663b990c33d60cab4c8c3989f31c3ff0c0fe2b21 + languageName: node + linkType: hard + +"xtend@npm:>=4.0.0 <4.1.0-0": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a + languageName: node + linkType: hard + +"xterm-addon-fit@npm:0.5.0": + version: 0.5.0 + resolution: "xterm-addon-fit@npm:0.5.0" + peerDependencies: + xterm: ^4.0.0 + checksum: 884d9f360893335c87e4514beeda2af6dbebf38a89b8518f1126d9c4611aefc1598b750bb43a953b79fdf1179c40d70c77a9169ae10f07e0abbbdb39b919b33f + languageName: node + linkType: hard + +"xterm@npm:4.18.0": + version: 4.18.0 + resolution: "xterm@npm:4.18.0" + checksum: c1f391b0894928e048f8b6334943470b9e8fe91987222716a6c82840757475b87196383f6ce872250fe3dff3d984f45411fdf3841436c22d9301e50bf6043d2e + languageName: node + linkType: hard + +"y18n@npm:^4.0.0": + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 + languageName: node + linkType: hard + +"yallist@npm:^2.1.2": + version: 2.1.2 + resolution: "yallist@npm:2.1.2" + checksum: 9ba99409209f485b6fcb970330908a6d41fa1c933f75e08250316cce19383179a6b70a7e0721b89672ebb6199cc377bf3e432f55100da6a7d6e11902b0a642cb + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 + languageName: node + linkType: hard + +"yaml@npm:^1.10.0, yaml@npm:^1.10.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f + languageName: node + linkType: hard + +"yargs-parser@npm:^13.1.2": + version: 13.1.2 + resolution: "yargs-parser@npm:13.1.2" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: c8bb6f44d39a4acd94462e96d4e85469df865de6f4326e0ab1ac23ae4a835e5dd2ddfe588317ebf80c3a7e37e741bd5cb0dc8d92bcc5812baefb7df7c885e86b + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.x": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.0.0, yargs-parser@npm:^21.0.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c + languageName: node + linkType: hard + +"yargs@npm:^13.3.0": + version: 13.3.2 + resolution: "yargs@npm:13.3.2" + dependencies: + cliui: ^5.0.0 + find-up: ^3.0.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^3.0.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^13.1.2 + checksum: 75c13e837eb2bb25717957ba58d277e864efc0cca7f945c98bdf6477e6ec2f9be6afa9ed8a876b251a21423500c148d7b91e88dee7adea6029bdec97af1ef3e8 + languageName: node + linkType: hard + +"yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: b14afbb51e3251a204d81937c86a7e9d4bdbf9a2bcee38226c900d00f522969ab675703bee2a6f99f8e20103f608382936034e64d921b74df82b63c07c5e8f59 + languageName: node + linkType: hard + +"yargs@npm:^17.0.0, yargs@npm:^17.2.1, yargs@npm:^17.3.1": + version: 17.5.1 + resolution: "yargs@npm:17.5.1" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.3 + y18n: ^5.0.5 + yargs-parser: ^21.0.0 + checksum: 00d58a2c052937fa044834313f07910fd0a115dec5ee35919e857eeee3736b21a4eafa8264535800ba8bac312991ce785ecb8a51f4d2cc8c4676d865af1cfbde + languageName: node + linkType: hard + +"yauzl@npm:^2.10.0": + version: 2.10.0 + resolution: "yauzl@npm:2.10.0" + dependencies: + buffer-crc32: ~0.2.3 + fd-slicer: ~1.1.0 + checksum: 7f21fe0bbad6e2cb130044a5d1d0d5a0e5bf3d8d4f8c4e6ee12163ce798fee3de7388d22a7a0907f563ac5f9d40f8699a223d3d5c1718da90b0156da6904022b + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 + languageName: node + linkType: hard + +"zone.js@npm:0.11.5": + version: 0.11.5 + resolution: "zone.js@npm:0.11.5" + dependencies: + tslib: ^2.3.0 + checksum: 7dba3af83cc68e881e8a5cc549e4a7bab5f32c5289838f14eb251871816210a39ed8bcd89030593b56d469b4aa8271d644e71ad408fcadd4ccd61b8c7203f2ef + languageName: node + linkType: hard + +"zone.js@npm:~0.10.3": + version: 0.10.3 + resolution: "zone.js@npm:0.10.3" + checksum: 69e0194b377dff8eb5ce7fa202334a0e0bd0a530f3bbd61b5b2a53af29fd67f058d47aa1cdd8a340cdf9e59f3b7c0d01dbd87d5f1563bcfb5dd6b2c761b21590 + languageName: node + linkType: hard From 8053c6cb34904c2e9ccdfe9c5add455d6940c0af Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 13:59:31 +0200 Subject: [PATCH 113/162] Update codecov config --- .codecov.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.codecov.yml b/.codecov.yml index 342d826d7010..63f3382cd874 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -30,7 +30,7 @@ coverage: informational: true # We use codecov for information described as above. So it is enough to check only `project` as of now. patch: off - changes: off + changes: false parsers: gcov: @@ -43,4 +43,4 @@ parsers: comment: layout: "header, diff" behavior: default - require_changes: no + require_changes: false From 278d40aed2e30d704779af642fffaa977f27a063 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 14:01:25 +0200 Subject: [PATCH 114/162] Bump Go version --- .github/workflows/ci-api.yml | 4 ++-- .github/workflows/ci-global.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 3fcb2607bfe1..8299ff72f08e 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -42,7 +42,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - name: Verify codegen run: make codegen-verify - name: Lint Go @@ -69,7 +69,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 check-latest: true cache: true cache-dependency-path: modules/api/go.sum diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index b601a6890580..bf412178f0bc 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -45,7 +45,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - name: Setup Node.js uses: actions/setup-node@v3 with: From ca9009078f6170c3db93d1ccd2033eec14d9f7a7 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 14:15:31 +0200 Subject: [PATCH 115/162] Set GOPATH --- .github/workflows/ci-api.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 8299ff72f08e..c252d03bc3aa 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -56,6 +56,7 @@ jobs: runs-on: ubuntu-latest env: NG_CLI_ANALYTICS: ci + GOPATH: ${{ github.workspace }} GOPROXY: "https://proxy.golang.org" TERM: xterm defaults: From 08a27ec2096676a040de21b02319d3abcc362f15 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 14:19:48 +0200 Subject: [PATCH 116/162] Retry --- .github/workflows/ci-api.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index c252d03bc3aa..574493d2d655 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -63,6 +63,9 @@ jobs: run: working-directory: modules/api steps: + - run: echo $GOPATH + - run: echo $(go env GOPATH) + - run: export GOPATH=$(go env GOPATH)/bin - name: Checkout repository uses: actions/checkout@v3 with: From 031ec2cd6016c6096a229085d003a0a2f31ebb75 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 14:23:41 +0200 Subject: [PATCH 117/162] Retry --- .github/workflows/ci-api.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 574493d2d655..ec7b763903cc 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -63,9 +63,6 @@ jobs: run: working-directory: modules/api steps: - - run: echo $GOPATH - - run: echo $(go env GOPATH) - - run: export GOPATH=$(go env GOPATH)/bin - name: Checkout repository uses: actions/checkout@v3 with: @@ -80,6 +77,9 @@ jobs: - name: Install dependencies shell: bash run: go mod download + - run: echo $GOPATH + - run: echo $(go env GOPATH) + - run: export GOPATH=$(go env GOPATH)/bin - name: Run unit tests with coverage run: make coverage - name: Upload coverage From 83a4867b2ecc616ffab982f7cd94c7385663789c Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 14:35:40 +0200 Subject: [PATCH 118/162] Retry --- .github/workflows/ci-api.yml | 13 ++++++++----- .github/workflows/ci-web.yml | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index ec7b763903cc..a99c7f8b9f7e 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -44,7 +44,10 @@ jobs: with: go-version: 1.19 - name: Verify codegen - run: make codegen-verify + run: | + export GOPATH=$(go env GOPATH) + export PATH=$PATH:$GOPATH/bin + make codegen-verify - name: Lint Go uses: golangci/golangci-lint-action@v3 with: @@ -76,10 +79,10 @@ jobs: cache-dependency-path: modules/api/go.sum - name: Install dependencies shell: bash - run: go mod download - - run: echo $GOPATH - - run: echo $(go env GOPATH) - - run: export GOPATH=$(go env GOPATH)/bin + run: | + export GOPATH=$(go env GOPATH) + export PATH=$PATH:$GOPATH/bin + go mod download - name: Run unit tests with coverage run: make coverage - name: Upload coverage diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index efa4d3ce292f..d9f6f7d55d8b 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -51,7 +51,7 @@ jobs: - name: Install Dependencies shell: bash run: | - [ ! -d "node_modules" ] && npm ci || node scripts/version.mjs + [ ! -d "node_modules" ] && npm ci || node hack/version.mjs - name: Check Code shell: bash run: npm run check @@ -85,7 +85,7 @@ jobs: - name: Install dependencies shell: bash run: | - [ ! -d "node_modules" ] && npm ci && node scripts/version.mjs + [ ! -d "node_modules" ] && npm ci && node hack/version.mjs - name: Run unit tests with coverage run: make coverage-frontend - name: Upload coverage From ded3d56b353fea32754f024c15bc4b48aeca729e Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 14:54:59 +0200 Subject: [PATCH 119/162] Fix variable name --- modules/api/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/api/Makefile b/modules/api/Makefile index a6b96a958268..f3d541093612 100644 --- a/modules/api/Makefile +++ b/modules/api/Makefile @@ -59,7 +59,7 @@ test: .PHONY: coverage coverage: - go test -coverprofile=$(GO_COVERAGE_FILE) -covermode=atomic $(PACKAGE_NAME)/... + go test -coverprofile=$(COVERAGE_FILE) -covermode=atomic $(PACKAGE_NAME)/... .PHONY: --ensure-dist-exists --ensure-dist-exists: From 1a26681d3a796206c8e394c95f70f0960533594b Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 15:14:46 +0200 Subject: [PATCH 120/162] Update API workflow --- .github/workflows/ci-api.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index a99c7f8b9f7e..f646c1fe1874 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -43,6 +43,9 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.19 + - name: Ensure tools + run: make install + working-directory: modules/common/tools - name: Verify codegen run: | export GOPATH=$(go env GOPATH) @@ -89,5 +92,5 @@ jobs: uses: codecov/codecov-action@v2 with: name: api-coverage - files: ./coverage.out + files: ./modules/api/coverage.out fail_ci_if_error: true From 2ac861dcba5af6cb2523d8393b3c6a10baf878d6 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 15:20:23 +0200 Subject: [PATCH 121/162] Bump golangci-lint --- .github/workflows/ci-api.yml | 2 +- hack/develop/Dockerfile | 2 +- modules/common/tools/go.mod | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index f646c1fe1874..22693e858389 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -54,7 +54,7 @@ jobs: - name: Lint Go uses: golangci/golangci-lint-action@v3 with: - version: v1.46.0 + version: v1.49.0 working-directory: modules/api unit: diff --git a/hack/develop/Dockerfile b/hack/develop/Dockerfile index 02dfa8054514..48b7bcd0cd84 100644 --- a/hack/develop/Dockerfile +++ b/hack/develop/Dockerfile @@ -83,7 +83,7 @@ RUN mv ./kubectl /usr/local/bin/kubectl # `npm ci` installs golangci, but this installation is needed # for running `npm run check` singlely, like # `aio/develop/run-npm-on-container.sh run check`. -RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.48.0 +RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.49.0 # Enable go mod. ENV GO111MODULE=on diff --git a/modules/common/tools/go.mod b/modules/common/tools/go.mod index 115712661492..f7556f3ed057 100644 --- a/modules/common/tools/go.mod +++ b/modules/common/tools/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/apache/skywalking-eyes v0.2.0 github.com/cosmtrek/air v1.29.0 - github.com/golangci/golangci-lint v1.46.0 + github.com/golangci/golangci-lint v1.49.0 k8s.io/code-generator v0.24.2 ) From df92ddf535675cc20da274c319a6c82825e20e50 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 15:34:34 +0200 Subject: [PATCH 122/162] Update web workflow --- .github/workflows/ci-web.yml | 48 +-- modules/web/yarn.lock | 568 +++++++++++++++++++---------------- 2 files changed, 319 insertions(+), 297 deletions(-) diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index d9f6f7d55d8b..f7f71810d9c4 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -33,28 +33,15 @@ jobs: run: working-directory: modules/web steps: - - name: Checkout repository - uses: actions/checkout@v3 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Setup Node.js - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: node-version: 16.15.0 - - name: Cache Node.js modules - uses: actions/cache@v3 - env: - cache-name: cache-node-modules - with: - path: node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - name: Install Dependencies - shell: bash - run: | - [ ! -d "node_modules" ] && npm ci || node hack/version.mjs - - name: Check Code - shell: bash - run: npm run check + - run: yarn + - run: node hack/version.mjs + - run: npm run check unit: name: Unit tests with coverage @@ -67,29 +54,16 @@ jobs: run: working-directory: modules/web steps: - - name: Checkout repository - uses: actions/checkout@v3 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Setup Node.js - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: node-version: 16.15.0 - - name: Cache Node.js modules - uses: actions/cache@v3 - env: - cache-name: cache-node-modules - with: - path: node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - name: Install dependencies - shell: bash - run: | - [ ! -d "node_modules" ] && npm ci && node hack/version.mjs - - name: Run unit tests with coverage - run: make coverage-frontend - - name: Upload coverage - uses: codecov/codecov-action@v2 + - run: yarn + - run: node hack/version.mjs + - run: make coverage-frontend + - uses: codecov/codecov-action@v2 with: name: api-coverage files: ./coverage diff --git a/modules/web/yarn.lock b/modules/web/yarn.lock index 05efe8561097..18821507623a 100644 --- a/modules/web/yarn.lock +++ b/modules/web/yarn.lock @@ -505,9 +505,9 @@ __metadata: linkType: hard "@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8": - version: 7.18.8 - resolution: "@babel/compat-data@npm:7.18.8" - checksum: 3096aafad74936477ebdd039bcf342fba84eb3100e608f3360850fb63e1efa1c66037c4824f814d62f439ab47d25164439343a6e92e9b4357024fdf571505eb9 + version: 7.18.13 + resolution: "@babel/compat-data@npm:7.18.13" + checksum: 869a730dc3ec40d4d5141b832d50b16702a2ea7bf5b87dc2761e7dfaa8deeafa03b8809fc42ff713ac1d450748dcdb07e1eb21f4633e10b87fd47be0065573e6 languageName: node linkType: hard @@ -581,25 +581,25 @@ __metadata: linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.17.2": - version: 7.18.10 - resolution: "@babel/core@npm:7.18.10" + version: 7.18.13 + resolution: "@babel/core@npm:7.18.13" dependencies: "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.10 + "@babel/generator": ^7.18.13 "@babel/helper-compilation-targets": ^7.18.9 "@babel/helper-module-transforms": ^7.18.9 "@babel/helpers": ^7.18.9 - "@babel/parser": ^7.18.10 + "@babel/parser": ^7.18.13 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.18.10 - "@babel/types": ^7.18.10 + "@babel/traverse": ^7.18.13 + "@babel/types": ^7.18.13 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: 3a3fcd878430a9e1cb165f755c89fff45acc4efe4dd3a2ba356e89af331cb1947886b9782d56902a49af19ba3c24f08cf638a632699b9c5a4d8305c57c6a150d + checksum: c7ee5b2c10bc5b0325e31fb5da4cb4bc03f9d5f5c00ec3481a018917bcc6b7b040de0690c606a424f57e5fc26d218d64e7718d0e5d7d8614d39c8cd898fab9b3 languageName: node linkType: hard @@ -614,14 +614,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.10, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.7.2": - version: 7.18.12 - resolution: "@babel/generator@npm:7.18.12" +"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.7.2": + version: 7.18.13 + resolution: "@babel/generator@npm:7.18.13" dependencies: - "@babel/types": ^7.18.10 + "@babel/types": ^7.18.13 "@jridgewell/gen-mapping": ^0.3.2 jsesc: ^2.5.1 - checksum: 07dd71d255144bb703a80ab0156c35d64172ce81ddfb70ff24e2be687b052080233840c9a28d92fa2c33f7ecb8a8b30aef03b807518afc53b74c7908bf8859b1 + checksum: 27f5e7eb774e4d76ee75dc96e3e1bd26cc0ee7cea13a8f7342b716319c0a4d4e26fc49aa8f19316f7c99383da55eeb2a866c6e034e9deacad58a9de9ed6004fb languageName: node linkType: hard @@ -668,8 +668,8 @@ __metadata: linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.18.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.18.9" + version: 7.18.13 + resolution: "@babel/helper-create-class-features-plugin@npm:7.18.13" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-environment-visitor": ^7.18.9 @@ -680,7 +680,7 @@ __metadata: "@babel/helper-split-export-declaration": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0 - checksum: 020dba79b92ee9a98520dad81dddb47d75b34b7b4392672cbefc59db6f5e89a96c5eb95bb1cc46b2fddf913ef63dfe6d17168f56b059af5c6965bb37b6ce1d82 + checksum: 3d2da92a54b885b211a747a8c553bb0190895d140cd1daab5d9945b2b271817d9d288a512364085e9fad19bd503921cd85fcc12f98df67b39b27f5655eb9d058 languageName: node linkType: hard @@ -906,12 +906,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.11": - version: 7.18.11 - resolution: "@babel/parser@npm:7.18.11" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.13": + version: 7.18.13 + resolution: "@babel/parser@npm:7.18.13" bin: parser: ./bin/babel-parser.js - checksum: 5ecc75b83e62ec53a947b1635a6ca75d6210d4a4f962f9f16f4239a6783f98e57f9662b598fa2fb1b8e12c0ad5c2bd86846ed0b97b85eb73dd7498b3a6d71a4b + checksum: 8b41c35607668495d67d9a7c5f61768aaab26acf887efdadc2781aed54046981480ef40aeda0b84d61aed02cf0c4ff4b028d5f83ab85e17e2ddff318f9243b8b languageName: node linkType: hard @@ -1428,13 +1428,13 @@ __metadata: linkType: hard "@babel/plugin-transform-destructuring@npm:^7.16.7, @babel/plugin-transform-destructuring@npm:^7.18.0": - version: 7.18.9 - resolution: "@babel/plugin-transform-destructuring@npm:7.18.9" + version: 7.18.13 + resolution: "@babel/plugin-transform-destructuring@npm:7.18.13" dependencies: "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1a9b85dff67fd248fa8a2488ef59df3eb4dd4ca6007ff7db9f780c7873630a13bc16cfb2ad8f4c4ca966e42978410d1e4b306545941fe62769f2683f34973acd + checksum: 83e44ec93a4cfbf69376db8836d00ec803820081bf0f8b6cea73a9b3cd320b8285768d5b385744af4a27edda4b6502245c52d3ed026ea61356faf57bfe78effb languageName: node linkType: hard @@ -1987,32 +1987,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.10, @babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": - version: 7.18.11 - resolution: "@babel/traverse@npm:7.18.11" +"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.13, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": + version: 7.18.13 + resolution: "@babel/traverse@npm:7.18.13" dependencies: "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.10 + "@babel/generator": ^7.18.13 "@babel/helper-environment-visitor": ^7.18.9 "@babel/helper-function-name": ^7.18.9 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.18.11 - "@babel/types": ^7.18.10 + "@babel/parser": ^7.18.13 + "@babel/types": ^7.18.13 debug: ^4.1.0 globals: ^11.1.0 - checksum: 727409464d5cf27f33555010098ce9bb435f0648cc76e674f4fb7513522356655ba62be99c8df330982b391ccf5f0c0c23c7bd7453d4936d47e2181693fed14c + checksum: 1a2ef738fac4968feba6385787a3f8f7357d08e7739ecc5b37d8ff5668935253a03290f700f02a85ccfd369d5898625f0722d7733bff2ef91504f6cd8b836f19 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.18.10 - resolution: "@babel/types@npm:7.18.10" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.18.13 + resolution: "@babel/types@npm:7.18.13" dependencies: "@babel/helper-string-parser": ^7.18.10 "@babel/helper-validator-identifier": ^7.18.6 to-fast-properties: ^2.0.0 - checksum: 11632c9b106e54021937a6498138014ebc9ad6c327a07b2af3ba8700773945aba4055fd136431cbe3a500d0f363cbf9c68eb4d6d38229897c5de9d06e14c85e8 + checksum: abc3ad1f3b6864df0ea0e778bcdf7d2c5ee2293811192962d50e8a8c05c1aeec90a48275f53b2a45aad882ed8bef9477ae1f8e70ac1d44d039e14930d1388dcc languageName: node linkType: hard @@ -2119,9 +2119,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.1": - version: 0.15.1 - resolution: "@esbuild/linux-loong64@npm:0.15.1" +"@esbuild/linux-loong64@npm:0.15.5": + version: 0.15.5 + resolution: "@esbuild/linux-loong64@npm:0.15.5" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2525,7 +2525,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.7, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.14, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.15 resolution: "@jridgewell/trace-mapping@npm:0.3.15" dependencies: @@ -2591,12 +2591,12 @@ __metadata: linkType: hard "@npmcli/fs@npm:^2.1.0": - version: 2.1.1 - resolution: "@npmcli/fs@npm:2.1.1" + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" dependencies: "@gar/promisify": ^1.1.3 semver: ^7.3.5 - checksum: 4944a0545d38d3e6e29780eeb3cd4be6059c1e9627509d2c9ced635c53b852d28b37cdc615a2adf815b51ab8673adb6507e370401a20a7e90c8a6dc4fac02389 + checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 languageName: node linkType: hard @@ -2639,12 +2639,12 @@ __metadata: linkType: hard "@npmcli/move-file@npm:^2.0.0": - version: 2.0.0 - resolution: "@npmcli/move-file@npm:2.0.0" + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" dependencies: mkdirp: ^1.0.4 rimraf: ^3.0.2 - checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 + checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 languageName: node linkType: hard @@ -2722,9 +2722,9 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.24.1": - version: 0.24.27 - resolution: "@sinclair/typebox@npm:0.24.27" - checksum: c283de9158c0206da3d1ebd7c5f994da0b1cf86df89674da7709850300ecdceb0d4c9680dccce84b60cdcc3d8858f54df8235b250ba092726fadb2bebe720bd1 + version: 0.24.28 + resolution: "@sinclair/typebox@npm:0.24.28" + checksum: adc1f06c548f0c495dad5a7124394242553e059c5ea3faa19f404b43958125366513240f17fa2b5272a3aec18618cab4137d5c85259e99ce9eaca67538af2732 languageName: node linkType: hard @@ -3145,11 +3145,11 @@ __metadata: linkType: hard "@types/d3-transition@npm:*": - version: 3.0.1 - resolution: "@types/d3-transition@npm:3.0.1" + version: 3.0.2 + resolution: "@types/d3-transition@npm:3.0.2" dependencies: "@types/d3-selection": "*" - checksum: 7e9bd99bf54e52c839d229367ec5ffdd84e6fd83544381ad7c69db4b47f23a658f733ea7a6d551bc340d37affce76513dab5f8df80053bd8c1a8101ff58115c7 + checksum: 7784941a22cc5b91fe95a22e9629e793b7830d49f9ee452f742c3b48d1148d85efcd598cec2b5151d92a626feac2276990e0f16073cb93b7735edf48865b719c languageName: node linkType: hard @@ -3212,12 +3212,12 @@ __metadata: linkType: hard "@types/eslint@npm:*": - version: 8.4.5 - resolution: "@types/eslint@npm:8.4.5" + version: 8.4.6 + resolution: "@types/eslint@npm:8.4.6" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 428b0c971a50adb0d08621e76f21b284580a0052a31341a0e6d553f72b54cd0142d549aa1497c7e3bc56e9f6bcc27286e66e0216e1ba76d1a5ecd2279c40bc8c + checksum: bfaf27b00031b2238139003965475d023306119e467947f7a43a41e380918e365618e2ae6a6ae638697f6421a6bb1571db078695ff5e548f23618000b38acd23 languageName: node linkType: hard @@ -3325,7 +3325,14 @@ __metadata: languageName: node linkType: hard -"@types/jasmine@npm:*, @types/jasmine@npm:4.0.3": +"@types/jasmine@npm:*": + version: 4.3.0 + resolution: "@types/jasmine@npm:4.3.0" + checksum: 8a4c8716d80ee6fd9e8976ce5d929fde9d34daa012ecd57e598149ecebf3e8acf42b4ebaf746e13b40a0564f9f3ca7a10a9c8eb2c95a047412ae3f37168bac01 + languageName: node + linkType: hard + +"@types/jasmine@npm:4.0.3": version: 4.0.3 resolution: "@types/jasmine@npm:4.0.3" checksum: 9d2af9ddb5750667bc9a3b439542fc9457c6eac2ab2c74801f598b03b9bc5cee1338fa8e75e6804dff1856e64539e8b0e3962ed8664a702f362d3db62eb9cd3a @@ -3399,7 +3406,14 @@ __metadata: languageName: node linkType: hard -"@types/minimatch@npm:*, @types/minimatch@npm:^3.0.3": +"@types/minimatch@npm:*": + version: 5.1.0 + resolution: "@types/minimatch@npm:5.1.0" + checksum: 041c1bf29a9c3d29ac401380cf94fa79613c8fccaa5b9e763996159e504bda4cb11e80a638f7842a987590f232864ba84a19f9b803d433cd92bac2759696dd24 + languageName: node + linkType: hard + +"@types/minimatch@npm:^3.0.3": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 @@ -3414,9 +3428,9 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 18.7.2 - resolution: "@types/node@npm:18.7.2" - checksum: 422cf95dea09959d0e809d24280b76948f60ea805e20d38f07bf9eeafeb413513b9cc365404766f7752bef9cafb8301a882d9d097f780e13f2bedf507459ebc5 + version: 18.7.13 + resolution: "@types/node@npm:18.7.13" + checksum: 45431e7e89ecaf85c7d2c180d801c132a7c59e2f8ad578726b6d71cc74e3267c18f9ccdcad738bc0479790c078f0c79efb0e58da2c6be535c15995dbb19050c9 languageName: node linkType: hard @@ -3428,9 +3442,9 @@ __metadata: linkType: hard "@types/node@npm:^14.14.31": - version: 14.18.23 - resolution: "@types/node@npm:14.18.23" - checksum: 119d5ab18426694ade0d3feefbdb42afc5a47b9144e523293f1554f9d34b41c7f21eafc9d0f1295db5700d134aa74e7fd37556e9438f6d64dbeddf791527e1e4 + version: 14.18.26 + resolution: "@types/node@npm:14.18.26" + checksum: c6ac3f9d4f6f77c0fa5ac17757779ad4d9835abfe3af5708b7552597cb5c7c1103e83499ccaf767a1cfa70040990bcf3f58761c547051dc8d5077f3c419091b1 languageName: node linkType: hard @@ -3651,13 +3665,13 @@ __metadata: linkType: hard "@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.33.0 - resolution: "@typescript-eslint/experimental-utils@npm:5.33.0" + version: 5.35.1 + resolution: "@typescript-eslint/experimental-utils@npm:5.35.1" dependencies: - "@typescript-eslint/utils": 5.33.0 + "@typescript-eslint/utils": 5.35.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 51374c63afd368e992278c321819cca64354f0a160de07780378cd30fe148e9a239676b4005869ff0dc1910575e60cc96535a36be3d509b7e22c0cec7b0eed12 + checksum: b67f347e45e719080ac6460c7624db2d1eb1c02abd1d031cfb96f2b0cd8a0cfff3cec71a3913fd0da20c045ec9e0b888e3ef1e50bcb606e2644b8e4f91cce1c5 languageName: node linkType: hard @@ -3715,13 +3729,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.33.0": - version: 5.33.0 - resolution: "@typescript-eslint/scope-manager@npm:5.33.0" +"@typescript-eslint/scope-manager@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/scope-manager@npm:5.35.1" dependencies: - "@typescript-eslint/types": 5.33.0 - "@typescript-eslint/visitor-keys": 5.33.0 - checksum: b2cbea9abd528d01a5acb2d68a2a5be51ec6827760d3869bdd70920cf6c3a4f9f96d87c77177f8313009d9db71253e4a75f8393f38651e2abaf91ef28e60fb9d + "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/visitor-keys": 5.35.1 + checksum: 5a969a081309bac5962f99ee6dfdfd9c68ea677bc79d9796592dce82a36217f67aa55c7bf421b2c97b46c5149d6a9401bb4c57829595e8c19f47cfa9e8c2dd86 languageName: node linkType: hard @@ -3755,10 +3769,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.33.0": - version: 5.33.0 - resolution: "@typescript-eslint/types@npm:5.33.0" - checksum: 8bbddda84cb3adf5c659b0d42547a2d6ab87f4eea574aca5dd63a3bd85169f32796ecbddad3b27f18a609070f6b1d18a54018d488bad746ae0f6ea5c02206109 +"@typescript-eslint/types@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/types@npm:5.35.1" + checksum: a4e1001867f43f3364b109fc5a07b91ae7a34b78ab191c6c5c4695dac9bb2b80b0a602651c0b807c1c7c1fc3656d2bbd47c637afa08a09e7b1c39eae3c489e00 languageName: node linkType: hard @@ -3798,12 +3812,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.33.0": - version: 5.33.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.33.0" +"@typescript-eslint/typescript-estree@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/typescript-estree@npm:5.35.1" dependencies: - "@typescript-eslint/types": 5.33.0 - "@typescript-eslint/visitor-keys": 5.33.0 + "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/visitor-keys": 5.35.1 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -3812,7 +3826,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 26f9005cdfb14654125a33d90d872b926820e560dff8970c4629fd5f6f47ad2a31e4c63161564d21bb42a8fc3ced0033994854ee37336ae07d90ccf6300d702b + checksum: a917ca4753a3f92c8d8555c96f5414383a9742761625476fa36a019401543aa74996159afa0f7fc7fae05fe0f904e3c6f4153a55412070c8a94e8171e81084c7 languageName: node linkType: hard @@ -3832,19 +3846,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.33.0": - version: 5.33.0 - resolution: "@typescript-eslint/utils@npm:5.33.0" +"@typescript-eslint/utils@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/utils@npm:5.35.1" dependencies: "@types/json-schema": ^7.0.9 - "@typescript-eslint/scope-manager": 5.33.0 - "@typescript-eslint/types": 5.33.0 - "@typescript-eslint/typescript-estree": 5.33.0 + "@typescript-eslint/scope-manager": 5.35.1 + "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/typescript-estree": 5.35.1 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 6ce5ee5eabeb6d73538b24e6487f811ecb0ef3467bd366cbd15bf30d904bdedb73fc6f48cf2e2e742dda462b42999ea505e8b59255545825ec9db86f3d423ea7 + checksum: 2b04092583c3139dd090727c24fb9d7fdb1fb9f20f2e3f0141cab5b98b6a1934b0fc8cab948f7faae55588385b0f1fb7bbf91f52c705ce4528036a527c3119c6 languageName: node linkType: hard @@ -3868,13 +3882,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.33.0": - version: 5.33.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.33.0" +"@typescript-eslint/visitor-keys@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/visitor-keys@npm:5.35.1" dependencies: - "@typescript-eslint/types": 5.33.0 + "@typescript-eslint/types": 5.35.1 eslint-visitor-keys: ^3.3.0 - checksum: d7e3653de6bac6841e6fcc54226b93ad6bdca4aa76ebe7d83459c016c3eebcc50d4f65ee713174bc267d765295b642d1927a778c5de707b8389e3fcc052aa4a1 + checksum: ef3c8377aac89935b5cc2fcf37bb3e42aa5f98848e7c22bdcbe5bb06c0fe8a1373a6897fd21109be8929b4708ad06c8874d2ef7bba17ff64911964203457330d languageName: node linkType: hard @@ -4368,9 +4382,9 @@ __metadata: linkType: hard "app-root-path@npm:^3.0.0": - version: 3.0.0 - resolution: "app-root-path@npm:3.0.0" - checksum: ff91a24db2b55070f6b3e22e72ce8fe8ea847e19eb8a3cbb267f9e9ac2a8372db65114dd6798a4ed7897a6f475b90a49330b3e53bf199d47e6abb5c5279aa1d7 + version: 3.1.0 + resolution: "app-root-path@npm:3.1.0" + checksum: e3db3957aee197143a0f6c75e39fe89b19e7244f28b4f2944f7276a9c526d2a7ab2d115b4b2d70a51a65a9a3ca17506690e5b36f75a068a7e5a13f8c092389ba languageName: node linkType: hard @@ -5060,8 +5074,8 @@ __metadata: linkType: hard "cacache@npm:^16.1.0": - version: 16.1.1 - resolution: "cacache@npm:16.1.1" + version: 16.1.3 + resolution: "cacache@npm:16.1.3" dependencies: "@npmcli/fs": ^2.1.0 "@npmcli/move-file": ^2.0.0 @@ -5080,8 +5094,8 @@ __metadata: rimraf: ^3.0.2 ssri: ^9.0.0 tar: ^6.1.11 - unique-filename: ^1.1.1 - checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a + unique-filename: ^2.0.0 + checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 languageName: node linkType: hard @@ -5150,9 +5164,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001179, caniuse-lite@npm:^1.0.30001299, caniuse-lite@npm:^1.0.30001370, caniuse-lite@npm:^1.0.30001373": - version: 1.0.30001375 - resolution: "caniuse-lite@npm:1.0.30001375" - checksum: 6ed9cf7a3f80f5880cb021105864b869dddfdda8490559aa623e77feeca5ce8958a3b7c1cf37322e519176dcb488c99e6358b8c2de2aa4a0e08846ac122c4e75 + version: 1.0.30001383 + resolution: "caniuse-lite@npm:1.0.30001383" + checksum: 1830129858510163f6acfbeaf258e0a84061091901ea349ee12541cc04997a25dc17d0ba731e8518711d87f0e08fee2a762aa89264d86be5f329300d0ff9d421 languageName: node linkType: hard @@ -5709,12 +5723,12 @@ __metadata: linkType: hard "core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": - version: 3.24.1 - resolution: "core-js-compat@npm:3.24.1" + version: 3.25.0 + resolution: "core-js-compat@npm:3.25.0" dependencies: browserslist: ^4.21.3 semver: 7.0.0 - checksum: b14516add9d59a9fae3b96d0de6e1d8864df80b714232814fce56ce946af3696cb50a4f83c717f8f36e43e1a37adf99a4cde6fc921e6ee56021eee2ea3bdc4dc + checksum: a40e072a67e65f34cb4b3a85bfdbbfcb0f3e1e2e171718763b13da4da897b5b6228603468027a0920096f0ee7e2c3906de95e26c9b6fe8f9595552bf2bc8f852 languageName: node linkType: hard @@ -6389,16 +6403,16 @@ __metadata: linkType: hard "date-fns@npm:^2.16.1": - version: 2.29.1 - resolution: "date-fns@npm:2.29.1" - checksum: 9d07f77dffc1eb8c213391bde39f2963ffe7c0019d9edde14487882d627224f3a39b963e6e99d0cc58afff220a6a1a7e8864d2789958f4eaa77714de94d4d076 + version: 2.29.2 + resolution: "date-fns@npm:2.29.2" + checksum: 08bebcceb0a5dbadae4c55e6592b9d5c07dbd7833433c7e9a1d4a424300db32589b8b48e5979b32863c9b00a48d9bab6663e580c2a4f9f203d46cbf9113b5664 languageName: node linkType: hard "dayjs@npm:^1.10.4": - version: 1.11.4 - resolution: "dayjs@npm:1.11.4" - checksum: 478c8a2db9e3fc752db9f02ef23f00e12308eebbeb85569913731ea78e8d5616f2335e14f25af48e9f16bbcbd796653092eca4d2f42c0218a948402c31735f59 + version: 1.11.5 + resolution: "dayjs@npm:1.11.5" + checksum: e3bbaa7b4883b31be4bf75a181f1447fbb19800c29b332852125aab96baeff3ac232dcba8b88c4ea17d3b636c99dac5fb9d1af4bb6ae26615698bbc4a852dffb languageName: node linkType: hard @@ -6469,9 +6483,9 @@ __metadata: linkType: hard "decimal.js@npm:^10.3.1": - version: 10.3.1 - resolution: "decimal.js@npm:10.3.1" - checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 + version: 10.4.0 + resolution: "decimal.js@npm:10.4.0" + checksum: 98702d9d817a9e5b3767ea6580e7f3b35544b9454e463a5dd5d3232131470f39067d02864c45cab009eb1200bc162cd26a33d34c622cd79e4657a3e25e95fb4e languageName: node linkType: hard @@ -6877,9 +6891,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.202": - version: 1.4.217 - resolution: "electron-to-chromium@npm:1.4.217" - checksum: 1902170384200c8f4bc4aa430503c527e6b8d06a63b8c604b5ede566c151c7001d93ebd1ad3d62acf2a872cbc2c8501d63fe9f99ff3b5ec84769bbbb2b36545d + version: 1.4.231 + resolution: "electron-to-chromium@npm:1.4.231" + checksum: c0a5d0b2423111e08acf2edfcb682bb09039f361a7c1707b4ff3e3c24b022221c9547ae44ad8daf58c7fc96bda89e475bed958774a0e2aefeb324efa03b4131b languageName: node linkType: hard @@ -7010,9 +7024,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-android-64@npm:0.15.1" +"esbuild-android-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-android-64@npm:0.15.5" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -7024,9 +7038,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-arm64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-android-arm64@npm:0.15.1" +"esbuild-android-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-android-arm64@npm:0.15.5" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -7038,9 +7052,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-darwin-64@npm:0.15.1" +"esbuild-darwin-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-darwin-64@npm:0.15.5" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -7052,9 +7066,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-arm64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-darwin-arm64@npm:0.15.1" +"esbuild-darwin-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-darwin-arm64@npm:0.15.5" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -7066,9 +7080,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-freebsd-64@npm:0.15.1" +"esbuild-freebsd-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-freebsd-64@npm:0.15.5" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -7080,9 +7094,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-arm64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-freebsd-arm64@npm:0.15.1" +"esbuild-freebsd-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-freebsd-arm64@npm:0.15.5" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -7094,9 +7108,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-32@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-32@npm:0.15.1" +"esbuild-linux-32@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-32@npm:0.15.5" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -7108,9 +7122,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-64@npm:0.15.1" +"esbuild-linux-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-64@npm:0.15.5" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -7122,9 +7136,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-arm64@npm:0.15.1" +"esbuild-linux-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-arm64@npm:0.15.5" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -7136,9 +7150,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-arm@npm:0.15.1" +"esbuild-linux-arm@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-arm@npm:0.15.5" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -7150,9 +7164,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-mips64le@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-mips64le@npm:0.15.1" +"esbuild-linux-mips64le@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-mips64le@npm:0.15.5" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -7164,9 +7178,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-ppc64le@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-ppc64le@npm:0.15.1" +"esbuild-linux-ppc64le@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-ppc64le@npm:0.15.5" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -7178,9 +7192,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-riscv64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-riscv64@npm:0.15.1" +"esbuild-linux-riscv64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-riscv64@npm:0.15.5" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -7192,9 +7206,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-s390x@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-linux-s390x@npm:0.15.1" +"esbuild-linux-s390x@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-s390x@npm:0.15.5" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -7206,9 +7220,9 @@ __metadata: languageName: node linkType: hard -"esbuild-netbsd-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-netbsd-64@npm:0.15.1" +"esbuild-netbsd-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-netbsd-64@npm:0.15.5" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -7220,9 +7234,9 @@ __metadata: languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-openbsd-64@npm:0.15.1" +"esbuild-openbsd-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-openbsd-64@npm:0.15.5" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -7234,9 +7248,9 @@ __metadata: languageName: node linkType: hard -"esbuild-sunos-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-sunos-64@npm:0.15.1" +"esbuild-sunos-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-sunos-64@npm:0.15.5" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -7251,11 +7265,11 @@ __metadata: linkType: hard "esbuild-wasm@npm:>=0.13.8": - version: 0.15.1 - resolution: "esbuild-wasm@npm:0.15.1" + version: 0.15.5 + resolution: "esbuild-wasm@npm:0.15.5" bin: esbuild: bin/esbuild - checksum: ed1ac4745ec6b4c70e66b4970dbbd437030d6c35539bde53d88661bbf69b1595a8727816f48c07e80328bebd3139fa95c9e48528a42d98b49b7441d17ec19cdc + checksum: eed3f81dc017192a4a70dc0474f7c61dc9709994a3070533a8b773b11482a1bc3051e0a10529741b146ae75b0878dc9ccf6db97c1afb4e5447b9c43b8e1c6eed languageName: node linkType: hard @@ -7266,9 +7280,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-32@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-windows-32@npm:0.15.1" +"esbuild-windows-32@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-windows-32@npm:0.15.5" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -7280,9 +7294,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-windows-64@npm:0.15.1" +"esbuild-windows-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-windows-64@npm:0.15.5" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7294,9 +7308,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-arm64@npm:0.15.1": - version: 0.15.1 - resolution: "esbuild-windows-arm64@npm:0.15.1" +"esbuild-windows-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-windows-arm64@npm:0.15.5" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -7370,30 +7384,30 @@ __metadata: linkType: hard "esbuild@npm:>=0.13.8": - version: 0.15.1 - resolution: "esbuild@npm:0.15.1" - dependencies: - "@esbuild/linux-loong64": 0.15.1 - esbuild-android-64: 0.15.1 - esbuild-android-arm64: 0.15.1 - esbuild-darwin-64: 0.15.1 - esbuild-darwin-arm64: 0.15.1 - esbuild-freebsd-64: 0.15.1 - esbuild-freebsd-arm64: 0.15.1 - esbuild-linux-32: 0.15.1 - esbuild-linux-64: 0.15.1 - esbuild-linux-arm: 0.15.1 - esbuild-linux-arm64: 0.15.1 - esbuild-linux-mips64le: 0.15.1 - esbuild-linux-ppc64le: 0.15.1 - esbuild-linux-riscv64: 0.15.1 - esbuild-linux-s390x: 0.15.1 - esbuild-netbsd-64: 0.15.1 - esbuild-openbsd-64: 0.15.1 - esbuild-sunos-64: 0.15.1 - esbuild-windows-32: 0.15.1 - esbuild-windows-64: 0.15.1 - esbuild-windows-arm64: 0.15.1 + version: 0.15.5 + resolution: "esbuild@npm:0.15.5" + dependencies: + "@esbuild/linux-loong64": 0.15.5 + esbuild-android-64: 0.15.5 + esbuild-android-arm64: 0.15.5 + esbuild-darwin-64: 0.15.5 + esbuild-darwin-arm64: 0.15.5 + esbuild-freebsd-64: 0.15.5 + esbuild-freebsd-arm64: 0.15.5 + esbuild-linux-32: 0.15.5 + esbuild-linux-64: 0.15.5 + esbuild-linux-arm: 0.15.5 + esbuild-linux-arm64: 0.15.5 + esbuild-linux-mips64le: 0.15.5 + esbuild-linux-ppc64le: 0.15.5 + esbuild-linux-riscv64: 0.15.5 + esbuild-linux-s390x: 0.15.5 + esbuild-netbsd-64: 0.15.5 + esbuild-openbsd-64: 0.15.5 + esbuild-sunos-64: 0.15.5 + esbuild-windows-32: 0.15.5 + esbuild-windows-64: 0.15.5 + esbuild-windows-arm64: 0.15.5 dependenciesMeta: "@esbuild/linux-loong64": optional: true @@ -7439,7 +7453,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: c6723f60bf5dc7d14bb81996db294d059bb16f3cb21cd2e46f7ee7fd34e29068c11b8b3e758224e278f45dc527ccb01b3e39aea540dc4c5de817ab6ae7f40987 + checksum: fc7f5df6542bd18dee1e61c58049ddf3d6b508d8d67eabcba455f7dbb560552e012f169a8afa2f209de554a206935fedf30d576aacdc2b46cb4da229181968fb languageName: node linkType: hard @@ -8237,9 +8251,9 @@ __metadata: linkType: hard "flatted@npm:^3.1.0": - version: 3.2.6 - resolution: "flatted@npm:3.2.6" - checksum: 33b87aa88dfa40ca6ee31d7df61712bbbad3d3c05c132c23e59b9b61d34631b337a18ff2b8dc5553acdc871ec72b741e485f78969cf006124a3f57174de29a0e + version: 3.2.7 + resolution: "flatted@npm:3.2.7" + checksum: 427633049d55bdb80201c68f7eb1cbd533e03eac541f97d3aecab8c5526f12a20ccecaeede08b57503e772c769e7f8680b37e8d482d1e5f8d7e2194687f9ea35 languageName: node linkType: hard @@ -9263,6 +9277,13 @@ __metadata: languageName: node linkType: hard +"intersection-observer@npm:>=0.11.0": + version: 0.12.2 + resolution: "intersection-observer@npm:0.12.2" + checksum: d1fa9ebbb1e0baafe88ad95545bbb93f92bdcb8789912a2bd11b2463ab177ef185052c9c79c26187833d633f404acb077d4b1249353c5f6e2ca5cd64f50e216b + languageName: node + linkType: hard + "ip@npm:^1.1.0": version: 1.1.8 resolution: "ip@npm:1.1.8" @@ -10571,7 +10592,7 @@ __metadata: minimatch: 5.1.0 minimist: 1.2.6 ng-extract-i18n-merge: 1.4.0 - ng-in-viewport: 13.0.1 + ng-in-viewport: 6.1.5 ngx-cookie-service: 13.2.1 ngx-pipes: 3.0.0 node-gyp: 9.0.0 @@ -10960,9 +10981,9 @@ __metadata: linkType: hard "lru-cache@npm:^7.7.1": - version: 7.13.2 - resolution: "lru-cache@npm:7.13.2" - checksum: dfed24e52bae95edf490d0f28f4f14552319ac7e7dc37ae0b84a72e084949233821b33227271abe81d8361ac079810f9d171a706f316cfdeda135012e4311015 + version: 7.14.0 + resolution: "lru-cache@npm:7.14.0" + checksum: efdd329f2c1bb790b71d497c6c59272e6bc2d7dd060ba55fc136becd3dd31fc8346edb446275504d94cb60d3c8385dbf5267b79b23789e409b2bdf302d13f0d7 languageName: node linkType: hard @@ -11011,8 +11032,8 @@ __metadata: linkType: hard "make-fetch-happen@npm:^10.0.1, make-fetch-happen@npm:^10.0.3": - version: 10.2.0 - resolution: "make-fetch-happen@npm:10.2.0" + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" dependencies: agentkeepalive: ^4.2.1 cacache: ^16.1.0 @@ -11030,7 +11051,7 @@ __metadata: promise-retry: ^2.0.1 socks-proxy-agent: ^7.0.0 ssri: ^9.0.0 - checksum: 2f6c294179972f56fab40fd8618f07841e06550692bb78f6da16e7afaa9dca78c345b08cf44a77a8907ef3948e4dc77e93eb7492b8381f1217d7ac057a7522f8 + checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c languageName: node linkType: hard @@ -11303,8 +11324,8 @@ __metadata: linkType: hard "minipass-fetch@npm:^2.0.3": - version: 2.1.0 - resolution: "minipass-fetch@npm:2.1.0" + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" dependencies: encoding: ^0.1.13 minipass: ^3.1.6 @@ -11313,7 +11334,7 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f + checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 languageName: node linkType: hard @@ -11532,16 +11553,17 @@ __metadata: languageName: node linkType: hard -"ng-in-viewport@npm:13.0.1": - version: 13.0.1 - resolution: "ng-in-viewport@npm:13.0.1" +"ng-in-viewport@npm:6.1.5": + version: 6.1.5 + resolution: "ng-in-viewport@npm:6.1.5" dependencies: - tslib: ^2.1.0 + intersection-observer: ">=0.11.0" + tslib: ">=1.9.0" peerDependencies: - "@angular/common": ">=12.0.0" - "@angular/core": ">=12.0.0" - rxjs: ">=6.5.3" - checksum: 6e7b490a25b32ca16190d78474bd3dc35017fb48e039c570926b3e404ad0529db8f7645849ada063829c6fded48126a821a04bbbb59ec5ff27fc9aef02866229 + "@angular/common": ">=6.0.0" + "@angular/core": ">=6.0.0" + rxjs: ">=6.0.0" + checksum: b2247340828df8abff2a09cf4f58357bd55fcd6d30163ff80825615cbbc9cc1c218252602fed1da0cd429c9c923e47dee0212aab74e1c7f3cd286d7ee23436de languageName: node linkType: hard @@ -11881,14 +11903,14 @@ __metadata: linkType: hard "object.assign@npm:^4.1.0": - version: 4.1.3 - resolution: "object.assign@npm:4.1.3" + version: 4.1.4 + resolution: "object.assign@npm:4.1.4" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.4 has-symbols: ^1.0.3 object-keys: ^1.1.1 - checksum: fe87c8acd60e0d7140e1eae8886804e7497bf6a019bae715084083c2abd1760bd5aa9c3f0e5b02c82ca5cc33b641dc908c42c86c6f7d6dfd9f083a7baa95d318 + checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 languageName: node linkType: hard @@ -12348,13 +12370,13 @@ __metadata: linkType: hard "portfinder@npm:^1.0.28": - version: 1.0.29 - resolution: "portfinder@npm:1.0.29" + version: 1.0.32 + resolution: "portfinder@npm:1.0.32" dependencies: async: ^2.6.4 debug: ^3.2.7 mkdirp: ^0.5.6 - checksum: b39cfb60334c79208dc30746fce5d241a9fa03a73b7f1b6b02972b17ee17579fb837a663a933607fb0f12a04f3a95c95aa50cde60836bae5b172588890cfb675 + checksum: 116b4aed1b9e16f6d5503823d966d9ffd41b1c2339e27f54c06cd2f3015a9d8ef53e2a53b57bc0a25af0885977b692007353aa28f9a0a98a44335cb50487240d languageName: node linkType: hard @@ -14264,9 +14286,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.11 - resolution: "spdx-license-ids@npm:3.0.11" - checksum: 1da1acb090257773e60b022094050e810ae9fec874dc1461f65dc0400cd42dd830ab2df6e64fb49c2db3dce386dd0362110780e1b154db7c0bb413488836aaeb + version: 3.0.12 + resolution: "spdx-license-ids@npm:3.0.12" + checksum: 92a4dddce62ce1db6fe54a7a839cf85e06abc308fc83b776a55b44e4f1906f02e7ebd506120847039e976bbbad359ea8bdfafb7925eae5cd7e73255f02e0b7d6 languageName: node linkType: hard @@ -14836,14 +14858,14 @@ __metadata: linkType: hard "terser-webpack-plugin@npm:^5.1.3": - version: 5.3.3 - resolution: "terser-webpack-plugin@npm:5.3.3" + version: 5.3.5 + resolution: "terser-webpack-plugin@npm:5.3.5" dependencies: - "@jridgewell/trace-mapping": ^0.3.7 + "@jridgewell/trace-mapping": ^0.3.14 jest-worker: ^27.4.5 schema-utils: ^3.1.1 serialize-javascript: ^6.0.0 - terser: ^5.7.2 + terser: ^5.14.1 peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -14853,7 +14875,7 @@ __metadata: optional: true uglify-js: optional: true - checksum: 4b8d508d8a0f6e604addb286975f1fa670f8c3964a67abc03a7cfcfd4cdeca4b07dda6655e1c4425427fb62e4d2b0ca59d84f1b2cd83262ff73616d5d3ccdeb5 + checksum: 611c7b38d6fa0213dc03f48da9efe29c7edd098fc128a64905f7c9b61af8e7c36c13113d46b50be19ee2b8378442f4e1b8b4ddac9bba2cb73499ed32fc0e18f4 languageName: node linkType: hard @@ -14871,9 +14893,9 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.7.2": - version: 5.14.2 - resolution: "terser@npm:5.14.2" +"terser@npm:^5.14.1": + version: 5.15.0 + resolution: "terser@npm:5.15.0" dependencies: "@jridgewell/source-map": ^0.3.2 acorn: ^8.5.0 @@ -14881,7 +14903,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: cabb50a640d6c2cfb351e4f43dc7bf7436f649755bb83eb78b2cacda426d5e0979bd44e6f92d713f3ca0f0866e322739b9ced888ebbce6508ad872d08de74fcc + checksum: b2358c989fcb76b4a1c265f60e175c950d3f776e5f619a9f58f54e8d2d792cd6b4cca86071834075f3b9943556d695357bafdd4ee2390de2fc9fd96ba3efa8c8 languageName: node linkType: hard @@ -14999,13 +15021,14 @@ __metadata: linkType: hard "tough-cookie@npm:^4.0.0": - version: 4.0.0 - resolution: "tough-cookie@npm:4.0.0" + version: 4.1.2 + resolution: "tough-cookie@npm:4.1.2" dependencies: psl: ^1.1.33 punycode: ^2.1.1 - universalify: ^0.1.2 - checksum: 0891b37eb7d17faa3479d47f0dce2e3007f2583094ad272f2670d120fbcc3df3b0b0a631ba96ecad49f9e2297d93ff8995ce0d3292d08dd7eabe162f5b224d69 + universalify: ^0.2.0 + url-parse: ^1.5.3 + checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a languageName: node linkType: hard @@ -15078,8 +15101,8 @@ __metadata: linkType: hard "ts-jest@npm:^28.0.0": - version: 28.0.7 - resolution: "ts-jest@npm:28.0.7" + version: 28.0.8 + resolution: "ts-jest@npm:28.0.8" dependencies: bs-logger: 0.x fast-json-stable-stringify: 2.x @@ -15106,7 +15129,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: be6ad6382e3b2e7b0c45d06616a4a02aeb6815bad2026fe8eeb4e0941205faa50ac3f5930adb7ba2fda5fea6a5739bfa507e2eac8764d2c729ddc8010681707a + checksum: c72e9292709e77ce47ac7813cb24feaa9d01dc983598d29a821f224b5cc190dc7d67e17379cef089095404c00b9d582ee91c727916f9ec289cb1b723df408ae3 languageName: node linkType: hard @@ -15170,7 +15193,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.4.0, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0": +"tslib@npm:2.4.0, tslib@npm:>=1.9.0, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0": version: 2.4.0 resolution: "tslib@npm:2.4.0" checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 @@ -15373,6 +15396,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" + dependencies: + unique-slug: ^3.0.0 + checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f + languageName: node + linkType: hard + "unique-slug@npm:^2.0.0": version: 2.0.2 resolution: "unique-slug@npm:2.0.2" @@ -15382,6 +15414,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c + languageName: node + linkType: hard + "unique-string@npm:^2.0.0": version: 2.0.0 resolution: "unique-string@npm:2.0.0" @@ -15391,13 +15432,20 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0, universalify@npm:^0.1.2": +"universalify@npm:^0.1.0": version: 0.1.2 resolution: "universalify@npm:0.1.2" checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff languageName: node linkType: hard +"universalify@npm:^0.2.0": + version: 0.2.0 + resolution: "universalify@npm:0.2.0" + checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 + languageName: node + linkType: hard + "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -15473,7 +15521,7 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.10": +"url-parse@npm:^1.5.10, url-parse@npm:^1.5.3": version: 1.5.10 resolution: "url-parse@npm:1.5.10" dependencies: @@ -16007,12 +16055,12 @@ __metadata: linkType: hard "write-file-atomic@npm:^4.0.1": - version: 4.0.1 - resolution: "write-file-atomic@npm:4.0.1" + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" dependencies: imurmurhash: ^0.1.4 signal-exit: ^3.0.7 - checksum: 8f780232533ca6223c63c9b9c01c4386ca8c625ebe5017a9ed17d037aec19462ae17109e0aa155bff5966ee4ae7a27b67a99f55caf3f32ffd84155e9da3929fc + checksum: 5da60bd4eeeb935eec97ead3df6e28e5917a6bd317478e4a85a5285e8480b8ed96032bbcc6ecd07b236142a24f3ca871c924ec4a6575e623ec1b11bf8c1c253c languageName: node linkType: hard From 5519932a5e4ac2206afb243f73a58a3d121032b6 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 15:40:43 +0200 Subject: [PATCH 123/162] Fix path --- modules/web/hack/check-html.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/web/hack/check-html.sh b/modules/web/hack/check-html.sh index cc7c972e2fb8..27cd14a6e023 100755 --- a/modules/web/hack/check-html.sh +++ b/modules/web/hack/check-html.sh @@ -14,7 +14,7 @@ # limitations under the License. ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE}")/../.." && pwd -P)" -source "${ROOT_DIR}/aio/scripts/conf.sh" +source "${ROOT_DIR}/hack/scripts/conf.sh" CODE=0 FILES=($(find ${SRC_DIR} -type f -name '*.html')) From 65fff00a6b2e80eccc49a4086996a18523739c53 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 15:58:11 +0200 Subject: [PATCH 124/162] Remove some of npm occurences --- .github/workflows/cd-global.yml | 10 +---- .github/workflows/ci-global.yml | 55 +++++++------------------ .github/workflows/ci-web.yml | 2 +- .licenserc.yaml | 1 - docs/common/faq.md | 4 +- docs/developer/dependency-management.md | 6 +-- docs/developer/getting-started.md | 10 +---- hack/scripts/conf.sh | 9 ++-- hack/scripts/helm-release-chart.sh | 16 +++---- hack/scripts/start-cluster.sh | 8 ++-- modules/web/hack/check-html.sh | 4 +- modules/web/package.json | 23 +++++------ 12 files changed, 53 insertions(+), 95 deletions(-) diff --git a/.github/workflows/cd-global.yml b/.github/workflows/cd-global.yml index dd0c01349732..8ed778ece90c 100644 --- a/.github/workflows/cd-global.yml +++ b/.github/workflows/cd-global.yml @@ -49,18 +49,10 @@ jobs: uses: actions/setup-node@v3 with: node-version: 16.15.0 - - name: Cache Node Modules - uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 - env: - cache-name: cache-node-modules - with: - path: node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - name: Install Dependencies shell: bash - run: | - [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && go mod download + run: yarn || node aio/scripts/version.mjs && go mod download - name: Set up QEMU uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1 diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index bf412178f0bc..62d1f9c22b3b 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -36,35 +36,20 @@ jobs: NODE_OPTIONS: "--max-old-space-size=8192" TERM: xterm steps: - - name: Start kind cluster - uses: helm/kind-action@v1.2.0 - - name: Checkout repository - uses: actions/checkout@v3 + - uses: helm/kind-action@v1.2.0 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Setup Go - uses: actions/setup-go@v3 + - uses: actions/setup-go@v3 with: go-version: 1.19 - - name: Setup Node.js - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: node-version: 16.15.0 - - name: Cache - uses: actions/cache@v3 - env: - cache-name: cache-node-modules - with: - path: | - ~/.cache/Cypress - node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - name: Install dependencies - shell: bash - run: | - [ ! -d "node_modules" ] && npm ci && npm i cypress || node aio/scripts/version.mjs && go mod download - - name: Run end-to-end tests - run: make e2e + - run: yarn + - run: npm i cypress + - run: node aio/scripts/version.mjs + - run: make e2e license-check: name: License check @@ -72,12 +57,10 @@ jobs: env: TERM: xterm steps: - - name: Checkout repository - uses: actions/checkout@v3 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Check licenses - uses: apache/skywalking-eyes@main + - uses: apache/skywalking-eyes@main codeql: permissions: @@ -91,18 +74,14 @@ jobs: matrix: language: [ 'go', 'typescript' ] steps: - - name: Checkout repository - uses: actions/checkout@v3 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + - uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} - - name: Autobuild CodeQL - uses: github/codeql-action/autobuild@v2 - - name: Analyze CodeQL - uses: github/codeql-action/analyze@v2 + - uses: github/codeql-action/autobuild@v2 + - uses: github/codeql-action/analyze@v2 dependency-review: permissions: @@ -112,7 +91,5 @@ jobs: name: Dependency review runs-on: ubuntu-latest steps: - - name: Checkout repository - uses: actions/checkout@v3 - - name: Review dependencies - uses: actions/dependency-review-action@v1 + - uses: actions/checkout@v3 + - uses: actions/dependency-review-action@v1 diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index f7f71810d9c4..3259f5c2735d 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -41,7 +41,7 @@ jobs: node-version: 16.15.0 - run: yarn - run: node hack/version.mjs - - run: npm run check + - run: yarn check unit: name: Unit tests with coverage diff --git a/.licenserc.yaml b/.licenserc.yaml index 31baa733797f..3a53abccae64 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -47,7 +47,6 @@ header: - '**/.browserslistrc' - '**/.editorconfig' - '**/.jsbeautifyrc' - - '**/.npmrc' - '**/config_repos' - '**/go.mod' - '**/go.sum' diff --git a/docs/common/faq.md b/docs/common/faq.md index 7f9f331cc004..fcbfcfe70c4b 100644 --- a/docs/common/faq.md +++ b/docs/common/faq.md @@ -12,10 +12,10 @@ Make sure, that `metrics-server` and `dashboard-metrics-scraper` are up and runn ### During development I receive a lot of strange errors in the browser's console. What may be wrong? -You probably need to update your npm dependencies. Run following commands from Dashboard's root directory: +You may need to reinstall dependencies. Run following commands from web module directory: ```shell -npm ci +yarn --immutable ``` ### Why my `Go is not in the path`? diff --git a/docs/developer/dependency-management.md b/docs/developer/dependency-management.md index 8546211cf335..b601dc61815a 100644 --- a/docs/developer/dependency-management.md +++ b/docs/developer/dependency-management.md @@ -11,11 +11,11 @@ ## JavaScript dependencies -- Use [npm](https://www.npmjs.com/) as package manager. -- Run `npm ci` after checking out the repository to install dependencies. +- Use [yarn](https://yarnpkg.com/) as package manager. +- Run `yarn` after checking out the repository to install dependencies. - [Dependabot](https://github.com/dependabot) updates packages by creating pull requests for the new releases of used packages. Its pull requests are marked with `area/dependency` label. -- Update `package-lock.json` before sending any changes. +- Update `yarn.lock` before sending any changes. ---- _Copyright 2019 [The Kubernetes Dashboard Authors](https://github.com/kubernetes/dashboard/graphs/contributors)_ diff --git a/docs/developer/getting-started.md b/docs/developer/getting-started.md index 9b666d435de1..60c42df22ff3 100644 --- a/docs/developer/getting-started.md +++ b/docs/developer/getting-started.md @@ -11,18 +11,12 @@ Make sure the following software is installed and added to the `$PATH` variable: * Docker 1.13.1+ ([installation manual](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/)) * Golang 1.19+ ([installation manual](https://golang.org/dl/)) * Dashboard uses `go mod` for go dependency management. -* Node.js 16.14.2+ and npm 8.5.0+ ([installation with nvm](https://github.com/creationix/nvm#usage)) +* Node.js 16.14.2+ and yarn ([installation with nvm](https://github.com/creationix/nvm#usage)) Clone the repository and install the dependencies: ```shell -npm ci -``` - -If you are running commands with root privileges set `--unsafe-perm flag`: - -```shell -npm ci --unsafe-perm +yarn ``` ## Running the cluster diff --git a/hack/scripts/conf.sh b/hack/scripts/conf.sh index 50458221fd05..6a30c0eb2b0b 100644 --- a/hack/scripts/conf.sh +++ b/hack/scripts/conf.sh @@ -49,24 +49,21 @@ if test -t 1; then fi fi -function say { echo "$@"; } -function saye { echo -e "${RED_STYLE}$@${DEFAULT_STYLE}"; } - function ensure-cache { - say "\nMaking sure that ${CACHE_DIR} directory exists" + echo "\nMaking sure that ${CACHE_DIR} directory exists" mkdir -p ${CACHE_DIR} } function download-kind { KIND_URL="https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-${ARCH}-amd64" - say "\nDownloading kind ${KIND_URL} if it is not cached" + echo "\nDownloading kind ${KIND_URL} if it is not cached" wget -nc -O ${KIND_BIN} ${KIND_URL} chmod +x ${KIND_BIN} ${KIND_BIN} version } function ensure-kubeconfig { - say "\nMaking sure that kubeconfig file exists and will be used by Dashboard" + echo "\nMaking sure that kubeconfig file exists and will be used by Dashboard" mkdir -p ${HOME}/.kube touch ${HOME}/.kube/config diff --git a/hack/scripts/helm-release-chart.sh b/hack/scripts/helm-release-chart.sh index 2152a70155fb..651299c20637 100755 --- a/hack/scripts/helm-release-chart.sh +++ b/hack/scripts/helm-release-chart.sh @@ -27,27 +27,27 @@ HELM_CHART_DIR="$AIO_DIR/deploy/helm-chart/kubernetes-dashboard" function release-helm-chart { if [ -n "$(git status --porcelain)" ]; then - saye "\nGit working tree not clean, aborting." + echo "\nGit working tree not clean, aborting." exit 1 fi - say "\nGenerating Helm Chart package for new version." - say "Please note that your gh-pages branch, if it locally exists, should be up-to-date." + echo "\nGenerating Helm Chart package for new version." + echo "Please note that your gh-pages branch, if it locally exists, should be up-to-date." helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/ cd "$HELM_CHART_DIR" helm dependency build . helm package . rm -rf "./charts/" - say "\nSwitching git branch to gh-pages so that we can commit package along the previous versions." + echo "\nSwitching git branch to gh-pages so that we can commit package along the previous versions." git checkout gh-pages - say "\nGenerating new Helm index, containing all existing versions in gh-pages (previous ones + new one)." + echo "\nGenerating new Helm index, containing all existing versions in gh-pages (previous ones + new one)." helm repo index . --merge $ROOT_DIR/index.yaml mv index.yaml $ROOT_DIR/index.yaml mv kubernetes-dashboard-*.tgz $ROOT_DIR cd $OLDPWD - say "\nCommit new package and index." + echo "\nCommit new package and index." git add -A "./kubernetes-dashboard-*.tgz" ./index.yaml && git commit -m "Update Helm repository from CI." - say "\nIf you are happy with the changes, please manually push to the gh-pages branch. No force should be needed." - say "Assuming upstream is your remote, please run: git push upstream gh-pages." + echo "\nIf you are happy with the changes, please manually push to the gh-pages branch. No force should be needed." + echo "Assuming upstream is your remote, please run: git push upstream gh-pages." } # Execute script. diff --git a/hack/scripts/start-cluster.sh b/hack/scripts/start-cluster.sh index a53cecd61517..106cd768c53b 100755 --- a/hack/scripts/start-cluster.sh +++ b/hack/scripts/start-cluster.sh @@ -18,12 +18,12 @@ ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" . "${ROOT_DIR}/aio/scripts/conf.sh" function start-ci-heapster { - say "\nRunning heapster in standalone mode" + echo "\nRunning heapster in standalone mode" docker run --net=host -d k8s.gcr.io/heapster-amd64:${HEAPSTER_VERSION} \ --heapster-port ${HEAPSTER_PORT} \ --source=kubernetes:http://127.0.0.1:8080?inClusterConfig=false&auth="" - say "\nWaiting for heapster to be started" + echo "\nWaiting for heapster to be started" for i in {1..150} do HEAPSTER_STATUS=$(curl -sb -H "Accept: application/json" "127.0.0.1:${HEAPSTER_PORT}/healthz") @@ -32,7 +32,7 @@ function start-ci-heapster { fi sleep 2 done - say "\nHeapster is up and running" + echo "\nHeapster is up and running" } function start-kind { @@ -41,7 +41,7 @@ function start-kind { if [ "${CI}" = true ] ; then start-ci-heapster fi - say "\nKubernetes cluster is ready to use" + echo "\nKubernetes cluster is ready to use" } # Execute script. diff --git a/modules/web/hack/check-html.sh b/modules/web/hack/check-html.sh index 27cd14a6e023..0d673c2cb6dd 100755 --- a/modules/web/hack/check-html.sh +++ b/modules/web/hack/check-html.sh @@ -24,9 +24,9 @@ for FILE in "${FILES[@]}"; do OK=$(diff <(echo "${FORMATTED_CONTENT}") <(echo "${CONTENT}")) if [[ ! -z "${OK}" ]]; then CODE=1 - saye "$FILE - error" + echo "$FILE - error" else - say "$FILE - ok" + echo "$FILE - ok" fi done diff --git a/modules/web/package.json b/modules/web/package.json index 0be248807d8c..f22c94a7a3e4 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -8,31 +8,31 @@ "url": "https://github.com/kubernetes/dashboard.git" }, "engines": { - "node": ">=16.15.0", - "npm": ">=8.5.5" + "node": ">=16.15.0" }, "engineStrict": true, + "packageManager": "yarn@3.2.2", "scripts": { "start": "make serve", "start:https": "make serve-https", - "start:prod": "npm run ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", - "start:prod:https": "npm run ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", + "start:prod": "yarn ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", + "start:prod:https": "yarn ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", "build:prod": "make build", - "start:e2e": "concurrently \"make serve-backend\" \"npm run start:frontend\"", - "fix": "npm run fix:i18n && npm run fix:html && npm run fix:scss && npm run fix:ts", + "start:e2e": "concurrently \"make serve-backend\" \"yarn start:frontend\"", + "fix": "yarn fix:i18n && yarn fix:html && yarn fix:scss && yarn fix:ts", "fix:i18n": "ng run kubernetes-dashboard:extract-i18n-merge", "fix:html": "npx html-beautify -f=./src/**/*.html", "fix:scss": "stylelint src/**/*.scss", "fix:ts": "gts fix", - "check": "npm run check:i18n && npm run check:html && npm run check:scss && npm run check:ts", - "check:i18n": "npm run fix:i18n", + "check": "yarn check:i18n && yarn check:html && yarn check:scss && yarn check:ts", + "check:i18n": "yarn fix:i18n", "check:html": "./hack/check-html.sh", "check:scss": "stylelint src/**/*.scss --fix", "check:ts": "gts lint", "test": "npx jest -c jest.config.js", "coverage": "npx jest -c jest.config.js --coverage -i", - "e2e": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", - "e2e:headed": "concurrently -kill-others --success first \"npm run start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"" + "e2e": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", + "e2e:headed": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"" }, "lint-staged": { "src/**/*.ts": [ @@ -147,6 +147,5 @@ }, "overrides": { "colors": "1.4.0" - }, - "packageManager": "yarn@3.2.2" + } } From 374f76538ed9cbb4bd8993822200086a9ed286fa Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 16:13:51 +0200 Subject: [PATCH 125/162] Bump Go dependencies Remove deprecated linters goimport files --- .golangci.yml | 2 - modules/api/go.mod | 94 +++- modules/api/go.sum | 115 +++++ modules/api/pkg/resource/event/common.go | 8 +- modules/api/pkg/resource/event/event_test.go | 2 +- .../resource/horizontalpodautoscaler/list.go | 4 +- modules/common/tools/Makefile | 2 + modules/go.work.sum | 465 +++++++++++++++++- 8 files changed, 657 insertions(+), 35 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index c087dbbc8d01..603f4c28d777 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -19,11 +19,9 @@ run: linters: disable-all: true enable: - - deadcode - gocyclo - goimports - govet - ineffassign - misspell - - structcheck - unused diff --git a/modules/api/go.mod b/modules/api/go.mod index cef453433744..9667601b5cd8 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -4,67 +4,111 @@ go 1.19 require ( github.com/docker/distribution v2.8.1+incompatible - github.com/emicklei/go-restful/v3 v3.7.4 + github.com/emicklei/go-restful/v3 v3.9.0 github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/prometheus/client_golang v1.12.2 + github.com/prometheus/client_golang v1.13.0 github.com/spf13/pflag v1.0.5 - golang.org/x/net v0.0.0-20220526153639-5463443f8c37 + golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c golang.org/x/text v0.3.7 // indirect gopkg.in/igm/sockjs-go.v2 v2.1.0 gopkg.in/square/go-jose.v2 v2.6.0 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.24.1 - k8s.io/apiextensions-apiserver v0.24.1 - k8s.io/apimachinery v0.24.1 - k8s.io/client-go v0.24.1 + k8s.io/api v0.25.0 + k8s.io/apiextensions-apiserver v0.25.0 + k8s.io/apimachinery v0.25.0 + k8s.io/client-go v0.25.0 k8s.io/dashboard/certificates v0.0.0-00010101000000-000000000000 ) require ( + github.com/NYTimes/gziphandler v1.1.1 // indirect + github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220418222510-f25a4f6275ed // indirect + github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/coreos/go-semver v0.3.0 // indirect + github.com/coreos/go-systemd/v22 v22.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful v2.15.0+incompatible // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/emicklei/go-restful v2.16.0+incompatible // indirect + github.com/evanphx/json-patch v5.6.0+incompatible // indirect + github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect - github.com/go-openapi/swag v0.21.1 // indirect + github.com/go-openapi/swag v0.22.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect + github.com/google/cel-go v0.12.4 // indirect github.com/google/gnostic v0.6.9 // indirect + github.com/google/go-cmp v0.5.8 // indirect github.com/google/gofuzz v1.2.0 // indirect + github.com/google/uuid v1.1.2 // indirect github.com/gorilla/websocket v1.5.0 // indirect + github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/imdario/mergo v0.3.13 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mitchellh/mapstructure v1.4.1 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/onsi/ginkgo v1.16.4 // indirect - github.com/onsi/gomega v1.18.1 // indirect + github.com/nxadm/tail v1.4.8 // indirect + github.com/onsi/ginkgo v1.16.5 // indirect + github.com/onsi/gomega v1.20.0 // indirect + github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.34.0 // indirect - github.com/prometheus/procfs v0.7.3 // indirect - golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect - golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 // indirect - golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect - golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 // indirect - golang.org/x/time v0.0.0-20220411224347-583f2d630306 // indirect + github.com/prometheus/common v0.37.0 // indirect + github.com/prometheus/procfs v0.8.0 // indirect + github.com/spf13/cobra v1.4.0 // indirect + github.com/stoewer/go-strcase v1.2.0 // indirect + go.etcd.io/etcd/api/v3 v3.5.4 // indirect + go.etcd.io/etcd/client/pkg/v3 v3.5.4 // indirect + go.etcd.io/etcd/client/v3 v3.5.4 // indirect + go.opentelemetry.io/contrib v0.20.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0 // indirect + go.opentelemetry.io/otel v0.20.0 // indirect + go.opentelemetry.io/otel/exporters/otlp v0.20.0 // indirect + go.opentelemetry.io/otel/metric v0.20.0 // indirect + go.opentelemetry.io/otel/sdk v0.20.0 // indirect + go.opentelemetry.io/otel/sdk/export/metric v0.20.0 // indirect + go.opentelemetry.io/otel/sdk/metric v0.20.0 // indirect + go.opentelemetry.io/otel/trace v0.20.0 // indirect + go.opentelemetry.io/proto/otlp v0.7.0 // indirect + go.uber.org/atomic v1.7.0 // indirect + go.uber.org/multierr v1.6.0 // indirect + go.uber.org/zap v1.19.0 // indirect + golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 // indirect + golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 // indirect + golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect + golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 // indirect + golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect + golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.28.0 // indirect + google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 // indirect + google.golang.org/grpc v1.47.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.60.1 // indirect - k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 // indirect - k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect - sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect + k8s.io/apiserver v0.25.0 // indirect + k8s.io/component-base v0.25.0 // indirect + k8s.io/klog/v2 v2.70.1 // indirect + k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea // indirect + k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73 // indirect + sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.32 // indirect + sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/modules/api/go.sum b/modules/api/go.sum index 1fb5c2889de5..7550d6ca68e7 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -48,6 +48,7 @@ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBp github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -59,11 +60,14 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= +github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220418222510-f25a4f6275ed h1:ue9pVfIcP+QMEjfgo/Ez4ZjNZfonGgR6NgjMaJMu1Cg= +github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220418222510-f25a4f6275ed/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -73,11 +77,13 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= @@ -89,15 +95,21 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= 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/xds/go v0.0.0-20210312221358-fbca930ec8ed/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/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -119,8 +131,12 @@ github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.15.0+incompatible h1:8KpYO/Xl/ZudZs5RNOEhWMBY4hmzlZhhRd9cu+jrZP4= github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epTksy9HQ1MyrbDXSdYhM= +github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.7.4 h1:PVGUqKvvMzQYiO89TdXrH9EMks+okTaRIMQ3jgMdZ30= github.com/emicklei/go-restful/v3 v3.7.4/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= +github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -128,10 +144,14 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= +github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -171,6 +191,8 @@ github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -185,6 +207,7 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -216,6 +239,8 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= +github.com/google/cel-go v0.12.4 h1:YINKfuHZ8n72tPOqSPZBwGiDpew2CJS48mdM5W8LZQU= +github.com/google/cel-go v0.12.4/go.mod h1:Av7CU6r6X3YmcHR9GXqVDaEJYfEtSxl6wvIjUQTriCw= github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= @@ -231,7 +256,10 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -252,6 +280,7 @@ github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -263,8 +292,10 @@ github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= @@ -292,6 +323,7 @@ github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1: github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= @@ -342,6 +374,7 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= @@ -371,6 +404,8 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= @@ -378,8 +413,12 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= +github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -398,9 +437,12 @@ github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDf github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= +github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -414,6 +456,8 @@ github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9 github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -421,6 +465,8 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= @@ -445,12 +491,14 @@ github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTd github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -478,11 +526,17 @@ go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= 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 h1:OHVyt3TopwtUQ2GKdd5wu3PmmipR4FTwCqoEjSyRdIc= +go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= 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 h1:lrneYvz923dvC14R54XcA7FXoZ3mlGZAgmwhfm7HqOg= +go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= +go.etcd.io/etcd/client/v3 v3.5.4 h1:p83BUL3tAYS0OT/r0qglgc3M1JjhM0diV8DSWAhVXv4= +go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= 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= @@ -493,25 +547,39 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 h1:sO4WKdPAudZGKPcpZT4MJn6JaDmpyLrMPDGGyA1SttE= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0 h1:Q3C9yzW6I9jqEc8sawxzxZmY48fs9u220KXq6d5s3XU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/otel v0.20.0 h1:eaP0Fqu7SXHwvjiqDq83zImeehOHX8doTvU9AwXON8g= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/metric v0.20.0 h1:4kzhXFP+btKm4jwxpjIqjs41A7MakRFUS86bqLHTIw8= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0 h1:JsxtGXd06J8jrnya7fdI/U/MR6yXA5DtbZy+qoHQlr8= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g= 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 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0 h1:1DL6EXUdcg95gukhuRRvLDO/4X5THh/5dIV52lqtnbw= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/proto/otlp v0.7.0 h1:rwOQPCuKAKmwGKq2aVNnYIibI6wnV7EvzgfTCzcdGg8= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.0 h1:mZQZefskPPCMIBCSEH0v2/iUqqLrYtaeqwD6FUGUnFE= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -526,6 +594,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 h1:vJ2V3lFLg+bBhgroYuRfyN583UzVveQmIXjc8T/y3to= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -615,6 +685,8 @@ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= golang.org/x/net v0.0.0-20220526153639-5463443f8c37/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c h1:JVAXQ10yGGVbSyoer5VILysz6YKjdNT2bsvlayjqhes= +golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -631,6 +703,8 @@ golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 h1:zwrSfklXn0gxyLRX/aR+q6cgHbV/ItVyzbPlbA+dkAw= golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 h1:2o1E+E8TpNLklK9nHiPiK1uzIYrIHt+cQx3ynCwq9V8= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -642,6 +716,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -710,10 +786,14 @@ golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 h1:UiNENfZ8gDvpiWw7IpOMQ27spWmThO1RwwdQVbJahJM= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 h1:CBpWXWQpIRjzmkkA+M7q9Fqnwd2mZr3AFqexg8YTfoM= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= 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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -731,6 +811,8 @@ golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220411224347-583f2d630306 h1:+gHMid33q6pen7kv9xvT+JRinntgeXO2AeZVd0AWD3w= golang.org/x/time v0.0.0-20220411224347-583f2d630306/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 h1:ftMN5LMiBFjbzleLqtoBZk7KdJwhuybIU+FckUHgoyQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -870,6 +952,8 @@ google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaE google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 h1:hrbNEivu7Zn1pxvHk6MBrq9iE22woVILTHqexqBxe6I= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -892,6 +976,9 @@ google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0 h1:9n77onPX5F3qfFCqjy9dhn8PbNQsIKeVU04J9G7umt8= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= 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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -907,12 +994,15 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/igm/sockjs-go.v2 v2.1.0 h1:Ehqymxnfkkwi8R7SZIUARn77M0slA8vki0VgcfOdALw= @@ -920,6 +1010,7 @@ gopkg.in/igm/sockjs-go.v2 v2.1.0/go.mod h1:9l1o9p5TJvh2l+Q0EGE8USVB69QPfcvI7fR0H gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -954,37 +1045,61 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= +k8s.io/api v0.25.0 h1:H+Q4ma2U/ww0iGB78ijZx6DRByPz6/733jIuFpX70e0= +k8s.io/api v0.25.0/go.mod h1:ttceV1GyV1i1rnmvzT3BST08N6nGt+dudGrquzVQWPk= k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= +k8s.io/apiextensions-apiserver v0.25.0 h1:CJ9zlyXAbq0FIW8CD7HHyozCMBpDSiH7EdrSTCZcZFY= +k8s.io/apiextensions-apiserver v0.25.0/go.mod h1:3pAjZiN4zw7R8aZC5gR0y3/vCkGlAjCazcg1me8iB/E= k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apimachinery v0.25.0 h1:MlP0r6+3XbkUG2itd6vp3oxbtdQLQI94fD5gCS+gnoU= +k8s.io/apimachinery v0.25.0/go.mod h1:qMx9eAk0sZQGsXGu86fab8tZdffHbwUfsvzqKn4mfB0= k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= +k8s.io/apiserver v0.25.0 h1:8kl2ifbNffD440MyvHtPaIz1mw4mGKVgWqM0nL+oyu4= +k8s.io/apiserver v0.25.0/go.mod h1:BKwsE+PTC+aZK+6OJQDPr0v6uS91/HWxX7evElAH6xo= k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= +k8s.io/client-go v0.25.0 h1:CVWIaCETLMBNiTUta3d5nzRbXvY5Hy9Dpl+VvREpu5E= +k8s.io/client-go v0.25.0/go.mod h1:lxykvypVfKilxhTklov0wz1FoaUZ8X4EwbhS6rpRfN8= k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= +k8s.io/component-base v0.25.0 h1:haVKlLkPCFZhkcqB6WCvpVxftrg6+FK5x1ZuaIDaQ5Y= +k8s.io/component-base v0.25.0/go.mod h1:F2Sumv9CnbBlqrpdf7rKZTmmd2meJq0HizeyY/yAFxk= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= +k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 h1:nBQrWPlrNIiw0BsX6a6MKr1itkm0ZS0Nl97kNLitFfI= k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6/go.mod h1:daOouuuwd9JXpv1L7Y34iV3yf6nxzipkKMWWlqlvK9M= +k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea h1:3QOH5+2fGsY8e1qf+GIFpg+zw/JGNrgyZRQR7/m6uWg= +k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73 h1:H9TCJUUx+2VA0ZiD9lvtaX8fthFsMoD+Izn93E/hm8U= +k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.32 h1:2WjukG7txtEsbXsSKWtTibCdsyYAhcu6KFnttyDdZOQ= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.32/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= +sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/modules/api/pkg/resource/event/common.go b/modules/api/pkg/resource/event/common.go index 4bc4448ac879..87eebafd47c4 100644 --- a/modules/api/pkg/resource/event/common.go +++ b/modules/api/pkg/resource/event/common.go @@ -17,10 +17,6 @@ package event import ( "context" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/errors" - "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -29,6 +25,10 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/errors" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // EmptyEventList is a empty list of events. diff --git a/modules/api/pkg/resource/event/event_test.go b/modules/api/pkg/resource/event/event_test.go index fda611722a61..73d0e1618102 100644 --- a/modules/api/pkg/resource/event/event_test.go +++ b/modules/api/pkg/resource/event/event_test.go @@ -18,9 +18,9 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/resource/common" api "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/resource/common" ) func TestGetPodsEventWarningsApi(t *testing.T) { diff --git a/modules/api/pkg/resource/horizontalpodautoscaler/list.go b/modules/api/pkg/resource/horizontalpodautoscaler/list.go index 6da09eac4e5e..6ae9d26de209 100644 --- a/modules/api/pkg/resource/horizontalpodautoscaler/list.go +++ b/modules/api/pkg/resource/horizontalpodautoscaler/list.go @@ -17,12 +17,12 @@ package horizontalpodautoscaler import ( "strings" + autoscaling "k8s.io/api/autoscaling/v1" + k8sClient "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" - autoscaling "k8s.io/api/autoscaling/v1" - k8sClient "k8s.io/client-go/kubernetes" ) type HorizontalPodAutoscalerList struct { diff --git a/modules/common/tools/Makefile b/modules/common/tools/Makefile index 9c05d4c4d5fd..240f41aad211 100644 --- a/modules/common/tools/Makefile +++ b/modules/common/tools/Makefile @@ -9,6 +9,8 @@ GO_MINOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' - MIN_GO_MAJOR_VERSION = 1 MIN_GO_MINOR_VERSION = 19 +# TODO: It should check not only if binaries are installed but also their versions + .PHONY: install install: ensure-go install-license-eye install-air install-golangci-lint install-client-gen diff --git a/modules/go.work.sum b/modules/go.work.sum index 357445ee5ea8..a040e4830b22 100644 --- a/modules/go.work.sum +++ b/modules/go.work.sum @@ -1,4 +1,467 @@ -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +bitbucket.org/creachadair/shell v0.0.6 h1:reJflDbKqnlnqb4Oo2pQ1/BqmY/eCWcNGHrIUO8qIzc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go/bigquery v1.8.0 h1:PQcPefKFdaIzjQFbiyOgAqyx8q5djaE7x9Sqe712DPA= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1 h1:2sMmt8prCn7DPaG4Pmh0N3Inmc8cT8ae5k1M6VJ9Wqc= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ= +cloud.google.com/go/firestore v1.6.1 h1:8rBq3zRjnHx8UtBvaOWqBB1xq9jH6/wltfQLlTMh2Fw= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/pubsub v1.5.0 h1:9cH52jizPUVSSrSe+J16RC9wB0QI7i/cfuCm5UUCcIk= +cloud.google.com/go/spanner v1.7.0 h1:mvgDB+f4CfKXebTIi36aqY02eVG4nU/Z3KV6stQaYCc= +cloud.google.com/go/storage v1.14.0 h1:6RRlFMv1omScs6iq2hfE3IvgE+l6RfJPampq8UZc5TU= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +contrib.go.opencensus.io/exporter/stackdriver v0.13.4 h1:ksUxwH3OD5sxkjzEqGxNTl+Xjsmu3BnC/300MhSVTSc= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= +github.com/Antonboom/errname v0.1.7 h1:mBBDKvEYwPl4WFFNwec1CZO096G6vzK9vvDQzAwkako= +github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= +github.com/Azure/go-autorest/autorest/adal v0.9.13 h1:Mp5hbtOePIzM8pJVRa3YLrWWmZtoxRXqUEzCfJt3+/Q= +github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= +github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= +github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0= +github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= +github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= +github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= +github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= +github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= +github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= +github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e h1:GCzyKMDDjSGnlpl3clrdAK7I1AaVoaiKDOYkUzChZzg= +github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= +github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo= +github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= +github.com/aws/aws-sdk-go v1.36.30 h1:hAwyfe7eZa7sM+S5mIJZFiNFwJMia9Whz6CYblioLoU= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= +github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= +github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= +github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 h1:E7LT642ysztPWE0dfz43cWOvMiF42DyTRC+eZIaO4yI= +github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= +github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= +github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= +github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490 h1:KwaoQzs/WeUxxJqiJsZ4euOly1Az/IgZXXSxlD/UBNk= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E= +github.com/cockroachdb/errors v1.2.4 h1:Lap807SXTH5tri2TivECb/4abUkMZC9zRoLarvcKDqs= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= +github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= +github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ= +github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= +github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM= +github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a h1:W8b4lQ4tFF21aspRGoBuCNV6V2fFJBF+pm1J6OY8Lys= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= +github.com/cristalhq/acmd v0.7.0 h1:jiVahGDA+VE1eLmgtMqwGezkCoyVhzWRN25paFZFZsA= +github.com/cristalhq/acmd v0.7.0/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= +github.com/curioswitch/go-reassign v0.1.2 h1:ekM07+z+VFT560Exz4mTv0/s1yU9gem6CJc/tlYpkmI= +github.com/daixiang0/gci v0.6.3 h1:wUAqXChk8HbwXn8AfxD9DYSCp9Bpz1L3e6Q4Roe+q9E= +github.com/daixiang0/gci v0.6.3/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= +github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +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 h1:xvqufLtNVwAhN8NMyWklVgxnWohi+wtMGQMhtxexlm0= +github.com/envoyproxy/protoc-gen-validate v0.6.2 h1:JiO+kJTpmYGjEodY7O1Zk8oZcNz1+f30UtwtXoFUPzE= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= +github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= +github.com/flowstack/go-jsonschema v0.1.1 h1:dCrjGJRXIlbDsLAgTJZTjhwUJnnxVWl1OgNyYh5nyDc= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/fullstorydev/grpcurl v1.6.0 h1:p8BB6VZF8O7w6MxGr3KJ9E6EVKaswCevSALK6FBtMzA= +github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= +github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/getkin/kin-openapi v0.76.0 h1:j77zg3Ec+k+r+GA3d8hBoXpAc6KX9TbBPrwQGBIy2sY= +github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/go-critic/go-critic v0.6.4 h1:tucuG1pvOyYgpBIrVxw0R6gwO42lNa92Aq3VaDoIs+E= +github.com/go-critic/go-critic v0.6.4/go.mod h1:qL5SOlk7NtY6sJPoVCTKDIgzNOxHkkkOCVDyi9wJe1U= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= +github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= +github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= +github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= +github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-redis/redis v6.15.8+incompatible h1:BKZuG6mCnRj5AOaWJXoCgf6rqTYnYJLe4en2hxT7r9o= +github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= +github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= +github.com/go-toolsmith/astcopy v1.0.1 h1:l09oBhAPyV74kLJ3ZO31iBU8htZGTwr9LTjuMCyL8go= +github.com/go-toolsmith/astcopy v1.0.1/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= +github.com/go-toolsmith/astequal v1.0.2 h1:+XvaV8zNxua+9+Oa4AHmgmpo4RYAbwr/qjNppLfX2yM= +github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= +github.com/godbus/dbus/v5 v5.0.4 h1:9349emZab16e7zQvpmsbtjc18ykshndd8y2PG3sgJbA= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= +github.com/golangci/golangci-lint v1.49.0 h1:I8WHOavragDttlLHtSraHn/h39C+R60bEQ5NoGcHQr8= +github.com/golangci/golangci-lint v1.49.0/go.mod h1:+V/7lLv449R6w9mQ3WdV0EKh7Je/jTylMeSwBZcLeWE= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= +github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= +github.com/google/cel-go v0.10.1 h1:MQBGSZGnDwh7T/un+mzGKOMz3x+4E/GDPprWjDL+1Jg= +github.com/google/cel-spec v0.6.0 h1:xuthJSiJGoSzq+lVEBIW1MTpaaZXknMCYC4WzVAWOsE= +github.com/google/certificate-transparency-go v1.1.1 h1:6JHXZhXEvilMcTjR4MGZn5KV0IRkcFl4CJx5iHVhjFE= +github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= +github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= +github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= +github.com/google/trillian v1.3.11 h1:pPzJPkK06mvXId1LHEAJxIegGgHzzp/FUnycPYfoCMI= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= +github.com/gookit/color v1.5.1 h1:Vjg2VEcdHpwq+oY63s/ksHrgJYCTo0bwWvmmYWdE9fQ= +github.com/gookit/color v1.5.1/go.mod h1:wZFzea4X8qN6vHOSP2apMb4/+w/orMznEzYsIHPaqKM= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75 h1:f0n1xnMSmBLzVfsMMvriDyA75NB/oBgILX2GcHXIQzY= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gostaticanalysis/analysisutil v0.4.1/go.mod h1:18U/DLpRgIUd459wGxVHE0fRgmo1UgHDcbw7F5idXu0= +github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= +github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= +github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.12.0 h1:k3y1FYv6nuKyNTqj6w9gXOx5r5CfLj/k/euUeBXj1OY= +github.com/hashicorp/consul/sdk v0.8.0 h1:OJtKBtEjboEZvG6AOUdh4Z1Zbyu0WcxQ0qatRrZHTVU= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= +github.com/hashicorp/go-retryablehttp v0.5.3 h1:QlWt0KvWT0lq8MFppF9tsJGF+ynG7ztc2KIPhzRGk7s= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-sockaddr v1.0.0 h1:GeH6tui99pF4NJgfnhp+L6+FfobzVW3Ah46sLo0ICXs= +github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= +github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= +github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= +github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= +github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.0 h1:8+567mCcFDnS5ADl7lrpxPMWiFCElyUEeW0gtj34fMA= +github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hashicorp/serf v0.9.7 h1:hkdgbqizGQHuU5IPqYM1JdSMV8nKfpuOnZYXssk9muY= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= +github.com/huandu/xstrings v1.2.0 h1:yPeWdRnmynF7p+lLYz0H2tthW9lqhMJrQV/U7yy4wX0= +github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 h1:mV02weKRL81bEnm8A0HT1/CAelMQDBuQIfLw8n+d6xI= +github.com/jhump/protoreflect v1.6.1 h1:4/2yi5LyDPP7nN+Hiird1SAJ6YoxUm13/oxHGRnbPd8= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA= +github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= +github.com/josharian/txtarfs v0.0.0-20210218200122-0702f000015a h1:8NZHLa6Gp0hW6xJ0c3F1Kse7dJw30fOcDzHuF9sLbnE= +github.com/josharian/txtarfs v0.0.0-20210218200122-0702f000015a/go.mod h1:izVPOvVRsHiKkeGCT6tYBNWyDVuzj9wAaBb5R9qamfw= +github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= +github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/juju/ratelimit v1.0.1 h1:+7AIFJVQ0EQgq/K9+0Krm7m530Du7tIz0METWzN0RgY= +github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM= +github.com/kisielk/errcheck v1.6.2 h1:uGQ9xI8/pgc9iOoCe7kWQgRE6SBTrCGmTSf0LrEtY7c= +github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= +github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= +github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= +github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= +github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= +github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g= +github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/letsencrypt/pkcs11key/v4 v4.0.0 h1:qLc/OznH7xMr5ARJgkZCCWk+EomQkiNTOoOF5LAgagc= +github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= +github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= +github.com/lyft/protoc-gen-star v0.5.3 h1:zSGLzsUew8RT+ZKPHc3jnf8XLaVyHzTcAFBzHtCNR20= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/maratori/testpackage v1.1.0 h1:GJY4wlzQhuBusMF1oahQCBtUV/AQ/k69IZ68vxaac2Q= +github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-sqlite3 v1.9.0 h1:pDRiWfl+++eC2FEFRy6jXmQlvp4Yh3z1MJKg4UeYM/4= +github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517 h1:zpIH83+oKzcpryru8ceC6BxnoG8TBrhgAvRg8obzup0= +github.com/mgechev/revive v1.2.3 h1:NzIEEa9+WimQ6q2Ov7OcNeySS/IOcwtkQ8RAh0R5UJ4= +github.com/mgechev/revive v1.2.3/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= +github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY= +github.com/miekg/pkcs11 v1.0.3 h1:iMwmD7I5225wv84WxIG/bmxz9AXjWvTWIbM/TYHvWtw= +github.com/mitchellh/cli v1.1.0 h1:tEElEatulEHDeedTxwckzyYMA5c86fbmNIUL1hBIiTg= +github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= +github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= +github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= +github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1 h1:29NKShH4TWd3lxCDUhS4Xe16EWMA753dtIxYtwddklU= +github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5 h1:0KqC6/sLy7fDpBdybhVkkv4Yz+PmB7c9Dz9z3dLW804= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= +github.com/mwitkow/go-proto-validators v0.2.0 h1:F6LFfmgVnfULfaRsQWBbe7F7ocuHCr9+7m+GAeDzNbQ= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= +github.com/nishanths/exhaustive v0.8.1 h1:0QKNascWv9qIHY7zRoZSxeRr6kuk5aAT3YXLTiDmjTo= +github.com/nishanths/exhaustive v0.8.1/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= +github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI= +github.com/otiai10/mint v1.3.1 h1:BCmzIS3n71sGfHB5NMNDB3lHYPz8fWSkCAErHed//qc= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/pelletier/go-toml/v2 v2.0.2 h1:+jQXlF3scKIcSEKkdHzXhCTDLPFi5r1wnK6yPS+49Gw= +github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI= +github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= +github.com/polyfloyd/go-errorlint v1.0.2 h1:kp1yvHflYhTmw5m3MmBy8SCyQkKPjwDthVuMH0ug6Yk= +github.com/polyfloyd/go-errorlint v1.0.2/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= +github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= +github.com/pseudomuto/protoc-gen-doc v1.3.2 h1:61vWZuxYa8D7Rn4h+2dgoTNqnluBmJya2MgbqO32z6g= +github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM= +github.com/quasilyte/go-ruleguard v0.3.17 h1:cDdoaSbQg11LXPDQqiCK54QmQXsEQQCTIgdcpeULGSI= +github.com/quasilyte/go-ruleguard v0.3.17/go.mod h1:sST5PvaR7yb/Az5ksX8oc88usJ4EGjmJv7cK7y3jyig= +github.com/quasilyte/go-ruleguard/dsl v0.3.21 h1:vNkC6fC6qMLzCOGbnIHOd5ixUGgTbp3Z4fGnUgULlDA= +github.com/quasilyte/go-ruleguard/dsl v0.3.21/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71 h1:CNooiryw5aisadVfzneSZPswRWvnVW8hF1bS/vo8ReI= +github.com/remyoudompheng/go-dbus v0.0.0-20121104212943-b7232d34b1d5 h1:CvqZS4QYHBRvx7AeFdimd16HCbLlYsvQMcKDACpJW/c= +github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 h1:J8J/cgLDRuqXJnwIrRDBvtl+LLsdg7De74znW/BRRq4= +github.com/remyoudompheng/go-misc v0.0.0-20190427085024-2d6ac652a50e h1:eTWZyPUnHcuGRDiryS/l2I7FfKjbU3IBx3IjqHPxuKU= +github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/ryancurrah/gomodguard v1.2.4 h1:CpMSDKan0LtNGGhPrvupAoLeObRFjND8/tU1rEOtBp4= +github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f h1:UFr9zpz4xgTnIE5yIMtWAMngCdZ9p/+q6lTbgelo80M= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= +github.com/sagikazarmark/crypt v0.6.0 h1:REOEXCs/NFY/1jOCEouMuT4zEniE5YoXbvpC5X/TLF8= +github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= +github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= +github.com/sashamelentyev/usestdlibvars v1.13.0 h1:uObNudVEEHf6JbOJy5bgKJloA1bWjxR9fwgNFpPzKnI= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= +github.com/securego/gosec/v2 v2.13.1 h1:7mU32qn2dyC81MH9L2kefnQyRMUarfDER3iQyMHcjYM= +github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= +github.com/shirou/gopsutil/v3 v3.22.7 h1:flKnuCMfUUrO+oAvwAd6GKZgnPzr098VA/UJ14nhJd4= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= +github.com/sivchari/tenv v1.7.0 h1:d4laZMBK6jpe5PWepxlV9S+LC0yXqvYHiq8E6ceoVVE= +github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= +github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= +github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ= +github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI= +github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs= +github.com/subosito/gotenv v1.4.0 h1:yAzM1+SmVcz5R4tXGsNMu1jUl2aOJXoiWUCEwwnGrvs= +github.com/subosito/gotenv v1.4.0/go.mod h1:mZd6rFysKEcUhUHXJk0C/08wAgyDBFuwEYL7vWWGaGo= +github.com/sylvia7788/contextcheck v1.0.6 h1:o2EZgVPyMKE/Mtoqym61DInKEjwEbsmyoxg3VrmjNO4= +github.com/sylvia7788/contextcheck v1.0.6/go.mod h1:9XDxwvxyuKD+8N+a7Gs7bfWLityh5t70g/GjdEt2N2M= +github.com/timonwong/logrlint v0.1.0 h1:phZCcypL/vtx6cGxObJgWZ5wexZF5SXFPLOM+ru0e/M= +github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= +github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= +github.com/tomarrell/wrapcheck/v2 v2.6.2 h1:3dI6YNcrJTQ/CJQ6M/DUkc0gnqYSIk6o0rChn9E/D0M= +github.com/tomarrell/wrapcheck/v2 v2.6.2/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= +github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce h1:fb190+cK2Xz/dvi9Hv8eCYJYvIGUTN2/KLq1pT6CjEc= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8 h1:3SVOIvH7Ae1KRYyQWRjXWJEA9sS/c/pjvH++55Gr648= +github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= +github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= +github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/quicktemplate v1.7.0 h1:LUPTJmlVcb46OOUY3IeD9DojFpAVbsG+5WFTcjMJzCM= +github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8 h1:EVObHAr8DqpoJCVv6KYTle8FEImKhtkfcZetNqxDoJQ= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= +github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= +github.com/yudai/gojsondiff v1.0.0 h1:27cbfqXLVEJ1o8I6v3y9lg8Ydm53EKqHXAOMxEGlCOA= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 h1:BHyfKlQyqbsFN5p3IfnEUduWvb9is428/nNb5L3U01M= +github.com/yudai/pp v2.0.1+incompatible h1:Q4//iY4pNF6yPLZIigmvcl7k/bPgrcTPIFIcmawg5bI= +github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= +gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= +gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= +go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= +go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c h1:/RwRVN9EdXAVtdHxP7Ndn/tfmM9/goiwU0QTnLBgS4w= +go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= +go.etcd.io/etcd/client/v2 v2.305.4 h1:Dcx3/MYyfKcPNLpR4VVQUP5KgYrBeJtktBwEKkw08Ao= +go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= +go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk= +go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw= +go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E= +go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403 h1:rKyWXYDfrVOpMFBion4Pmx5sJbQreQNXycHvm4KwJSg= +go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw= +go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5 h1:FR+oGxGfbQu1d+jglI3rCkjAjUnhRSZcUxr+DqlDLNo= +golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= +golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d h1:+W8Qf4iJtMGKkyAygcKohjxTk4JPsL9DpzApJ22m5Ic= +golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/tools v0.1.11-0.20220513221640-090b14e8501f/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12-0.20220628192153-7743d1d949f1/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= +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= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.81.0 h1:o8WF5AvfidafWbFjsRyupxyEQJNUWxLZJCK5NXrxZZ8= +google.golang.org/api v0.81.0/go.mod h1:FA6Mb/bZxj706H2j+j2d6mHEEaHBmbbWnkfvmorOCko= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.46.2 h1:u+MLGgVf7vRdjEYZ8wDFhAVNmhkbJ5hmrA1LMWK1CAQ= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= +gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.28 h1:n1tBJnnK2r7g9OW2btFH91V92STTUevLXYFb8gy9EMk= +gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= +gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.6 h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI= +gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= +honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA= +honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= +k8s.io/apiserver v0.24.1 h1:LAA5UpPOeaREEtFAQRUQOI3eE5So/j5J3zeQJjeLdz4= +k8s.io/code-generator v0.25.0/go.mod h1:B6jZgI3DvDFAualltPitbYMQ74NjaCFxum3YeKZZ+3w= +k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= +k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= +k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +mvdan.cc/unparam v0.0.0-20220706161116-678bad134442 h1:seuXWbRB1qPrS3NQnHmFKLJLtskWyueeIzmLXghMGgk= +mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= +rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= +rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= +rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30 h1:dUk62HQ3ZFhD48Qr8MIXCiKA8wInBQCtuE4QGfFW7yA= From be52049136d3db7c57175f731635e0bc14bc56cf Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 16:33:39 +0200 Subject: [PATCH 126/162] Goimport rest of the files --- modules/api/pkg/auth/basic.go | 2 +- .../pkg/integration/metric/sidecar/selector_test.go | 4 ++-- modules/api/pkg/resource/clusterrole/list_test.go | 4 ++-- modules/api/pkg/resource/configmap/list.go | 6 +++--- modules/api/pkg/resource/controller/controller.go | 6 +++--- modules/api/pkg/resource/daemonset/list.go | 6 +++--- modules/api/pkg/resource/daemonset/pods.go | 6 +++--- modules/api/pkg/resource/deployment/detail_test.go | 6 +++--- .../api/pkg/resource/deployment/oldreplicasets.go | 6 +++--- modules/api/pkg/resource/deployment/pods.go | 4 ++-- .../resource/horizontalpodautoscaler/detail_test.go | 2 +- .../resource/horizontalpodautoscaler/list_test.go | 6 +++--- modules/api/pkg/resource/job/pods.go | 12 ++++++------ modules/api/pkg/resource/pod/common_test.go | 4 ++-- modules/api/pkg/resource/pod/events_test.go | 6 +++--- modules/api/pkg/resource/pod/list.go | 6 +++--- .../pkg/resource/replicationcontroller/list_test.go | 6 +++--- modules/api/pkg/resource/role/list_test.go | 4 ++-- modules/api/pkg/resource/rolebinding/list.go | 4 ++-- modules/api/pkg/resource/secret/common.go | 2 +- modules/api/pkg/resource/serviceaccount/common.go | 2 +- modules/api/pkg/resource/serviceaccount/list.go | 2 +- modules/api/pkg/resource/serviceaccount/secrets.go | 6 +++--- modules/api/pkg/resource/storageclass/list.go | 4 ++-- 24 files changed, 58 insertions(+), 58 deletions(-) diff --git a/modules/api/pkg/auth/basic.go b/modules/api/pkg/auth/basic.go index 8aab6eb10bfb..b8dbb6114ba9 100644 --- a/modules/api/pkg/auth/basic.go +++ b/modules/api/pkg/auth/basic.go @@ -15,8 +15,8 @@ package auth import ( - authApi "k8s.io/dashboard/api/pkg/auth/api" "k8s.io/client-go/tools/clientcmd/api" + authApi "k8s.io/dashboard/api/pkg/auth/api" ) // Implements Authenticator interface diff --git a/modules/api/pkg/integration/metric/sidecar/selector_test.go b/modules/api/pkg/integration/metric/sidecar/selector_test.go index 934db4231b02..e7f7f0612a24 100644 --- a/modules/api/pkg/integration/metric/sidecar/selector_test.go +++ b/modules/api/pkg/integration/metric/sidecar/selector_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" - metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" ) func TestGetSidecarSelector(t *testing.T) { diff --git a/modules/api/pkg/resource/clusterrole/list_test.go b/modules/api/pkg/resource/clusterrole/list_test.go index 1d64a3b20441..028c904fff4f 100644 --- a/modules/api/pkg/resource/clusterrole/list_test.go +++ b/modules/api/pkg/resource/clusterrole/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestToRbacRoleLists(t *testing.T) { diff --git a/modules/api/pkg/resource/configmap/list.go b/modules/api/pkg/resource/configmap/list.go index 34cd11857986..f1ec38c4b494 100644 --- a/modules/api/pkg/resource/configmap/list.go +++ b/modules/api/pkg/resource/configmap/list.go @@ -17,13 +17,13 @@ package configmap import ( "log" + v1 "k8s.io/api/core/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" - v1 "k8s.io/api/core/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" ) // ConfigMapList contains a list of Config Maps in the cluster. diff --git a/modules/api/pkg/resource/controller/controller.go b/modules/api/pkg/resource/controller/controller.go index c3a72065be28..25ebc2b355af 100644 --- a/modules/api/pkg/resource/controller/controller.go +++ b/modules/api/pkg/resource/controller/controller.go @@ -19,15 +19,15 @@ import ( "fmt" "strings" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/event" apps "k8s.io/api/apps/v1" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" meta "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" client "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/event" ) // ResourceOwner is an structure representing resource owner, it may be Replication Controller, diff --git a/modules/api/pkg/resource/daemonset/list.go b/modules/api/pkg/resource/daemonset/list.go index a0566e5b0cb9..452f13f6fbb7 100644 --- a/modules/api/pkg/resource/daemonset/list.go +++ b/modules/api/pkg/resource/daemonset/list.go @@ -15,15 +15,15 @@ package daemonset import ( + apps "k8s.io/api/apps/v1" + v1 "k8s.io/api/core/v1" + "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" "k8s.io/dashboard/api/pkg/resource/event" - apps "k8s.io/api/apps/v1" - v1 "k8s.io/api/core/v1" - "k8s.io/client-go/kubernetes" ) // DaemonSetList contains a list of Daemon Sets in the cluster. diff --git a/modules/api/pkg/resource/daemonset/pods.go b/modules/api/pkg/resource/daemonset/pods.go index fcc18b431f83..1ccbcae8ea77 100644 --- a/modules/api/pkg/resource/daemonset/pods.go +++ b/modules/api/pkg/resource/daemonset/pods.go @@ -18,15 +18,15 @@ import ( "context" "log" + api "k8s.io/api/core/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + k8sClient "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/errors" metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" "k8s.io/dashboard/api/pkg/resource/event" "k8s.io/dashboard/api/pkg/resource/pod" - api "k8s.io/api/core/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - k8sClient "k8s.io/client-go/kubernetes" ) // GetDaemonSetPods return list of pods targeting daemon set. diff --git a/modules/api/pkg/resource/deployment/detail_test.go b/modules/api/pkg/resource/deployment/detail_test.go index 60a40b030c99..4902eca79d04 100644 --- a/modules/api/pkg/resource/deployment/detail_test.go +++ b/modules/api/pkg/resource/deployment/detail_test.go @@ -18,14 +18,14 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/dataselect" apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func createDeployment(name, namespace, podTemplateName string, replicas int32, podLabel, diff --git a/modules/api/pkg/resource/deployment/oldreplicasets.go b/modules/api/pkg/resource/deployment/oldreplicasets.go index f79749fc3fe4..8cf12bcc3449 100644 --- a/modules/api/pkg/resource/deployment/oldreplicasets.go +++ b/modules/api/pkg/resource/deployment/oldreplicasets.go @@ -17,14 +17,14 @@ package deployment import ( "context" + apps "k8s.io/api/apps/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + client "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" "k8s.io/dashboard/api/pkg/resource/replicaset" - apps "k8s.io/api/apps/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - client "k8s.io/client-go/kubernetes" ) // GetDeploymentOldReplicaSets returns old replica sets targeting Deployment with given name diff --git a/modules/api/pkg/resource/deployment/pods.go b/modules/api/pkg/resource/deployment/pods.go index d2229ff1599e..706059c2a0cd 100644 --- a/modules/api/pkg/resource/deployment/pods.go +++ b/modules/api/pkg/resource/deployment/pods.go @@ -17,14 +17,14 @@ package deployment import ( "context" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + client "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/errors" metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" "k8s.io/dashboard/api/pkg/resource/event" "k8s.io/dashboard/api/pkg/resource/pod" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - client "k8s.io/client-go/kubernetes" ) // GetDeploymentPods returns list of pods targeting deployment. diff --git a/modules/api/pkg/resource/horizontalpodautoscaler/detail_test.go b/modules/api/pkg/resource/horizontalpodautoscaler/detail_test.go index 902f50a75b4c..579769ba9e57 100644 --- a/modules/api/pkg/resource/horizontalpodautoscaler/detail_test.go +++ b/modules/api/pkg/resource/horizontalpodautoscaler/detail_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" autoscaling "k8s.io/api/autoscaling/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" ) // func GetHorizontalPodAutoscalerDetail(client *client.Client, namespace string, name string) (*HorizontalPodAutoscalerDetail, error) diff --git a/modules/api/pkg/resource/horizontalpodautoscaler/list_test.go b/modules/api/pkg/resource/horizontalpodautoscaler/list_test.go index 8cf557c4ea81..e34a095c372a 100644 --- a/modules/api/pkg/resource/horizontalpodautoscaler/list_test.go +++ b/modules/api/pkg/resource/horizontalpodautoscaler/list_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/dataselect" autoscaling "k8s.io/api/autoscaling/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) var ( diff --git a/modules/api/pkg/resource/job/pods.go b/modules/api/pkg/resource/job/pods.go index 66c3c456440b..0eeb9a19b364 100644 --- a/modules/api/pkg/resource/job/pods.go +++ b/modules/api/pkg/resource/job/pods.go @@ -18,18 +18,18 @@ import ( "context" "log" - "k8s.io/dashboard/api/pkg/errors" - metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" - "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/dataselect" - "k8s.io/dashboard/api/pkg/resource/event" - "k8s.io/dashboard/api/pkg/resource/pod" batch "k8s.io/api/batch/v1" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/errors" + metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/event" + "k8s.io/dashboard/api/pkg/resource/pod" ) // GetJobPods return list of pods targeting job. diff --git a/modules/api/pkg/resource/pod/common_test.go b/modules/api/pkg/resource/pod/common_test.go index eb63f1fbebb4..2d436889d505 100644 --- a/modules/api/pkg/resource/pod/common_test.go +++ b/modules/api/pkg/resource/pod/common_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/common" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" ) // TestToPodPodStatusFailed tests the returned status for pods that have completed unsuccessfully. diff --git a/modules/api/pkg/resource/pod/events_test.go b/modules/api/pkg/resource/pod/events_test.go index 85dfcdbff73c..0cdd5c8f307e 100644 --- a/modules/api/pkg/resource/pod/events_test.go +++ b/modules/api/pkg/resource/pod/events_test.go @@ -18,12 +18,12 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestGetPodEvents(t *testing.T) { diff --git a/modules/api/pkg/resource/pod/list.go b/modules/api/pkg/resource/pod/list.go index f1c007868829..b0394c6d2c13 100644 --- a/modules/api/pkg/resource/pod/list.go +++ b/modules/api/pkg/resource/pod/list.go @@ -17,15 +17,15 @@ package pod import ( "log" + v1 "k8s.io/api/core/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + k8sClient "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" "k8s.io/dashboard/api/pkg/resource/event" - v1 "k8s.io/api/core/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - k8sClient "k8s.io/client-go/kubernetes" ) // PodList contains a list of Pods in the cluster. diff --git a/modules/api/pkg/resource/replicationcontroller/list_test.go b/modules/api/pkg/resource/replicationcontroller/list_test.go index f6646bf3be9c..49e9067615bc 100644 --- a/modules/api/pkg/resource/replicationcontroller/list_test.go +++ b/modules/api/pkg/resource/replicationcontroller/list_test.go @@ -18,13 +18,13 @@ import ( "reflect" "testing" + v1 "k8s.io/api/core/v1" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/fake" "k8s.io/dashboard/api/pkg/api" metricapi "k8s.io/dashboard/api/pkg/integration/metric/api" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" - v1 "k8s.io/api/core/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes/fake" ) func TestToReplicationControllerList(t *testing.T) { diff --git a/modules/api/pkg/resource/role/list_test.go b/modules/api/pkg/resource/role/list_test.go index 7a19e9ec2567..fb4f8914b437 100644 --- a/modules/api/pkg/resource/role/list_test.go +++ b/modules/api/pkg/resource/role/list_test.go @@ -18,10 +18,10 @@ import ( "reflect" "testing" - "k8s.io/dashboard/api/pkg/api" - "k8s.io/dashboard/api/pkg/resource/dataselect" rbac "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/dashboard/api/pkg/api" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) func TestToRbacRoleLists(t *testing.T) { diff --git a/modules/api/pkg/resource/rolebinding/list.go b/modules/api/pkg/resource/rolebinding/list.go index 155a39229dc1..4dbaab6f2623 100644 --- a/modules/api/pkg/resource/rolebinding/list.go +++ b/modules/api/pkg/resource/rolebinding/list.go @@ -17,12 +17,12 @@ package rolebinding import ( "log" + rbac "k8s.io/api/rbac/v1" + "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" - rbac "k8s.io/api/rbac/v1" - "k8s.io/client-go/kubernetes" ) // RoleBindingList contains a list of roleBindings in the cluster. diff --git a/modules/api/pkg/resource/secret/common.go b/modules/api/pkg/resource/secret/common.go index ac37e3da3e59..69d7b85cdd73 100644 --- a/modules/api/pkg/resource/secret/common.go +++ b/modules/api/pkg/resource/secret/common.go @@ -15,8 +15,8 @@ package secret import ( - "k8s.io/dashboard/api/pkg/resource/dataselect" api "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) // The code below allows to perform complex data section on []api.Secret diff --git a/modules/api/pkg/resource/serviceaccount/common.go b/modules/api/pkg/resource/serviceaccount/common.go index cfce2bb5a518..9870b52b6dda 100644 --- a/modules/api/pkg/resource/serviceaccount/common.go +++ b/modules/api/pkg/resource/serviceaccount/common.go @@ -15,8 +15,8 @@ package serviceaccount import ( - "k8s.io/dashboard/api/pkg/resource/dataselect" v1 "k8s.io/api/core/v1" + "k8s.io/dashboard/api/pkg/resource/dataselect" ) type ServiceAccountCell v1.ServiceAccount diff --git a/modules/api/pkg/resource/serviceaccount/list.go b/modules/api/pkg/resource/serviceaccount/list.go index 81332c8eaf5c..56491b042d91 100644 --- a/modules/api/pkg/resource/serviceaccount/list.go +++ b/modules/api/pkg/resource/serviceaccount/list.go @@ -19,11 +19,11 @@ import ( v1 "k8s.io/api/core/v1" + client "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" - client "k8s.io/client-go/kubernetes" ) // ServiceAccount contains an information about single service account in the list. diff --git a/modules/api/pkg/resource/serviceaccount/secrets.go b/modules/api/pkg/resource/serviceaccount/secrets.go index 9e7b5ef9b747..3c1102995191 100644 --- a/modules/api/pkg/resource/serviceaccount/secrets.go +++ b/modules/api/pkg/resource/serviceaccount/secrets.go @@ -17,12 +17,12 @@ package serviceaccount import ( "context" - "k8s.io/dashboard/api/pkg/resource/common" - "k8s.io/dashboard/api/pkg/resource/dataselect" - "k8s.io/dashboard/api/pkg/resource/secret" v1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sClient "k8s.io/client-go/kubernetes" + "k8s.io/dashboard/api/pkg/resource/common" + "k8s.io/dashboard/api/pkg/resource/dataselect" + "k8s.io/dashboard/api/pkg/resource/secret" ) // GetServiceAccountImagePullSecrets list image pull secrets of given service account. diff --git a/modules/api/pkg/resource/storageclass/list.go b/modules/api/pkg/resource/storageclass/list.go index 704f74a7cafc..3ffad69fe203 100644 --- a/modules/api/pkg/resource/storageclass/list.go +++ b/modules/api/pkg/resource/storageclass/list.go @@ -17,12 +17,12 @@ package storageclass import ( "log" + storage "k8s.io/api/storage/v1" + "k8s.io/client-go/kubernetes" "k8s.io/dashboard/api/pkg/api" "k8s.io/dashboard/api/pkg/errors" "k8s.io/dashboard/api/pkg/resource/common" "k8s.io/dashboard/api/pkg/resource/dataselect" - storage "k8s.io/api/storage/v1" - "k8s.io/client-go/kubernetes" ) // StorageClassList holds a list of Storage Class objects in the cluster. From 99d2b78fec1a3a1e87500e2704ea0b2cdc8bf1e9 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 26 Aug 2022 16:50:59 +0200 Subject: [PATCH 127/162] Update web workflow --- .github/workflows/ci-web.yml | 6 +++--- modules/web/src/about/component.spec.ts | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index 3259f5c2735d..ab672bd4ef4a 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -62,9 +62,9 @@ jobs: node-version: 16.15.0 - run: yarn - run: node hack/version.mjs - - run: make coverage-frontend + - run: yarn coverage - uses: codecov/codecov-action@v2 with: - name: api-coverage - files: ./coverage + name: web-coverage + directory: ./modules/web/coverage/ fail_ci_if_error: true diff --git a/modules/web/src/about/component.spec.ts b/modules/web/src/about/component.spec.ts index 71fe4476c125..2bc409848998 100644 --- a/modules/web/src/about/component.spec.ts +++ b/modules/web/src/about/component.spec.ts @@ -31,8 +31,7 @@ describe('AboutComponent', () => { let configService: ConfigService; let element: HTMLElement; - // set the predefined values - const copyrightYear = 2019; + const copyrightYear = 2022; beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ @@ -54,10 +53,8 @@ describe('AboutComponent', () => { const config: AppConfig = {serverTime: new Date().getTime()}; configRequest.flush(config); - // set the fixed values component.latestCopyrightYear = copyrightYear; - // grab the HTML element element = fixture.debugElement.query(By.css('kd-card')).nativeElement; })); From b474f69c11b4f0f1e08f02114aa324e9b3b1ee08 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 10:52:48 +0200 Subject: [PATCH 128/162] Fix license check --- .licenserc.yaml | 3 +++ modules/web/.yarnrc.yml | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/.licenserc.yaml b/.licenserc.yaml index 3a53abccae64..e320777fad29 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -38,6 +38,7 @@ header: - '**/*.json' - '**/*.lock' - '**/*.md' + - '**/*.mk' - '**/*.svg' - '**/*.txt' - '**/*.xlf' @@ -52,6 +53,7 @@ header: - '**/go.sum' - '**/go.work' - '**/go.work.sum' + - '**/lcov.info' - '**/Makefile' - '**/OWNERS' - '.github/**' @@ -60,6 +62,7 @@ header: - '.dist/**' - '.husky/**' - 'modules/web/.angular/**' + - 'modules/web/.yarn/**' - 'LICENSE' - 'OWNERS_ALIASES' - 'SECURITY_CONTACTS' diff --git a/modules/web/.yarnrc.yml b/modules/web/.yarnrc.yml index ec7a168111fe..4f8c8c5c9702 100644 --- a/modules/web/.yarnrc.yml +++ b/modules/web/.yarnrc.yml @@ -1,2 +1,16 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + yarnPath: .yarn/releases/yarn-3.2.2.cjs nodeLinker: node-modules From 57b336d88745ee7ccd046739583b910ed1073461 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 11:10:35 +0200 Subject: [PATCH 129/162] Remove duplicated deps review action and tidy dependencies to solve critical security issue --- .github/workflows/ci-global.yml | 2 + .github/workflows/depsreview.yaml | 14 - modules/api/go.mod | 47 --- modules/api/go.sum | 488 +----------------------------- 4 files changed, 5 insertions(+), 546 deletions(-) delete mode 100644 .github/workflows/depsreview.yaml diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 62d1f9c22b3b..b69946324b23 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -93,3 +93,5 @@ jobs: steps: - uses: actions/checkout@v3 - uses: actions/dependency-review-action@v1 + with: + fail-on-severity: critical diff --git a/.github/workflows/depsreview.yaml b/.github/workflows/depsreview.yaml deleted file mode 100644 index f2605b7a7e2c..000000000000 --- a/.github/workflows/depsreview.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: 'Dependency Review' -on: [pull_request] - -permissions: - contents: read - -jobs: - dependency-review: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v3 - - name: 'Dependency Review' - uses: actions/dependency-review-action@v1 diff --git a/modules/api/go.mod b/modules/api/go.mod index 9667601b5cd8..8dcf4bcadbb9 100644 --- a/modules/api/go.mod +++ b/modules/api/go.mod @@ -21,92 +21,45 @@ require ( ) require ( - github.com/NYTimes/gziphandler v1.1.1 // indirect - github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220418222510-f25a4f6275ed // indirect - github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/coreos/go-semver v0.3.0 // indirect - github.com/coreos/go-systemd/v22 v22.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful v2.16.0+incompatible // indirect github.com/evanphx/json-patch v5.6.0+incompatible // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/cel-go v0.12.4 // indirect github.com/google/gnostic v0.6.9 // indirect - github.com/google/go-cmp v0.5.8 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.1.2 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/imdario/mergo v0.3.13 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mitchellh/mapstructure v1.4.1 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/nxadm/tail v1.4.8 // indirect - github.com/onsi/ginkgo v1.16.5 // indirect github.com/onsi/gomega v1.20.0 // indirect - github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect - github.com/spf13/cobra v1.4.0 // indirect - github.com/stoewer/go-strcase v1.2.0 // indirect - go.etcd.io/etcd/api/v3 v3.5.4 // indirect - go.etcd.io/etcd/client/pkg/v3 v3.5.4 // indirect - go.etcd.io/etcd/client/v3 v3.5.4 // indirect - go.opentelemetry.io/contrib v0.20.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0 // indirect - go.opentelemetry.io/otel v0.20.0 // indirect - go.opentelemetry.io/otel/exporters/otlp v0.20.0 // indirect - go.opentelemetry.io/otel/metric v0.20.0 // indirect - go.opentelemetry.io/otel/sdk v0.20.0 // indirect - go.opentelemetry.io/otel/sdk/export/metric v0.20.0 // indirect - go.opentelemetry.io/otel/sdk/metric v0.20.0 // indirect - go.opentelemetry.io/otel/trace v0.20.0 // indirect - go.opentelemetry.io/proto/otlp v0.7.0 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.19.0 // indirect golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 // indirect golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 // indirect - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 // indirect golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 // indirect - google.golang.org/grpc v1.47.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect - gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiserver v0.25.0 // indirect - k8s.io/component-base v0.25.0 // indirect k8s.io/klog/v2 v2.70.1 // indirect k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea // indirect k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73 // indirect - sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.32 // indirect sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect diff --git a/modules/api/go.sum b/modules/api/go.sum index 7550d6ca68e7..26a92102bfa8 100644 --- a/modules/api/go.sum +++ b/modules/api/go.sum @@ -13,11 +13,6 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= 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= @@ -26,7 +21,6 @@ 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/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/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= 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= @@ -37,53 +31,22 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= 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/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220418222510-f25a4f6275ed h1:ue9pVfIcP+QMEjfgo/Ez4ZjNZfonGgR6NgjMaJMu1Cg= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220418222510-f25a4f6275ed/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -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/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= @@ -93,75 +56,26 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -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/xds/go v0.0.0-20210312221358-fbca930ec8ed/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/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.15.0+incompatible h1:8KpYO/Xl/ZudZs5RNOEhWMBY4hmzlZhhRd9cu+jrZP4= -github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epTksy9HQ1MyrbDXSdYhM= -github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful/v3 v3.7.4 h1:PVGUqKvvMzQYiO89TdXrH9EMks+okTaRIMQ3jgMdZ30= -github.com/emicklei/go-restful/v3 v3.7.4/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -175,40 +89,25 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= -github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -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= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -216,7 +115,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -232,17 +130,10 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-go v0.12.4 h1:YINKfuHZ8n72tPOqSPZBwGiDpew2CJS48mdM5W8LZQU= -github.com/google/cel-go v0.12.4/go.mod h1:Av7CU6r6X3YmcHR9GXqVDaEJYfEtSxl6wvIjUQTriCw= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= github.com/google/gnostic v0.6.9/go.mod h1:Nm8234We1lq6iB9OmlgNv3nH91XLLVZHCDayfA3xq+E= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -252,21 +143,14 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -274,59 +158,19 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= @@ -337,48 +181,28 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -386,61 +210,26 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= -github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= +github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= -github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= @@ -448,57 +237,28 @@ github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1: github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= -github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -506,94 +266,26 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -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 h1:OHVyt3TopwtUQ2GKdd5wu3PmmipR4FTwCqoEjSyRdIc= -go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= -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 h1:lrneYvz923dvC14R54XcA7FXoZ3mlGZAgmwhfm7HqOg= -go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= -go.etcd.io/etcd/client/v3 v3.5.4 h1:p83BUL3tAYS0OT/r0qglgc3M1JjhM0diV8DSWAhVXv4= -go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= -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= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 h1:sO4WKdPAudZGKPcpZT4MJn6JaDmpyLrMPDGGyA1SttE= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0 h1:Q3C9yzW6I9jqEc8sawxzxZmY48fs9u220KXq6d5s3XU= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0 h1:eaP0Fqu7SXHwvjiqDq83zImeehOHX8doTvU9AwXON8g= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.20.0 h1:4kzhXFP+btKm4jwxpjIqjs41A7MakRFUS86bqLHTIw8= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0 h1:JsxtGXd06J8jrnya7fdI/U/MR6yXA5DtbZy+qoHQlr8= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g= -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 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0 h1:1DL6EXUdcg95gukhuRRvLDO/4X5THh/5dIV52lqtnbw= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0 h1:rwOQPCuKAKmwGKq2aVNnYIibI6wnV7EvzgfTCzcdGg8= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0 h1:mZQZefskPPCMIBCSEH0v2/iUqqLrYtaeqwD6FUGUnFE= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 h1:vJ2V3lFLg+bBhgroYuRfyN583UzVveQmIXjc8T/y3to= golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -618,8 +310,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -628,17 +318,9 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -650,7 +332,6 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -661,30 +342,16 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220526153639-5463443f8c37 h1:lUkvobShwKsOesNfWWlCS5q7fnbG1MEliIzwu886fn8= -golang.org/x/net v0.0.0-20220526153639-5463443f8c37/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c h1:JVAXQ10yGGVbSyoer5VILysz6YKjdNT2bsvlayjqhes= golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -692,17 +359,8 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 h1:zwrSfklXn0gxyLRX/aR+q6cgHbV/ItVyzbPlbA+dkAw= -golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 h1:2o1E+E8TpNLklK9nHiPiK1uzIYrIHt+cQx3ynCwq9V8= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -715,15 +373,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -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= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -734,11 +385,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -753,45 +400,24 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 h1:UiNENfZ8gDvpiWw7IpOMQ27spWmThO1RwwdQVbJahJM= golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 h1:CBpWXWQpIRjzmkkA+M7q9Fqnwd2mZr3AFqexg8YTfoM= -golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -799,7 +425,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= @@ -807,33 +432,23 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= 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= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/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-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220411224347-583f2d630306 h1:+gHMid33q6pen7kv9xvT+JRinntgeXO2AeZVd0AWD3w= -golang.org/x/time v0.0.0-20220411224347-583f2d630306/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 h1:ftMN5LMiBFjbzleLqtoBZk7KdJwhuybIU+FckUHgoyQ= golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -853,7 +468,6 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -861,22 +475,11 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -893,11 +496,6 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -927,7 +525,6 @@ google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -937,23 +534,7 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 h1:hrbNEivu7Zn1pxvHk6MBrq9iE22woVILTHqexqBxe6I= -google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -966,19 +547,9 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0 h1:9n77onPX5F3qfFCqjy9dhn8PbNQsIKeVU04J9G7umt8= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= 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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -992,33 +563,20 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/igm/sockjs-go.v2 v2.1.0 h1:Ehqymxnfkkwi8R7SZIUARn77M0slA8vki0VgcfOdALw= gopkg.in/igm/sockjs-go.v2 v2.1.0/go.mod h1:9l1o9p5TJvh2l+Q0EGE8USVB69QPfcvI7fR0HmbCk/8= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1028,14 +586,10 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1043,63 +597,27 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= -k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= k8s.io/api v0.25.0 h1:H+Q4ma2U/ww0iGB78ijZx6DRByPz6/733jIuFpX70e0= k8s.io/api v0.25.0/go.mod h1:ttceV1GyV1i1rnmvzT3BST08N6nGt+dudGrquzVQWPk= -k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= -k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= k8s.io/apiextensions-apiserver v0.25.0 h1:CJ9zlyXAbq0FIW8CD7HHyozCMBpDSiH7EdrSTCZcZFY= k8s.io/apiextensions-apiserver v0.25.0/go.mod h1:3pAjZiN4zw7R8aZC5gR0y3/vCkGlAjCazcg1me8iB/E= -k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= -k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= k8s.io/apimachinery v0.25.0 h1:MlP0r6+3XbkUG2itd6vp3oxbtdQLQI94fD5gCS+gnoU= k8s.io/apimachinery v0.25.0/go.mod h1:qMx9eAk0sZQGsXGu86fab8tZdffHbwUfsvzqKn4mfB0= -k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= -k8s.io/apiserver v0.25.0 h1:8kl2ifbNffD440MyvHtPaIz1mw4mGKVgWqM0nL+oyu4= -k8s.io/apiserver v0.25.0/go.mod h1:BKwsE+PTC+aZK+6OJQDPr0v6uS91/HWxX7evElAH6xo= -k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= -k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= k8s.io/client-go v0.25.0 h1:CVWIaCETLMBNiTUta3d5nzRbXvY5Hy9Dpl+VvREpu5E= k8s.io/client-go v0.25.0/go.mod h1:lxykvypVfKilxhTklov0wz1FoaUZ8X4EwbhS6rpRfN8= -k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= -k8s.io/component-base v0.25.0 h1:haVKlLkPCFZhkcqB6WCvpVxftrg6+FK5x1ZuaIDaQ5Y= -k8s.io/component-base v0.25.0/go.mod h1:F2Sumv9CnbBlqrpdf7rKZTmmd2meJq0HizeyY/yAFxk= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= -k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= -k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 h1:nBQrWPlrNIiw0BsX6a6MKr1itkm0ZS0Nl97kNLitFfI= -k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6/go.mod h1:daOouuuwd9JXpv1L7Y34iV3yf6nxzipkKMWWlqlvK9M= k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea h1:3QOH5+2fGsY8e1qf+GIFpg+zw/JGNrgyZRQR7/m6uWg= k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= -k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73 h1:H9TCJUUx+2VA0ZiD9lvtaX8fthFsMoD+Izn93E/hm8U= k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.32 h1:2WjukG7txtEsbXsSKWtTibCdsyYAhcu6KFnttyDdZOQ= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.32/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= -sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 h1:2sgAQQcY0dEW2SsQwTXhQV4vO6+rSslYx8K3XmM5hqQ= -sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= From f25b367be1ff404d25fbd51294bba379bad69b90 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 11:33:56 +0200 Subject: [PATCH 130/162] Fix web static check and remove unused conf variables --- Makefile | 6 ------ hack/scripts/conf.sh | 17 ----------------- modules/web/hack/check-html.sh | 5 +---- 3 files changed, 1 insertion(+), 27 deletions(-) diff --git a/Makefile b/Makefile index 1814c4f2ce72..dc017a6e9c07 100644 --- a/Makefile +++ b/Makefile @@ -107,12 +107,6 @@ build-cross: --ensure-certificates: @$(MAKE) --no-print-directory -C $(GATEWAY_DIRECTORY) generate-certificates -#.PHONY: ensure-codegen -#ensure-codegen: ensure-go -# go get -d k8s.io/code-generator@$(CODEGEN_VERSION) -# go mod tidy -# chmod +x $(CODEGEN_BIN) -# #.PHONY: build-cross #build-cross: clean ensure-go # ./aio/scripts/build.sh -c diff --git a/hack/scripts/conf.sh b/hack/scripts/conf.sh index 6a30c0eb2b0b..47efdff04205 100644 --- a/hack/scripts/conf.sh +++ b/hack/scripts/conf.sh @@ -16,18 +16,12 @@ # Directories. ROOT_DIR="$(cd $(dirname "${BASH_SOURCE}")/../.. && pwd -P)" AIO_DIR="${ROOT_DIR}/hack" -I18N_DIR="${FRONTEND_DIR}/i18n" DIST_DIR="${ROOT_DIR}/.dist" WEB_DIST_DIR="${DIST_DIR}/web" -WEB_DIR="${ROOT_DIR}/modules/web" CACHE_DIR="${ROOT_DIR}/.cached_tools" -DEFAULT_ARCHITECTURE=amd64 ARCHITECTURES=(amd64 arm64 arm ppc64le s390x) RELEASE_VERSION=2.5.0 -# Binaries. -NG_BIN="${FRONTEND_DIR}/node_modules/.bin/ng" - # Global constants. ARCH=$(uname | awk '{print tolower($0)}') @@ -37,17 +31,6 @@ HEAPSTER_PORT=8082 KIND_VERSION="v0.14.0" K8S_VERSION="v1.24.3" KIND_BIN=${CACHE_DIR}/kind-${KIND_VERSION} -CODEGEN_VERSION="v0.24.1" -CODEGEN_BIN=${GOPATH}/pkg/mod/k8s.io/code-generator@${CODEGEN_VERSION}/generate-groups.sh - -# Setup logger. -if test -t 1; then - COLORS=`tput colors` - if test -n "$COLORS" && test $COLORS -ge 8; then - DEFAULT_STYLE=`tput sgr0` - RED_STYLE=`tput setaf 1` - fi -fi function ensure-cache { echo "\nMaking sure that ${CACHE_DIR} directory exists" diff --git a/modules/web/hack/check-html.sh b/modules/web/hack/check-html.sh index 0d673c2cb6dd..ae020b91f3e5 100755 --- a/modules/web/hack/check-html.sh +++ b/modules/web/hack/check-html.sh @@ -13,11 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE}")/../.." && pwd -P)" -source "${ROOT_DIR}/hack/scripts/conf.sh" - CODE=0 -FILES=($(find ${SRC_DIR} -type f -name '*.html')) +FILES=($(find src -type f -name '*.html')) for FILE in "${FILES[@]}"; do CONTENT=$(cat ${FILE}) FORMATTED_CONTENT=$(npx html-beautify -f "${FILE}") From c9754cf7b4dec2e82396f81f3e60cdfbc7785f18 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 11:37:14 +0200 Subject: [PATCH 131/162] Bump dependency review action --- .github/workflows/ci-global.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index b69946324b23..f0e91c47fac5 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -92,6 +92,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/dependency-review-action@v1 + - uses: actions/dependency-review-action@v2 with: fail-on-severity: critical From 5fba214a1f2998793ae412af8958a9cb4a59ec21 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 11:55:47 +0200 Subject: [PATCH 132/162] Workflow cleanup --- .github/workflows/cd-global.yml | 79 ++++++++++----------------------- .github/workflows/cd-helm.yml | 6 +-- .github/workflows/ci-api.yml | 1 + .github/workflows/ci-global.yml | 53 ++++++++++++---------- .github/workflows/ci-helm.yml | 1 - 5 files changed, 55 insertions(+), 85 deletions(-) diff --git a/.github/workflows/cd-global.yml b/.github/workflows/cd-global.yml index 8ed778ece90c..8ab8a00e282e 100644 --- a/.github/workflows/cd-global.yml +++ b/.github/workflows/cd-global.yml @@ -13,18 +13,16 @@ # limitations under the License. name: CD / Global - on: push: branches: [ master ] create: tags: - 'v*.*.*' - permissions: contents: read - jobs: + deploy: name: Development Release if: github.event_name == 'push' && contains(github.ref, 'master') @@ -35,41 +33,29 @@ jobs: NODE_OPTIONS: "--max-old-space-size=8192" DOCKER_CLI_EXPERIMENTAL: enabled TERM: xterm - + defaults: + run: + shell: bash steps: - - name: Checkout repository - uses: actions/checkout@v3 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Setup Go - uses: actions/setup-go@v3 + - uses: actions/setup-go@v3 with: go-version: 1.19 - - name: Setup Node.js - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: node-version: 16.15.0 - - - name: Install Dependencies - shell: bash - run: yarn || node aio/scripts/version.mjs && go mod download - - - name: Set up QEMU - uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # v1 - - - name: Docker Login - env: + - run: yarn + - run: node hack/version.mjs + - run: go mod download + - uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1 + - uses: docker/setup-buildx-action@v2 + - env: DOCKER_USER: ${{ secrets.DOCKER_USER }} DOCKER_PASS: ${{ secrets.DOCKER_PASS }} run: docker login -u $DOCKER_USER -p $DOCKER_PASS - - - name: Push Image - shell: bash - run: | + - run: | export GOPATH=$(go env GOPATH)/bin make docker-push-head @@ -83,7 +69,9 @@ jobs: NODE_OPTIONS: "--max-old-space-size=8192" DOCKER_CLI_EXPERIMENTAL: enabled TERM: xterm - + defaults: + run: + shell: bash steps: - name: Checkout repository uses: actions/checkout@v3 @@ -97,34 +85,15 @@ jobs: uses: actions/setup-node@v3 with: node-version: 16.15.0 - - name: Cache Node Modules - uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 - env: - cache-name: cache-node-modules - with: - path: node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - - - name: Install Dependencies - shell: bash - run: | - [ ! -d "node_modules" ] && npm ci || node aio/scripts/version.mjs && go mod download - - - name: Set up QEMU - uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # v1 - - - name: Docker Login - env: + - run: yarn + - run: node hack/version.mjs + - run: go mod download + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 + - env: DOCKER_USER: ${{ secrets.DOCKER_RELEASE_USER }} DOCKER_PASS: ${{ secrets.DOCKER_RELEASE_PASS }} run: docker login -u $DOCKER_USER -p $DOCKER_PASS - - - name: Push Image - shell: bash - run: | + - run: | export GOPATH=$(go env GOPATH)/bin make docker-push-release diff --git a/.github/workflows/cd-helm.yml b/.github/workflows/cd-helm.yml index 9f1190bf4dab..f357754bdd71 100644 --- a/.github/workflows/cd-helm.yml +++ b/.github/workflows/cd-helm.yml @@ -21,12 +21,11 @@ on: - 'charts/helm-chart/**' - 'aio/scripts/helm-release-chart.sh' - '.github/workflows/cd-helm-workflow.yml' - jobs: + release: name: Helm Chart Release runs-on: ubuntu-latest - steps: - name: Checkout repository uses: actions/checkout@v3 @@ -41,18 +40,15 @@ jobs: run: aio/scripts/helm-release-chart.sh env: TERM: xterm-256color - - name: Create Pull Request branch run: | git checkout -b gh-pages-pull-request - # Note that will fail if branch already exists. - name: Push Git Branch uses: ad-m/github-push-action@v0.6.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages-pull-request - # Note that will silently fail if PR already exists. - name: Create Pull Request uses: repo-sync/pull-request@v2 diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 22693e858389..4a37efe8b5dc 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -25,6 +25,7 @@ on: permissions: contents: read jobs: + static: name: Static check runs-on: ubuntu-latest diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index f0e91c47fac5..e73b9293ce03 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: CI / Global +name: CI on: push: branches: [ master ] @@ -27,29 +27,6 @@ on: permissions: contents: read jobs: - e2e-tests: - name: End-to-end tests - runs-on: ubuntu-latest - env: - NG_CLI_ANALYTICS: ci - GOPROXY: "https://proxy.golang.org" - NODE_OPTIONS: "--max-old-space-size=8192" - TERM: xterm - steps: - - uses: helm/kind-action@v1.2.0 - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - uses: actions/setup-go@v3 - with: - go-version: 1.19 - - uses: actions/setup-node@v3 - with: - node-version: 16.15.0 - - run: yarn - - run: npm i cypress - - run: node aio/scripts/version.mjs - - run: make e2e license-check: name: License check @@ -92,6 +69,34 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + with: + fetch-depth: 0 - uses: actions/dependency-review-action@v2 with: fail-on-severity: critical + + e2e: + name: End-to-end tests + runs-on: ubuntu-latest + env: + NG_CLI_ANALYTICS: ci + GOPROXY: "https://proxy.golang.org" + NODE_OPTIONS: "--max-old-space-size=8192" + TERM: xterm + defaults: + run: + working-directory: modules/web + steps: + - uses: helm/kind-action@v1.3.0 + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-go@v3 + with: + go-version: 1.19 + - uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - run: yarn + - run: node hack/version.mjs + - run: make e2e diff --git a/.github/workflows/ci-helm.yml b/.github/workflows/ci-helm.yml index 3a5b2a8a5020..81385a5f373c 100644 --- a/.github/workflows/ci-helm.yml +++ b/.github/workflows/ci-helm.yml @@ -20,7 +20,6 @@ on: - '.github/workflows/ci-helm.yml' permissions: contents: read - jobs: helm-lint-test: From 279e649732ec1a7345de42cdfd78de7e16d34f5e Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 12:04:41 +0200 Subject: [PATCH 133/162] Remove ng-in-viewport to fix tests --- modules/web/package.json | 1 - .../components/graphcard/component.spec.ts | 4 +- modules/web/src/shared.module.ts | 2 - modules/web/yarn.lock | 621 +++++++++--------- 4 files changed, 296 insertions(+), 332 deletions(-) diff --git a/modules/web/package.json b/modules/web/package.json index f22c94a7a3e4..d8121f2e52f5 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -65,7 +65,6 @@ "js-yaml": "4.1.0", "jwt-decode": "3.1.2", "material-design-icons": "3.0.1", - "ng-in-viewport": "6.1.5", "ngx-cookie-service": "13.2.1", "ngx-pipes": "3.0.0", "normalize.css": "8.0.1", diff --git a/modules/web/src/common/components/graphcard/component.spec.ts b/modules/web/src/common/components/graphcard/component.spec.ts index c621c05a48d1..4c9439da0751 100644 --- a/modules/web/src/common/components/graphcard/component.spec.ts +++ b/modules/web/src/common/components/graphcard/component.spec.ts @@ -17,7 +17,6 @@ import {NoopAnimationsModule} from '@angular/platform-browser/animations'; import {Metric} from '@api/root.api'; import {CardComponent} from '@common/components/card/component'; import {GraphComponent, GraphType} from '@common/components/graph/component'; -import {InViewportModule, InViewportService} from 'ng-in-viewport'; import {SharedModule} from '../../../shared.module'; import {GraphCardComponent} from './component'; @@ -37,8 +36,7 @@ describe('GraphCardComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ declarations: [GraphCardComponent, GraphComponent, CardComponent], - providers: [InViewportService], - imports: [SharedModule, NoopAnimationsModule, InViewportModule], + imports: [SharedModule, NoopAnimationsModule], }).compileComponents(); })); diff --git a/modules/web/src/shared.module.ts b/modules/web/src/shared.module.ts index 87adccf1a044..3d0b65baae0f 100644 --- a/modules/web/src/shared.module.ts +++ b/modules/web/src/shared.module.ts @@ -46,7 +46,6 @@ import {MatToolbarModule} from '@angular/material/toolbar'; import {MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltipModule} from '@angular/material/tooltip'; import {RouterModule} from '@angular/router'; import {NgxChartsModule} from '@swimlane/ngx-charts'; -import {InViewportModule} from 'ng-in-viewport'; import {NgPipesModule} from 'ngx-pipes'; import {PipesModule} from '@common/pipes/module'; @@ -93,7 +92,6 @@ const SHARED_DEPENDENCIES = [ RouterModule, NgPipesModule, NgxChartsModule, - InViewportModule, // Custom application modules PipesModule, diff --git a/modules/web/yarn.lock b/modules/web/yarn.lock index 18821507623a..f941cf7fb086 100644 --- a/modules/web/yarn.lock +++ b/modules/web/yarn.lock @@ -504,10 +504,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8": - version: 7.18.13 - resolution: "@babel/compat-data@npm:7.18.13" - checksum: 869a730dc3ec40d4d5141b832d50b16702a2ea7bf5b87dc2761e7dfaa8deeafa03b8809fc42ff713ac1d450748dcdb07e1eb21f4633e10b87fd47be0065573e6 +"@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8, @babel/compat-data@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/compat-data@npm:7.19.0" + checksum: f90d25a3779578c230ad0632e12ffd5ee1033614dee2786f7f1567823a78923da7185638eedd7166f31e4771a3398ae6a28ab8e680b96cc25bafb38a3b66ff11 languageName: node linkType: hard @@ -581,25 +581,25 @@ __metadata: linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.17.2": - version: 7.18.13 - resolution: "@babel/core@npm:7.18.13" + version: 7.19.0 + resolution: "@babel/core@npm:7.19.0" dependencies: "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.13 - "@babel/helper-compilation-targets": ^7.18.9 - "@babel/helper-module-transforms": ^7.18.9 - "@babel/helpers": ^7.18.9 - "@babel/parser": ^7.18.13 + "@babel/generator": ^7.19.0 + "@babel/helper-compilation-targets": ^7.19.0 + "@babel/helper-module-transforms": ^7.19.0 + "@babel/helpers": ^7.19.0 + "@babel/parser": ^7.19.0 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.18.13 - "@babel/types": ^7.18.13 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: c7ee5b2c10bc5b0325e31fb5da4cb4bc03f9d5f5c00ec3481a018917bcc6b7b040de0690c606a424f57e5fc26d218d64e7718d0e5d7d8614d39c8cd898fab9b3 + checksum: 0d5b52b552e215802d2fd7b266611c390d90b28dece09db8a142666c32928c5d404eb72a95630b4cb726c4d80a53fcdc2d6464cd7ad28bb26087475f1b2205e2 languageName: node linkType: hard @@ -614,14 +614,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.7.2": - version: 7.18.13 - resolution: "@babel/generator@npm:7.18.13" +"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.19.0, @babel/generator@npm:^7.7.2": + version: 7.19.0 + resolution: "@babel/generator@npm:7.19.0" dependencies: - "@babel/types": ^7.18.13 + "@babel/types": ^7.19.0 "@jridgewell/gen-mapping": ^0.3.2 jsesc: ^2.5.1 - checksum: 27f5e7eb774e4d76ee75dc96e3e1bd26cc0ee7cea13a8f7342b716319c0a4d4e26fc49aa8f19316f7c99383da55eeb2a866c6e034e9deacad58a9de9ed6004fb + checksum: aa3d5785cf8f8e81672dcc61aef351188efeadb20d9f66d79113d82cbcf3bbbdeb829989fa14582108572ddbc4e4027bdceb06ccaf5ec40fa93c2dda8fbcd4aa languageName: node linkType: hard @@ -653,46 +653,46 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.2, @babel/helper-compilation-targets@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-compilation-targets@npm:7.18.9" +"@babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.2, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-compilation-targets@npm:7.19.0" dependencies: - "@babel/compat-data": ^7.18.8 + "@babel/compat-data": ^7.19.0 "@babel/helper-validator-option": ^7.18.6 browserslist: ^4.20.2 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2a9d71e124e098a9f45de4527ddd1982349d231827d341e00da9dfb967e260ecc7662c8b62abee4a010fb34d5f07a8d2155c974e0bc1928144cee5644910621d + checksum: 5f1be9811d53a5e43eb4b9b402517dec79bfa3a55e9fbc131a106914a78b435bc08a4b35591e424665c36c2c1eceb864ec2ca2c2f3dcf240a1551a28530428f9 languageName: node linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.18.13 - resolution: "@babel/helper-create-class-features-plugin@npm:7.18.13" + version: 7.19.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.19.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/helper-member-expression-to-functions": ^7.18.9 "@babel/helper-optimise-call-expression": ^7.18.6 "@babel/helper-replace-supers": ^7.18.9 "@babel/helper-split-export-declaration": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0 - checksum: 3d2da92a54b885b211a747a8c553bb0190895d140cd1daab5d9945b2b271817d9d288a512364085e9fad19bd503921cd85fcc12f98df67b39b27f5655eb9d058 + checksum: f0c6fb77b6f113d70f308e7093f60dd465b697818badf5df0519d8dd12b6bfb1f4ad300b923207ce9f9c1c940ef58bff12ac4270c0863eadf9e303b7dd6d01b6 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.18.6" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.19.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 regexpu-core: ^5.1.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2d76e660cbfd0bfcb01ca9f177f0e9091c871a6b99f68ece6bcf4ab4a9df073485bdc2d87ecdfbde44b7f3723b26d13085d0f92082adb3ae80d31b246099f10a + checksum: 811cc90afe9fc25a74ed37fc0c1361a4a91b0b940235dd3958e3f03b366d40a903b40fc93b51bcb93be774aba573219f8f215664bea1d1301f58797ca6854f3f languageName: node linkType: hard @@ -728,13 +728,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-function-name@npm:7.18.9" +"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-function-name@npm:7.19.0" dependencies: - "@babel/template": ^7.18.6 - "@babel/types": ^7.18.9 - checksum: d04c44e0272f887c0c868651be7fc3c5690531bea10936f00d4cca3f6d5db65e76dfb49e8d553c42ae1fe1eba61ccce9f3d93ba2df50a66408c8d4c3cc61cf0c + "@babel/template": ^7.18.10 + "@babel/types": ^7.19.0 + checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e languageName: node linkType: hard @@ -765,19 +765,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-module-transforms@npm:7.18.9" +"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-module-transforms@npm:7.19.0" dependencies: "@babel/helper-environment-visitor": ^7.18.9 "@babel/helper-module-imports": ^7.18.6 "@babel/helper-simple-access": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 "@babel/helper-validator-identifier": ^7.18.6 - "@babel/template": ^7.18.6 - "@babel/traverse": ^7.18.9 - "@babel/types": ^7.18.9 - checksum: af08c60ea239ff3d40eda542fceaab69de17e713f131e80ead08c975ba7a47dd55d439cb48cfb14ae7ec96704a10c989ff5a5240e52a39101cb44a49467ce058 + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: 4483276c66f56cf3b5b063634092ad9438c2593725de5c143ba277dda82f1501e6d73b311c1b28036f181dbe36eaeff29f24726cde37a599d4e735af294e5359 languageName: node linkType: hard @@ -790,10 +790,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.18.9 - resolution: "@babel/helper-plugin-utils@npm:7.18.9" - checksum: ebae876cd60f1fe238c7210986093845fa5c4cad5feeda843ea4d780bf068256717650376d3af2a5e760f2ed6a35c065ae144f99c47da3e54aa6cba99d8804e0 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.19.0 + resolution: "@babel/helper-plugin-utils@npm:7.19.0" + checksum: eedc996c633c8c207921c26ec2989eae0976336ecd9b9f1ac526498f52b5d136f7cd03c32b6fdf8d46a426f907c142de28592f383c42e5fba1e904cbffa05345 languageName: node linkType: hard @@ -873,25 +873,25 @@ __metadata: linkType: hard "@babel/helper-wrap-function@npm:^7.18.9": - version: 7.18.11 - resolution: "@babel/helper-wrap-function@npm:7.18.11" + version: 7.19.0 + resolution: "@babel/helper-wrap-function@npm:7.19.0" dependencies: - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.18.11 - "@babel/types": ^7.18.10 - checksum: e2fb909cdeb5c8688513261202cdeab7c6a8ac1f30daa5a1e0111631f270c26118c2e6b27014fc9f5d2c0ee1182fc40a3db2d30e45425587067f49dcae737dc9 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: 2453a6b134f12cc779179188c4358a66252c29b634a8195c0cf626e17f9806c3c4c40e159cd8056c2ec82b69b9056a088014fa43d6ccc1aca67da8d9605da8fd languageName: node linkType: hard -"@babel/helpers@npm:^7.16.7, @babel/helpers@npm:^7.17.2, @babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helpers@npm:7.18.9" +"@babel/helpers@npm:^7.16.7, @babel/helpers@npm:^7.17.2, @babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helpers@npm:7.19.0" dependencies: - "@babel/template": ^7.18.6 - "@babel/traverse": ^7.18.9 - "@babel/types": ^7.18.9 - checksum: d0bd8255d36bfc65dc52ce75f7fea778c70287da2d64981db4c84fbdf9581409ecbd6433deff1c81da3a5acf26d7e4c364b3a4445efacf88f4f48e77c5b34d8d + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: e50e78e0dbb0435075fa3f85021a6bcae529589800bca0292721afd7f7c874bea54508d6dc57eca16e5b8224f8142c6b0e32e3b0140029dc09865da747da4623 languageName: node linkType: hard @@ -906,12 +906,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.13": - version: 7.18.13 - resolution: "@babel/parser@npm:7.18.13" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/parser@npm:7.19.0" bin: parser: ./bin/babel-parser.js - checksum: 8b41c35607668495d67d9a7c5f61768aaab26acf887efdadc2781aed54046981480ef40aeda0b84d61aed02cf0c4ff4b028d5f83ab85e17e2ddff318f9243b8b + checksum: af86d829bfeb60e0dcf54a43489c2514674b6c8d9bb24cf112706772125752fcd517877ad30501d533fa85f70a439d02eebeec3be9c2e95499853367184e0da7 languageName: node linkType: hard @@ -953,16 +953,16 @@ __metadata: linkType: hard "@babel/plugin-proposal-async-generator-functions@npm:^7.16.8, @babel/plugin-proposal-async-generator-functions@npm:^7.17.12": - version: 7.18.10 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.18.10" + version: 7.19.0 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.19.0" dependencies: "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-remap-async-to-generator": ^7.18.9 "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3a6c25085021053830f6c57780118d3337935ac3309eef7f09b11e413d189eed8119d50cbddeb4c8c02f42f8cc01e62a4667b869be6e158f40030bafb92a0629 + checksum: f1876286d608650928f60ac6091b9a6e7839e005941be483df47693b98c90649202aa1793f28f6e9b4ce69bf0773552144fa40f38751f56dc5d02051a8ee0461 languageName: node linkType: hard @@ -1399,20 +1399,21 @@ __metadata: linkType: hard "@babel/plugin-transform-classes@npm:^7.16.7, @babel/plugin-transform-classes@npm:^7.17.12": - version: 7.18.9 - resolution: "@babel/plugin-transform-classes@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/plugin-transform-classes@npm:7.19.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-compilation-targets": ^7.19.0 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/helper-optimise-call-expression": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-replace-supers": ^7.18.9 "@babel/helper-split-export-declaration": ^7.18.6 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d7e953c0cf32af64e75db1277d2556c04635f32691ef462436897840be6f8021d4f85ee96134cb796a12dda549cf53346fedf96b671885f881bc4037c9d120ad + checksum: 5500953031fc3eae73f717c7b59ef406158a4a710d566a0f78a4944240bcf98f817f07cf1d6af0e749e21f0dfee29c36412b75d57b0a753c3ad823b70c596b79 languageName: node linkType: hard @@ -1547,17 +1548,17 @@ __metadata: linkType: hard "@babel/plugin-transform-modules-systemjs@npm:^7.16.7, @babel/plugin-transform-modules-systemjs@npm:^7.18.0": - version: 7.18.9 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.19.0" dependencies: "@babel/helper-hoist-variables": ^7.18.6 - "@babel/helper-module-transforms": ^7.18.9 - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-module-transforms": ^7.19.0 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-validator-identifier": ^7.18.6 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6122d9901ed5dc56d9db843efc9249fe20d769a11989bbbf5a806ed4f086def949185198aa767888481babf70fc52b6b3e297a991e2b02b4f34ffb03d998d1e3 + checksum: a0742deee4a076d6fc303d036c1ea2bea9b7d91af390483fe91fc415f9cb43925bb5dd930fdcb8fcdc9d4c7a22774a3cec521c67f1422a9b473debcb85ee57f9 languageName: node linkType: hard @@ -1574,14 +1575,14 @@ __metadata: linkType: hard "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.16.8, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.17.12": - version: 7.18.6 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.18.6" + version: 7.19.0 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.19.0" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-create-regexp-features-plugin": ^7.19.0 + "@babel/helper-plugin-utils": ^7.19.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6ef64aa3dad68df139eeaa7b6e9bb626be8f738ed5ed4db765d516944b1456d513b6bad3bb60fff22babe73de26436fd814a4228705b2d3d2fdb272c31da35e2 + checksum: 60f7b2c537fa3e8392f19b1f1026ba68844c5dc7942867e7a96a636d8a52d4766629b898e59aa690d3806bf02a7fa52e12d1f7c1ca2ef4fa2b53f3fe0a835117 languageName: node linkType: hard @@ -1681,14 +1682,14 @@ __metadata: linkType: hard "@babel/plugin-transform-spread@npm:^7.16.7, @babel/plugin-transform-spread@npm:^7.17.12": - version: 7.18.9 - resolution: "@babel/plugin-transform-spread@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/plugin-transform-spread@npm:7.19.0" dependencies: - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 59489dd6212bd21debdf77746d9fa02dfe36f7062dc08742b8841d04312a26ea37bc0d71c71a6e37c3ab81dce744faa7f23fa94b0915593458f6adc35c087766 + checksum: e73a4deb095999185e70b524d0ff4e35df50fcda58299e700a6149a15bbc1a9b369ef1cef384e15a54b3c3ce316cc0f054dbf249dcd0d1ca59f4281dd4df9718 languageName: node linkType: hard @@ -1957,11 +1958,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.8.4": - version: 7.18.9 - resolution: "@babel/runtime@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/runtime@npm:7.19.0" dependencies: regenerator-runtime: ^0.13.4 - checksum: 36dd736baba7164e82b3cc9d43e081f0cb2d05ff867ad39cac515d99546cee75b7f782018b02a3dcf5f2ef3d27f319faa68965fdfec49d4912c60c6002353a2e + checksum: fa69c351bb05e1db3ceb9a02fdcf620c234180af68cdda02152d3561015f6d55277265d3109815992f96d910f3db709458cae4f8df1c3def66f32e0867d82294 languageName: node linkType: hard @@ -1976,7 +1977,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.18.6, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.3.3": version: 7.18.10 resolution: "@babel/template@npm:7.18.10" dependencies: @@ -1987,32 +1988,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.13, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": - version: 7.18.13 - resolution: "@babel/traverse@npm:7.18.13" +"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.19.0, @babel/traverse@npm:^7.7.2": + version: 7.19.0 + resolution: "@babel/traverse@npm:7.19.0" dependencies: "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.13 + "@babel/generator": ^7.19.0 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.18.13 - "@babel/types": ^7.18.13 + "@babel/parser": ^7.19.0 + "@babel/types": ^7.19.0 debug: ^4.1.0 globals: ^11.1.0 - checksum: 1a2ef738fac4968feba6385787a3f8f7357d08e7739ecc5b37d8ff5668935253a03290f700f02a85ccfd369d5898625f0722d7733bff2ef91504f6cd8b836f19 + checksum: dcbd1316c9f4bf3cefee45b6f5194590563aa5d123500a60d3c8d714bef279205014c8e599ebafc469967199a7622e1444cd0235c16d4243da437e3f1281771e languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.18.13 - resolution: "@babel/types@npm:7.18.13" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.19.0 + resolution: "@babel/types@npm:7.19.0" dependencies: "@babel/helper-string-parser": ^7.18.10 "@babel/helper-validator-identifier": ^7.18.6 to-fast-properties: ^2.0.0 - checksum: abc3ad1f3b6864df0ea0e778bcdf7d2c5ee2293811192962d50e8a8c05c1aeec90a48275f53b2a45aad882ed8bef9477ae1f8e70ac1d44d039e14930d1388dcc + checksum: 9b346715a68aeede70ba9c685a144b0b26c53bcd595d448e24c8fa8df4d5956a5712e56ebadb7c85dcc32f218ee42788e37b93d50d3295c992072224cb3ef3fe languageName: node linkType: hard @@ -2119,9 +2120,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.5": - version: 0.15.5 - resolution: "@esbuild/linux-loong64@npm:0.15.5" +"@esbuild/linux-loong64@npm:0.15.7": + version: 0.15.7 + resolution: "@esbuild/linux-loong64@npm:0.15.7" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2144,19 +2145,19 @@ __metadata: linkType: hard "@eslint/eslintrc@npm:^1.3.0": - version: 1.3.0 - resolution: "@eslint/eslintrc@npm:1.3.0" + version: 1.3.1 + resolution: "@eslint/eslintrc@npm:1.3.1" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.3.2 + espree: ^9.4.0 globals: ^13.15.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: a1e734ad31a8b5328dce9f479f185fd4fc83dd7f06c538e1fa457fd8226b89602a55cc6458cd52b29573b01cdfaf42331be8cfc1fec732570086b591f4ed6515 + checksum: 9844dcc58a44399649926d5a17a2d53d529b80d3e8c3e9d0964ae198bac77ee6bb1cf44940f30cd9c2e300f7568ec82500be42ace6cacefb08aebf9905fe208e languageName: node linkType: hard @@ -2722,9 +2723,9 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.24.1": - version: 0.24.28 - resolution: "@sinclair/typebox@npm:0.24.28" - checksum: adc1f06c548f0c495dad5a7124394242553e059c5ea3faa19f404b43958125366513240f17fa2b5272a3aec18618cab4137d5c85259e99ce9eaca67538af2732 + version: 0.24.39 + resolution: "@sinclair/typebox@npm:0.24.39" + checksum: 4e4ec3e7df9be6f1c8661ae73f7be6bf777b0bdf37415240c3f177a776bc51d7e87663435b0c351de6aa77ace5b581a4c983104e54f6aa3d7d0c462513143f70 languageName: node linkType: hard @@ -2867,11 +2868,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.18.0 - resolution: "@types/babel__traverse@npm:7.18.0" + version: 7.18.1 + resolution: "@types/babel__traverse@npm:7.18.1" dependencies: "@babel/types": ^7.3.0 - checksum: 5fd7f4ea0963f9669b1bd6bd928b2d81452b98e4acfcfeb26ca4476162b87f9c1d8f66ff13567fd9f760a31ad04c36d767fa874f569aded6fb46890e379327c1 + checksum: a7158b13e5e4b844565217d04a0a09c1cf04e67de90972318960028effbd5e7400f2567b72c5f790acffdab9b4adce8d68f435a2f0c2b16e2c9c45994ace98f2 languageName: node linkType: hard @@ -3407,9 +3408,9 @@ __metadata: linkType: hard "@types/minimatch@npm:*": - version: 5.1.0 - resolution: "@types/minimatch@npm:5.1.0" - checksum: 041c1bf29a9c3d29ac401380cf94fa79613c8fccaa5b9e763996159e504bda4cb11e80a638f7842a987590f232864ba84a19f9b803d433cd92bac2759696dd24 + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 0391a282860c7cb6fe262c12b99564732401bdaa5e395bee9ca323c312c1a0f45efbf34dce974682036e857db59a5c9b1da522f3d6055aeead7097264c8705a8 languageName: node linkType: hard @@ -3428,9 +3429,9 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 18.7.13 - resolution: "@types/node@npm:18.7.13" - checksum: 45431e7e89ecaf85c7d2c180d801c132a7c59e2f8ad578726b6d71cc74e3267c18f9ccdcad738bc0479790c078f0c79efb0e58da2c6be535c15995dbb19050c9 + version: 18.7.16 + resolution: "@types/node@npm:18.7.16" + checksum: 01a3d35c764a3f0e7370b56e1ad4203731131883c65784e020009014171b3f53c4649cde6c7aa4f1026b907ee87ef6ae6ece2bc518151dc7b81100fe8b1db3ad languageName: node linkType: hard @@ -3442,9 +3443,9 @@ __metadata: linkType: hard "@types/node@npm:^14.14.31": - version: 14.18.26 - resolution: "@types/node@npm:14.18.26" - checksum: c6ac3f9d4f6f77c0fa5ac17757779ad4d9835abfe3af5708b7552597cb5c7c1103e83499ccaf767a1cfa70040990bcf3f58761c547051dc8d5077f3c419091b1 + version: 14.18.28 + resolution: "@types/node@npm:14.18.28" + checksum: 44225b3d8f13f4aba9a7bffec8dbc9be8fd396d26b8a1f58b1389da83fdc7485edb5642639e23b34f0efa349dafe4df618294122f0b39c8726df2b9e11413768 languageName: node linkType: hard @@ -3586,11 +3587,11 @@ __metadata: linkType: hard "@types/yargs@npm:^17.0.0, @types/yargs@npm:^17.0.8": - version: 17.0.11 - resolution: "@types/yargs@npm:17.0.11" + version: 17.0.12 + resolution: "@types/yargs@npm:17.0.12" dependencies: "@types/yargs-parser": "*" - checksum: 30a45f9e59a5cc3c967f76036bea6a456b1416175aa4c002b70e1f295772e2247ed8117f392b20eef4557ad761678df8c1fcb141852f2c7c44977130d802c855 + checksum: 5b41d21d8624199f89db82209b2adab2e47867b3677e852fde65698be2ca48364b14c2e70cb0adc9bca4a2102c93dad2409cae0ad666ea36ae031ae1cb08a7b5 languageName: node linkType: hard @@ -3665,13 +3666,13 @@ __metadata: linkType: hard "@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.35.1 - resolution: "@typescript-eslint/experimental-utils@npm:5.35.1" + version: 5.36.2 + resolution: "@typescript-eslint/experimental-utils@npm:5.36.2" dependencies: - "@typescript-eslint/utils": 5.35.1 + "@typescript-eslint/utils": 5.36.2 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: b67f347e45e719080ac6460c7624db2d1eb1c02abd1d031cfb96f2b0cd8a0cfff3cec71a3913fd0da20c045ec9e0b888e3ef1e50bcb606e2644b8e4f91cce1c5 + checksum: 2a40e47d11e084390a03a66d4802863c269517ad3fafd7105797039c1e0b5dc4d52653aad2c8511e862bc8017bb67bf3910cf3c5a1b1828d6df7f9086eba66c1 languageName: node linkType: hard @@ -3729,13 +3730,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/scope-manager@npm:5.35.1" +"@typescript-eslint/scope-manager@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/scope-manager@npm:5.36.2" dependencies: - "@typescript-eslint/types": 5.35.1 - "@typescript-eslint/visitor-keys": 5.35.1 - checksum: 5a969a081309bac5962f99ee6dfdfd9c68ea677bc79d9796592dce82a36217f67aa55c7bf421b2c97b46c5149d6a9401bb4c57829595e8c19f47cfa9e8c2dd86 + "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/visitor-keys": 5.36.2 + checksum: 93ff655f7c237c88ec6dc5911202dd8f81bd8909b27f1a758a9d77e9791040f1ee6fe2891314bde75c808ce586246e98003a1b1396937b0312f2440016dea751 languageName: node linkType: hard @@ -3769,10 +3770,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/types@npm:5.35.1" - checksum: a4e1001867f43f3364b109fc5a07b91ae7a34b78ab191c6c5c4695dac9bb2b80b0a602651c0b807c1c7c1fc3656d2bbd47c637afa08a09e7b1c39eae3c489e00 +"@typescript-eslint/types@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/types@npm:5.36.2" + checksum: 736cb8a76b58f2f9a7d066933094c5510ffe31479ea8b804a829ec85942420f1b55e0eb2688fbdaaaa9c0e5b3b590fb8f14bbd745353696b4fd33fda620d417b languageName: node linkType: hard @@ -3812,12 +3813,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/typescript-estree@npm:5.35.1" +"@typescript-eslint/typescript-estree@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/typescript-estree@npm:5.36.2" dependencies: - "@typescript-eslint/types": 5.35.1 - "@typescript-eslint/visitor-keys": 5.35.1 + "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/visitor-keys": 5.36.2 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -3826,7 +3827,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: a917ca4753a3f92c8d8555c96f5414383a9742761625476fa36a019401543aa74996159afa0f7fc7fae05fe0f904e3c6f4153a55412070c8a94e8171e81084c7 + checksum: 2827ff57a114b6107ea6d555f3855007133b08a7c2bafba0cfa0c935d8b99fd7b49e982d48cccc1c5ba550d95748d0239f5e2109893f12a165d76ed64a0d261b languageName: node linkType: hard @@ -3846,19 +3847,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/utils@npm:5.35.1" +"@typescript-eslint/utils@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/utils@npm:5.36.2" dependencies: "@types/json-schema": ^7.0.9 - "@typescript-eslint/scope-manager": 5.35.1 - "@typescript-eslint/types": 5.35.1 - "@typescript-eslint/typescript-estree": 5.35.1 + "@typescript-eslint/scope-manager": 5.36.2 + "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/typescript-estree": 5.36.2 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 2b04092583c3139dd090727c24fb9d7fdb1fb9f20f2e3f0141cab5b98b6a1934b0fc8cab948f7faae55588385b0f1fb7bbf91f52c705ce4528036a527c3119c6 + checksum: 45356cf55a8733e3ab1f2c3c19cdaefdb79857e35eb1433c29b81f3df071e9cef8a286bc407abe243889a21d9e793e999f92f03b9c727a0fac1c17a48e64c42a languageName: node linkType: hard @@ -3882,13 +3883,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/visitor-keys@npm:5.35.1" +"@typescript-eslint/visitor-keys@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/visitor-keys@npm:5.36.2" dependencies: - "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/types": 5.36.2 eslint-visitor-keys: ^3.3.0 - checksum: ef3c8377aac89935b5cc2fcf37bb3e42aa5f98848e7c22bdcbe5bb06c0fe8a1373a6897fd21109be8929b4708ad06c8874d2ef7bba17ff64911964203457330d + checksum: 87ccdcfa5cdedaa3a1aac30d656969f4f5910b62bcaacdf80a514dbf0cbbd8e79b55f8e987eab34cc79ece8ce4b8c19d5caf8b0afb74e0b0d7ab39fb29aa8eba languageName: node linkType: hard @@ -4864,14 +4865,14 @@ __metadata: linkType: hard "bonjour-service@npm:^1.0.11": - version: 1.0.13 - resolution: "bonjour-service@npm:1.0.13" + version: 1.0.14 + resolution: "bonjour-service@npm:1.0.14" dependencies: array-flatten: ^2.1.2 dns-equal: ^1.0.0 fast-deep-equal: ^3.1.3 multicast-dns: ^7.2.5 - checksum: aee186f542e0ec095d1f7fd8194182373ea4e854eef1182a3cb90e70c958deb6945de38f1a793bb43cc51f3a0044fa7eabee05a7ecb698c446aee80f00101124 + checksum: 4a825bbf1824147ba8295a182fb3e86a8bae5159a08e2f118e829a0c988043a559f1f6e4eab425fe17ee9a1f080115d30430e78962e53f75bb03e2021ee7c5b2 languageName: node linkType: hard @@ -5164,9 +5165,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001179, caniuse-lite@npm:^1.0.30001299, caniuse-lite@npm:^1.0.30001370, caniuse-lite@npm:^1.0.30001373": - version: 1.0.30001383 - resolution: "caniuse-lite@npm:1.0.30001383" - checksum: 1830129858510163f6acfbeaf258e0a84061091901ea349ee12541cc04997a25dc17d0ba731e8518711d87f0e08fee2a762aa89264d86be5f329300d0ff9d421 + version: 1.0.30001393 + resolution: "caniuse-lite@npm:1.0.30001393" + checksum: 72b7cd81c51f41965f2fbdbb20729d71f2bd5e376d9b4effa22616dd2707640b8676862e8db3db83b76c3bcf2aaefc9ebd5991a10eeb483b460322de5548b98e languageName: node linkType: hard @@ -5723,12 +5724,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": - version: 3.25.0 - resolution: "core-js-compat@npm:3.25.0" + version: 3.25.1 + resolution: "core-js-compat@npm:3.25.1" dependencies: browserslist: ^4.21.3 - semver: 7.0.0 - checksum: a40e072a67e65f34cb4b3a85bfdbbfcb0f3e1e2e171718763b13da4da897b5b6228603468027a0920096f0ee7e2c3906de95e26c9b6fe8f9595552bf2bc8f852 + checksum: 34dbec657adc2f660f4cd701709c9c5e27cbd608211c65df09458f80f3e357b9492ba1c5173e17cca72d889dcc6da01268cadf88fb407cf1726e76d301c6143e languageName: node linkType: hard @@ -6891,9 +6891,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.202": - version: 1.4.231 - resolution: "electron-to-chromium@npm:1.4.231" - checksum: c0a5d0b2423111e08acf2edfcb682bb09039f361a7c1707b4ff3e3c24b022221c9547ae44ad8daf58c7fc96bda89e475bed958774a0e2aefeb324efa03b4131b + version: 1.4.246 + resolution: "electron-to-chromium@npm:1.4.246" + checksum: 0e616e657d97de9d250a2415e5bded0ee8085345c652a30c08bf4e93398aca303ce69743c72f244400f679539e5f89f283875118b88299703539ccace071f450 languageName: node linkType: hard @@ -7024,9 +7024,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-android-64@npm:0.15.5" +"esbuild-android-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-android-64@npm:0.15.7" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -7038,9 +7038,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-android-arm64@npm:0.15.5" +"esbuild-android-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-android-arm64@npm:0.15.7" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -7052,9 +7052,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-darwin-64@npm:0.15.5" +"esbuild-darwin-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-darwin-64@npm:0.15.7" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -7066,9 +7066,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-darwin-arm64@npm:0.15.5" +"esbuild-darwin-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-darwin-arm64@npm:0.15.7" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -7080,9 +7080,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-freebsd-64@npm:0.15.5" +"esbuild-freebsd-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-freebsd-64@npm:0.15.7" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -7094,9 +7094,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-freebsd-arm64@npm:0.15.5" +"esbuild-freebsd-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-freebsd-arm64@npm:0.15.7" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -7108,9 +7108,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-32@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-32@npm:0.15.5" +"esbuild-linux-32@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-32@npm:0.15.7" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -7122,9 +7122,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-64@npm:0.15.5" +"esbuild-linux-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-64@npm:0.15.7" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -7136,9 +7136,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-arm64@npm:0.15.5" +"esbuild-linux-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-arm64@npm:0.15.7" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -7150,9 +7150,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-arm@npm:0.15.5" +"esbuild-linux-arm@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-arm@npm:0.15.7" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -7164,9 +7164,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-mips64le@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-mips64le@npm:0.15.5" +"esbuild-linux-mips64le@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-mips64le@npm:0.15.7" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -7178,9 +7178,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-ppc64le@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-ppc64le@npm:0.15.5" +"esbuild-linux-ppc64le@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-ppc64le@npm:0.15.7" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -7192,9 +7192,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-riscv64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-riscv64@npm:0.15.5" +"esbuild-linux-riscv64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-riscv64@npm:0.15.7" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -7206,9 +7206,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-s390x@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-s390x@npm:0.15.5" +"esbuild-linux-s390x@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-s390x@npm:0.15.7" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -7220,9 +7220,9 @@ __metadata: languageName: node linkType: hard -"esbuild-netbsd-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-netbsd-64@npm:0.15.5" +"esbuild-netbsd-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-netbsd-64@npm:0.15.7" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -7234,9 +7234,9 @@ __metadata: languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-openbsd-64@npm:0.15.5" +"esbuild-openbsd-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-openbsd-64@npm:0.15.7" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -7248,9 +7248,9 @@ __metadata: languageName: node linkType: hard -"esbuild-sunos-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-sunos-64@npm:0.15.5" +"esbuild-sunos-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-sunos-64@npm:0.15.7" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -7265,11 +7265,11 @@ __metadata: linkType: hard "esbuild-wasm@npm:>=0.13.8": - version: 0.15.5 - resolution: "esbuild-wasm@npm:0.15.5" + version: 0.15.7 + resolution: "esbuild-wasm@npm:0.15.7" bin: esbuild: bin/esbuild - checksum: eed3f81dc017192a4a70dc0474f7c61dc9709994a3070533a8b773b11482a1bc3051e0a10529741b146ae75b0878dc9ccf6db97c1afb4e5447b9c43b8e1c6eed + checksum: 559ba4a6ce1ce3cf4493c164d45f651090007978cd9161fcc6b7428524fb61698d88df11d1e9c9f2f9ed3fcaed6b4f6447ddbe9de0d279cd4b866d0579f2e82d languageName: node linkType: hard @@ -7280,9 +7280,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-32@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-windows-32@npm:0.15.5" +"esbuild-windows-32@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-windows-32@npm:0.15.7" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -7294,9 +7294,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-windows-64@npm:0.15.5" +"esbuild-windows-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-windows-64@npm:0.15.7" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7308,9 +7308,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-windows-arm64@npm:0.15.5" +"esbuild-windows-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-windows-arm64@npm:0.15.7" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -7384,30 +7384,30 @@ __metadata: linkType: hard "esbuild@npm:>=0.13.8": - version: 0.15.5 - resolution: "esbuild@npm:0.15.5" - dependencies: - "@esbuild/linux-loong64": 0.15.5 - esbuild-android-64: 0.15.5 - esbuild-android-arm64: 0.15.5 - esbuild-darwin-64: 0.15.5 - esbuild-darwin-arm64: 0.15.5 - esbuild-freebsd-64: 0.15.5 - esbuild-freebsd-arm64: 0.15.5 - esbuild-linux-32: 0.15.5 - esbuild-linux-64: 0.15.5 - esbuild-linux-arm: 0.15.5 - esbuild-linux-arm64: 0.15.5 - esbuild-linux-mips64le: 0.15.5 - esbuild-linux-ppc64le: 0.15.5 - esbuild-linux-riscv64: 0.15.5 - esbuild-linux-s390x: 0.15.5 - esbuild-netbsd-64: 0.15.5 - esbuild-openbsd-64: 0.15.5 - esbuild-sunos-64: 0.15.5 - esbuild-windows-32: 0.15.5 - esbuild-windows-64: 0.15.5 - esbuild-windows-arm64: 0.15.5 + version: 0.15.7 + resolution: "esbuild@npm:0.15.7" + dependencies: + "@esbuild/linux-loong64": 0.15.7 + esbuild-android-64: 0.15.7 + esbuild-android-arm64: 0.15.7 + esbuild-darwin-64: 0.15.7 + esbuild-darwin-arm64: 0.15.7 + esbuild-freebsd-64: 0.15.7 + esbuild-freebsd-arm64: 0.15.7 + esbuild-linux-32: 0.15.7 + esbuild-linux-64: 0.15.7 + esbuild-linux-arm: 0.15.7 + esbuild-linux-arm64: 0.15.7 + esbuild-linux-mips64le: 0.15.7 + esbuild-linux-ppc64le: 0.15.7 + esbuild-linux-riscv64: 0.15.7 + esbuild-linux-s390x: 0.15.7 + esbuild-netbsd-64: 0.15.7 + esbuild-openbsd-64: 0.15.7 + esbuild-sunos-64: 0.15.7 + esbuild-windows-32: 0.15.7 + esbuild-windows-64: 0.15.7 + esbuild-windows-arm64: 0.15.7 dependenciesMeta: "@esbuild/linux-loong64": optional: true @@ -7453,7 +7453,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: fc7f5df6542bd18dee1e61c58049ddf3d6b508d8d67eabcba455f7dbb560552e012f169a8afa2f209de554a206935fedf30d576aacdc2b46cb4da229181968fb + checksum: 54ddaa6cf96798d817861b4f68cb8d176075dc09b6e0ed511c57e5db6fd86d2c673ac2ec631ad9b11678d58ad4a77cd6b7a3853b9c6eac29b7f5c6d38e42f92e languageName: node linkType: hard @@ -7788,14 +7788,14 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.3.2": - version: 9.3.3 - resolution: "espree@npm:9.3.3" +"espree@npm:^9.3.2, espree@npm:^9.4.0": + version: 9.4.0 + resolution: "espree@npm:9.4.0" dependencies: acorn: ^8.8.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.3.0 - checksum: 33e8a36fc15d082e68672e322e22a53856b564d60aad8f291a667bfc21b2c900c42412d37dd3c7a0f18b9d0d8f8858dabe8776dbd4b4c2f72c5cf4d6afeabf65 + checksum: 2e3020dde67892d2ba3632413b44d0dc31d92c29ce72267d7ec24216a562f0a6494d3696e2fa39a3ec8c0e0088d773947ab2925fbb716801a11eb8dd313ac89c languageName: node linkType: hard @@ -7863,9 +7863,9 @@ __metadata: linkType: hard "eventemitter2@npm:^6.4.3": - version: 6.4.7 - resolution: "eventemitter2@npm:6.4.7" - checksum: 1b36a77e139d6965ebf3a36c01fa00c089ae6b80faa1911e52888f40b3a7057b36a2cc45dcd1ad87cda3798fe7b97a0aabcbb8175a8b96092a23bb7d0f039e66 + version: 6.4.8 + resolution: "eventemitter2@npm:6.4.8" + checksum: 7e4ad7a377ba5f931bb8160ffa4ca6a7494d9eaa4cedbd183df8d8043e74b01384e33d38ad716a07cf71abbeba00cd5c6cffd563edab615b88e9f27ce659c4ef languageName: node linkType: hard @@ -8065,15 +8065,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": - version: 3.2.11 - resolution: "fast-glob@npm:3.2.11" + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 + checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 languageName: node linkType: hard @@ -9277,13 +9277,6 @@ __metadata: languageName: node linkType: hard -"intersection-observer@npm:>=0.11.0": - version: 0.12.2 - resolution: "intersection-observer@npm:0.12.2" - checksum: d1fa9ebbb1e0baafe88ad95545bbb93f92bdcb8789912a2bd11b2463ab177ef185052c9c79c26187833d633f404acb077d4b1249353c5f6e2ca5cd64f50e216b - languageName: node - linkType: hard - "ip@npm:^1.1.0": version: 1.1.8 resolution: "ip@npm:1.1.8" @@ -10592,7 +10585,6 @@ __metadata: minimatch: 5.1.0 minimist: 1.2.6 ng-extract-i18n-merge: 1.4.0 - ng-in-viewport: 6.1.5 ngx-cookie-service: 13.2.1 ngx-pipes: 3.0.0 node-gyp: 9.0.0 @@ -10997,11 +10989,11 @@ __metadata: linkType: hard "magic-string@npm:^0.26.0": - version: 0.26.2 - resolution: "magic-string@npm:0.26.2" + version: 0.26.3 + resolution: "magic-string@npm:0.26.3" dependencies: sourcemap-codec: ^1.4.8 - checksum: b4db4e2b370ac8d9ffc6443a2b591b75364bf1fc9121b5a4068d5b89804abff6709d1fa4a0e0c2d54f2e61e0e44db83efdfe219a5ab0ba6d25ee1f2b51fbed55 + checksum: e72c9b3d90ccbde088acc5937109f73fa4be8b6a2c2ea9bf9c3c01974f1ebf09842259a74ff2ba4081008a7d49941d883cfef8c460e6c33a6eb564b58482b750 languageName: node linkType: hard @@ -11553,20 +11545,6 @@ __metadata: languageName: node linkType: hard -"ng-in-viewport@npm:6.1.5": - version: 6.1.5 - resolution: "ng-in-viewport@npm:6.1.5" - dependencies: - intersection-observer: ">=0.11.0" - tslib: ">=1.9.0" - peerDependencies: - "@angular/common": ">=6.0.0" - "@angular/core": ">=6.0.0" - rxjs: ">=6.0.0" - checksum: b2247340828df8abff2a09cf4f58357bd55fcd6d30163ff80825615cbbc9cc1c218252602fed1da0cd429c9c923e47dee0212aab74e1c7f3cd286d7ee23436de - languageName: node - linkType: hard - "ngx-cookie-service@npm:13.2.1": version: 13.2.1 resolution: "ngx-cookie-service@npm:13.2.1" @@ -11872,9 +11850,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.0": - version: 2.2.1 - resolution: "nwsapi@npm:2.2.1" - checksum: 6c21fcb6950538012516b39137ed9b53ed56843e521362e977282c781169f229e7bca8ec6e207165b19912550f360806b222f77b6c9202bb8d66818456875c3d + version: 2.2.2 + resolution: "nwsapi@npm:2.2.2" + checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 languageName: node linkType: hard @@ -13817,11 +13795,11 @@ __metadata: linkType: hard "selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": - version: 2.0.1 - resolution: "selfsigned@npm:2.0.1" + version: 2.1.1 + resolution: "selfsigned@npm:2.1.1" dependencies: node-forge: ^1 - checksum: 864e65c2f31ca877bce3ccdaa3bdef5e1e992b63b2a03641e00c24cd305bf2acce093431d1fed2e5ae9f526558db4be5e90baa2b3474c0428fcf7e25cc86ac93 + checksum: aa9ce2150a54838978d5c0aee54d7ebe77649a32e4e690eb91775f71fdff773874a4fbafd0ac73d8ec3b702ff8a395c604df4f8e8868528f36fd6c15076fb43a languageName: node linkType: hard @@ -13852,15 +13830,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.0.0": - version: 7.0.0 - resolution: "semver@npm:7.0.0" - bin: - semver: bin/semver.js - checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 - languageName: node - linkType: hard - "semver@npm:7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" @@ -14752,19 +14721,19 @@ __metadata: linkType: hard "supports-color@npm:^9.2.2": - version: 9.2.2 - resolution: "supports-color@npm:9.2.2" - checksum: 976d84877402fc38c1d43b1fde20b0a8dc0283273f21cfebe4ff7507d27543cdfbeec7db108a96b82d694465f06d64e8577562b05d0520b41710088e0a33cc50 + version: 9.2.3 + resolution: "supports-color@npm:9.2.3" + checksum: 47d598b70d2bac3cbce98950344134de17c2935f45e8ad6256cde78ebe5da440e240d9fa17c1146bd84b1c36f865239fef6c563d70068a8d901ca5a6c56960af languageName: node linkType: hard "supports-hyperlinks@npm:^2.0.0, supports-hyperlinks@npm:^2.2.0": - version: 2.2.0 - resolution: "supports-hyperlinks@npm:2.2.0" + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" dependencies: has-flag: ^4.0.0 supports-color: ^7.0.0 - checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a + checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 languageName: node linkType: hard @@ -14858,8 +14827,8 @@ __metadata: linkType: hard "terser-webpack-plugin@npm:^5.1.3": - version: 5.3.5 - resolution: "terser-webpack-plugin@npm:5.3.5" + version: 5.3.6 + resolution: "terser-webpack-plugin@npm:5.3.6" dependencies: "@jridgewell/trace-mapping": ^0.3.14 jest-worker: ^27.4.5 @@ -14875,7 +14844,7 @@ __metadata: optional: true uglify-js: optional: true - checksum: 611c7b38d6fa0213dc03f48da9efe29c7edd098fc128a64905f7c9b61af8e7c36c13113d46b50be19ee2b8378442f4e1b8b4ddac9bba2cb73499ed32fc0e18f4 + checksum: 8f3448d7fdb0434ce6a0c09d95c462bfd2f4a5a430233d854163337f734a7f5c07c74513d16081e06d4ca33d366d5b1a36f5444219bc41a7403afd6162107bad languageName: node linkType: hard @@ -15193,7 +15162,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.4.0, tslib@npm:>=1.9.0, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0": +"tslib@npm:2.4.0, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0": version: 2.4.0 resolution: "tslib@npm:2.4.0" checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 @@ -15468,8 +15437,8 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.0.5": - version: 1.0.5 - resolution: "update-browserslist-db@npm:1.0.5" + version: 1.0.7 + resolution: "update-browserslist-db@npm:1.0.7" dependencies: escalade: ^3.1.1 picocolors: ^1.0.0 @@ -15477,7 +15446,7 @@ __metadata: browserslist: ">= 4.21.0" bin: browserslist-lint: cli.js - checksum: 7e425fe5dbbebdccf72a84ce70ec47fc74dce561d28f47bc2b84a1c2b84179a862c2261b18ab66a5e73e261c7e2ef9e11c6129112989d4d52e8f75a56bb923f8 + checksum: 443ed6e77d4607b8bdf12710fe1c0b570fcbb992ebcafaa0c647811e5646fa51e0b5a17641637e10044e4b770bfc3a9ce2a9350a646477545aed882a1fcff8ce languageName: node linkType: hard From f54df056a842949a87da710ace1a998cb8b91d97 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 12:07:51 +0200 Subject: [PATCH 134/162] Revert "Remove ng-in-viewport to fix tests" This reverts commit 279e649732ec1a7345de42cdfd78de7e16d34f5e. --- modules/web/package.json | 1 + .../components/graphcard/component.spec.ts | 4 +- modules/web/src/shared.module.ts | 2 + modules/web/yarn.lock | 621 +++++++++--------- 4 files changed, 332 insertions(+), 296 deletions(-) diff --git a/modules/web/package.json b/modules/web/package.json index d8121f2e52f5..f22c94a7a3e4 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -65,6 +65,7 @@ "js-yaml": "4.1.0", "jwt-decode": "3.1.2", "material-design-icons": "3.0.1", + "ng-in-viewport": "6.1.5", "ngx-cookie-service": "13.2.1", "ngx-pipes": "3.0.0", "normalize.css": "8.0.1", diff --git a/modules/web/src/common/components/graphcard/component.spec.ts b/modules/web/src/common/components/graphcard/component.spec.ts index 4c9439da0751..c621c05a48d1 100644 --- a/modules/web/src/common/components/graphcard/component.spec.ts +++ b/modules/web/src/common/components/graphcard/component.spec.ts @@ -17,6 +17,7 @@ import {NoopAnimationsModule} from '@angular/platform-browser/animations'; import {Metric} from '@api/root.api'; import {CardComponent} from '@common/components/card/component'; import {GraphComponent, GraphType} from '@common/components/graph/component'; +import {InViewportModule, InViewportService} from 'ng-in-viewport'; import {SharedModule} from '../../../shared.module'; import {GraphCardComponent} from './component'; @@ -36,7 +37,8 @@ describe('GraphCardComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ declarations: [GraphCardComponent, GraphComponent, CardComponent], - imports: [SharedModule, NoopAnimationsModule], + providers: [InViewportService], + imports: [SharedModule, NoopAnimationsModule, InViewportModule], }).compileComponents(); })); diff --git a/modules/web/src/shared.module.ts b/modules/web/src/shared.module.ts index 3d0b65baae0f..87adccf1a044 100644 --- a/modules/web/src/shared.module.ts +++ b/modules/web/src/shared.module.ts @@ -46,6 +46,7 @@ import {MatToolbarModule} from '@angular/material/toolbar'; import {MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltipModule} from '@angular/material/tooltip'; import {RouterModule} from '@angular/router'; import {NgxChartsModule} from '@swimlane/ngx-charts'; +import {InViewportModule} from 'ng-in-viewport'; import {NgPipesModule} from 'ngx-pipes'; import {PipesModule} from '@common/pipes/module'; @@ -92,6 +93,7 @@ const SHARED_DEPENDENCIES = [ RouterModule, NgPipesModule, NgxChartsModule, + InViewportModule, // Custom application modules PipesModule, diff --git a/modules/web/yarn.lock b/modules/web/yarn.lock index f941cf7fb086..18821507623a 100644 --- a/modules/web/yarn.lock +++ b/modules/web/yarn.lock @@ -504,10 +504,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8, @babel/compat-data@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/compat-data@npm:7.19.0" - checksum: f90d25a3779578c230ad0632e12ffd5ee1033614dee2786f7f1567823a78923da7185638eedd7166f31e4771a3398ae6a28ab8e680b96cc25bafb38a3b66ff11 +"@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8": + version: 7.18.13 + resolution: "@babel/compat-data@npm:7.18.13" + checksum: 869a730dc3ec40d4d5141b832d50b16702a2ea7bf5b87dc2761e7dfaa8deeafa03b8809fc42ff713ac1d450748dcdb07e1eb21f4633e10b87fd47be0065573e6 languageName: node linkType: hard @@ -581,25 +581,25 @@ __metadata: linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.17.2": - version: 7.19.0 - resolution: "@babel/core@npm:7.19.0" + version: 7.18.13 + resolution: "@babel/core@npm:7.18.13" dependencies: "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.19.0 - "@babel/helper-compilation-targets": ^7.19.0 - "@babel/helper-module-transforms": ^7.19.0 - "@babel/helpers": ^7.19.0 - "@babel/parser": ^7.19.0 + "@babel/generator": ^7.18.13 + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-module-transforms": ^7.18.9 + "@babel/helpers": ^7.18.9 + "@babel/parser": ^7.18.13 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.0 - "@babel/types": ^7.19.0 + "@babel/traverse": ^7.18.13 + "@babel/types": ^7.18.13 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: 0d5b52b552e215802d2fd7b266611c390d90b28dece09db8a142666c32928c5d404eb72a95630b4cb726c4d80a53fcdc2d6464cd7ad28bb26087475f1b2205e2 + checksum: c7ee5b2c10bc5b0325e31fb5da4cb4bc03f9d5f5c00ec3481a018917bcc6b7b040de0690c606a424f57e5fc26d218d64e7718d0e5d7d8614d39c8cd898fab9b3 languageName: node linkType: hard @@ -614,14 +614,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.19.0, @babel/generator@npm:^7.7.2": - version: 7.19.0 - resolution: "@babel/generator@npm:7.19.0" +"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.7.2": + version: 7.18.13 + resolution: "@babel/generator@npm:7.18.13" dependencies: - "@babel/types": ^7.19.0 + "@babel/types": ^7.18.13 "@jridgewell/gen-mapping": ^0.3.2 jsesc: ^2.5.1 - checksum: aa3d5785cf8f8e81672dcc61aef351188efeadb20d9f66d79113d82cbcf3bbbdeb829989fa14582108572ddbc4e4027bdceb06ccaf5ec40fa93c2dda8fbcd4aa + checksum: 27f5e7eb774e4d76ee75dc96e3e1bd26cc0ee7cea13a8f7342b716319c0a4d4e26fc49aa8f19316f7c99383da55eeb2a866c6e034e9deacad58a9de9ed6004fb languageName: node linkType: hard @@ -653,46 +653,46 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.2, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-compilation-targets@npm:7.19.0" +"@babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.2, @babel/helper-compilation-targets@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-compilation-targets@npm:7.18.9" dependencies: - "@babel/compat-data": ^7.19.0 + "@babel/compat-data": ^7.18.8 "@babel/helper-validator-option": ^7.18.6 browserslist: ^4.20.2 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 5f1be9811d53a5e43eb4b9b402517dec79bfa3a55e9fbc131a106914a78b435bc08a4b35591e424665c36c2c1eceb864ec2ca2c2f3dcf240a1551a28530428f9 + checksum: 2a9d71e124e098a9f45de4527ddd1982349d231827d341e00da9dfb967e260ecc7662c8b62abee4a010fb34d5f07a8d2155c974e0bc1928144cee5644910621d languageName: node linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.19.0 - resolution: "@babel/helper-create-class-features-plugin@npm:7.19.0" + version: 7.18.13 + resolution: "@babel/helper-create-class-features-plugin@npm:7.18.13" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.19.0 + "@babel/helper-function-name": ^7.18.9 "@babel/helper-member-expression-to-functions": ^7.18.9 "@babel/helper-optimise-call-expression": ^7.18.6 "@babel/helper-replace-supers": ^7.18.9 "@babel/helper-split-export-declaration": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0 - checksum: f0c6fb77b6f113d70f308e7093f60dd465b697818badf5df0519d8dd12b6bfb1f4ad300b923207ce9f9c1c940ef58bff12ac4270c0863eadf9e303b7dd6d01b6 + checksum: 3d2da92a54b885b211a747a8c553bb0190895d140cd1daab5d9945b2b271817d9d288a512364085e9fad19bd503921cd85fcc12f98df67b39b27f5655eb9d058 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.19.0" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.18.6" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 regexpu-core: ^5.1.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 811cc90afe9fc25a74ed37fc0c1361a4a91b0b940235dd3958e3f03b366d40a903b40fc93b51bcb93be774aba573219f8f215664bea1d1301f58797ca6854f3f + checksum: 2d76e660cbfd0bfcb01ca9f177f0e9091c871a6b99f68ece6bcf4ab4a9df073485bdc2d87ecdfbde44b7f3723b26d13085d0f92082adb3ae80d31b246099f10a languageName: node linkType: hard @@ -728,13 +728,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-function-name@npm:7.19.0" +"@babel/helper-function-name@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-function-name@npm:7.18.9" dependencies: - "@babel/template": ^7.18.10 - "@babel/types": ^7.19.0 - checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e + "@babel/template": ^7.18.6 + "@babel/types": ^7.18.9 + checksum: d04c44e0272f887c0c868651be7fc3c5690531bea10936f00d4cca3f6d5db65e76dfb49e8d553c42ae1fe1eba61ccce9f3d93ba2df50a66408c8d4c3cc61cf0c languageName: node linkType: hard @@ -765,19 +765,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-module-transforms@npm:7.19.0" +"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-module-transforms@npm:7.18.9" dependencies: "@babel/helper-environment-visitor": ^7.18.9 "@babel/helper-module-imports": ^7.18.6 "@babel/helper-simple-access": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 "@babel/helper-validator-identifier": ^7.18.6 - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.0 - "@babel/types": ^7.19.0 - checksum: 4483276c66f56cf3b5b063634092ad9438c2593725de5c143ba277dda82f1501e6d73b311c1b28036f181dbe36eaeff29f24726cde37a599d4e735af294e5359 + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: af08c60ea239ff3d40eda542fceaab69de17e713f131e80ead08c975ba7a47dd55d439cb48cfb14ae7ec96704a10c989ff5a5240e52a39101cb44a49467ce058 languageName: node linkType: hard @@ -790,10 +790,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.19.0 - resolution: "@babel/helper-plugin-utils@npm:7.19.0" - checksum: eedc996c633c8c207921c26ec2989eae0976336ecd9b9f1ac526498f52b5d136f7cd03c32b6fdf8d46a426f907c142de28592f383c42e5fba1e904cbffa05345 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.18.9 + resolution: "@babel/helper-plugin-utils@npm:7.18.9" + checksum: ebae876cd60f1fe238c7210986093845fa5c4cad5feeda843ea4d780bf068256717650376d3af2a5e760f2ed6a35c065ae144f99c47da3e54aa6cba99d8804e0 languageName: node linkType: hard @@ -873,25 +873,25 @@ __metadata: linkType: hard "@babel/helper-wrap-function@npm:^7.18.9": - version: 7.19.0 - resolution: "@babel/helper-wrap-function@npm:7.19.0" + version: 7.18.11 + resolution: "@babel/helper-wrap-function@npm:7.18.11" dependencies: - "@babel/helper-function-name": ^7.19.0 + "@babel/helper-function-name": ^7.18.9 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.0 - "@babel/types": ^7.19.0 - checksum: 2453a6b134f12cc779179188c4358a66252c29b634a8195c0cf626e17f9806c3c4c40e159cd8056c2ec82b69b9056a088014fa43d6ccc1aca67da8d9605da8fd + "@babel/traverse": ^7.18.11 + "@babel/types": ^7.18.10 + checksum: e2fb909cdeb5c8688513261202cdeab7c6a8ac1f30daa5a1e0111631f270c26118c2e6b27014fc9f5d2c0ee1182fc40a3db2d30e45425587067f49dcae737dc9 languageName: node linkType: hard -"@babel/helpers@npm:^7.16.7, @babel/helpers@npm:^7.17.2, @babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helpers@npm:7.19.0" +"@babel/helpers@npm:^7.16.7, @babel/helpers@npm:^7.17.2, @babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helpers@npm:7.18.9" dependencies: - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.0 - "@babel/types": ^7.19.0 - checksum: e50e78e0dbb0435075fa3f85021a6bcae529589800bca0292721afd7f7c874bea54508d6dc57eca16e5b8224f8142c6b0e32e3b0140029dc09865da747da4623 + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: d0bd8255d36bfc65dc52ce75f7fea778c70287da2d64981db4c84fbdf9581409ecbd6433deff1c81da3a5acf26d7e4c364b3a4445efacf88f4f48e77c5b34d8d languageName: node linkType: hard @@ -906,12 +906,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/parser@npm:7.19.0" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.13": + version: 7.18.13 + resolution: "@babel/parser@npm:7.18.13" bin: parser: ./bin/babel-parser.js - checksum: af86d829bfeb60e0dcf54a43489c2514674b6c8d9bb24cf112706772125752fcd517877ad30501d533fa85f70a439d02eebeec3be9c2e95499853367184e0da7 + checksum: 8b41c35607668495d67d9a7c5f61768aaab26acf887efdadc2781aed54046981480ef40aeda0b84d61aed02cf0c4ff4b028d5f83ab85e17e2ddff318f9243b8b languageName: node linkType: hard @@ -953,16 +953,16 @@ __metadata: linkType: hard "@babel/plugin-proposal-async-generator-functions@npm:^7.16.8, @babel/plugin-proposal-async-generator-functions@npm:^7.17.12": - version: 7.19.0 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.19.0" + version: 7.18.10 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.18.10" dependencies: "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-plugin-utils": ^7.18.9 "@babel/helper-remap-async-to-generator": ^7.18.9 "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f1876286d608650928f60ac6091b9a6e7839e005941be483df47693b98c90649202aa1793f28f6e9b4ce69bf0773552144fa40f38751f56dc5d02051a8ee0461 + checksum: 3a6c25085021053830f6c57780118d3337935ac3309eef7f09b11e413d189eed8119d50cbddeb4c8c02f42f8cc01e62a4667b869be6e158f40030bafb92a0629 languageName: node linkType: hard @@ -1399,21 +1399,20 @@ __metadata: linkType: hard "@babel/plugin-transform-classes@npm:^7.16.7, @babel/plugin-transform-classes@npm:^7.17.12": - version: 7.19.0 - resolution: "@babel/plugin-transform-classes@npm:7.19.0" + version: 7.18.9 + resolution: "@babel/plugin-transform-classes@npm:7.18.9" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 - "@babel/helper-compilation-targets": ^7.19.0 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.19.0 + "@babel/helper-function-name": ^7.18.9 "@babel/helper-optimise-call-expression": ^7.18.6 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-plugin-utils": ^7.18.9 "@babel/helper-replace-supers": ^7.18.9 "@babel/helper-split-export-declaration": ^7.18.6 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5500953031fc3eae73f717c7b59ef406158a4a710d566a0f78a4944240bcf98f817f07cf1d6af0e749e21f0dfee29c36412b75d57b0a753c3ad823b70c596b79 + checksum: d7e953c0cf32af64e75db1277d2556c04635f32691ef462436897840be6f8021d4f85ee96134cb796a12dda549cf53346fedf96b671885f881bc4037c9d120ad languageName: node linkType: hard @@ -1548,17 +1547,17 @@ __metadata: linkType: hard "@babel/plugin-transform-modules-systemjs@npm:^7.16.7, @babel/plugin-transform-modules-systemjs@npm:^7.18.0": - version: 7.19.0 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.19.0" + version: 7.18.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.9" dependencies: "@babel/helper-hoist-variables": ^7.18.6 - "@babel/helper-module-transforms": ^7.19.0 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-module-transforms": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 "@babel/helper-validator-identifier": ^7.18.6 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a0742deee4a076d6fc303d036c1ea2bea9b7d91af390483fe91fc415f9cb43925bb5dd930fdcb8fcdc9d4c7a22774a3cec521c67f1422a9b473debcb85ee57f9 + checksum: 6122d9901ed5dc56d9db843efc9249fe20d769a11989bbbf5a806ed4f086def949185198aa767888481babf70fc52b6b3e297a991e2b02b4f34ffb03d998d1e3 languageName: node linkType: hard @@ -1575,14 +1574,14 @@ __metadata: linkType: hard "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.16.8, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.17.12": - version: 7.19.0 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.19.0" + version: 7.18.6 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.18.6" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.19.0 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0 - checksum: 60f7b2c537fa3e8392f19b1f1026ba68844c5dc7942867e7a96a636d8a52d4766629b898e59aa690d3806bf02a7fa52e12d1f7c1ca2ef4fa2b53f3fe0a835117 + checksum: 6ef64aa3dad68df139eeaa7b6e9bb626be8f738ed5ed4db765d516944b1456d513b6bad3bb60fff22babe73de26436fd814a4228705b2d3d2fdb272c31da35e2 languageName: node linkType: hard @@ -1682,14 +1681,14 @@ __metadata: linkType: hard "@babel/plugin-transform-spread@npm:^7.16.7, @babel/plugin-transform-spread@npm:^7.17.12": - version: 7.19.0 - resolution: "@babel/plugin-transform-spread@npm:7.19.0" + version: 7.18.9 + resolution: "@babel/plugin-transform-spread@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-plugin-utils": ^7.18.9 "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e73a4deb095999185e70b524d0ff4e35df50fcda58299e700a6149a15bbc1a9b369ef1cef384e15a54b3c3ce316cc0f054dbf249dcd0d1ca59f4281dd4df9718 + checksum: 59489dd6212bd21debdf77746d9fa02dfe36f7062dc08742b8841d04312a26ea37bc0d71c71a6e37c3ab81dce744faa7f23fa94b0915593458f6adc35c087766 languageName: node linkType: hard @@ -1958,11 +1957,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.8.4": - version: 7.19.0 - resolution: "@babel/runtime@npm:7.19.0" + version: 7.18.9 + resolution: "@babel/runtime@npm:7.18.9" dependencies: regenerator-runtime: ^0.13.4 - checksum: fa69c351bb05e1db3ceb9a02fdcf620c234180af68cdda02152d3561015f6d55277265d3109815992f96d910f3db709458cae4f8df1c3def66f32e0867d82294 + checksum: 36dd736baba7164e82b3cc9d43e081f0cb2d05ff867ad39cac515d99546cee75b7f782018b02a3dcf5f2ef3d27f319faa68965fdfec49d4912c60c6002353a2e languageName: node linkType: hard @@ -1977,7 +1976,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.18.6, @babel/template@npm:^7.3.3": version: 7.18.10 resolution: "@babel/template@npm:7.18.10" dependencies: @@ -1988,32 +1987,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.19.0, @babel/traverse@npm:^7.7.2": - version: 7.19.0 - resolution: "@babel/traverse@npm:7.19.0" +"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.13, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": + version: 7.18.13 + resolution: "@babel/traverse@npm:7.18.13" dependencies: "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.19.0 + "@babel/generator": ^7.18.13 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.19.0 + "@babel/helper-function-name": ^7.18.9 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.19.0 - "@babel/types": ^7.19.0 + "@babel/parser": ^7.18.13 + "@babel/types": ^7.18.13 debug: ^4.1.0 globals: ^11.1.0 - checksum: dcbd1316c9f4bf3cefee45b6f5194590563aa5d123500a60d3c8d714bef279205014c8e599ebafc469967199a7622e1444cd0235c16d4243da437e3f1281771e + checksum: 1a2ef738fac4968feba6385787a3f8f7357d08e7739ecc5b37d8ff5668935253a03290f700f02a85ccfd369d5898625f0722d7733bff2ef91504f6cd8b836f19 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.19.0 - resolution: "@babel/types@npm:7.19.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.18.13 + resolution: "@babel/types@npm:7.18.13" dependencies: "@babel/helper-string-parser": ^7.18.10 "@babel/helper-validator-identifier": ^7.18.6 to-fast-properties: ^2.0.0 - checksum: 9b346715a68aeede70ba9c685a144b0b26c53bcd595d448e24c8fa8df4d5956a5712e56ebadb7c85dcc32f218ee42788e37b93d50d3295c992072224cb3ef3fe + checksum: abc3ad1f3b6864df0ea0e778bcdf7d2c5ee2293811192962d50e8a8c05c1aeec90a48275f53b2a45aad882ed8bef9477ae1f8e70ac1d44d039e14930d1388dcc languageName: node linkType: hard @@ -2120,9 +2119,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.7": - version: 0.15.7 - resolution: "@esbuild/linux-loong64@npm:0.15.7" +"@esbuild/linux-loong64@npm:0.15.5": + version: 0.15.5 + resolution: "@esbuild/linux-loong64@npm:0.15.5" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2145,19 +2144,19 @@ __metadata: linkType: hard "@eslint/eslintrc@npm:^1.3.0": - version: 1.3.1 - resolution: "@eslint/eslintrc@npm:1.3.1" + version: 1.3.0 + resolution: "@eslint/eslintrc@npm:1.3.0" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.4.0 + espree: ^9.3.2 globals: ^13.15.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 9844dcc58a44399649926d5a17a2d53d529b80d3e8c3e9d0964ae198bac77ee6bb1cf44940f30cd9c2e300f7568ec82500be42ace6cacefb08aebf9905fe208e + checksum: a1e734ad31a8b5328dce9f479f185fd4fc83dd7f06c538e1fa457fd8226b89602a55cc6458cd52b29573b01cdfaf42331be8cfc1fec732570086b591f4ed6515 languageName: node linkType: hard @@ -2723,9 +2722,9 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.24.1": - version: 0.24.39 - resolution: "@sinclair/typebox@npm:0.24.39" - checksum: 4e4ec3e7df9be6f1c8661ae73f7be6bf777b0bdf37415240c3f177a776bc51d7e87663435b0c351de6aa77ace5b581a4c983104e54f6aa3d7d0c462513143f70 + version: 0.24.28 + resolution: "@sinclair/typebox@npm:0.24.28" + checksum: adc1f06c548f0c495dad5a7124394242553e059c5ea3faa19f404b43958125366513240f17fa2b5272a3aec18618cab4137d5c85259e99ce9eaca67538af2732 languageName: node linkType: hard @@ -2868,11 +2867,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.18.1 - resolution: "@types/babel__traverse@npm:7.18.1" + version: 7.18.0 + resolution: "@types/babel__traverse@npm:7.18.0" dependencies: "@babel/types": ^7.3.0 - checksum: a7158b13e5e4b844565217d04a0a09c1cf04e67de90972318960028effbd5e7400f2567b72c5f790acffdab9b4adce8d68f435a2f0c2b16e2c9c45994ace98f2 + checksum: 5fd7f4ea0963f9669b1bd6bd928b2d81452b98e4acfcfeb26ca4476162b87f9c1d8f66ff13567fd9f760a31ad04c36d767fa874f569aded6fb46890e379327c1 languageName: node linkType: hard @@ -3408,9 +3407,9 @@ __metadata: linkType: hard "@types/minimatch@npm:*": - version: 5.1.2 - resolution: "@types/minimatch@npm:5.1.2" - checksum: 0391a282860c7cb6fe262c12b99564732401bdaa5e395bee9ca323c312c1a0f45efbf34dce974682036e857db59a5c9b1da522f3d6055aeead7097264c8705a8 + version: 5.1.0 + resolution: "@types/minimatch@npm:5.1.0" + checksum: 041c1bf29a9c3d29ac401380cf94fa79613c8fccaa5b9e763996159e504bda4cb11e80a638f7842a987590f232864ba84a19f9b803d433cd92bac2759696dd24 languageName: node linkType: hard @@ -3429,9 +3428,9 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 18.7.16 - resolution: "@types/node@npm:18.7.16" - checksum: 01a3d35c764a3f0e7370b56e1ad4203731131883c65784e020009014171b3f53c4649cde6c7aa4f1026b907ee87ef6ae6ece2bc518151dc7b81100fe8b1db3ad + version: 18.7.13 + resolution: "@types/node@npm:18.7.13" + checksum: 45431e7e89ecaf85c7d2c180d801c132a7c59e2f8ad578726b6d71cc74e3267c18f9ccdcad738bc0479790c078f0c79efb0e58da2c6be535c15995dbb19050c9 languageName: node linkType: hard @@ -3443,9 +3442,9 @@ __metadata: linkType: hard "@types/node@npm:^14.14.31": - version: 14.18.28 - resolution: "@types/node@npm:14.18.28" - checksum: 44225b3d8f13f4aba9a7bffec8dbc9be8fd396d26b8a1f58b1389da83fdc7485edb5642639e23b34f0efa349dafe4df618294122f0b39c8726df2b9e11413768 + version: 14.18.26 + resolution: "@types/node@npm:14.18.26" + checksum: c6ac3f9d4f6f77c0fa5ac17757779ad4d9835abfe3af5708b7552597cb5c7c1103e83499ccaf767a1cfa70040990bcf3f58761c547051dc8d5077f3c419091b1 languageName: node linkType: hard @@ -3587,11 +3586,11 @@ __metadata: linkType: hard "@types/yargs@npm:^17.0.0, @types/yargs@npm:^17.0.8": - version: 17.0.12 - resolution: "@types/yargs@npm:17.0.12" + version: 17.0.11 + resolution: "@types/yargs@npm:17.0.11" dependencies: "@types/yargs-parser": "*" - checksum: 5b41d21d8624199f89db82209b2adab2e47867b3677e852fde65698be2ca48364b14c2e70cb0adc9bca4a2102c93dad2409cae0ad666ea36ae031ae1cb08a7b5 + checksum: 30a45f9e59a5cc3c967f76036bea6a456b1416175aa4c002b70e1f295772e2247ed8117f392b20eef4557ad761678df8c1fcb141852f2c7c44977130d802c855 languageName: node linkType: hard @@ -3666,13 +3665,13 @@ __metadata: linkType: hard "@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.36.2 - resolution: "@typescript-eslint/experimental-utils@npm:5.36.2" + version: 5.35.1 + resolution: "@typescript-eslint/experimental-utils@npm:5.35.1" dependencies: - "@typescript-eslint/utils": 5.36.2 + "@typescript-eslint/utils": 5.35.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 2a40e47d11e084390a03a66d4802863c269517ad3fafd7105797039c1e0b5dc4d52653aad2c8511e862bc8017bb67bf3910cf3c5a1b1828d6df7f9086eba66c1 + checksum: b67f347e45e719080ac6460c7624db2d1eb1c02abd1d031cfb96f2b0cd8a0cfff3cec71a3913fd0da20c045ec9e0b888e3ef1e50bcb606e2644b8e4f91cce1c5 languageName: node linkType: hard @@ -3730,13 +3729,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/scope-manager@npm:5.36.2" +"@typescript-eslint/scope-manager@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/scope-manager@npm:5.35.1" dependencies: - "@typescript-eslint/types": 5.36.2 - "@typescript-eslint/visitor-keys": 5.36.2 - checksum: 93ff655f7c237c88ec6dc5911202dd8f81bd8909b27f1a758a9d77e9791040f1ee6fe2891314bde75c808ce586246e98003a1b1396937b0312f2440016dea751 + "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/visitor-keys": 5.35.1 + checksum: 5a969a081309bac5962f99ee6dfdfd9c68ea677bc79d9796592dce82a36217f67aa55c7bf421b2c97b46c5149d6a9401bb4c57829595e8c19f47cfa9e8c2dd86 languageName: node linkType: hard @@ -3770,10 +3769,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/types@npm:5.36.2" - checksum: 736cb8a76b58f2f9a7d066933094c5510ffe31479ea8b804a829ec85942420f1b55e0eb2688fbdaaaa9c0e5b3b590fb8f14bbd745353696b4fd33fda620d417b +"@typescript-eslint/types@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/types@npm:5.35.1" + checksum: a4e1001867f43f3364b109fc5a07b91ae7a34b78ab191c6c5c4695dac9bb2b80b0a602651c0b807c1c7c1fc3656d2bbd47c637afa08a09e7b1c39eae3c489e00 languageName: node linkType: hard @@ -3813,12 +3812,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/typescript-estree@npm:5.36.2" +"@typescript-eslint/typescript-estree@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/typescript-estree@npm:5.35.1" dependencies: - "@typescript-eslint/types": 5.36.2 - "@typescript-eslint/visitor-keys": 5.36.2 + "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/visitor-keys": 5.35.1 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -3827,7 +3826,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 2827ff57a114b6107ea6d555f3855007133b08a7c2bafba0cfa0c935d8b99fd7b49e982d48cccc1c5ba550d95748d0239f5e2109893f12a165d76ed64a0d261b + checksum: a917ca4753a3f92c8d8555c96f5414383a9742761625476fa36a019401543aa74996159afa0f7fc7fae05fe0f904e3c6f4153a55412070c8a94e8171e81084c7 languageName: node linkType: hard @@ -3847,19 +3846,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/utils@npm:5.36.2" +"@typescript-eslint/utils@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/utils@npm:5.35.1" dependencies: "@types/json-schema": ^7.0.9 - "@typescript-eslint/scope-manager": 5.36.2 - "@typescript-eslint/types": 5.36.2 - "@typescript-eslint/typescript-estree": 5.36.2 + "@typescript-eslint/scope-manager": 5.35.1 + "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/typescript-estree": 5.35.1 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 45356cf55a8733e3ab1f2c3c19cdaefdb79857e35eb1433c29b81f3df071e9cef8a286bc407abe243889a21d9e793e999f92f03b9c727a0fac1c17a48e64c42a + checksum: 2b04092583c3139dd090727c24fb9d7fdb1fb9f20f2e3f0141cab5b98b6a1934b0fc8cab948f7faae55588385b0f1fb7bbf91f52c705ce4528036a527c3119c6 languageName: node linkType: hard @@ -3883,13 +3882,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/visitor-keys@npm:5.36.2" +"@typescript-eslint/visitor-keys@npm:5.35.1": + version: 5.35.1 + resolution: "@typescript-eslint/visitor-keys@npm:5.35.1" dependencies: - "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/types": 5.35.1 eslint-visitor-keys: ^3.3.0 - checksum: 87ccdcfa5cdedaa3a1aac30d656969f4f5910b62bcaacdf80a514dbf0cbbd8e79b55f8e987eab34cc79ece8ce4b8c19d5caf8b0afb74e0b0d7ab39fb29aa8eba + checksum: ef3c8377aac89935b5cc2fcf37bb3e42aa5f98848e7c22bdcbe5bb06c0fe8a1373a6897fd21109be8929b4708ad06c8874d2ef7bba17ff64911964203457330d languageName: node linkType: hard @@ -4865,14 +4864,14 @@ __metadata: linkType: hard "bonjour-service@npm:^1.0.11": - version: 1.0.14 - resolution: "bonjour-service@npm:1.0.14" + version: 1.0.13 + resolution: "bonjour-service@npm:1.0.13" dependencies: array-flatten: ^2.1.2 dns-equal: ^1.0.0 fast-deep-equal: ^3.1.3 multicast-dns: ^7.2.5 - checksum: 4a825bbf1824147ba8295a182fb3e86a8bae5159a08e2f118e829a0c988043a559f1f6e4eab425fe17ee9a1f080115d30430e78962e53f75bb03e2021ee7c5b2 + checksum: aee186f542e0ec095d1f7fd8194182373ea4e854eef1182a3cb90e70c958deb6945de38f1a793bb43cc51f3a0044fa7eabee05a7ecb698c446aee80f00101124 languageName: node linkType: hard @@ -5165,9 +5164,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001179, caniuse-lite@npm:^1.0.30001299, caniuse-lite@npm:^1.0.30001370, caniuse-lite@npm:^1.0.30001373": - version: 1.0.30001393 - resolution: "caniuse-lite@npm:1.0.30001393" - checksum: 72b7cd81c51f41965f2fbdbb20729d71f2bd5e376d9b4effa22616dd2707640b8676862e8db3db83b76c3bcf2aaefc9ebd5991a10eeb483b460322de5548b98e + version: 1.0.30001383 + resolution: "caniuse-lite@npm:1.0.30001383" + checksum: 1830129858510163f6acfbeaf258e0a84061091901ea349ee12541cc04997a25dc17d0ba731e8518711d87f0e08fee2a762aa89264d86be5f329300d0ff9d421 languageName: node linkType: hard @@ -5724,11 +5723,12 @@ __metadata: linkType: hard "core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": - version: 3.25.1 - resolution: "core-js-compat@npm:3.25.1" + version: 3.25.0 + resolution: "core-js-compat@npm:3.25.0" dependencies: browserslist: ^4.21.3 - checksum: 34dbec657adc2f660f4cd701709c9c5e27cbd608211c65df09458f80f3e357b9492ba1c5173e17cca72d889dcc6da01268cadf88fb407cf1726e76d301c6143e + semver: 7.0.0 + checksum: a40e072a67e65f34cb4b3a85bfdbbfcb0f3e1e2e171718763b13da4da897b5b6228603468027a0920096f0ee7e2c3906de95e26c9b6fe8f9595552bf2bc8f852 languageName: node linkType: hard @@ -6891,9 +6891,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.202": - version: 1.4.246 - resolution: "electron-to-chromium@npm:1.4.246" - checksum: 0e616e657d97de9d250a2415e5bded0ee8085345c652a30c08bf4e93398aca303ce69743c72f244400f679539e5f89f283875118b88299703539ccace071f450 + version: 1.4.231 + resolution: "electron-to-chromium@npm:1.4.231" + checksum: c0a5d0b2423111e08acf2edfcb682bb09039f361a7c1707b4ff3e3c24b022221c9547ae44ad8daf58c7fc96bda89e475bed958774a0e2aefeb324efa03b4131b languageName: node linkType: hard @@ -7024,9 +7024,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-android-64@npm:0.15.7" +"esbuild-android-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-android-64@npm:0.15.5" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -7038,9 +7038,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-android-arm64@npm:0.15.7" +"esbuild-android-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-android-arm64@npm:0.15.5" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -7052,9 +7052,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-darwin-64@npm:0.15.7" +"esbuild-darwin-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-darwin-64@npm:0.15.5" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -7066,9 +7066,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-darwin-arm64@npm:0.15.7" +"esbuild-darwin-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-darwin-arm64@npm:0.15.5" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -7080,9 +7080,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-freebsd-64@npm:0.15.7" +"esbuild-freebsd-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-freebsd-64@npm:0.15.5" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -7094,9 +7094,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-freebsd-arm64@npm:0.15.7" +"esbuild-freebsd-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-freebsd-arm64@npm:0.15.5" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -7108,9 +7108,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-32@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-32@npm:0.15.7" +"esbuild-linux-32@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-32@npm:0.15.5" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -7122,9 +7122,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-64@npm:0.15.7" +"esbuild-linux-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-64@npm:0.15.5" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -7136,9 +7136,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-arm64@npm:0.15.7" +"esbuild-linux-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-arm64@npm:0.15.5" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -7150,9 +7150,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-arm@npm:0.15.7" +"esbuild-linux-arm@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-arm@npm:0.15.5" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -7164,9 +7164,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-mips64le@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-mips64le@npm:0.15.7" +"esbuild-linux-mips64le@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-mips64le@npm:0.15.5" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -7178,9 +7178,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-ppc64le@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-ppc64le@npm:0.15.7" +"esbuild-linux-ppc64le@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-ppc64le@npm:0.15.5" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -7192,9 +7192,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-riscv64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-riscv64@npm:0.15.7" +"esbuild-linux-riscv64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-riscv64@npm:0.15.5" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -7206,9 +7206,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-s390x@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-linux-s390x@npm:0.15.7" +"esbuild-linux-s390x@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-linux-s390x@npm:0.15.5" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -7220,9 +7220,9 @@ __metadata: languageName: node linkType: hard -"esbuild-netbsd-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-netbsd-64@npm:0.15.7" +"esbuild-netbsd-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-netbsd-64@npm:0.15.5" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -7234,9 +7234,9 @@ __metadata: languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-openbsd-64@npm:0.15.7" +"esbuild-openbsd-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-openbsd-64@npm:0.15.5" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -7248,9 +7248,9 @@ __metadata: languageName: node linkType: hard -"esbuild-sunos-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-sunos-64@npm:0.15.7" +"esbuild-sunos-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-sunos-64@npm:0.15.5" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -7265,11 +7265,11 @@ __metadata: linkType: hard "esbuild-wasm@npm:>=0.13.8": - version: 0.15.7 - resolution: "esbuild-wasm@npm:0.15.7" + version: 0.15.5 + resolution: "esbuild-wasm@npm:0.15.5" bin: esbuild: bin/esbuild - checksum: 559ba4a6ce1ce3cf4493c164d45f651090007978cd9161fcc6b7428524fb61698d88df11d1e9c9f2f9ed3fcaed6b4f6447ddbe9de0d279cd4b866d0579f2e82d + checksum: eed3f81dc017192a4a70dc0474f7c61dc9709994a3070533a8b773b11482a1bc3051e0a10529741b146ae75b0878dc9ccf6db97c1afb4e5447b9c43b8e1c6eed languageName: node linkType: hard @@ -7280,9 +7280,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-32@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-windows-32@npm:0.15.7" +"esbuild-windows-32@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-windows-32@npm:0.15.5" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -7294,9 +7294,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-windows-64@npm:0.15.7" +"esbuild-windows-64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-windows-64@npm:0.15.5" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7308,9 +7308,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-arm64@npm:0.15.7": - version: 0.15.7 - resolution: "esbuild-windows-arm64@npm:0.15.7" +"esbuild-windows-arm64@npm:0.15.5": + version: 0.15.5 + resolution: "esbuild-windows-arm64@npm:0.15.5" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -7384,30 +7384,30 @@ __metadata: linkType: hard "esbuild@npm:>=0.13.8": - version: 0.15.7 - resolution: "esbuild@npm:0.15.7" - dependencies: - "@esbuild/linux-loong64": 0.15.7 - esbuild-android-64: 0.15.7 - esbuild-android-arm64: 0.15.7 - esbuild-darwin-64: 0.15.7 - esbuild-darwin-arm64: 0.15.7 - esbuild-freebsd-64: 0.15.7 - esbuild-freebsd-arm64: 0.15.7 - esbuild-linux-32: 0.15.7 - esbuild-linux-64: 0.15.7 - esbuild-linux-arm: 0.15.7 - esbuild-linux-arm64: 0.15.7 - esbuild-linux-mips64le: 0.15.7 - esbuild-linux-ppc64le: 0.15.7 - esbuild-linux-riscv64: 0.15.7 - esbuild-linux-s390x: 0.15.7 - esbuild-netbsd-64: 0.15.7 - esbuild-openbsd-64: 0.15.7 - esbuild-sunos-64: 0.15.7 - esbuild-windows-32: 0.15.7 - esbuild-windows-64: 0.15.7 - esbuild-windows-arm64: 0.15.7 + version: 0.15.5 + resolution: "esbuild@npm:0.15.5" + dependencies: + "@esbuild/linux-loong64": 0.15.5 + esbuild-android-64: 0.15.5 + esbuild-android-arm64: 0.15.5 + esbuild-darwin-64: 0.15.5 + esbuild-darwin-arm64: 0.15.5 + esbuild-freebsd-64: 0.15.5 + esbuild-freebsd-arm64: 0.15.5 + esbuild-linux-32: 0.15.5 + esbuild-linux-64: 0.15.5 + esbuild-linux-arm: 0.15.5 + esbuild-linux-arm64: 0.15.5 + esbuild-linux-mips64le: 0.15.5 + esbuild-linux-ppc64le: 0.15.5 + esbuild-linux-riscv64: 0.15.5 + esbuild-linux-s390x: 0.15.5 + esbuild-netbsd-64: 0.15.5 + esbuild-openbsd-64: 0.15.5 + esbuild-sunos-64: 0.15.5 + esbuild-windows-32: 0.15.5 + esbuild-windows-64: 0.15.5 + esbuild-windows-arm64: 0.15.5 dependenciesMeta: "@esbuild/linux-loong64": optional: true @@ -7453,7 +7453,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 54ddaa6cf96798d817861b4f68cb8d176075dc09b6e0ed511c57e5db6fd86d2c673ac2ec631ad9b11678d58ad4a77cd6b7a3853b9c6eac29b7f5c6d38e42f92e + checksum: fc7f5df6542bd18dee1e61c58049ddf3d6b508d8d67eabcba455f7dbb560552e012f169a8afa2f209de554a206935fedf30d576aacdc2b46cb4da229181968fb languageName: node linkType: hard @@ -7788,14 +7788,14 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.3.2, espree@npm:^9.4.0": - version: 9.4.0 - resolution: "espree@npm:9.4.0" +"espree@npm:^9.3.2": + version: 9.3.3 + resolution: "espree@npm:9.3.3" dependencies: acorn: ^8.8.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.3.0 - checksum: 2e3020dde67892d2ba3632413b44d0dc31d92c29ce72267d7ec24216a562f0a6494d3696e2fa39a3ec8c0e0088d773947ab2925fbb716801a11eb8dd313ac89c + checksum: 33e8a36fc15d082e68672e322e22a53856b564d60aad8f291a667bfc21b2c900c42412d37dd3c7a0f18b9d0d8f8858dabe8776dbd4b4c2f72c5cf4d6afeabf65 languageName: node linkType: hard @@ -7863,9 +7863,9 @@ __metadata: linkType: hard "eventemitter2@npm:^6.4.3": - version: 6.4.8 - resolution: "eventemitter2@npm:6.4.8" - checksum: 7e4ad7a377ba5f931bb8160ffa4ca6a7494d9eaa4cedbd183df8d8043e74b01384e33d38ad716a07cf71abbeba00cd5c6cffd563edab615b88e9f27ce659c4ef + version: 6.4.7 + resolution: "eventemitter2@npm:6.4.7" + checksum: 1b36a77e139d6965ebf3a36c01fa00c089ae6b80faa1911e52888f40b3a7057b36a2cc45dcd1ad87cda3798fe7b97a0aabcbb8175a8b96092a23bb7d0f039e66 languageName: node linkType: hard @@ -8065,15 +8065,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" + version: 3.2.11 + resolution: "fast-glob@npm:3.2.11" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 + checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 languageName: node linkType: hard @@ -9277,6 +9277,13 @@ __metadata: languageName: node linkType: hard +"intersection-observer@npm:>=0.11.0": + version: 0.12.2 + resolution: "intersection-observer@npm:0.12.2" + checksum: d1fa9ebbb1e0baafe88ad95545bbb93f92bdcb8789912a2bd11b2463ab177ef185052c9c79c26187833d633f404acb077d4b1249353c5f6e2ca5cd64f50e216b + languageName: node + linkType: hard + "ip@npm:^1.1.0": version: 1.1.8 resolution: "ip@npm:1.1.8" @@ -10585,6 +10592,7 @@ __metadata: minimatch: 5.1.0 minimist: 1.2.6 ng-extract-i18n-merge: 1.4.0 + ng-in-viewport: 6.1.5 ngx-cookie-service: 13.2.1 ngx-pipes: 3.0.0 node-gyp: 9.0.0 @@ -10989,11 +10997,11 @@ __metadata: linkType: hard "magic-string@npm:^0.26.0": - version: 0.26.3 - resolution: "magic-string@npm:0.26.3" + version: 0.26.2 + resolution: "magic-string@npm:0.26.2" dependencies: sourcemap-codec: ^1.4.8 - checksum: e72c9b3d90ccbde088acc5937109f73fa4be8b6a2c2ea9bf9c3c01974f1ebf09842259a74ff2ba4081008a7d49941d883cfef8c460e6c33a6eb564b58482b750 + checksum: b4db4e2b370ac8d9ffc6443a2b591b75364bf1fc9121b5a4068d5b89804abff6709d1fa4a0e0c2d54f2e61e0e44db83efdfe219a5ab0ba6d25ee1f2b51fbed55 languageName: node linkType: hard @@ -11545,6 +11553,20 @@ __metadata: languageName: node linkType: hard +"ng-in-viewport@npm:6.1.5": + version: 6.1.5 + resolution: "ng-in-viewport@npm:6.1.5" + dependencies: + intersection-observer: ">=0.11.0" + tslib: ">=1.9.0" + peerDependencies: + "@angular/common": ">=6.0.0" + "@angular/core": ">=6.0.0" + rxjs: ">=6.0.0" + checksum: b2247340828df8abff2a09cf4f58357bd55fcd6d30163ff80825615cbbc9cc1c218252602fed1da0cd429c9c923e47dee0212aab74e1c7f3cd286d7ee23436de + languageName: node + linkType: hard + "ngx-cookie-service@npm:13.2.1": version: 13.2.1 resolution: "ngx-cookie-service@npm:13.2.1" @@ -11850,9 +11872,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.0": - version: 2.2.2 - resolution: "nwsapi@npm:2.2.2" - checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 + version: 2.2.1 + resolution: "nwsapi@npm:2.2.1" + checksum: 6c21fcb6950538012516b39137ed9b53ed56843e521362e977282c781169f229e7bca8ec6e207165b19912550f360806b222f77b6c9202bb8d66818456875c3d languageName: node linkType: hard @@ -13795,11 +13817,11 @@ __metadata: linkType: hard "selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": - version: 2.1.1 - resolution: "selfsigned@npm:2.1.1" + version: 2.0.1 + resolution: "selfsigned@npm:2.0.1" dependencies: node-forge: ^1 - checksum: aa9ce2150a54838978d5c0aee54d7ebe77649a32e4e690eb91775f71fdff773874a4fbafd0ac73d8ec3b702ff8a395c604df4f8e8868528f36fd6c15076fb43a + checksum: 864e65c2f31ca877bce3ccdaa3bdef5e1e992b63b2a03641e00c24cd305bf2acce093431d1fed2e5ae9f526558db4be5e90baa2b3474c0428fcf7e25cc86ac93 languageName: node linkType: hard @@ -13830,6 +13852,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:7.0.0": + version: 7.0.0 + resolution: "semver@npm:7.0.0" + bin: + semver: bin/semver.js + checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 + languageName: node + linkType: hard + "semver@npm:7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" @@ -14721,19 +14752,19 @@ __metadata: linkType: hard "supports-color@npm:^9.2.2": - version: 9.2.3 - resolution: "supports-color@npm:9.2.3" - checksum: 47d598b70d2bac3cbce98950344134de17c2935f45e8ad6256cde78ebe5da440e240d9fa17c1146bd84b1c36f865239fef6c563d70068a8d901ca5a6c56960af + version: 9.2.2 + resolution: "supports-color@npm:9.2.2" + checksum: 976d84877402fc38c1d43b1fde20b0a8dc0283273f21cfebe4ff7507d27543cdfbeec7db108a96b82d694465f06d64e8577562b05d0520b41710088e0a33cc50 languageName: node linkType: hard "supports-hyperlinks@npm:^2.0.0, supports-hyperlinks@npm:^2.2.0": - version: 2.3.0 - resolution: "supports-hyperlinks@npm:2.3.0" + version: 2.2.0 + resolution: "supports-hyperlinks@npm:2.2.0" dependencies: has-flag: ^4.0.0 supports-color: ^7.0.0 - checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 + checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a languageName: node linkType: hard @@ -14827,8 +14858,8 @@ __metadata: linkType: hard "terser-webpack-plugin@npm:^5.1.3": - version: 5.3.6 - resolution: "terser-webpack-plugin@npm:5.3.6" + version: 5.3.5 + resolution: "terser-webpack-plugin@npm:5.3.5" dependencies: "@jridgewell/trace-mapping": ^0.3.14 jest-worker: ^27.4.5 @@ -14844,7 +14875,7 @@ __metadata: optional: true uglify-js: optional: true - checksum: 8f3448d7fdb0434ce6a0c09d95c462bfd2f4a5a430233d854163337f734a7f5c07c74513d16081e06d4ca33d366d5b1a36f5444219bc41a7403afd6162107bad + checksum: 611c7b38d6fa0213dc03f48da9efe29c7edd098fc128a64905f7c9b61af8e7c36c13113d46b50be19ee2b8378442f4e1b8b4ddac9bba2cb73499ed32fc0e18f4 languageName: node linkType: hard @@ -15162,7 +15193,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.4.0, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0": +"tslib@npm:2.4.0, tslib@npm:>=1.9.0, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0": version: 2.4.0 resolution: "tslib@npm:2.4.0" checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 @@ -15437,8 +15468,8 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.0.5": - version: 1.0.7 - resolution: "update-browserslist-db@npm:1.0.7" + version: 1.0.5 + resolution: "update-browserslist-db@npm:1.0.5" dependencies: escalade: ^3.1.1 picocolors: ^1.0.0 @@ -15446,7 +15477,7 @@ __metadata: browserslist: ">= 4.21.0" bin: browserslist-lint: cli.js - checksum: 443ed6e77d4607b8bdf12710fe1c0b570fcbb992ebcafaa0c647811e5646fa51e0b5a17641637e10044e4b770bfc3a9ce2a9350a646477545aed882a1fcff8ce + checksum: 7e425fe5dbbebdccf72a84ce70ec47fc74dce561d28f47bc2b84a1c2b84179a862c2261b18ab66a5e73e261c7e2ef9e11c6129112989d4d52e8f75a56bb923f8 languageName: node linkType: hard From d2f3f2417518caddab1b6469814e9ed79a29c7cf Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 12:11:57 +0200 Subject: [PATCH 135/162] Fix typo --- hack/include/build.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hack/include/build.mk b/hack/include/build.mk index 2bfb6ca67589..a27bf8a7998e 100644 --- a/hack/include/build.mk +++ b/hack/include/build.mk @@ -7,7 +7,7 @@ BUILDOS ?= $(shell uname -s) ifeq ($(BUILDARCH),x86_64) BUILDARCH=amd64 endif -ifeq ($(BUILDARCH),aarch64) +ifeq ($(BUILDARCH),arch64) BUILDARCH=arm64 endif ifeq ($(BUILDARCH),armv7l) From 543d21310648f544d7d69c28b957badf67144725 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 12:16:55 +0200 Subject: [PATCH 136/162] Fix typo --- hack/include/build.mk | 2 +- modules/web/yarn.lock | 597 +++++++++++++++++++++--------------------- 2 files changed, 295 insertions(+), 304 deletions(-) diff --git a/hack/include/build.mk b/hack/include/build.mk index a27bf8a7998e..89059872c5bc 100644 --- a/hack/include/build.mk +++ b/hack/include/build.mk @@ -17,7 +17,7 @@ endif ifeq ($(BUILDOS),Linux) BUILDOS=linux endif -ifeq ($(BUILOS),Darwin) +ifeq ($(BUILDOS),Darwin) BUILDOS=darwin endif diff --git a/modules/web/yarn.lock b/modules/web/yarn.lock index 18821507623a..5093f63c2b99 100644 --- a/modules/web/yarn.lock +++ b/modules/web/yarn.lock @@ -504,10 +504,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8": - version: 7.18.13 - resolution: "@babel/compat-data@npm:7.18.13" - checksum: 869a730dc3ec40d4d5141b832d50b16702a2ea7bf5b87dc2761e7dfaa8deeafa03b8809fc42ff713ac1d450748dcdb07e1eb21f4633e10b87fd47be0065573e6 +"@babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.10, @babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8, @babel/compat-data@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/compat-data@npm:7.19.0" + checksum: f90d25a3779578c230ad0632e12ffd5ee1033614dee2786f7f1567823a78923da7185638eedd7166f31e4771a3398ae6a28ab8e680b96cc25bafb38a3b66ff11 languageName: node linkType: hard @@ -581,25 +581,25 @@ __metadata: linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.17.2": - version: 7.18.13 - resolution: "@babel/core@npm:7.18.13" + version: 7.19.0 + resolution: "@babel/core@npm:7.19.0" dependencies: "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.13 - "@babel/helper-compilation-targets": ^7.18.9 - "@babel/helper-module-transforms": ^7.18.9 - "@babel/helpers": ^7.18.9 - "@babel/parser": ^7.18.13 + "@babel/generator": ^7.19.0 + "@babel/helper-compilation-targets": ^7.19.0 + "@babel/helper-module-transforms": ^7.19.0 + "@babel/helpers": ^7.19.0 + "@babel/parser": ^7.19.0 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.18.13 - "@babel/types": ^7.18.13 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: c7ee5b2c10bc5b0325e31fb5da4cb4bc03f9d5f5c00ec3481a018917bcc6b7b040de0690c606a424f57e5fc26d218d64e7718d0e5d7d8614d39c8cd898fab9b3 + checksum: 0d5b52b552e215802d2fd7b266611c390d90b28dece09db8a142666c32928c5d404eb72a95630b4cb726c4d80a53fcdc2d6464cd7ad28bb26087475f1b2205e2 languageName: node linkType: hard @@ -614,14 +614,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.7.2": - version: 7.18.13 - resolution: "@babel/generator@npm:7.18.13" +"@babel/generator@npm:^7.16.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.19.0, @babel/generator@npm:^7.7.2": + version: 7.19.0 + resolution: "@babel/generator@npm:7.19.0" dependencies: - "@babel/types": ^7.18.13 + "@babel/types": ^7.19.0 "@jridgewell/gen-mapping": ^0.3.2 jsesc: ^2.5.1 - checksum: 27f5e7eb774e4d76ee75dc96e3e1bd26cc0ee7cea13a8f7342b716319c0a4d4e26fc49aa8f19316f7c99383da55eeb2a866c6e034e9deacad58a9de9ed6004fb + checksum: aa3d5785cf8f8e81672dcc61aef351188efeadb20d9f66d79113d82cbcf3bbbdeb829989fa14582108572ddbc4e4027bdceb06ccaf5ec40fa93c2dda8fbcd4aa languageName: node linkType: hard @@ -653,46 +653,46 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.2, @babel/helper-compilation-targets@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-compilation-targets@npm:7.18.9" +"@babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.2, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-compilation-targets@npm:7.19.0" dependencies: - "@babel/compat-data": ^7.18.8 + "@babel/compat-data": ^7.19.0 "@babel/helper-validator-option": ^7.18.6 browserslist: ^4.20.2 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2a9d71e124e098a9f45de4527ddd1982349d231827d341e00da9dfb967e260ecc7662c8b62abee4a010fb34d5f07a8d2155c974e0bc1928144cee5644910621d + checksum: 5f1be9811d53a5e43eb4b9b402517dec79bfa3a55e9fbc131a106914a78b435bc08a4b35591e424665c36c2c1eceb864ec2ca2c2f3dcf240a1551a28530428f9 languageName: node linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.18.13 - resolution: "@babel/helper-create-class-features-plugin@npm:7.18.13" + version: 7.19.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.19.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/helper-member-expression-to-functions": ^7.18.9 "@babel/helper-optimise-call-expression": ^7.18.6 "@babel/helper-replace-supers": ^7.18.9 "@babel/helper-split-export-declaration": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0 - checksum: 3d2da92a54b885b211a747a8c553bb0190895d140cd1daab5d9945b2b271817d9d288a512364085e9fad19bd503921cd85fcc12f98df67b39b27f5655eb9d058 + checksum: f0c6fb77b6f113d70f308e7093f60dd465b697818badf5df0519d8dd12b6bfb1f4ad300b923207ce9f9c1c940ef58bff12ac4270c0863eadf9e303b7dd6d01b6 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.18.6" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.19.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 regexpu-core: ^5.1.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2d76e660cbfd0bfcb01ca9f177f0e9091c871a6b99f68ece6bcf4ab4a9df073485bdc2d87ecdfbde44b7f3723b26d13085d0f92082adb3ae80d31b246099f10a + checksum: 811cc90afe9fc25a74ed37fc0c1361a4a91b0b940235dd3958e3f03b366d40a903b40fc93b51bcb93be774aba573219f8f215664bea1d1301f58797ca6854f3f languageName: node linkType: hard @@ -728,13 +728,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-function-name@npm:7.18.9" +"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-function-name@npm:7.19.0" dependencies: - "@babel/template": ^7.18.6 - "@babel/types": ^7.18.9 - checksum: d04c44e0272f887c0c868651be7fc3c5690531bea10936f00d4cca3f6d5db65e76dfb49e8d553c42ae1fe1eba61ccce9f3d93ba2df50a66408c8d4c3cc61cf0c + "@babel/template": ^7.18.10 + "@babel/types": ^7.19.0 + checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e languageName: node linkType: hard @@ -765,19 +765,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-module-transforms@npm:7.18.9" +"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-module-transforms@npm:7.19.0" dependencies: "@babel/helper-environment-visitor": ^7.18.9 "@babel/helper-module-imports": ^7.18.6 "@babel/helper-simple-access": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 "@babel/helper-validator-identifier": ^7.18.6 - "@babel/template": ^7.18.6 - "@babel/traverse": ^7.18.9 - "@babel/types": ^7.18.9 - checksum: af08c60ea239ff3d40eda542fceaab69de17e713f131e80ead08c975ba7a47dd55d439cb48cfb14ae7ec96704a10c989ff5a5240e52a39101cb44a49467ce058 + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: 4483276c66f56cf3b5b063634092ad9438c2593725de5c143ba277dda82f1501e6d73b311c1b28036f181dbe36eaeff29f24726cde37a599d4e735af294e5359 languageName: node linkType: hard @@ -790,10 +790,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.18.9 - resolution: "@babel/helper-plugin-utils@npm:7.18.9" - checksum: ebae876cd60f1fe238c7210986093845fa5c4cad5feeda843ea4d780bf068256717650376d3af2a5e760f2ed6a35c065ae144f99c47da3e54aa6cba99d8804e0 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.19.0 + resolution: "@babel/helper-plugin-utils@npm:7.19.0" + checksum: eedc996c633c8c207921c26ec2989eae0976336ecd9b9f1ac526498f52b5d136f7cd03c32b6fdf8d46a426f907c142de28592f383c42e5fba1e904cbffa05345 languageName: node linkType: hard @@ -873,25 +873,25 @@ __metadata: linkType: hard "@babel/helper-wrap-function@npm:^7.18.9": - version: 7.18.11 - resolution: "@babel/helper-wrap-function@npm:7.18.11" + version: 7.19.0 + resolution: "@babel/helper-wrap-function@npm:7.19.0" dependencies: - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.18.11 - "@babel/types": ^7.18.10 - checksum: e2fb909cdeb5c8688513261202cdeab7c6a8ac1f30daa5a1e0111631f270c26118c2e6b27014fc9f5d2c0ee1182fc40a3db2d30e45425587067f49dcae737dc9 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: 2453a6b134f12cc779179188c4358a66252c29b634a8195c0cf626e17f9806c3c4c40e159cd8056c2ec82b69b9056a088014fa43d6ccc1aca67da8d9605da8fd languageName: node linkType: hard -"@babel/helpers@npm:^7.16.7, @babel/helpers@npm:^7.17.2, @babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helpers@npm:7.18.9" +"@babel/helpers@npm:^7.16.7, @babel/helpers@npm:^7.17.2, @babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helpers@npm:7.19.0" dependencies: - "@babel/template": ^7.18.6 - "@babel/traverse": ^7.18.9 - "@babel/types": ^7.18.9 - checksum: d0bd8255d36bfc65dc52ce75f7fea778c70287da2d64981db4c84fbdf9581409ecbd6433deff1c81da3a5acf26d7e4c364b3a4445efacf88f4f48e77c5b34d8d + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: e50e78e0dbb0435075fa3f85021a6bcae529589800bca0292721afd7f7c874bea54508d6dc57eca16e5b8224f8142c6b0e32e3b0140029dc09865da747da4623 languageName: node linkType: hard @@ -906,12 +906,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.13": - version: 7.18.13 - resolution: "@babel/parser@npm:7.18.13" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.12, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.18.0, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/parser@npm:7.19.0" bin: parser: ./bin/babel-parser.js - checksum: 8b41c35607668495d67d9a7c5f61768aaab26acf887efdadc2781aed54046981480ef40aeda0b84d61aed02cf0c4ff4b028d5f83ab85e17e2ddff318f9243b8b + checksum: af86d829bfeb60e0dcf54a43489c2514674b6c8d9bb24cf112706772125752fcd517877ad30501d533fa85f70a439d02eebeec3be9c2e95499853367184e0da7 languageName: node linkType: hard @@ -953,16 +953,16 @@ __metadata: linkType: hard "@babel/plugin-proposal-async-generator-functions@npm:^7.16.8, @babel/plugin-proposal-async-generator-functions@npm:^7.17.12": - version: 7.18.10 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.18.10" + version: 7.19.0 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.19.0" dependencies: "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-remap-async-to-generator": ^7.18.9 "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3a6c25085021053830f6c57780118d3337935ac3309eef7f09b11e413d189eed8119d50cbddeb4c8c02f42f8cc01e62a4667b869be6e158f40030bafb92a0629 + checksum: f1876286d608650928f60ac6091b9a6e7839e005941be483df47693b98c90649202aa1793f28f6e9b4ce69bf0773552144fa40f38751f56dc5d02051a8ee0461 languageName: node linkType: hard @@ -1399,20 +1399,21 @@ __metadata: linkType: hard "@babel/plugin-transform-classes@npm:^7.16.7, @babel/plugin-transform-classes@npm:^7.17.12": - version: 7.18.9 - resolution: "@babel/plugin-transform-classes@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/plugin-transform-classes@npm:7.19.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-compilation-targets": ^7.19.0 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/helper-optimise-call-expression": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-replace-supers": ^7.18.9 "@babel/helper-split-export-declaration": ^7.18.6 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d7e953c0cf32af64e75db1277d2556c04635f32691ef462436897840be6f8021d4f85ee96134cb796a12dda549cf53346fedf96b671885f881bc4037c9d120ad + checksum: 5500953031fc3eae73f717c7b59ef406158a4a710d566a0f78a4944240bcf98f817f07cf1d6af0e749e21f0dfee29c36412b75d57b0a753c3ad823b70c596b79 languageName: node linkType: hard @@ -1547,17 +1548,17 @@ __metadata: linkType: hard "@babel/plugin-transform-modules-systemjs@npm:^7.16.7, @babel/plugin-transform-modules-systemjs@npm:^7.18.0": - version: 7.18.9 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.19.0" dependencies: "@babel/helper-hoist-variables": ^7.18.6 - "@babel/helper-module-transforms": ^7.18.9 - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-module-transforms": ^7.19.0 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-validator-identifier": ^7.18.6 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6122d9901ed5dc56d9db843efc9249fe20d769a11989bbbf5a806ed4f086def949185198aa767888481babf70fc52b6b3e297a991e2b02b4f34ffb03d998d1e3 + checksum: a0742deee4a076d6fc303d036c1ea2bea9b7d91af390483fe91fc415f9cb43925bb5dd930fdcb8fcdc9d4c7a22774a3cec521c67f1422a9b473debcb85ee57f9 languageName: node linkType: hard @@ -1574,14 +1575,14 @@ __metadata: linkType: hard "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.16.8, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.17.12": - version: 7.18.6 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.18.6" + version: 7.19.0 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.19.0" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-create-regexp-features-plugin": ^7.19.0 + "@babel/helper-plugin-utils": ^7.19.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6ef64aa3dad68df139eeaa7b6e9bb626be8f738ed5ed4db765d516944b1456d513b6bad3bb60fff22babe73de26436fd814a4228705b2d3d2fdb272c31da35e2 + checksum: 60f7b2c537fa3e8392f19b1f1026ba68844c5dc7942867e7a96a636d8a52d4766629b898e59aa690d3806bf02a7fa52e12d1f7c1ca2ef4fa2b53f3fe0a835117 languageName: node linkType: hard @@ -1681,14 +1682,14 @@ __metadata: linkType: hard "@babel/plugin-transform-spread@npm:^7.16.7, @babel/plugin-transform-spread@npm:^7.17.12": - version: 7.18.9 - resolution: "@babel/plugin-transform-spread@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/plugin-transform-spread@npm:7.19.0" dependencies: - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.19.0 "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 59489dd6212bd21debdf77746d9fa02dfe36f7062dc08742b8841d04312a26ea37bc0d71c71a6e37c3ab81dce744faa7f23fa94b0915593458f6adc35c087766 + checksum: e73a4deb095999185e70b524d0ff4e35df50fcda58299e700a6149a15bbc1a9b369ef1cef384e15a54b3c3ce316cc0f054dbf249dcd0d1ca59f4281dd4df9718 languageName: node linkType: hard @@ -1957,11 +1958,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.8.4": - version: 7.18.9 - resolution: "@babel/runtime@npm:7.18.9" + version: 7.19.0 + resolution: "@babel/runtime@npm:7.19.0" dependencies: regenerator-runtime: ^0.13.4 - checksum: 36dd736baba7164e82b3cc9d43e081f0cb2d05ff867ad39cac515d99546cee75b7f782018b02a3dcf5f2ef3d27f319faa68965fdfec49d4912c60c6002353a2e + checksum: fa69c351bb05e1db3ceb9a02fdcf620c234180af68cdda02152d3561015f6d55277265d3109815992f96d910f3db709458cae4f8df1c3def66f32e0867d82294 languageName: node linkType: hard @@ -1976,7 +1977,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.18.6, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.3.3": version: 7.18.10 resolution: "@babel/template@npm:7.18.10" dependencies: @@ -1987,32 +1988,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.13, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": - version: 7.18.13 - resolution: "@babel/traverse@npm:7.18.13" +"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.16.10, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.19.0, @babel/traverse@npm:^7.7.2": + version: 7.19.0 + resolution: "@babel/traverse@npm:7.19.0" dependencies: "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.13 + "@babel/generator": ^7.19.0 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.18.13 - "@babel/types": ^7.18.13 + "@babel/parser": ^7.19.0 + "@babel/types": ^7.19.0 debug: ^4.1.0 globals: ^11.1.0 - checksum: 1a2ef738fac4968feba6385787a3f8f7357d08e7739ecc5b37d8ff5668935253a03290f700f02a85ccfd369d5898625f0722d7733bff2ef91504f6cd8b836f19 + checksum: dcbd1316c9f4bf3cefee45b6f5194590563aa5d123500a60d3c8d714bef279205014c8e599ebafc469967199a7622e1444cd0235c16d4243da437e3f1281771e languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.18.13 - resolution: "@babel/types@npm:7.18.13" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.19.0 + resolution: "@babel/types@npm:7.19.0" dependencies: "@babel/helper-string-parser": ^7.18.10 "@babel/helper-validator-identifier": ^7.18.6 to-fast-properties: ^2.0.0 - checksum: abc3ad1f3b6864df0ea0e778bcdf7d2c5ee2293811192962d50e8a8c05c1aeec90a48275f53b2a45aad882ed8bef9477ae1f8e70ac1d44d039e14930d1388dcc + checksum: 9b346715a68aeede70ba9c685a144b0b26c53bcd595d448e24c8fa8df4d5956a5712e56ebadb7c85dcc32f218ee42788e37b93d50d3295c992072224cb3ef3fe languageName: node linkType: hard @@ -2119,9 +2120,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.5": - version: 0.15.5 - resolution: "@esbuild/linux-loong64@npm:0.15.5" +"@esbuild/linux-loong64@npm:0.15.7": + version: 0.15.7 + resolution: "@esbuild/linux-loong64@npm:0.15.7" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2144,19 +2145,19 @@ __metadata: linkType: hard "@eslint/eslintrc@npm:^1.3.0": - version: 1.3.0 - resolution: "@eslint/eslintrc@npm:1.3.0" + version: 1.3.1 + resolution: "@eslint/eslintrc@npm:1.3.1" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.3.2 + espree: ^9.4.0 globals: ^13.15.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: a1e734ad31a8b5328dce9f479f185fd4fc83dd7f06c538e1fa457fd8226b89602a55cc6458cd52b29573b01cdfaf42331be8cfc1fec732570086b591f4ed6515 + checksum: 9844dcc58a44399649926d5a17a2d53d529b80d3e8c3e9d0964ae198bac77ee6bb1cf44940f30cd9c2e300f7568ec82500be42ace6cacefb08aebf9905fe208e languageName: node linkType: hard @@ -2722,9 +2723,9 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.24.1": - version: 0.24.28 - resolution: "@sinclair/typebox@npm:0.24.28" - checksum: adc1f06c548f0c495dad5a7124394242553e059c5ea3faa19f404b43958125366513240f17fa2b5272a3aec18618cab4137d5c85259e99ce9eaca67538af2732 + version: 0.24.39 + resolution: "@sinclair/typebox@npm:0.24.39" + checksum: 4e4ec3e7df9be6f1c8661ae73f7be6bf777b0bdf37415240c3f177a776bc51d7e87663435b0c351de6aa77ace5b581a4c983104e54f6aa3d7d0c462513143f70 languageName: node linkType: hard @@ -2867,11 +2868,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.18.0 - resolution: "@types/babel__traverse@npm:7.18.0" + version: 7.18.1 + resolution: "@types/babel__traverse@npm:7.18.1" dependencies: "@babel/types": ^7.3.0 - checksum: 5fd7f4ea0963f9669b1bd6bd928b2d81452b98e4acfcfeb26ca4476162b87f9c1d8f66ff13567fd9f760a31ad04c36d767fa874f569aded6fb46890e379327c1 + checksum: a7158b13e5e4b844565217d04a0a09c1cf04e67de90972318960028effbd5e7400f2567b72c5f790acffdab9b4adce8d68f435a2f0c2b16e2c9c45994ace98f2 languageName: node linkType: hard @@ -3407,9 +3408,9 @@ __metadata: linkType: hard "@types/minimatch@npm:*": - version: 5.1.0 - resolution: "@types/minimatch@npm:5.1.0" - checksum: 041c1bf29a9c3d29ac401380cf94fa79613c8fccaa5b9e763996159e504bda4cb11e80a638f7842a987590f232864ba84a19f9b803d433cd92bac2759696dd24 + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 0391a282860c7cb6fe262c12b99564732401bdaa5e395bee9ca323c312c1a0f45efbf34dce974682036e857db59a5c9b1da522f3d6055aeead7097264c8705a8 languageName: node linkType: hard @@ -3428,9 +3429,9 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 18.7.13 - resolution: "@types/node@npm:18.7.13" - checksum: 45431e7e89ecaf85c7d2c180d801c132a7c59e2f8ad578726b6d71cc74e3267c18f9ccdcad738bc0479790c078f0c79efb0e58da2c6be535c15995dbb19050c9 + version: 18.7.16 + resolution: "@types/node@npm:18.7.16" + checksum: 01a3d35c764a3f0e7370b56e1ad4203731131883c65784e020009014171b3f53c4649cde6c7aa4f1026b907ee87ef6ae6ece2bc518151dc7b81100fe8b1db3ad languageName: node linkType: hard @@ -3442,9 +3443,9 @@ __metadata: linkType: hard "@types/node@npm:^14.14.31": - version: 14.18.26 - resolution: "@types/node@npm:14.18.26" - checksum: c6ac3f9d4f6f77c0fa5ac17757779ad4d9835abfe3af5708b7552597cb5c7c1103e83499ccaf767a1cfa70040990bcf3f58761c547051dc8d5077f3c419091b1 + version: 14.18.28 + resolution: "@types/node@npm:14.18.28" + checksum: 44225b3d8f13f4aba9a7bffec8dbc9be8fd396d26b8a1f58b1389da83fdc7485edb5642639e23b34f0efa349dafe4df618294122f0b39c8726df2b9e11413768 languageName: node linkType: hard @@ -3586,11 +3587,11 @@ __metadata: linkType: hard "@types/yargs@npm:^17.0.0, @types/yargs@npm:^17.0.8": - version: 17.0.11 - resolution: "@types/yargs@npm:17.0.11" + version: 17.0.12 + resolution: "@types/yargs@npm:17.0.12" dependencies: "@types/yargs-parser": "*" - checksum: 30a45f9e59a5cc3c967f76036bea6a456b1416175aa4c002b70e1f295772e2247ed8117f392b20eef4557ad761678df8c1fcb141852f2c7c44977130d802c855 + checksum: 5b41d21d8624199f89db82209b2adab2e47867b3677e852fde65698be2ca48364b14c2e70cb0adc9bca4a2102c93dad2409cae0ad666ea36ae031ae1cb08a7b5 languageName: node linkType: hard @@ -3665,13 +3666,13 @@ __metadata: linkType: hard "@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.35.1 - resolution: "@typescript-eslint/experimental-utils@npm:5.35.1" + version: 5.36.2 + resolution: "@typescript-eslint/experimental-utils@npm:5.36.2" dependencies: - "@typescript-eslint/utils": 5.35.1 + "@typescript-eslint/utils": 5.36.2 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: b67f347e45e719080ac6460c7624db2d1eb1c02abd1d031cfb96f2b0cd8a0cfff3cec71a3913fd0da20c045ec9e0b888e3ef1e50bcb606e2644b8e4f91cce1c5 + checksum: 2a40e47d11e084390a03a66d4802863c269517ad3fafd7105797039c1e0b5dc4d52653aad2c8511e862bc8017bb67bf3910cf3c5a1b1828d6df7f9086eba66c1 languageName: node linkType: hard @@ -3729,13 +3730,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/scope-manager@npm:5.35.1" +"@typescript-eslint/scope-manager@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/scope-manager@npm:5.36.2" dependencies: - "@typescript-eslint/types": 5.35.1 - "@typescript-eslint/visitor-keys": 5.35.1 - checksum: 5a969a081309bac5962f99ee6dfdfd9c68ea677bc79d9796592dce82a36217f67aa55c7bf421b2c97b46c5149d6a9401bb4c57829595e8c19f47cfa9e8c2dd86 + "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/visitor-keys": 5.36.2 + checksum: 93ff655f7c237c88ec6dc5911202dd8f81bd8909b27f1a758a9d77e9791040f1ee6fe2891314bde75c808ce586246e98003a1b1396937b0312f2440016dea751 languageName: node linkType: hard @@ -3769,10 +3770,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/types@npm:5.35.1" - checksum: a4e1001867f43f3364b109fc5a07b91ae7a34b78ab191c6c5c4695dac9bb2b80b0a602651c0b807c1c7c1fc3656d2bbd47c637afa08a09e7b1c39eae3c489e00 +"@typescript-eslint/types@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/types@npm:5.36.2" + checksum: 736cb8a76b58f2f9a7d066933094c5510ffe31479ea8b804a829ec85942420f1b55e0eb2688fbdaaaa9c0e5b3b590fb8f14bbd745353696b4fd33fda620d417b languageName: node linkType: hard @@ -3812,12 +3813,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/typescript-estree@npm:5.35.1" +"@typescript-eslint/typescript-estree@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/typescript-estree@npm:5.36.2" dependencies: - "@typescript-eslint/types": 5.35.1 - "@typescript-eslint/visitor-keys": 5.35.1 + "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/visitor-keys": 5.36.2 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -3826,7 +3827,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: a917ca4753a3f92c8d8555c96f5414383a9742761625476fa36a019401543aa74996159afa0f7fc7fae05fe0f904e3c6f4153a55412070c8a94e8171e81084c7 + checksum: 2827ff57a114b6107ea6d555f3855007133b08a7c2bafba0cfa0c935d8b99fd7b49e982d48cccc1c5ba550d95748d0239f5e2109893f12a165d76ed64a0d261b languageName: node linkType: hard @@ -3846,19 +3847,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/utils@npm:5.35.1" +"@typescript-eslint/utils@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/utils@npm:5.36.2" dependencies: "@types/json-schema": ^7.0.9 - "@typescript-eslint/scope-manager": 5.35.1 - "@typescript-eslint/types": 5.35.1 - "@typescript-eslint/typescript-estree": 5.35.1 + "@typescript-eslint/scope-manager": 5.36.2 + "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/typescript-estree": 5.36.2 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 2b04092583c3139dd090727c24fb9d7fdb1fb9f20f2e3f0141cab5b98b6a1934b0fc8cab948f7faae55588385b0f1fb7bbf91f52c705ce4528036a527c3119c6 + checksum: 45356cf55a8733e3ab1f2c3c19cdaefdb79857e35eb1433c29b81f3df071e9cef8a286bc407abe243889a21d9e793e999f92f03b9c727a0fac1c17a48e64c42a languageName: node linkType: hard @@ -3882,13 +3883,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.35.1": - version: 5.35.1 - resolution: "@typescript-eslint/visitor-keys@npm:5.35.1" +"@typescript-eslint/visitor-keys@npm:5.36.2": + version: 5.36.2 + resolution: "@typescript-eslint/visitor-keys@npm:5.36.2" dependencies: - "@typescript-eslint/types": 5.35.1 + "@typescript-eslint/types": 5.36.2 eslint-visitor-keys: ^3.3.0 - checksum: ef3c8377aac89935b5cc2fcf37bb3e42aa5f98848e7c22bdcbe5bb06c0fe8a1373a6897fd21109be8929b4708ad06c8874d2ef7bba17ff64911964203457330d + checksum: 87ccdcfa5cdedaa3a1aac30d656969f4f5910b62bcaacdf80a514dbf0cbbd8e79b55f8e987eab34cc79ece8ce4b8c19d5caf8b0afb74e0b0d7ab39fb29aa8eba languageName: node linkType: hard @@ -4864,14 +4865,14 @@ __metadata: linkType: hard "bonjour-service@npm:^1.0.11": - version: 1.0.13 - resolution: "bonjour-service@npm:1.0.13" + version: 1.0.14 + resolution: "bonjour-service@npm:1.0.14" dependencies: array-flatten: ^2.1.2 dns-equal: ^1.0.0 fast-deep-equal: ^3.1.3 multicast-dns: ^7.2.5 - checksum: aee186f542e0ec095d1f7fd8194182373ea4e854eef1182a3cb90e70c958deb6945de38f1a793bb43cc51f3a0044fa7eabee05a7ecb698c446aee80f00101124 + checksum: 4a825bbf1824147ba8295a182fb3e86a8bae5159a08e2f118e829a0c988043a559f1f6e4eab425fe17ee9a1f080115d30430e78962e53f75bb03e2021ee7c5b2 languageName: node linkType: hard @@ -5164,9 +5165,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001179, caniuse-lite@npm:^1.0.30001299, caniuse-lite@npm:^1.0.30001370, caniuse-lite@npm:^1.0.30001373": - version: 1.0.30001383 - resolution: "caniuse-lite@npm:1.0.30001383" - checksum: 1830129858510163f6acfbeaf258e0a84061091901ea349ee12541cc04997a25dc17d0ba731e8518711d87f0e08fee2a762aa89264d86be5f329300d0ff9d421 + version: 1.0.30001393 + resolution: "caniuse-lite@npm:1.0.30001393" + checksum: 72b7cd81c51f41965f2fbdbb20729d71f2bd5e376d9b4effa22616dd2707640b8676862e8db3db83b76c3bcf2aaefc9ebd5991a10eeb483b460322de5548b98e languageName: node linkType: hard @@ -5723,12 +5724,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": - version: 3.25.0 - resolution: "core-js-compat@npm:3.25.0" + version: 3.25.1 + resolution: "core-js-compat@npm:3.25.1" dependencies: browserslist: ^4.21.3 - semver: 7.0.0 - checksum: a40e072a67e65f34cb4b3a85bfdbbfcb0f3e1e2e171718763b13da4da897b5b6228603468027a0920096f0ee7e2c3906de95e26c9b6fe8f9595552bf2bc8f852 + checksum: 34dbec657adc2f660f4cd701709c9c5e27cbd608211c65df09458f80f3e357b9492ba1c5173e17cca72d889dcc6da01268cadf88fb407cf1726e76d301c6143e languageName: node linkType: hard @@ -6891,9 +6891,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.202": - version: 1.4.231 - resolution: "electron-to-chromium@npm:1.4.231" - checksum: c0a5d0b2423111e08acf2edfcb682bb09039f361a7c1707b4ff3e3c24b022221c9547ae44ad8daf58c7fc96bda89e475bed958774a0e2aefeb324efa03b4131b + version: 1.4.246 + resolution: "electron-to-chromium@npm:1.4.246" + checksum: 0e616e657d97de9d250a2415e5bded0ee8085345c652a30c08bf4e93398aca303ce69743c72f244400f679539e5f89f283875118b88299703539ccace071f450 languageName: node linkType: hard @@ -7024,9 +7024,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-android-64@npm:0.15.5" +"esbuild-android-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-android-64@npm:0.15.7" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -7038,9 +7038,9 @@ __metadata: languageName: node linkType: hard -"esbuild-android-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-android-arm64@npm:0.15.5" +"esbuild-android-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-android-arm64@npm:0.15.7" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -7052,9 +7052,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-darwin-64@npm:0.15.5" +"esbuild-darwin-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-darwin-64@npm:0.15.7" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -7066,9 +7066,9 @@ __metadata: languageName: node linkType: hard -"esbuild-darwin-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-darwin-arm64@npm:0.15.5" +"esbuild-darwin-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-darwin-arm64@npm:0.15.7" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -7080,9 +7080,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-freebsd-64@npm:0.15.5" +"esbuild-freebsd-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-freebsd-64@npm:0.15.7" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -7094,9 +7094,9 @@ __metadata: languageName: node linkType: hard -"esbuild-freebsd-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-freebsd-arm64@npm:0.15.5" +"esbuild-freebsd-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-freebsd-arm64@npm:0.15.7" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -7108,9 +7108,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-32@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-32@npm:0.15.5" +"esbuild-linux-32@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-32@npm:0.15.7" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -7122,9 +7122,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-64@npm:0.15.5" +"esbuild-linux-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-64@npm:0.15.7" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -7136,9 +7136,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-arm64@npm:0.15.5" +"esbuild-linux-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-arm64@npm:0.15.7" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -7150,9 +7150,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-arm@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-arm@npm:0.15.5" +"esbuild-linux-arm@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-arm@npm:0.15.7" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -7164,9 +7164,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-mips64le@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-mips64le@npm:0.15.5" +"esbuild-linux-mips64le@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-mips64le@npm:0.15.7" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -7178,9 +7178,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-ppc64le@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-ppc64le@npm:0.15.5" +"esbuild-linux-ppc64le@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-ppc64le@npm:0.15.7" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -7192,9 +7192,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-riscv64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-riscv64@npm:0.15.5" +"esbuild-linux-riscv64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-riscv64@npm:0.15.7" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -7206,9 +7206,9 @@ __metadata: languageName: node linkType: hard -"esbuild-linux-s390x@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-linux-s390x@npm:0.15.5" +"esbuild-linux-s390x@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-linux-s390x@npm:0.15.7" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -7220,9 +7220,9 @@ __metadata: languageName: node linkType: hard -"esbuild-netbsd-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-netbsd-64@npm:0.15.5" +"esbuild-netbsd-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-netbsd-64@npm:0.15.7" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -7234,9 +7234,9 @@ __metadata: languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-openbsd-64@npm:0.15.5" +"esbuild-openbsd-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-openbsd-64@npm:0.15.7" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -7248,9 +7248,9 @@ __metadata: languageName: node linkType: hard -"esbuild-sunos-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-sunos-64@npm:0.15.5" +"esbuild-sunos-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-sunos-64@npm:0.15.7" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -7265,11 +7265,11 @@ __metadata: linkType: hard "esbuild-wasm@npm:>=0.13.8": - version: 0.15.5 - resolution: "esbuild-wasm@npm:0.15.5" + version: 0.15.7 + resolution: "esbuild-wasm@npm:0.15.7" bin: esbuild: bin/esbuild - checksum: eed3f81dc017192a4a70dc0474f7c61dc9709994a3070533a8b773b11482a1bc3051e0a10529741b146ae75b0878dc9ccf6db97c1afb4e5447b9c43b8e1c6eed + checksum: 559ba4a6ce1ce3cf4493c164d45f651090007978cd9161fcc6b7428524fb61698d88df11d1e9c9f2f9ed3fcaed6b4f6447ddbe9de0d279cd4b866d0579f2e82d languageName: node linkType: hard @@ -7280,9 +7280,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-32@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-windows-32@npm:0.15.5" +"esbuild-windows-32@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-windows-32@npm:0.15.7" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -7294,9 +7294,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-windows-64@npm:0.15.5" +"esbuild-windows-64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-windows-64@npm:0.15.7" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7308,9 +7308,9 @@ __metadata: languageName: node linkType: hard -"esbuild-windows-arm64@npm:0.15.5": - version: 0.15.5 - resolution: "esbuild-windows-arm64@npm:0.15.5" +"esbuild-windows-arm64@npm:0.15.7": + version: 0.15.7 + resolution: "esbuild-windows-arm64@npm:0.15.7" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -7384,30 +7384,30 @@ __metadata: linkType: hard "esbuild@npm:>=0.13.8": - version: 0.15.5 - resolution: "esbuild@npm:0.15.5" - dependencies: - "@esbuild/linux-loong64": 0.15.5 - esbuild-android-64: 0.15.5 - esbuild-android-arm64: 0.15.5 - esbuild-darwin-64: 0.15.5 - esbuild-darwin-arm64: 0.15.5 - esbuild-freebsd-64: 0.15.5 - esbuild-freebsd-arm64: 0.15.5 - esbuild-linux-32: 0.15.5 - esbuild-linux-64: 0.15.5 - esbuild-linux-arm: 0.15.5 - esbuild-linux-arm64: 0.15.5 - esbuild-linux-mips64le: 0.15.5 - esbuild-linux-ppc64le: 0.15.5 - esbuild-linux-riscv64: 0.15.5 - esbuild-linux-s390x: 0.15.5 - esbuild-netbsd-64: 0.15.5 - esbuild-openbsd-64: 0.15.5 - esbuild-sunos-64: 0.15.5 - esbuild-windows-32: 0.15.5 - esbuild-windows-64: 0.15.5 - esbuild-windows-arm64: 0.15.5 + version: 0.15.7 + resolution: "esbuild@npm:0.15.7" + dependencies: + "@esbuild/linux-loong64": 0.15.7 + esbuild-android-64: 0.15.7 + esbuild-android-arm64: 0.15.7 + esbuild-darwin-64: 0.15.7 + esbuild-darwin-arm64: 0.15.7 + esbuild-freebsd-64: 0.15.7 + esbuild-freebsd-arm64: 0.15.7 + esbuild-linux-32: 0.15.7 + esbuild-linux-64: 0.15.7 + esbuild-linux-arm: 0.15.7 + esbuild-linux-arm64: 0.15.7 + esbuild-linux-mips64le: 0.15.7 + esbuild-linux-ppc64le: 0.15.7 + esbuild-linux-riscv64: 0.15.7 + esbuild-linux-s390x: 0.15.7 + esbuild-netbsd-64: 0.15.7 + esbuild-openbsd-64: 0.15.7 + esbuild-sunos-64: 0.15.7 + esbuild-windows-32: 0.15.7 + esbuild-windows-64: 0.15.7 + esbuild-windows-arm64: 0.15.7 dependenciesMeta: "@esbuild/linux-loong64": optional: true @@ -7453,7 +7453,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: fc7f5df6542bd18dee1e61c58049ddf3d6b508d8d67eabcba455f7dbb560552e012f169a8afa2f209de554a206935fedf30d576aacdc2b46cb4da229181968fb + checksum: 54ddaa6cf96798d817861b4f68cb8d176075dc09b6e0ed511c57e5db6fd86d2c673ac2ec631ad9b11678d58ad4a77cd6b7a3853b9c6eac29b7f5c6d38e42f92e languageName: node linkType: hard @@ -7788,14 +7788,14 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.3.2": - version: 9.3.3 - resolution: "espree@npm:9.3.3" +"espree@npm:^9.3.2, espree@npm:^9.4.0": + version: 9.4.0 + resolution: "espree@npm:9.4.0" dependencies: acorn: ^8.8.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.3.0 - checksum: 33e8a36fc15d082e68672e322e22a53856b564d60aad8f291a667bfc21b2c900c42412d37dd3c7a0f18b9d0d8f8858dabe8776dbd4b4c2f72c5cf4d6afeabf65 + checksum: 2e3020dde67892d2ba3632413b44d0dc31d92c29ce72267d7ec24216a562f0a6494d3696e2fa39a3ec8c0e0088d773947ab2925fbb716801a11eb8dd313ac89c languageName: node linkType: hard @@ -7863,9 +7863,9 @@ __metadata: linkType: hard "eventemitter2@npm:^6.4.3": - version: 6.4.7 - resolution: "eventemitter2@npm:6.4.7" - checksum: 1b36a77e139d6965ebf3a36c01fa00c089ae6b80faa1911e52888f40b3a7057b36a2cc45dcd1ad87cda3798fe7b97a0aabcbb8175a8b96092a23bb7d0f039e66 + version: 6.4.8 + resolution: "eventemitter2@npm:6.4.8" + checksum: 7e4ad7a377ba5f931bb8160ffa4ca6a7494d9eaa4cedbd183df8d8043e74b01384e33d38ad716a07cf71abbeba00cd5c6cffd563edab615b88e9f27ce659c4ef languageName: node linkType: hard @@ -8065,15 +8065,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": - version: 3.2.11 - resolution: "fast-glob@npm:3.2.11" + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 + checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 languageName: node linkType: hard @@ -10997,11 +10997,11 @@ __metadata: linkType: hard "magic-string@npm:^0.26.0": - version: 0.26.2 - resolution: "magic-string@npm:0.26.2" + version: 0.26.3 + resolution: "magic-string@npm:0.26.3" dependencies: sourcemap-codec: ^1.4.8 - checksum: b4db4e2b370ac8d9ffc6443a2b591b75364bf1fc9121b5a4068d5b89804abff6709d1fa4a0e0c2d54f2e61e0e44db83efdfe219a5ab0ba6d25ee1f2b51fbed55 + checksum: e72c9b3d90ccbde088acc5937109f73fa4be8b6a2c2ea9bf9c3c01974f1ebf09842259a74ff2ba4081008a7d49941d883cfef8c460e6c33a6eb564b58482b750 languageName: node linkType: hard @@ -11872,9 +11872,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.0": - version: 2.2.1 - resolution: "nwsapi@npm:2.2.1" - checksum: 6c21fcb6950538012516b39137ed9b53ed56843e521362e977282c781169f229e7bca8ec6e207165b19912550f360806b222f77b6c9202bb8d66818456875c3d + version: 2.2.2 + resolution: "nwsapi@npm:2.2.2" + checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 languageName: node linkType: hard @@ -13817,11 +13817,11 @@ __metadata: linkType: hard "selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": - version: 2.0.1 - resolution: "selfsigned@npm:2.0.1" + version: 2.1.1 + resolution: "selfsigned@npm:2.1.1" dependencies: node-forge: ^1 - checksum: 864e65c2f31ca877bce3ccdaa3bdef5e1e992b63b2a03641e00c24cd305bf2acce093431d1fed2e5ae9f526558db4be5e90baa2b3474c0428fcf7e25cc86ac93 + checksum: aa9ce2150a54838978d5c0aee54d7ebe77649a32e4e690eb91775f71fdff773874a4fbafd0ac73d8ec3b702ff8a395c604df4f8e8868528f36fd6c15076fb43a languageName: node linkType: hard @@ -13852,15 +13852,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.0.0": - version: 7.0.0 - resolution: "semver@npm:7.0.0" - bin: - semver: bin/semver.js - checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 - languageName: node - linkType: hard - "semver@npm:7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" @@ -14752,19 +14743,19 @@ __metadata: linkType: hard "supports-color@npm:^9.2.2": - version: 9.2.2 - resolution: "supports-color@npm:9.2.2" - checksum: 976d84877402fc38c1d43b1fde20b0a8dc0283273f21cfebe4ff7507d27543cdfbeec7db108a96b82d694465f06d64e8577562b05d0520b41710088e0a33cc50 + version: 9.2.3 + resolution: "supports-color@npm:9.2.3" + checksum: 47d598b70d2bac3cbce98950344134de17c2935f45e8ad6256cde78ebe5da440e240d9fa17c1146bd84b1c36f865239fef6c563d70068a8d901ca5a6c56960af languageName: node linkType: hard "supports-hyperlinks@npm:^2.0.0, supports-hyperlinks@npm:^2.2.0": - version: 2.2.0 - resolution: "supports-hyperlinks@npm:2.2.0" + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" dependencies: has-flag: ^4.0.0 supports-color: ^7.0.0 - checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a + checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 languageName: node linkType: hard @@ -14858,8 +14849,8 @@ __metadata: linkType: hard "terser-webpack-plugin@npm:^5.1.3": - version: 5.3.5 - resolution: "terser-webpack-plugin@npm:5.3.5" + version: 5.3.6 + resolution: "terser-webpack-plugin@npm:5.3.6" dependencies: "@jridgewell/trace-mapping": ^0.3.14 jest-worker: ^27.4.5 @@ -14875,7 +14866,7 @@ __metadata: optional: true uglify-js: optional: true - checksum: 611c7b38d6fa0213dc03f48da9efe29c7edd098fc128a64905f7c9b61af8e7c36c13113d46b50be19ee2b8378442f4e1b8b4ddac9bba2cb73499ed32fc0e18f4 + checksum: 8f3448d7fdb0434ce6a0c09d95c462bfd2f4a5a430233d854163337f734a7f5c07c74513d16081e06d4ca33d366d5b1a36f5444219bc41a7403afd6162107bad languageName: node linkType: hard @@ -15468,8 +15459,8 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.0.5": - version: 1.0.5 - resolution: "update-browserslist-db@npm:1.0.5" + version: 1.0.7 + resolution: "update-browserslist-db@npm:1.0.7" dependencies: escalade: ^3.1.1 picocolors: ^1.0.0 @@ -15477,7 +15468,7 @@ __metadata: browserslist: ">= 4.21.0" bin: browserslist-lint: cli.js - checksum: 7e425fe5dbbebdccf72a84ce70ec47fc74dce561d28f47bc2b84a1c2b84179a862c2261b18ab66a5e73e261c7e2ef9e11c6129112989d4d52e8f75a56bb923f8 + checksum: 443ed6e77d4607b8bdf12710fe1c0b570fcbb992ebcafaa0c647811e5646fa51e0b5a17641637e10044e4b770bfc3a9ce2a9350a646477545aed882a1fcff8ce languageName: node linkType: hard From 97bf14325a0977abf5874abfa7e6d48bf85c0611 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 12:27:42 +0200 Subject: [PATCH 137/162] Remove duplicated import --- modules/go.work.sum | 29 +++++++++++++++++-- .../components/graphcard/component.spec.ts | 2 +- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/modules/go.work.sum b/modules/go.work.sum index a040e4830b22..acbbaa313bf8 100644 --- a/modules/go.work.sum +++ b/modules/go.work.sum @@ -35,6 +35,7 @@ github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7I github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= @@ -50,6 +51,7 @@ github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8 github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/aws/aws-sdk-go v1.36.30 h1:hAwyfe7eZa7sM+S5mIJZFiNFwJMia9Whz6CYblioLoU= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= @@ -65,6 +67,7 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyY github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490 h1:KwaoQzs/WeUxxJqiJsZ4euOly1Az/IgZXXSxlD/UBNk= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E= @@ -89,9 +92,11 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumC github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= 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 h1:xvqufLtNVwAhN8NMyWklVgxnWohi+wtMGQMhtxexlm0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.6.2 h1:JiO+kJTpmYGjEodY7O1Zk8oZcNz1+f30UtwtXoFUPzE= github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= @@ -115,6 +120,7 @@ github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-redis/redis v6.15.8+incompatible h1:BKZuG6mCnRj5AOaWJXoCgf6rqTYnYJLe4en2hxT7r9o= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= @@ -134,6 +140,7 @@ github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= github.com/google/cel-go v0.10.1 h1:MQBGSZGnDwh7T/un+mzGKOMz3x+4E/GDPprWjDL+1Jg= github.com/google/cel-spec v0.6.0 h1:xuthJSiJGoSzq+lVEBIW1MTpaaZXknMCYC4WzVAWOsE= github.com/google/certificate-transparency-go v1.1.1 h1:6JHXZhXEvilMcTjR4MGZn5KV0IRkcFl4CJx5iHVhjFE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= @@ -247,7 +254,6 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J github.com/nishanths/exhaustive v0.8.1 h1:0QKNascWv9qIHY7zRoZSxeRr6kuk5aAT3YXLTiDmjTo= github.com/nishanths/exhaustive v0.8.1/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= @@ -259,12 +265,16 @@ github.com/pelletier/go-toml/v2 v2.0.2 h1:+jQXlF3scKIcSEKkdHzXhCTDLPFi5r1wnK6yPS github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= github.com/polyfloyd/go-errorlint v1.0.2 h1:kp1yvHflYhTmw5m3MmBy8SCyQkKPjwDthVuMH0ug6Yk= github.com/polyfloyd/go-errorlint v1.0.2/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/pseudomuto/protoc-gen-doc v1.3.2 h1:61vWZuxYa8D7Rn4h+2dgoTNqnluBmJya2MgbqO32z6g= github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM= @@ -307,6 +317,7 @@ github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIK github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= @@ -318,7 +329,6 @@ github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiu github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs= github.com/subosito/gotenv v1.4.0 h1:yAzM1+SmVcz5R4tXGsNMu1jUl2aOJXoiWUCEwwnGrvs= @@ -356,9 +366,14 @@ gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c h1:/RwRVN9EdXAVtdHxP7Ndn/tfmM9/goiwU0QTnLBgS4w= +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/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/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.etcd.io/etcd/client/v2 v2.305.4 h1:Dcx3/MYyfKcPNLpR4VVQUP5KgYrBeJtktBwEKkw08Ao= go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= +go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk= go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw= go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E= @@ -366,8 +381,12 @@ go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403 h1:rKyWXYDfrVOpMFBion4P go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw= go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5 h1:FR+oGxGfbQu1d+jglI3rCkjAjUnhRSZcUxr+DqlDLNo= @@ -389,14 +408,17 @@ golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -437,8 +459,10 @@ google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.46.2 h1:u+MLGgVf7vRdjEYZ8wDFhAVNmhkbJ5hmrA1LMWK1CAQ= google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -457,6 +481,7 @@ honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= k8s.io/apiserver v0.24.1 h1:LAA5UpPOeaREEtFAQRUQOI3eE5So/j5J3zeQJjeLdz4= k8s.io/code-generator v0.25.0/go.mod h1:B6jZgI3DvDFAualltPitbYMQ74NjaCFxum3YeKZZ+3w= k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= +k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6/go.mod h1:daOouuuwd9JXpv1L7Y34iV3yf6nxzipkKMWWlqlvK9M= k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= mvdan.cc/unparam v0.0.0-20220706161116-678bad134442 h1:seuXWbRB1qPrS3NQnHmFKLJLtskWyueeIzmLXghMGgk= diff --git a/modules/web/src/common/components/graphcard/component.spec.ts b/modules/web/src/common/components/graphcard/component.spec.ts index c621c05a48d1..2563fd9b12e8 100644 --- a/modules/web/src/common/components/graphcard/component.spec.ts +++ b/modules/web/src/common/components/graphcard/component.spec.ts @@ -38,7 +38,7 @@ describe('GraphCardComponent', () => { TestBed.configureTestingModule({ declarations: [GraphCardComponent, GraphComponent, CardComponent], providers: [InViewportService], - imports: [SharedModule, NoopAnimationsModule, InViewportModule], + imports: [SharedModule, NoopAnimationsModule], }).compileComponents(); })); From e892e0e9dee4e07e877e60c2ac6438f1228de445 Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Fri, 9 Sep 2022 12:40:31 +0200 Subject: [PATCH 138/162] Optimize web dependencies, improve prod run --- Makefile | 4 +- hack/docker/docker.compose.yaml | 19 +- modules/api/hack/include/config.mk | 2 +- modules/web/.gitignore | 3 + modules/web/angular.json | 4 +- modules/web/i18n/de/messages.de.xlf | 20 ++ modules/web/i18n/es/messages.es.xlf | 20 ++ modules/web/i18n/fr/messages.fr.xlf | 20 ++ modules/web/i18n/ja/messages.ja.xlf | 20 ++ modules/web/i18n/ko/messages.ko.xlf | 20 ++ modules/web/i18n/messages.xlf | 15 + modules/web/i18n/zh-Hans/messages.zh-Hans.xlf | 20 ++ .../i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf | 20 ++ modules/web/i18n/zh-Hant/messages.zh-Hant.xlf | 20 ++ modules/web/package.json | 9 +- .../common/components/container/component.ts | 4 +- .../src/common/components/graph/component.ts | 7 +- .../components/ingressrulelist/component.ts | 4 +- .../common/services/global/globalsettings.ts | 4 +- .../workloads/pod/detail/component.ts | 4 +- modules/web/src/settings/global/component.ts | 4 +- modules/web/src/settings/global/service.ts | 4 +- modules/web/src/shell/component.ts | 2 +- modules/web/src/typings/volume.api.ts | 2 +- modules/web/yarn.lock | 330 +++++++----------- 25 files changed, 331 insertions(+), 250 deletions(-) diff --git a/Makefile b/Makefile index 1814c4f2ce72..0716f207bcda 100644 --- a/Makefile +++ b/Makefile @@ -53,7 +53,7 @@ serve-https: $(PRE) # # URL: https://localhost:4443 # -# Note: Make sure that the port 4443 is free on your localhost +# Note: Make sure that the ports 4443 (Gateway) and 9001 (API) are free on your localhost # Note #2: Does not work with "kind". .PHONY: run run: $(PRE) --ensure-compose-down --compose @@ -76,7 +76,7 @@ build-cross: @$(MAKE) --no-print-directory -C $(MODULES_DIRECTORY) TARGET=$(or $(TARGET),build-cross) .PHONY: --compose ---compose: --ensure-certificates build +--compose: --ensure-certificates @KUBECONFIG=$(KUBECONFIG) \ SYSTEM_BANNER=$(SYSTEM_BANNER) \ SYSTEM_BANNER_SEVERITY=$(SYSTEM_BANNER_SEVERITY) \ diff --git a/hack/docker/docker.compose.yaml b/hack/docker/docker.compose.yaml index c03e53bdf717..84dad26bfc87 100644 --- a/hack/docker/docker.compose.yaml +++ b/hack/docker/docker.compose.yaml @@ -28,8 +28,6 @@ services: --system-banner-severity=${SYSTEM_BANNER_SEVERITY:?} tmpfs: - /tmp - ports: - - "8001:8001" api: build: context: ../.. @@ -49,7 +47,7 @@ services: - /tmp ports: - "9001:9001" - metrics-scraper: + scraper: image: kubernetesui/metrics-scraper:v1.0.8 command: --kubeconfig=${KUBECONFIG:?} @@ -59,21 +57,6 @@ services: - ${KUBECONFIG:?}:${KUBECONFIG:?} tmpfs: - /tmp - ports: - - "7001:7001" -# metrics-server: -# image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1 -# command: -# - --kubeconfig=${KUBECONFIG:?} -# - --cert-dir=/tmp -# - --secure-port=5443 -# - --metric-resolution=15s -# volumes: -# - ${KUBECONFIG:?}:${KUBECONFIG:?} -# tmpfs: -# - /tmp -# ports: -# - "5443:5443" gateway: build: context: ../.. diff --git a/modules/api/hack/include/config.mk b/modules/api/hack/include/config.mk index 9f474cf15ee0..22cf8ed8b57c 100644 --- a/modules/api/hack/include/config.mk +++ b/modules/api/hack/include/config.mk @@ -24,7 +24,7 @@ CODEGEN_EXTRA_ARGS = "" ### API Arguments (overridable) KUBECONFIG ?= $(HOME)/.kube/config -SIDECAR_HOST ?= http://sidecar:8000 +SIDECAR_HOST ?= http://scraper:8000 TOKEN_TTL ?= 0 # Never expire AUTO_GENERATE_CERTIFICATES ?= false BIND_ADDRESS ?= 127.0.0.1 diff --git a/modules/web/.gitignore b/modules/web/.gitignore index 97d425bb7371..b3a99987530e 100644 --- a/modules/web/.gitignore +++ b/modules/web/.gitignore @@ -24,6 +24,9 @@ node_modules/ # Generated version file src/environments/version.ts +# Dist +dist/ + # Yarn .yarn/* !.yarn/patches diff --git a/modules/web/angular.json b/modules/web/angular.json index aff44020978d..0210c59d7c67 100644 --- a/modules/web/angular.json +++ b/modules/web/angular.json @@ -53,7 +53,7 @@ "options": { "optimization": false, "progress": true, - "outputPath": ".tmp/dist", + "outputPath": "dist", "index": "src/index.html", "main": "src/index.ts", "tsConfig": "tsconfig.app.json", @@ -76,7 +76,7 @@ }, { "glob": "**/*", - "input": "node_modules/ace-builds/src-noconflict", + "input": "node_modules/ace-builds/src-min-noconflict", "output": "/ace" } ], diff --git a/modules/web/i18n/de/messages.de.xlf b/modules/web/i18n/de/messages.de.xlf index 8ce96001ef08..f028bd101aa9 100644 --- a/modules/web/i18n/de/messages.de.xlf +++ b/modules/web/i18n/de/messages.de.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI HTTP Healthcheck URI @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. Speicheranforderung muss als postive Zahl angegeben werden. + + CPU capacity + CPU capacity + Search for Search for @@ -1624,6 +1632,10 @@ Service Accounts Service Accounts + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version Kubelet-Version @@ -1820,6 +1832,10 @@ Services Services + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. Maximale Anzahl an Einträgen, die in jeder Listenansicht zeitgleich sichtbar sind. @@ -2036,6 +2052,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Service Accounts diff --git a/modules/web/i18n/es/messages.es.xlf b/modules/web/i18n/es/messages.es.xlf index 002b82827b6f..99b02da6b312 100644 --- a/modules/web/i18n/es/messages.es.xlf +++ b/modules/web/i18n/es/messages.es.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI URI comprobación de estado HTTP @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. El requisito de memoria debe ser un número positivo. + + CPU capacity + CPU capacity + Search for Search for @@ -1620,6 +1628,10 @@ Service Accounts Cuentas de Servicio + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version Versión de kubelet @@ -1816,6 +1828,10 @@ Services Servicios + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. Número máximo de elementos que se pueden mostrar en cada vista de listado. @@ -2032,6 +2048,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Cuentas de Servicio diff --git a/modules/web/i18n/fr/messages.fr.xlf b/modules/web/i18n/fr/messages.fr.xlf index 4d4781cd3858..f2097c6fbb2a 100644 --- a/modules/web/i18n/fr/messages.fr.xlf +++ b/modules/web/i18n/fr/messages.fr.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI HTTP Healthcheck URI @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. L'exigence mémoire doit être un nombre positif. + + CPU capacity + CPU capacity + Search for Search for @@ -1620,6 +1628,10 @@ Service Accounts Service Accounts + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version Version de kubelet @@ -1816,6 +1828,10 @@ Services Services + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. Max number of items that can be displayed on every list view. @@ -2032,6 +2048,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Service Accounts diff --git a/modules/web/i18n/ja/messages.ja.xlf b/modules/web/i18n/ja/messages.ja.xlf index 2dc360dd822a..fdcd0b4b1df0 100644 --- a/modules/web/i18n/ja/messages.ja.xlf +++ b/modules/web/i18n/ja/messages.ja.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI HTTP ヘルスチェック URI @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. メモリー要件は正の整数で指定してください。 + + CPU capacity + CPU capacity + Search for を検索 @@ -1620,6 +1628,10 @@ Service Accounts サービスアカウント + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version kubelet version @@ -1816,6 +1828,10 @@ Services Services + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. 一覧表示のビューで表示する項目の最大数です。 @@ -2032,6 +2048,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Service Accounts diff --git a/modules/web/i18n/ko/messages.ko.xlf b/modules/web/i18n/ko/messages.ko.xlf index 7434cc87a3ee..3b988ce5dd7a 100644 --- a/modules/web/i18n/ko/messages.ko.xlf +++ b/modules/web/i18n/ko/messages.ko.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI HTTP Healthcheck URI @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. 메모리 요구 사항은 양의 정수이어야 합니다. + + CPU capacity + CPU capacity + Search for Search for @@ -1620,6 +1628,10 @@ Service Accounts 서비스 어카운트 + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version kubelet version @@ -1816,6 +1828,10 @@ Services Services + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. 모든 목록 화면에서 표시할 수 있는 최대 항목 개수. @@ -2032,6 +2048,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Service Accounts diff --git a/modules/web/i18n/messages.xlf b/modules/web/i18n/messages.xlf index f16d14f47c45..2f0f93f415e6 100644 --- a/modules/web/i18n/messages.xlf +++ b/modules/web/i18n/messages.xlf @@ -933,6 +933,9 @@ IP + + Memory capacity + HTTP Healthcheck URI @@ -963,6 +966,9 @@ Memory requirement must be given as a positive number. + + CPU capacity + Search for @@ -1194,6 +1200,9 @@ Service Accounts + + Memory capacity (bytes) + kubelet version @@ -1341,6 +1350,9 @@ Services + + Pods capacity + Max number of items that can be displayed on every list view. @@ -1503,6 +1515,9 @@ Running: + + CPU capacity (cores) + Service Accounts diff --git a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf index e6c9560fef9b..db5ef17d333c 100644 --- a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf +++ b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI HTTP Healthcheck URI @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. 内存下限必须是正整数。 + + CPU capacity + CPU capacity + Search for Search for @@ -1620,6 +1628,10 @@ Service Accounts 服务账号 + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version kubelet version @@ -1816,6 +1828,10 @@ Services Services + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. 每个列表视图中可显示的最大项目数。 @@ -2032,6 +2048,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Service Accounts diff --git a/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf index f447cbd645a6..b76a2817af48 100644 --- a/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf +++ b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI HTTP Healthcheck URI @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. Memory 最低需求必须是正整数。 + + CPU capacity + CPU capacity + Search for Search for @@ -1620,6 +1628,10 @@ Service Accounts Service Accounts + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version kubelet version @@ -1816,6 +1828,10 @@ Services Services + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. Max number of items that can be displayed on every list view. @@ -2032,6 +2048,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Service Accounts diff --git a/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf index 2d69d52b0526..d1ea165145b1 100644 --- a/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf +++ b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf @@ -1270,6 +1270,10 @@ IP IP + + Memory capacity + Memory capacity + HTTP Healthcheck URI HTTP Healthcheck URI @@ -1310,6 +1314,10 @@ Memory requirement must be given as a positive number. Memory 下限必須是正整數。 + + CPU capacity + CPU capacity + Search for Search for @@ -1620,6 +1628,10 @@ Service Accounts Service Accounts + + Memory capacity (bytes) + Memory capacity (bytes) + kubelet version kubelet version @@ -1816,6 +1828,10 @@ Services Services + + Pods capacity + Pods capacity + Max number of items that can be displayed on every list view. 每列視窗上可以顯示的最大項目數。 @@ -2032,6 +2048,10 @@ Running: Running: + + CPU capacity (cores) + CPU capacity (cores) + Service Accounts Service Accounts diff --git a/modules/web/package.json b/modules/web/package.json index f22c94a7a3e4..04c0e727949d 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -32,7 +32,8 @@ "test": "npx jest -c jest.config.js", "coverage": "npx jest -c jest.config.js --coverage -i", "e2e": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", - "e2e:headed": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"" + "e2e:headed": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", + "analyze": "ng build --stats-json && webpack-bundle-analyzer dist/stats.json" }, "lint-staged": { "src/**/*.ts": [ @@ -60,7 +61,6 @@ "ace-builds": "1.5.3", "core-js": "3.22.7", "crop-url": "4.0.1", - "d3": "6.7.0", "file-saver": "2.0.5", "js-yaml": "4.1.0", "jwt-decode": "3.1.2", @@ -97,7 +97,7 @@ "@types/jasminewd2": "2.0.10", "@types/jest": "27.5.1", "@types/js-yaml": "4.0.5", - "@types/lodash": "4.14.182", + "@types/lodash-es": "4.17.6", "@types/node": "17.0.36", "@typescript-eslint/eslint-plugin": "5.27.0", "@typescript-eslint/parser": "5.27.0", @@ -120,7 +120,7 @@ "js-beautify": "1.14.3", "license-check-and-add": "4.0.5", "lint-staged": "12.4.3", - "lodash": "4.17.21", + "lodash-es": "4.17.21", "minimatch": "5.1.0", "minimist": "1.2.6", "ng-extract-i18n-merge": "1.4.0", @@ -143,6 +143,7 @@ "ts-node": "10.8.0", "typescript": "4.6.4", "wait-on": "6.0.1", + "webpack-bundle-analyzer": "4.6.1", "webpack-dev-server": "4.8.1" }, "overrides": { diff --git a/modules/web/src/common/components/container/component.ts b/modules/web/src/common/components/container/component.ts index b74e4a5882dd..aada735538e6 100644 --- a/modules/web/src/common/components/container/component.ts +++ b/modules/web/src/common/components/container/component.ts @@ -17,7 +17,7 @@ import {ConfigMapKeyRef, Container, EnvVar, SecretKeyRef} from '@api/root.api'; import {Status, StatusClass} from '@common/components/resourcelist/statuses'; import {DecoderService} from '@common/services/global/decoder'; import {KdStateService} from '@common/services/global/state'; -import _ from 'lodash'; +import isEmpty from 'lodash-es/isEmpty'; @Component({ selector: 'kd-container-card', @@ -88,7 +88,7 @@ export class ContainerCardComponent implements OnChanges { } hasSecurityContext(): boolean { - return this.container && !_.isEmpty(this.container.securityContext); + return this.container && !isEmpty(this.container.securityContext); } private hasState_(): boolean { diff --git a/modules/web/src/common/components/graph/component.ts b/modules/web/src/common/components/graph/component.ts index 8083c22fb2dd..8a34e4324451 100644 --- a/modules/web/src/common/components/graph/component.ts +++ b/modules/web/src/common/components/graph/component.ts @@ -15,7 +15,8 @@ import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core'; import {DataPoint, Metric} from '@api/root.api'; import {ViewportMetadata} from '@api/root.ui'; -import * as d3 from 'd3'; +import {curveMonotoneX} from 'd3-shape'; +import {timeFormat} from 'd3-time-format'; import {FormattedValue} from './helper'; @@ -37,7 +38,7 @@ export class GraphComponent implements OnInit, OnChanges { @Input() graphType: GraphType = GraphType.CPU; series: Array<{name: string; series: Array<{value: number; name: string}>}> = []; - curve = d3.curveMonotoneX; + curve = curveMonotoneX; customColors = {}; yAxisLabel = ''; yScaleMax = 0; @@ -131,7 +132,7 @@ export class GraphComponent implements OnInit, OnChanges { return { value: Number(point.y.toPrecision(3)), - name: d3.timeFormat('%H:%M')(new Date(1000 * point.x)), + name: timeFormat('%H:%M')(new Date(1000 * point.x)), }; }), }, diff --git a/modules/web/src/common/components/ingressrulelist/component.ts b/modules/web/src/common/components/ingressrulelist/component.ts index 0c4709e375c1..1cbb6b90e1c4 100644 --- a/modules/web/src/common/components/ingressrulelist/component.ts +++ b/modules/web/src/common/components/ingressrulelist/component.ts @@ -16,7 +16,7 @@ import {Component, Input, OnChanges, OnInit, SimpleChange} from '@angular/core'; import {MatTableDataSource} from '@angular/material/table'; import {IngressSpecRule, IngressSpecRuleHttpPath, IngressSpecTLS} from '@api/root.api'; import {SupportedResources} from '@api/root.shared'; -import _ from 'lodash'; +import isArray from 'lodash-es/isArray'; import {GlobalServicesModule} from '../../services/global/module'; import {KdStateService} from '../../services/global/state'; @@ -75,7 +75,7 @@ export class IngressRuleFlatListComponent implements OnInit, OnChanges { [] .concat( ...(changes.tlsList.currentValue as IngressSpecTLS[]).map(spec => { - if (!_.isArray(spec.hosts)) { + if (!isArray(spec.hosts)) { return [] as IngressSpecTLSFlat[]; } diff --git a/modules/web/src/common/services/global/globalsettings.ts b/modules/web/src/common/services/global/globalsettings.ts index d2a8336d2378..f6591d6e336a 100644 --- a/modules/web/src/common/services/global/globalsettings.ts +++ b/modules/web/src/common/services/global/globalsettings.ts @@ -16,7 +16,7 @@ import {HttpClient, HttpHeaders} from '@angular/common/http'; import {EventEmitter, Injectable} from '@angular/core'; import {GlobalSettings} from '@api/root.api'; import {onSettingsFailCallback, onSettingsLoadCallback} from '@api/root.ui'; -import _ from 'lodash'; +import isArray from 'lodash-es/isArray'; import {Observable, of, ReplaySubject, Subject} from 'rxjs'; import {catchError, switchMap, takeUntil, tap} from 'rxjs/operators'; @@ -132,7 +132,7 @@ export class GlobalSettingsService { } getNamespaceFallbackList(): string[] { - return _.isArray(this.settings_.namespaceFallbackList) + return isArray(this.settings_.namespaceFallbackList) ? this.settings_.namespaceFallbackList : [this.settings_.defaultNamespace]; } diff --git a/modules/web/src/resource/workloads/pod/detail/component.ts b/modules/web/src/resource/workloads/pod/detail/component.ts index 1d183a1f2c4c..f5715e7cb7ae 100644 --- a/modules/web/src/resource/workloads/pod/detail/component.ts +++ b/modules/web/src/resource/workloads/pod/detail/component.ts @@ -20,7 +20,7 @@ import {NotificationsService} from '@common/services/global/notifications'; import {KdStateService} from '@common/services/global/state'; import {EndpointManager, Resource} from '@common/services/resource/endpoint'; import {NamespacedResourceService} from '@common/services/resource/resource'; -import _ from 'lodash'; +import isEmpty from 'lodash-es/isEmpty'; import {Subject} from 'rxjs'; import {takeUntil} from 'rxjs/operators'; @@ -71,7 +71,7 @@ export class PodDetailComponent implements OnInit, OnDestroy { } hasSecurityContext(): boolean { - return this.pod && !_.isEmpty(this.pod.securityContext); + return this.pod && !isEmpty(this.pod.securityContext); } getNodeHref(name: string): string { diff --git a/modules/web/src/settings/global/component.ts b/modules/web/src/settings/global/component.ts index 2926206a9d2a..1779ddf7455c 100644 --- a/modules/web/src/settings/global/component.ts +++ b/modules/web/src/settings/global/component.ts @@ -17,7 +17,7 @@ import {Component, OnDestroy, OnInit} from '@angular/core'; import {FormBuilder, FormGroup} from '@angular/forms'; import {MatDialog} from '@angular/material/dialog'; import {GlobalSettings, NamespaceList} from '@api/root.api'; -import _ from 'lodash'; +import isEqual from 'lodash-es/isEqual'; import {Observable, of, Subject} from 'rxjs'; import {catchError, take, takeUntil, tap} from 'rxjs/operators'; @@ -110,7 +110,7 @@ export class GlobalSettingsComponent implements OnInit, OnDestroy { } canSave(): boolean { - return !_.isEqual(this.settings, this.externalSettings_); + return !isEqual(this.settings, this.externalSettings_); } save(): void { diff --git a/modules/web/src/settings/global/service.ts b/modules/web/src/settings/global/service.ts index c4dddb9658d3..e754e3baafd5 100644 --- a/modules/web/src/settings/global/service.ts +++ b/modules/web/src/settings/global/service.ts @@ -14,7 +14,7 @@ import {Injectable} from '@angular/core'; import {GlobalSettings} from '@api/root.api'; -import _ from 'lodash'; +import extend from 'lodash-es/extend'; import {Subject} from 'rxjs'; @Injectable({providedIn: 'root'}) @@ -28,7 +28,7 @@ export class SettingsHelperService { } set settings(settings: GlobalSettings) { - this.settings_ = _.extend(this.settings_, settings); + this.settings_ = extend(this.settings_, settings); this.onSettingsChange.next(this.settings_); } diff --git a/modules/web/src/shell/component.ts b/modules/web/src/shell/component.ts index 0825d83b8329..bbb1c2d278c5 100644 --- a/modules/web/src/shell/component.ts +++ b/modules/web/src/shell/component.ts @@ -16,7 +16,7 @@ import {AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, View import {MatSnackBar} from '@angular/material/snack-bar'; import {ActivatedRoute, Router} from '@angular/router'; import {PodContainerList, ShellFrame, SJSCloseEvent, SJSMessageEvent, TerminalResponse} from '@api/root.api'; -import {debounce} from 'lodash'; +import debounce from 'lodash-es/debounce'; import {ReplaySubject, Subject} from 'rxjs'; import {takeUntil} from 'rxjs/operators'; import {Terminal} from 'xterm'; diff --git a/modules/web/src/typings/volume.api.ts b/modules/web/src/typings/volume.api.ts index ac173ff2c481..a3e46569af44 100644 --- a/modules/web/src/typings/volume.api.ts +++ b/modules/web/src/typings/volume.api.ts @@ -13,7 +13,7 @@ // limitations under the License. import {SupportedResources, StringMap} from '@api/root.shared'; -import {isObject} from 'lodash'; +import isObject from 'lodash-es/isObject'; export class PersistentVolumeSource { name: string; diff --git a/modules/web/yarn.lock b/modules/web/yarn.lock index 18821507623a..600d6e20fe36 100644 --- a/modules/web/yarn.lock +++ b/modules/web/yarn.lock @@ -2676,6 +2676,13 @@ __metadata: languageName: node linkType: hard +"@polka/url@npm:^1.0.0-next.20": + version: 1.0.0-next.21 + resolution: "@polka/url@npm:1.0.0-next.21" + checksum: c7654046d38984257dd639eab3dc770d1b0340916097b2fac03ce5d23506ada684e05574a69b255c32ea6a144a957c8cd84264159b545fca031c772289d88788 + languageName: node + linkType: hard + "@schematics/angular@npm:13.3.7": version: 13.3.7 resolution: "@schematics/angular@npm:13.3.7" @@ -3392,10 +3399,19 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:4.14.182": - version: 4.14.182 - resolution: "@types/lodash@npm:4.14.182" - checksum: 7dd137aa9dbabd632408bd37009d984655164fa1ecc3f2b6eb94afe35bf0a5852cbab6183148d883e9c73a958b7fec9a9bcf7c8e45d41195add6a18c34958209 +"@types/lodash-es@npm:4.17.6": + version: 4.17.6 + resolution: "@types/lodash-es@npm:4.17.6" + dependencies: + "@types/lodash": "*" + checksum: 9bd239dd525086e278821949ce12fbdd4f100a060fed9323fc7ad5661113e1641f28a7ebab617230ed3474680d8f4de705c1928b48252bb684be6ec9eed715db + languageName: node + linkType: hard + +"@types/lodash@npm:*": + version: 4.14.184 + resolution: "@types/lodash@npm:4.14.184" + checksum: 6d9a4d67f7f9d0ec3fd21174f3dd3d00629dc1227eb469450eace53adbc1f7e2330699c28d0fe093e5f0fef0f0e763098be1f779268857213224af082b62be21 languageName: node linkType: hard @@ -4130,7 +4146,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.1.1": +"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1": version: 8.2.0 resolution: "acorn-walk@npm:8.2.0" checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 @@ -4146,7 +4162,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.0": +"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.0": version: 8.8.0 resolution: "acorn@npm:8.8.0" bin: @@ -5521,7 +5537,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:2, commander@npm:^2.11.0, commander@npm:^2.19.0, commander@npm:^2.20.0": +"commander@npm:^2.11.0, commander@npm:^2.19.0, commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -5535,6 +5551,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 53501cbeee61d5157546c0bef0fedb6cdfc763a882136284bed9a07225f09a14b82d2a84e7637edfd1a679fb35ed9502fd58ef1d091e6287f60d790147f68ddc + languageName: node + linkType: hard + "commander@npm:^9.3.0": version: 9.4.0 resolution: "commander@npm:9.4.0" @@ -6057,7 +6080,7 @@ __metadata: languageName: node linkType: hard -"d3-array@npm:2, d3-array@npm:^2.3.0, d3-array@npm:^2.5.0, d3-array@npm:^2.9.1": +"d3-array@npm:2, d3-array@npm:^2.3.0, d3-array@npm:^2.9.1": version: 2.12.1 resolution: "d3-array@npm:2.12.1" dependencies: @@ -6066,14 +6089,7 @@ __metadata: languageName: node linkType: hard -"d3-axis@npm:2": - version: 2.1.0 - resolution: "d3-axis@npm:2.1.0" - checksum: 43d80f68e516b315bbe86afff1552abd9518296e60f58a9a70ee9a524c109dec9d4585da5fc34a5c589e599c5ee4fe465f850c5a43f5e112c3850965bb00e9f5 - languageName: node - linkType: hard - -"d3-brush@npm:2, d3-brush@npm:^2.1.0": +"d3-brush@npm:^2.1.0": version: 2.1.0 resolution: "d3-brush@npm:2.1.0" dependencies: @@ -6086,41 +6102,14 @@ __metadata: languageName: node linkType: hard -"d3-chord@npm:2": - version: 2.0.0 - resolution: "d3-chord@npm:2.0.0" - dependencies: - d3-path: 1 - 2 - checksum: 932f1e9a50a68b95f42431fe043164c671433226582cf4e5f5a8f7064da99efaca656283861bf243286c5ef7dcf87aa77811418564fba83350da48d8c50074c0 - languageName: node - linkType: hard - -"d3-color@npm:1 - 2, d3-color@npm:2, d3-color@npm:^2.0.0": +"d3-color@npm:1 - 2, d3-color@npm:^2.0.0": version: 2.0.0 resolution: "d3-color@npm:2.0.0" checksum: b887354aa383937abd04fbffed3e26e5d6a788472cd3737fb10735930e427763e69fe93398663bccf88c0b53ee3e638ac6fcf0c02226b00ed9e4327c2dfbf3dc languageName: node linkType: hard -"d3-contour@npm:2": - version: 2.0.0 - resolution: "d3-contour@npm:2.0.0" - dependencies: - d3-array: 2 - checksum: 7d46bad378f6e329dddcc52df76077f28b563219cf5a0003385fbcb6c501d5fbb10d71c508da6a7690b527ccdbc1909b6f1f36fa36f03b43b19f8bcab0c2961d - languageName: node - linkType: hard - -"d3-delaunay@npm:5": - version: 5.3.0 - resolution: "d3-delaunay@npm:5.3.0" - dependencies: - delaunator: 4 - checksum: 3fa5ae167eb86e62ca0f9c3e8d05470b23572b4b480f05201705c0db976d403834cee1cdf264a41c97e45238e3999d48cc593f97d0da37229a42673a6bb10e95 - languageName: node - linkType: hard - -"d3-dispatch@npm:1 - 2, d3-dispatch@npm:2": +"d3-dispatch@npm:1 - 2": version: 2.0.0 resolution: "d3-dispatch@npm:2.0.0" checksum: cf473676ae0df1915d51d056d2c6734ceec480d258611d970a01847c50e8c273c185032bf9ed491abd077696bcbeeb491dc94af53e888871f3a1a0fac7365cec @@ -6137,78 +6126,28 @@ __metadata: languageName: node linkType: hard -"d3-dsv@npm:1 - 2, d3-dsv@npm:2": - version: 2.0.0 - resolution: "d3-dsv@npm:2.0.0" - dependencies: - commander: 2 - iconv-lite: 0.4 - rw: 1 - bin: - csv2json: bin/dsv2json - csv2tsv: bin/dsv2dsv - dsv2dsv: bin/dsv2dsv - dsv2json: bin/dsv2json - json2csv: bin/json2dsv - json2dsv: bin/json2dsv - json2tsv: bin/json2dsv - tsv2csv: bin/dsv2dsv - tsv2json: bin/dsv2json - checksum: 01b12d81e4ca3996f2e921388b1929c358a39711bf250f2c53dd0e452b80465ebe31ddb58a4064f160322dec7aaf2ceae1a249874af989404705fcfdf1e9b64d - languageName: node - linkType: hard - -"d3-ease@npm:1 - 2, d3-ease@npm:2": +"d3-ease@npm:1 - 2": version: 2.0.0 resolution: "d3-ease@npm:2.0.0" checksum: 1a9f6dfc836f0c66fba1ed28f0a3ad170d7c4f4812d442c6b562163e1a60283cc697e72a2cc4ba64abff9e77ad56354847986a5964e0c661af9b6d132c642e29 languageName: node linkType: hard -"d3-fetch@npm:2": - version: 2.0.0 - resolution: "d3-fetch@npm:2.0.0" - dependencies: - d3-dsv: 1 - 2 - checksum: e592420726c39dbbe342504761e5c80a026fc9add4f808ed4e01ab66c3064f7251f988dd2bcb6b8b61f8866769470eabb14a8d7f18e014338d9d9637ffd51af1 - languageName: node - linkType: hard - -"d3-force@npm:2": - version: 2.1.1 - resolution: "d3-force@npm:2.1.1" - dependencies: - d3-dispatch: 1 - 2 - d3-quadtree: 1 - 2 - d3-timer: 1 - 2 - checksum: aaee5b86d753450e72dae6748765ac3e0b7b784bd420a61264b778d697b9521a343b74b5c55654be2ff7fdf9bada0953a6fcae9be69091176d0579b56df72937 - languageName: node - linkType: hard - -"d3-format@npm:1 - 2, d3-format@npm:2, d3-format@npm:^2.0.0": +"d3-format@npm:1 - 2, d3-format@npm:^2.0.0": version: 2.0.0 resolution: "d3-format@npm:2.0.0" checksum: c4d3c8f9941d097d514d3986f54f21434e08e5876dc08d1d65226447e8e167600d5b9210235bb03fd45327225f04f32d6e365f08f76d2f4b8bff81594851aaf7 languageName: node linkType: hard -"d3-geo@npm:2": - version: 2.0.2 - resolution: "d3-geo@npm:2.0.2" - dependencies: - d3-array: ^2.5.0 - checksum: 992f667c646f8e2ea810de20e62914128e119f0458bce4090934287af3b93395632ed4af16aae7ccae095ae702a23b5d7a49888674f1aa27ab1a6e410882d86c - languageName: node - linkType: hard - -"d3-hierarchy@npm:2, d3-hierarchy@npm:^2.0.0": +"d3-hierarchy@npm:^2.0.0": version: 2.0.0 resolution: "d3-hierarchy@npm:2.0.0" checksum: 594bea104d3cf947da8499f3c50c93d914c5af34195ef3848e4888ed5c8c1aa6a1adae1dd656acfd04779005255347f68a3d270d825ec94fc88b88a72dd7cb4e languageName: node linkType: hard -"d3-interpolate@npm:1 - 2, d3-interpolate@npm:1.2.0 - 2, d3-interpolate@npm:2, d3-interpolate@npm:^2.0.1": +"d3-interpolate@npm:1 - 2, d3-interpolate@npm:1.2.0 - 2, d3-interpolate@npm:^2.0.1": version: 2.0.1 resolution: "d3-interpolate@npm:2.0.1" dependencies: @@ -6217,45 +6156,14 @@ __metadata: languageName: node linkType: hard -"d3-path@npm:1 - 2, d3-path@npm:2": +"d3-path@npm:1 - 2": version: 2.0.0 resolution: "d3-path@npm:2.0.0" checksum: e39e91dfb9abf9637962caede1f4ea4877f4b9e1c914868bdfc355688e9a637ba51bed0fb6180934eb596e50a4d0d1f001b5f2e98a4a3d23cc42558acfbd1f2c languageName: node linkType: hard -"d3-polygon@npm:2": - version: 2.0.0 - resolution: "d3-polygon@npm:2.0.0" - checksum: aeabedd8c74b0087d9b3fa9d9a95ce6535edb07c546cb070ffb1f971a3e9112124a9f63bf1377cbb6889d2cb0268363c4a864ec8c7629d990623fff73262d1ea - languageName: node - linkType: hard - -"d3-quadtree@npm:1 - 2, d3-quadtree@npm:2": - version: 2.0.0 - resolution: "d3-quadtree@npm:2.0.0" - checksum: e5f9cee19a636666e9f1614f9a9508dde9af47d80769ecb70b6b5033448a8c3ae96f39f1ffea0d1782442559412e3f98508fedf5dc39fe09a2f5995e6a0913bf - languageName: node - linkType: hard - -"d3-random@npm:2": - version: 2.2.2 - resolution: "d3-random@npm:2.2.2" - checksum: 79931d642f059c874c2be964b629ac0ce0f73306fa744e2ac8eb5ef1592ecfe8ab4a31a5273bef75db7ba2055c344af9921ef1bf55070edd826d7a7ba0b47331 - languageName: node - linkType: hard - -"d3-scale-chromatic@npm:2": - version: 2.0.0 - resolution: "d3-scale-chromatic@npm:2.0.0" - dependencies: - d3-color: 1 - 2 - d3-interpolate: 1 - 2 - checksum: 9fe5b4c1d9907abbda76e414856d9089182a0641f3bbf43d8d3008dbcccb52781e21793682e2b53663d3c6cd63e76965f961894e53ed3b01a345797412fe5b1f - languageName: node - linkType: hard - -"d3-scale@npm:3, d3-scale@npm:^3.2.3": +"d3-scale@npm:^3.2.3": version: 3.3.0 resolution: "d3-scale@npm:3.3.0" dependencies: @@ -6275,7 +6183,7 @@ __metadata: languageName: node linkType: hard -"d3-shape@npm:2, d3-shape@npm:^2.0.0": +"d3-shape@npm:^2.0.0": version: 2.1.0 resolution: "d3-shape@npm:2.1.0" dependencies: @@ -6284,7 +6192,7 @@ __metadata: languageName: node linkType: hard -"d3-time-format@npm:2 - 3, d3-time-format@npm:3, d3-time-format@npm:^3.0.0": +"d3-time-format@npm:2 - 3, d3-time-format@npm:^3.0.0": version: 3.0.0 resolution: "d3-time-format@npm:3.0.0" dependencies: @@ -6293,7 +6201,7 @@ __metadata: languageName: node linkType: hard -"d3-time@npm:1 - 2, d3-time@npm:2, d3-time@npm:^2.1.1": +"d3-time@npm:1 - 2, d3-time@npm:^2.1.1": version: 2.1.1 resolution: "d3-time@npm:2.1.1" dependencies: @@ -6302,7 +6210,7 @@ __metadata: languageName: node linkType: hard -"d3-timer@npm:1 - 2, d3-timer@npm:2": +"d3-timer@npm:1 - 2": version: 2.0.0 resolution: "d3-timer@npm:2.0.0" checksum: 70733c3baffe473155b712896f04f27dae32d6e94169827f57aebb203e190926ba37af12c5f56cbc7126e538a4b1cd083f2451b80dc2a5644d076b6b31982bd8 @@ -6324,57 +6232,6 @@ __metadata: languageName: node linkType: hard -"d3-zoom@npm:2": - version: 2.0.0 - resolution: "d3-zoom@npm:2.0.0" - dependencies: - d3-dispatch: 1 - 2 - d3-drag: 2 - d3-interpolate: 1 - 2 - d3-selection: 2 - d3-transition: 2 - checksum: d98cc6ffa1105b0062ee312303caff9345ecd1f6df11b7da1e008c1c4731551755ac951327e8c758ffcf74e761218bc6c4f4a6b48f91551ea5d67e0dcf574a49 - languageName: node - linkType: hard - -"d3@npm:6.7.0": - version: 6.7.0 - resolution: "d3@npm:6.7.0" - dependencies: - d3-array: 2 - d3-axis: 2 - d3-brush: 2 - d3-chord: 2 - d3-color: 2 - d3-contour: 2 - d3-delaunay: 5 - d3-dispatch: 2 - d3-drag: 2 - d3-dsv: 2 - d3-ease: 2 - d3-fetch: 2 - d3-force: 2 - d3-format: 2 - d3-geo: 2 - d3-hierarchy: 2 - d3-interpolate: 2 - d3-path: 2 - d3-polygon: 2 - d3-quadtree: 2 - d3-random: 2 - d3-scale: 3 - d3-scale-chromatic: 2 - d3-selection: 2 - d3-shape: 2 - d3-time: 2 - d3-time-format: 3 - d3-timer: 2 - d3-transition: 2 - d3-zoom: 2 - checksum: 68e37250bacbfaa677d45dbbd82395e898d628d4598b827a3682e3612e0e43c67784f2cd7ecdc23e75c48ad0abe07b65e20c5aa13fb5ebf8879db6db468032e9 - languageName: node - linkType: hard - "damerau-levenshtein@npm:^1.0.4": version: 1.0.8 resolution: "damerau-levenshtein@npm:1.0.8" @@ -6605,13 +6462,6 @@ __metadata: languageName: node linkType: hard -"delaunator@npm:4": - version: 4.0.1 - resolution: "delaunator@npm:4.0.1" - checksum: a49f1c23edbcb79079a13577d32fcd46d0db30879c8484f742a0d840923085f2f3de35a9bfbb96eadd12201ffb7c3adf45b0f528d08b71cb547c5f8068b5d61b - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -9059,7 +8909,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4, iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24, iconv-lite@npm:^0.4.4": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24, iconv-lite@npm:^0.4.4": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -10557,7 +10407,7 @@ __metadata: "@types/jasminewd2": 2.0.10 "@types/jest": 27.5.1 "@types/js-yaml": 4.0.5 - "@types/lodash": 4.14.182 + "@types/lodash-es": 4.17.6 "@types/node": 17.0.36 "@typescript-eslint/eslint-plugin": 5.27.0 "@typescript-eslint/parser": 5.27.0 @@ -10568,7 +10418,6 @@ __metadata: crop-url: 4.0.1 cypress: 9.7.0 cypress-fail-fast: 4.0.0 - d3: 6.7.0 del: 6.1.1 eslint: 8.16.0 eslint-plugin-node: 11.1.0 @@ -10587,7 +10436,7 @@ __metadata: jwt-decode: 3.1.2 license-check-and-add: 4.0.5 lint-staged: 12.4.3 - lodash: 4.17.21 + lodash-es: 4.17.21 material-design-icons: 3.0.1 minimatch: 5.1.0 minimist: 1.2.6 @@ -10623,6 +10472,7 @@ __metadata: typescript: 4.6.4 wait-on: 6.0.1 web-animations-js: 2.3.2 + webpack-bundle-analyzer: 4.6.1 webpack-dev-server: 4.8.1 xterm: 4.18.0 xterm-addon-fit: 0.5.0 @@ -10883,6 +10733,13 @@ __metadata: languageName: node linkType: hard +"lodash-es@npm:4.17.21": + version: 4.17.21 + resolution: "lodash-es@npm:4.17.21" + checksum: 05cbffad6e2adbb331a4e16fbd826e7faee403a1a04873b82b42c0f22090f280839f85b95393f487c1303c8a3d2a010048bf06151a6cbe03eee4d388fb0a12d2 + languageName: node + linkType: hard + "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -10918,7 +10775,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": +"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -11414,6 +11271,13 @@ __metadata: languageName: node linkType: hard +"mrmime@npm:^1.0.0": + version: 1.0.1 + resolution: "mrmime@npm:1.0.1" + checksum: cc979da44bbbffebaa8eaf7a45117e851f2d4cb46a3ada6ceb78130466a04c15a0de9a9ce1c8b8ba6f6e1b8618866b1352992bf1757d241c0ddca558b9f28a77 + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -11976,6 +11840,15 @@ __metadata: languageName: node linkType: hard +"opener@npm:^1.5.2": + version: 1.5.2 + resolution: "opener@npm:1.5.2" + bin: + opener: bin/opener-bin.js + checksum: 33b620c0d53d5b883f2abc6687dd1c5fd394d270dbe33a6356f2d71e0a2ec85b100d5bac94694198ccf5c30d592da863b2292c5539009c715a9c80c697b4f6cc + languageName: node + linkType: hard + "optionator@npm:^0.8.1": version: 0.8.3 resolution: "optionator@npm:0.8.3" @@ -13607,13 +13480,6 @@ __metadata: languageName: node linkType: hard -"rw@npm:1": - version: 1.3.3 - resolution: "rw@npm:1.3.3" - checksum: c20d82421f5a71c86a13f76121b751553a99cd4a70ea27db86f9b23f33db941f3f06019c30f60d50c356d0bd674c8e74764ac146ea55e217c091bde6fba82aa3 - languageName: node - linkType: hard - "rxjs-compat@npm:6.6.7": version: 6.6.7 resolution: "rxjs-compat@npm:6.6.7" @@ -14027,6 +13893,17 @@ __metadata: languageName: node linkType: hard +"sirv@npm:^1.0.7": + version: 1.0.19 + resolution: "sirv@npm:1.0.19" + dependencies: + "@polka/url": ^1.0.0-next.20 + mrmime: ^1.0.0 + totalist: ^1.0.0 + checksum: c943cfc61baf85f05f125451796212ec35d4377af4da90ae8ec1fa23e6d7b0b4d9c74a8fbf65af83c94e669e88a09dc6451ba99154235eead4393c10dda5b07c + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -15020,6 +14897,13 @@ __metadata: languageName: node linkType: hard +"totalist@npm:^1.0.0": + version: 1.1.0 + resolution: "totalist@npm:1.1.0" + checksum: dfab80c7104a1d170adc8c18782d6c04b7df08352dec452191208c66395f7ef2af7537ddfa2cf1decbdcfab1a47afbbf0dec6543ea191da98c1c6e1599f86adc + languageName: node + linkType: hard + "tough-cookie@npm:^4.0.0": version: 4.1.2 resolution: "tough-cookie@npm:4.1.2" @@ -15700,6 +15584,25 @@ __metadata: languageName: node linkType: hard +"webpack-bundle-analyzer@npm:4.6.1": + version: 4.6.1 + resolution: "webpack-bundle-analyzer@npm:4.6.1" + dependencies: + acorn: ^8.0.4 + acorn-walk: ^8.0.0 + chalk: ^4.1.0 + commander: ^7.2.0 + gzip-size: ^6.0.0 + lodash: ^4.17.20 + opener: ^1.5.2 + sirv: ^1.0.7 + ws: ^7.3.1 + bin: + webpack-bundle-analyzer: lib/bin/analyzer.js + checksum: 4bc97ac6a1d9cd1f133444b0fc9d9091c97f4bd8388f97636ce27abd1ebffaa7dd45d29f6693661a666e77bcc08dff43ab7c2f5e2600a3101b956c94c1d038d0 + languageName: node + linkType: hard + "webpack-dev-middleware@npm:5.3.0": version: 5.3.0 resolution: "webpack-dev-middleware@npm:5.3.0" @@ -16064,6 +15967,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^7.3.1": + version: 7.5.9 + resolution: "ws@npm:7.5.9" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138 + languageName: node + linkType: hard + "ws@npm:^8.1.0, ws@npm:^8.2.3, ws@npm:^8.4.2": version: 8.8.1 resolution: "ws@npm:8.8.1" From 17e5051fd781ac8adb90d660a7d12ea2df64e8ae Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 13:18:38 +0200 Subject: [PATCH 139/162] Add ngcc postinstall command to yarn --- .../plugins/@yarnpkg/plugin-postinstall.cjs | 8 +++++++ modules/web/.yarnrc.yml | 21 +++++++------------ modules/web/jest.config.js | 2 +- .../components/graphcard/component.spec.ts | 2 +- 4 files changed, 17 insertions(+), 16 deletions(-) create mode 100644 modules/web/.yarn/plugins/@yarnpkg/plugin-postinstall.cjs diff --git a/modules/web/.yarn/plugins/@yarnpkg/plugin-postinstall.cjs b/modules/web/.yarn/plugins/@yarnpkg/plugin-postinstall.cjs new file mode 100644 index 000000000000..6db2a21f3108 --- /dev/null +++ b/modules/web/.yarn/plugins/@yarnpkg/plugin-postinstall.cjs @@ -0,0 +1,8 @@ +/* eslint-disable */ +module.exports = { +name: "@yarnpkg/plugin-postinstall", +factory: function (require) { +var plugin;(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>s});const n=require("@yarnpkg/core"),o=require("clipanion"),a={postinstall:{description:"Postinstall hook that will always run in Yarn v2",type:n.SettingsType.STRING,default:""}},r=require("@yarnpkg/shell"),l=async e=>{if(e){console.log("Running postinstall command...");const t=await r.execute(e);if(0!==t)throw new Error("postinstall command failed with exit code "+t)}};var i=function(e,t,n,o){var a,r=arguments.length,l=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,o);else for(var i=e.length-1;i>=0;i--)(a=e[i])&&(l=(r<3?a(l):r>3?a(t,n,l):a(t,n))||l);return r>3&&l&&Object.defineProperty(t,n,l),l};class c extends o.Command{async execute(){const e=(await n.Configuration.find(this.context.cwd,this.context.plugins)).get("postinstall");await l(e)}}i([o.Command.Path("postinstall")],c.prototype,"execute",null);const s={configuration:a,commands:[c],hooks:{afterAllInstalled:async e=>{const t=e.configuration.get("postinstall");await l(t)}}};plugin=t})(); +return plugin; +} +}; \ No newline at end of file diff --git a/modules/web/.yarnrc.yml b/modules/web/.yarnrc.yml index 4f8c8c5c9702..3c8e0129678c 100644 --- a/modules/web/.yarnrc.yml +++ b/modules/web/.yarnrc.yml @@ -1,16 +1,9 @@ -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +nodeLinker: node-modules + +plugins: + - path: .yarn/plugins/@yarnpkg/plugin-postinstall.cjs + spec: "https://raw.githubusercontent.com/gravitywelluk/yarn-plugin-postinstall/master/bundles/%40yarnpkg/plugin-postinstall.js" yarnPath: .yarn/releases/yarn-3.2.2.cjs -nodeLinker: node-modules + +postinstall: npx ngcc diff --git a/modules/web/jest.config.js b/modules/web/jest.config.js index 23ff3dc15588..262ce1f05c35 100644 --- a/modules/web/jest.config.js +++ b/modules/web/jest.config.js @@ -14,7 +14,7 @@ const config = { rootDir: './src', - coverageDirectory: '../coverage', + coverageDirectory: './coverage', preset: "jest-preset-angular/presets/defaults", setupFilesAfterEnv: ["/test.base.ts"], globals: { diff --git a/modules/web/src/common/components/graphcard/component.spec.ts b/modules/web/src/common/components/graphcard/component.spec.ts index 2563fd9b12e8..37444399954d 100644 --- a/modules/web/src/common/components/graphcard/component.spec.ts +++ b/modules/web/src/common/components/graphcard/component.spec.ts @@ -17,7 +17,7 @@ import {NoopAnimationsModule} from '@angular/platform-browser/animations'; import {Metric} from '@api/root.api'; import {CardComponent} from '@common/components/card/component'; import {GraphComponent, GraphType} from '@common/components/graph/component'; -import {InViewportModule, InViewportService} from 'ng-in-viewport'; +import {InViewportService} from 'ng-in-viewport'; import {SharedModule} from '../../../shared.module'; import {GraphCardComponent} from './component'; From ffeb5bf86e974446efd7b6ac0675d45da61a604a Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 9 Sep 2022 13:26:20 +0200 Subject: [PATCH 140/162] Fix license check --- .licenserc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.licenserc.yaml b/.licenserc.yaml index e320777fad29..ad8ce3f04355 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -48,6 +48,7 @@ header: - '**/.browserslistrc' - '**/.editorconfig' - '**/.jsbeautifyrc' + - '**/.yarnrc.yml' - '**/config_repos' - '**/go.mod' - '**/go.sum' From 007d9c025c9b0056c26dd1d5308718a326766e3d Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 10:00:36 +0200 Subject: [PATCH 141/162] Fix web static check --- modules/web/package.json | 2 ++ modules/web/yarn.lock | 52 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/modules/web/package.json b/modules/web/package.json index 04c0e727949d..54171fa1da44 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -61,6 +61,8 @@ "ace-builds": "1.5.3", "core-js": "3.22.7", "crop-url": "4.0.1", + "d3-shape": "3.1.0", + "d3-time-format": "4.1.0", "file-saver": "2.0.5", "js-yaml": "4.1.0", "jwt-decode": "3.1.2", diff --git a/modules/web/yarn.lock b/modules/web/yarn.lock index 21b47409fb8b..af0946db766a 100644 --- a/modules/web/yarn.lock +++ b/modules/web/yarn.lock @@ -6080,6 +6080,15 @@ __metadata: languageName: node linkType: hard +"d3-array@npm:2 - 3": + version: 3.2.0 + resolution: "d3-array@npm:3.2.0" + dependencies: + internmap: 1 - 2 + checksum: e236f6670b60b64abb6c435da25b5cbbdc2c7c0decdbf9355bc4cf6803d6da4fa820b7b78b9cbd127edb493555934a9788d45084c2f39d7c2e1a2b7aa48264a4 + languageName: node + linkType: hard + "d3-array@npm:2, d3-array@npm:^2.3.0, d3-array@npm:^2.9.1": version: 2.12.1 resolution: "d3-array@npm:2.12.1" @@ -6163,6 +6172,13 @@ __metadata: languageName: node linkType: hard +"d3-path@npm:1 - 3": + version: 3.0.1 + resolution: "d3-path@npm:3.0.1" + checksum: 6347c7055e0af330acadbe7f02144963eecabff560a791ecfeaffb45662e4d38eedabc6109dc481478f136b41d03707d3a43321ca9a115962888c99732ceb41a + languageName: node + linkType: hard + "d3-scale@npm:^3.2.3": version: 3.3.0 resolution: "d3-scale@npm:3.3.0" @@ -6183,6 +6199,15 @@ __metadata: languageName: node linkType: hard +"d3-shape@npm:3.1.0": + version: 3.1.0 + resolution: "d3-shape@npm:3.1.0" + dependencies: + d3-path: 1 - 3 + checksum: 3dffe31b56feaf0817954748c9823c0e1fb6ab888b83775e9d568176ffa369546064ae49403963aac70108272988f632452634851f1c8a92805134d0c40e6dba + languageName: node + linkType: hard + "d3-shape@npm:^2.0.0": version: 2.1.0 resolution: "d3-shape@npm:2.1.0" @@ -6201,6 +6226,15 @@ __metadata: languageName: node linkType: hard +"d3-time-format@npm:4.1.0": + version: 4.1.0 + resolution: "d3-time-format@npm:4.1.0" + dependencies: + d3-time: 1 - 3 + checksum: 7342bce28355378152bbd4db4e275405439cabba082d9cd01946d40581140481c8328456d91740b0fe513c51ec4a467f4471ffa390c7e0e30ea30e9ec98fcdf4 + languageName: node + linkType: hard + "d3-time@npm:1 - 2, d3-time@npm:^2.1.1": version: 2.1.1 resolution: "d3-time@npm:2.1.1" @@ -6210,6 +6244,15 @@ __metadata: languageName: node linkType: hard +"d3-time@npm:1 - 3": + version: 3.0.0 + resolution: "d3-time@npm:3.0.0" + dependencies: + d3-array: 2 - 3 + checksum: 01646568ef01682550b7ee9f32394e4eb116a29515564861958871ed8de8fff02a25cd50dd8c4413921e6d9ecb8c8ce39be3266f655c8c18599fe58bcb253d60 + languageName: node + linkType: hard + "d3-timer@npm:1 - 2": version: 2.0.0 resolution: "d3-timer@npm:2.0.0" @@ -9120,6 +9163,13 @@ __metadata: languageName: node linkType: hard +"internmap@npm:1 - 2": + version: 2.0.3 + resolution: "internmap@npm:2.0.3" + checksum: 7ca41ec6aba8f0072fc32fa8a023450a9f44503e2d8e403583c55714b25efd6390c38a87161ec456bf42d7bc83aab62eb28f5aef34876b1ac4e60693d5e1d241 + languageName: node + linkType: hard + "internmap@npm:^1.0.0": version: 1.0.1 resolution: "internmap@npm:1.0.1" @@ -10418,6 +10468,8 @@ __metadata: crop-url: 4.0.1 cypress: 9.7.0 cypress-fail-fast: 4.0.0 + d3-shape: 3.1.0 + d3-time-format: 4.1.0 del: 6.1.1 eslint: 8.16.0 eslint-plugin-node: 11.1.0 From c5af3f8c3d44e64a73c3dc06a6e176ec9439baf9 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 10:31:53 +0200 Subject: [PATCH 142/162] Update test config --- modules/web/jest.config.js | 4 +++- modules/web/tsconfig.spec.json | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/web/jest.config.js b/modules/web/jest.config.js index 262ce1f05c35..b66ef4175fff 100644 --- a/modules/web/jest.config.js +++ b/modules/web/jest.config.js @@ -27,7 +27,9 @@ const config = { "^@common/(.*)$": "/common/$1", "^@environments/(.*)$": "/environments/$1", }, - + transformIgnorePatterns: [ + "/node_modules/(?!lodash-es/.*)" + ], }; export default config; diff --git a/modules/web/tsconfig.spec.json b/modules/web/tsconfig.spec.json index 0130643567c8..3f0ed99039f7 100644 --- a/modules/web/tsconfig.spec.json +++ b/modules/web/tsconfig.spec.json @@ -3,8 +3,6 @@ "compilerOptions": { "outDir": ".tmp/out-tsc/spec", "baseUrl": "./src", - "module": "CommonJS", - "target": "ES2015", "types": ["jest"], }, "include": [ From 78a4feedb390bffbcdba8e59202c93684b8bc3f5 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 10:41:27 +0200 Subject: [PATCH 143/162] Remove code freeze warning --- README.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/README.md b/README.md index c8f1d4dbeeff..91dbe86d6b7a 100644 --- a/README.md +++ b/README.md @@ -7,16 +7,6 @@ [![GitHub release](https://img.shields.io/github/release/kubernetes/dashboard.svg)](https://github.com/kubernetes/dashboard/releases/latest) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/kubernetes/dashboard/blob/master/LICENSE) -## ! IMPORTANT ! -We are introducing a soft code-freeze due to an ongoing major architecture changes. This means that only important or non-breaking changes can be merged to master such as: -- Documentation updates -- Security fixes -- Critical bug fixes -- Compatibility changes required to support new Kubernetes versions - -Tracking issues/pull requests: -- https://github.com/kubernetes/dashboard/pull/7047 - ## Introduction Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and troubleshoot them, as well as manage the cluster itself. From 72d47430372e1361df6ef1450e9e43dbde6a5be3 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 10:59:29 +0200 Subject: [PATCH 144/162] Update codecov config --- .github/workflows/ci-web.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index ab672bd4ef4a..40f5d60769df 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -67,4 +67,5 @@ jobs: with: name: web-coverage directory: ./modules/web/coverage/ + working-directory: ./modules/web fail_ci_if_error: true From e414688139f4c18275b1e68a822baeea4edc1bdb Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 11:19:43 +0200 Subject: [PATCH 145/162] Update coverage config --- .github/workflows/ci-web.yml | 7 +++++-- modules/web/package.json | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index 40f5d60769df..a13d5b9f490a 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -66,6 +66,9 @@ jobs: - uses: codecov/codecov-action@v2 with: name: web-coverage - directory: ./modules/web/coverage/ - working-directory: ./modules/web + directory: modules/web/coverage/ + files: ./coverage-final.json + working-directory: modules/web fail_ci_if_error: true + move_coverage_to_trash: true + verbose: true diff --git a/modules/web/package.json b/modules/web/package.json index 54171fa1da44..746c45e58f09 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -30,7 +30,7 @@ "check:scss": "stylelint src/**/*.scss --fix", "check:ts": "gts lint", "test": "npx jest -c jest.config.js", - "coverage": "npx jest -c jest.config.js --coverage -i", + "coverage": "npx jest -c jest.config.js --coverage", "e2e": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", "e2e:headed": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "analyze": "ng build --stats-json && webpack-bundle-analyzer dist/stats.json" From 5d14feb69be7a6812decd6521e4eec5c658d0eb2 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 11:29:45 +0200 Subject: [PATCH 146/162] Bump coverage action version --- .github/workflows/ci-api.yml | 2 +- .github/workflows/ci-web.yml | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-api.yml b/.github/workflows/ci-api.yml index 4a37efe8b5dc..556bb521e2d6 100644 --- a/.github/workflows/ci-api.yml +++ b/.github/workflows/ci-api.yml @@ -90,7 +90,7 @@ jobs: - name: Run unit tests with coverage run: make coverage - name: Upload coverage - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v3 with: name: api-coverage files: ./modules/api/coverage.out diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index a13d5b9f490a..077b6efed015 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -63,12 +63,10 @@ jobs: - run: yarn - run: node hack/version.mjs - run: yarn coverage - - uses: codecov/codecov-action@v2 + - uses: codecov/codecov-action@v3 with: name: web-coverage - directory: modules/web/coverage/ - files: ./coverage-final.json - working-directory: modules/web + files: ./modules/web/coverage/clover.xml, ./modules/web/coverage/lcov.info fail_ci_if_error: true move_coverage_to_trash: true verbose: true From c87262db5ae4203dbea32c90f033b936b81fd7a1 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 11:35:57 +0200 Subject: [PATCH 147/162] Retry --- .github/workflows/ci-web.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index 077b6efed015..151e9bf884ec 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -66,7 +66,4 @@ jobs: - uses: codecov/codecov-action@v3 with: name: web-coverage - files: ./modules/web/coverage/clover.xml, ./modules/web/coverage/lcov.info fail_ci_if_error: true - move_coverage_to_trash: true - verbose: true From 6f1775c22668440fe6dab3938b40c0d6f363347a Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 12:10:00 +0200 Subject: [PATCH 148/162] Export GOPATH in e2e --- .github/workflows/ci-global.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index e73b9293ce03..3d7ee439511d 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -99,4 +99,6 @@ jobs: node-version: 16.15.0 - run: yarn - run: node hack/version.mjs - - run: make e2e + - run: | + export GOPATH=$(go env GOPATH)/bin + make e2e From 9d9655d743f4eeaa1de9ba4c579d1c0e309edae9 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 12:14:43 +0200 Subject: [PATCH 149/162] Use yarn to run e2e --- .github/workflows/ci-global.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 3d7ee439511d..4aac1d4cf306 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -99,6 +99,4 @@ jobs: node-version: 16.15.0 - run: yarn - run: node hack/version.mjs - - run: | - export GOPATH=$(go env GOPATH)/bin - make e2e + - run: yarn e2e From 9ec47cb9bf6ccadcf7f11f711cccb1bc8977423e Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 12:22:44 +0200 Subject: [PATCH 150/162] Add missing script --- modules/web/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/web/package.json b/modules/web/package.json index 746c45e58f09..00c0ac6139fc 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -17,8 +17,9 @@ "start:https": "make serve-https", "start:prod": "yarn ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", "start:prod:https": "yarn ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", - "build:prod": "make build", + "start:frontend": "ng serve --proxy-config=proxy.conf.json --ssl=true", "start:e2e": "concurrently \"make serve-backend\" \"yarn start:frontend\"", + "build:prod": "make build", "fix": "yarn fix:i18n && yarn fix:html && yarn fix:scss && yarn fix:ts", "fix:i18n": "ng run kubernetes-dashboard:extract-i18n-merge", "fix:html": "npx html-beautify -f=./src/**/*.html", From 29730aa7ebd3aa87468d8eaa08dcf74f7911c42b Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 12:44:22 +0200 Subject: [PATCH 151/162] Update e2e setup --- Makefile | 8 -------- modules/web/package.json | 4 +--- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 4e040e3a2750..6bdbe489c6e2 100644 --- a/Makefile +++ b/Makefile @@ -130,14 +130,6 @@ build-cross: # --bind-address=${BIND_ADDRESS} \ # --port=${PORT} # -#.PHONY: check-codegen -#check-codegen: ensure-codegen -# ./aio/scripts/verify-codegen.sh -# -#.PHONY: fix-codegen -#fix-codegen: ensure-codegen -# ./aio/scripts/update-codegen.sh -# #.PHONY: check-go #check-go: ensure-golangcilint # golangci-lint run -c .golangci.yml ./src/app/backend/... diff --git a/modules/web/package.json b/modules/web/package.json index 00c0ac6139fc..5d9f1357adde 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -17,8 +17,6 @@ "start:https": "make serve-https", "start:prod": "yarn ensure:version && ng serve -c production-en --proxy-config proxy.conf.json", "start:prod:https": "yarn ensure:version && ng serve -c production-en --ssl --proxy-config proxy-https.conf.json", - "start:frontend": "ng serve --proxy-config=proxy.conf.json --ssl=true", - "start:e2e": "concurrently \"make serve-backend\" \"yarn start:frontend\"", "build:prod": "make build", "fix": "yarn fix:i18n && yarn fix:html && yarn fix:scss && yarn fix:ts", "fix:i18n": "ng run kubernetes-dashboard:extract-i18n-merge", @@ -32,7 +30,7 @@ "check:ts": "gts lint", "test": "npx jest -c jest.config.js", "coverage": "npx jest -c jest.config.js --coverage", - "e2e": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run\"", + "e2e": "concurrently -kill-others --success first \"yarn start\" \"wait-on http://localhost:8080 && npx cypress run\"", "e2e:headed": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "analyze": "ng build --stats-json && webpack-bundle-analyzer dist/stats.json" }, From ff485d21f71dab6a9f163a4345f4770993fb0e3e Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 13:12:10 +0200 Subject: [PATCH 152/162] Fix wait-on script --- .github/workflows/ci-global.yml | 7 ++++--- modules/go.work.sum | 1 + modules/web/Makefile | 2 +- modules/web/package.json | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 4aac1d4cf306..ca22b2318321 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -83,9 +83,6 @@ jobs: GOPROXY: "https://proxy.golang.org" NODE_OPTIONS: "--max-old-space-size=8192" TERM: xterm - defaults: - run: - working-directory: modules/web steps: - uses: helm/kind-action@v1.3.0 - uses: actions/checkout@v3 @@ -98,5 +95,9 @@ jobs: with: node-version: 16.15.0 - run: yarn + working-directory: modules/web - run: node hack/version.mjs + working-directory: modules/web + - run: make serve - run: yarn e2e + working-directory: modules/web diff --git a/modules/go.work.sum b/modules/go.work.sum index acbbaa313bf8..49d1827f0a26 100644 --- a/modules/go.work.sum +++ b/modules/go.work.sum @@ -58,6 +58,7 @@ github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMU github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 h1:E7LT642ysztPWE0dfz43cWOvMiF42DyTRC+eZIaO4yI= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= diff --git a/modules/web/Makefile b/modules/web/Makefile index caa46f72d27b..8e700636afeb 100644 --- a/modules/web/Makefile +++ b/modules/web/Makefile @@ -28,7 +28,7 @@ build-cross: --clean --build-go --build-angular .PHONY: --serve-go --serve-go: - @GOOS=$(OS) go run k8s.io/dashboard/web \ + go run k8s.io/dashboard/web \ --system-banner=$(SYSTEM_BANNER) \ --system-banner-severity=$(SYSTEM_BANNER_SEVERITY) \ --auto-generate-certificates=$(AUTO_GENERATE_CERTIFICATES) diff --git a/modules/web/package.json b/modules/web/package.json index 5d9f1357adde..86ed011f4218 100644 --- a/modules/web/package.json +++ b/modules/web/package.json @@ -30,7 +30,8 @@ "check:ts": "gts lint", "test": "npx jest -c jest.config.js", "coverage": "npx jest -c jest.config.js --coverage", - "e2e": "concurrently -kill-others --success first \"yarn start\" \"wait-on http://localhost:8080 && npx cypress run\"", + "cypress": "wait-on -v http-get://localhost:9000/api/v1/node http://localhost:8000/config http://localhost:8080 && npx cypress run", + "e2e": "concurrently -kill-others --success first \"yarn start\" \"yarn cypress\"", "e2e:headed": "concurrently -kill-others --success first \"yarn start:e2e\" \"wait-on http://localhost:8080 && npx cypress run --headed\"", "analyze": "ng build --stats-json && webpack-bundle-analyzer dist/stats.json" }, From 955e1107ec2ec3ca0e46b8b0b2f895de8abbb46d Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 13:21:29 +0200 Subject: [PATCH 153/162] Fix e2e config --- .github/workflows/ci-global.yml | 5 ++++- modules/web/cypress/plugins/cy-ts-preprocessor.ts | 2 +- modules/web/cypress/tsconfig.e2e.json | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index ca22b2318321..0d83605a60f4 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -98,6 +98,9 @@ jobs: working-directory: modules/web - run: node hack/version.mjs working-directory: modules/web - - run: make serve + - run: | + export GOPATH=$(go env GOPATH) + export PATH=$PATH:$GOPATH/bin + make serve - run: yarn e2e working-directory: modules/web diff --git a/modules/web/cypress/plugins/cy-ts-preprocessor.ts b/modules/web/cypress/plugins/cy-ts-preprocessor.ts index 3e483e639dba..1a0db468db67 100644 --- a/modules/web/cypress/plugins/cy-ts-preprocessor.ts +++ b/modules/web/cypress/plugins/cy-ts-preprocessor.ts @@ -24,7 +24,7 @@ const webpackOptions = { use: [ { loader: 'ts-loader', - options: {configFile: 'aio/tsconfig.e2e.json'}, + options: {configFile: 'cypress/tsconfig.e2e.json'}, }, ], }, diff --git a/modules/web/cypress/tsconfig.e2e.json b/modules/web/cypress/tsconfig.e2e.json index 1c3ddb361455..66aad7919204 100644 --- a/modules/web/cypress/tsconfig.e2e.json +++ b/modules/web/cypress/tsconfig.e2e.json @@ -2,8 +2,8 @@ "extends": "../tsconfig.json", "compilerOptions": { "strict": true, - "baseUrl": ".", - "types": ["cypress"] + "baseUrl": "../", + "types": ["cypress", "node"] }, "include": [ "**/*.ts", From 66c759ce20bfd7e7df9ef2303db3c65c4437408a Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 14:06:10 +0200 Subject: [PATCH 154/162] Merge new translations from master --- modules/web/hack/version.mjs | 0 modules/web/i18n/de/messages.de.xlf | 576 ++++++------ modules/web/i18n/es/messages.es.xlf | 260 +++--- modules/web/i18n/fr/messages.fr.xlf | 166 ++-- modules/web/i18n/ja/messages.ja.xlf | 612 ++++++------- modules/web/i18n/ko/messages.ko.xlf | 834 +++++++++--------- modules/web/i18n/zh-Hans/messages.zh-Hans.xlf | 248 +++--- .../i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf | 166 ++-- modules/web/i18n/zh-Hant/messages.zh-Hant.xlf | 170 ++-- 9 files changed, 1516 insertions(+), 1516 deletions(-) mode change 100644 => 100755 modules/web/hack/version.mjs diff --git a/modules/web/hack/version.mjs b/modules/web/hack/version.mjs old mode 100644 new mode 100755 diff --git a/modules/web/i18n/de/messages.de.xlf b/modules/web/i18n/de/messages.de.xlf index f028bd101aa9..3cdb9d1ddd39 100644 --- a/modules/web/i18n/de/messages.de.xlf +++ b/modules/web/i18n/de/messages.de.xlf @@ -4,11 +4,11 @@ Create from file - Aus Datei erzeugen + Aus Datei erstellen Default namespace - Default namespace + Standard-Namespace Logs from @@ -16,7 +16,7 @@ Namespace fallback list - Namespace fallback list + Namespace Fallback-Liste Auto-refresh (every s.) @@ -28,7 +28,7 @@ Ingress Class Name - Ingress Class Name + Ingress Class Name Number of pods @@ -40,15 +40,15 @@ is not unique - ist nicht eindeutig + ist nicht eindeutig Go to namespace - Go to namespace + Gehe zu Namespace Preparing file to download... - Preparing file to download... + Datei-Download wird vorbereitet... Age @@ -76,23 +76,23 @@ Read Only Filesystem - Read Only Filesystem + Read Only Filesystem Partition - Partition + Partition Restart - Restart + Neu starten Cluster Role Bindings - Cluster Role Bindings + Cluster Role Bindings Edit Namespace List - Edit Namespace List + Namespace-Liste editieren New Replica Set @@ -100,7 +100,7 @@ Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - Jeder Service Account verfügt über ein Secret mit einem gültigen Bearer Token, welches verwendet werden kann, um sich am Dashboard anzumelden. Um mehr über die Konfiguration und Nutzung von Bearer Tokens zu erfahren, konsultieren Sie den Abschnitt Authentifizierung. + Jeder Service Account verfügt über ein Secret mit einem gültigen Bearer Token, welches verwendet werden kann, um sich am Dashboard anzumelden. Um mehr über die Konfiguration und Nutzung von Bearer Tokens zu erfahren, konsultieren Sie den Abschnitt Authentifizierung. Non-resource URL @@ -108,11 +108,11 @@ Image: - Image: + Image: Mount Option(s) - Mount Option(s) + Mount Optionen Cron Jobs @@ -132,7 +132,7 @@ Daemon Sets - Daemon Sets + Daemon Sets Revision history limit @@ -152,7 +152,7 @@ Services - Services + Services UID @@ -164,7 +164,7 @@ Volume Name - Volume Name + Volume Name Hides all access denied warnings in the notification panel. @@ -172,11 +172,11 @@ Error - Error + Error Expand card - Expand card + Karte erweitern Memory @@ -184,7 +184,7 @@ Mount Path - Mount Path + Mount Path CPU requirement (cores) @@ -204,19 +204,19 @@ Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + Lokale Einstellungen werden in Cookies innerhalb des Browsers gespeichert und werden folglich nicht zwischen verschiedenen Geräten synchronisiert. Änderungen werden automatisch angewendet. Volume Attributes - Volume Attributes + Volume Attribute Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - Geben Sie den YAML- oder JSON-Datei an, welche die Ressource beschreibt, die im Namespace, welcher in der Datei referenziert wird, erzeugt werden soll. + Geben Sie den YAML- oder JSON-Datei an, welche die Ressource beschreibt, die im Namespace, welcher in der Datei referenziert wird, erzeugt werden soll. Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - Unsicherer Zugriff erkannt. Anmeldung nicht verfügbar. Greifen Sie auf das Dashboard gesichert per HTTPS zu oder nutzen Sie localhost. Mehr dazu können Sie hier lesen. + Unsicherer Zugriff erkannt. Anmeldung nicht verfügbar. Greifen Sie auf das Dashboard gesichert per HTTPS zu oder nutzen Sie localhost. Mehr dazu können Sie hier lesen. You do not have required permissions to access this resource. @@ -232,7 +232,7 @@ Stateful Sets - Stateful Sets + Stateful Sets About @@ -252,7 +252,7 @@ Available: - Verfügbar : + Verfügbar : Desired replicas @@ -268,7 +268,7 @@ Deploy - Deploy + Deploy Ingress Classes @@ -276,7 +276,7 @@ Failed: - Fehlgeschlagen: + Fehlgeschlagen: A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - Revisionsverlaufslimit: + Revisionsverlaufslimit: The new namespace will be added to the cluster. @@ -312,7 +312,7 @@ Create from input - Aus Texteingabe erzeugen + Aus Texteingabe erstellen API Groups @@ -320,11 +320,11 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - Die Beschreibung wird als Annotation an das Deployment angefügt und in den Applikationsdetails angezeigt. + Die Beschreibung wird als Annotation an das Deployment angefügt und in den Applikationsdetails angezeigt. Volume ID - Volume ID + Volume ID Machine ID @@ -332,19 +332,19 @@ Memory requirement must be given as a valid number. - Speicheranforderung muss als gültige Zahl angegeben werden. + Speicheranforderung muss als gültige Zahl angegeben werden. Exec Commands - Exec Commands + Exec Commands Add namespaces... - Add namespaces... + Namespaces hinzufügen... The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - Das agegebene Image könnte Pull Secret Anmeldeinformationen benötigen, falls es privat ist. Sie können ein bestehendes Secret wählen oder ein Neues erzeugen. + Das agegebene Image könnte Pull Secret Anmeldeinformationen benötigen, falls es privat ist. Sie können ein bestehendes Secret wählen oder ein Neues erstellen. Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. @@ -356,19 +356,19 @@ iSCSI target lun number - iSCSI target lun number + iSCSI target lun number Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - Ein Applikationsname muss mit einem Kleinbuchstaben beginnen und darf ausschließlich Kleinbuchstaben, Ziffern und '-' zwischen Wörtern enthalten. + Ein Applikationsname muss mit einem Kleinbuchstaben beginnen und darf ausschließlich Kleinbuchstaben, Ziffern und '-' zwischen Wörtern enthalten. Secrets - Secrets + Secrets Unsupported graph type . - Unsupported graph type . + Graphen vom Typ werden nicht unterstützt. Max Replicas @@ -376,7 +376,7 @@ Commands - Commands + Commands A Deployment will be created to maintain the desired number of pods across your cluster. @@ -388,11 +388,11 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - Bitte wählen Sie eine Kubeconfig-Datei, die verwendet werden kann, um auf das Cluster zuzugreifen. Um mehr über die Konfigurationsoption und die allgemeine Benutzung der Kubeconfig-Datei zu erfahren, konsultieren Sie den Abschnitt Zugang zu mehreren Clustern konfigurieren. + Bitte wählen Sie eine Kubeconfig-Datei, die verwendet werden kann, um auf das Cluster zuzugreifen. Um mehr über die Konfigurationsoption und die allgemeine Benutzung der Kubeconfig-Datei zu erfahren, konsultieren Sie den Abschnitt Zugang zu mehreren Clustern konfigurieren. Seccomp Profile Type - Seccomp Profile Type + Seccomp Profile Type Cancel @@ -400,11 +400,11 @@ Target port must be an integer. - Ziel-Port muss ein ganzzahliger Wert sein. + Ziel-Port muss ein ganzzahliger Wert sein. Key - Key + Key Metadata @@ -412,11 +412,11 @@ Updated: - Aktualisiert: + Aktualisiert: Server - Server + Server Service @@ -428,7 +428,7 @@ Logged in with auth header - Logged in with auth header + Angemeldet mit Auth Header Parameters @@ -444,19 +444,19 @@ bytes - bytes + Bytes QoS Class - QoS Class + QoS Class Persistent Volume Claims - Persistent Volume Claims + Persistent Volume Claims Seccomp Localhost Profile - Seccomp Localhost Profile + Seccomp Localhost Profile Old Replica Sets @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - Sind Sie sicher, dass Sie im Namespace löschen möchten? + Sind Sie sicher, dass Sie im Namespace löschen möchten? Memory limits (bytes) @@ -488,19 +488,19 @@ User - User + User Image Pull Secrets - Image Pull Secrets + Image Pull Secrets Image Pull Secrets - Image Pull Secrets + Image Pull Secrets Path Type - Path Type + Pfadtyp Settings have changed since last reload @@ -516,7 +516,7 @@ Overview - Overview + Übersicht Memory Usage (bytes) @@ -524,15 +524,15 @@ Add Namespace - Add Namespace + Namespace hinzufügen Persistent disk name - Persistent disk name + Persistent disk name Driver - Driver + Driver All namespaces @@ -540,7 +540,7 @@ Host links are external links that will be open in a new tab. - Host links are external links that will be open in a new tab. + Host Links sind externe Links, die in einem neuen Tab geöffnet werden. Version @@ -548,11 +548,11 @@ Storage Classes - Storage Classes + Storage Classes Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. + Der ausgewählte Namespace unterscheidet sich vom Namespace der aktuell angewählten Ressource. Namespaces let you partition resources into logically named groups. @@ -560,7 +560,7 @@ Pending: - Pending: + Ausstehend: Concurrency policy @@ -568,7 +568,7 @@ Termination Grace Period (Seconds) - Termination Grace Period (Seconds) + Termination Grace Period (Seconds) Label Selector @@ -576,7 +576,7 @@ Ingress Classes - Ingress Classes + Ingress Classes Succeeded @@ -592,19 +592,19 @@ Language - Sprache + Sprache Do you want to stay on current page and change namespace from to ? - Möchten Sie auf der aktuellen Seite verbleiben und den Namespace von zu ändern? + Möchten Sie auf der aktuellen Seite verbleiben und den Namespace von zu ändern? Source Type - Source Type + Source Type Unavailable: - Nicht verfügbar : + Nicht verfügbar : CPU @@ -612,11 +612,11 @@ File System Type - File System Type + File System Type Sub-object - Sub-object + Sub-Objekt Cluster @@ -628,7 +628,7 @@ Sign out - Sign out + Abmelden Running @@ -640,23 +640,23 @@ {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {Erweiterte Optionen ausblenden} other {Erweiterte Optionen anzeigen}} + {VAR_SELECT, select, true {Erweiterte Optionen ausblenden} other {Erweiterte Optionen anzeigen}} Total: - Gesamt : + Gesamt : Suffix '' not recognized. - Suffix '' not recognized. + Suffix '' wurde nicht erkannt. Port must be greater than 0. - Port muss größer als 0 sein. + Port muss größer als 0 sein. Image - Image + Image Reclaim Policy @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - Der Name muss aus alphanumerischen Zeichen bestehen und darf Bindestriche enthalten. + Der Name muss aus alphanumerischen Zeichen bestehen und darf Bindestriche enthalten. Token @@ -672,15 +672,15 @@ Max unavailable: - Maximal nicht verfügbar: + Maximal nicht verfügbar: Strategy: - Strategie: + Strategie: Close notifications panel - Close notifications panel + Benachrichtigungesbereich schließen will be triggered. @@ -708,15 +708,15 @@ Label Value must not exceed 253 characters. - Der Label Wert sollte nicht länger als 254 Zeichen sein. + Der Label Wert sollte nicht länger als 254 Zeichen sein. Actions - Actions + Aktionen Proc Mount - Proc Mount + Proc Mount Read documentation @@ -724,7 +724,7 @@ List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. + Namespaces die dem Nutzer auch ohne "namespace list"-Privilegien angezeigt werden sollen. Resource Quotas @@ -756,31 +756,31 @@ Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Das Kubernetes-Dashboard wird ermöglicht durch die Dashboard Comnunity als Open-Source-Projekt. + Das Kubernetes-Dashboard wird ermöglicht durch die Dashboard Community als Open-Source-Projekt. Run as User - Run as User + Run as User Name is required. - Ein Name wird benötigt. + Ein Name wird benötigt. Started - Started + Gestartet Source Name - Source Name + Source Name Label value must be alphanumeric separated by '.' , '-' or '_'. - Der Label Wert muss alphanumerisch und durch '.', '-' oder '_' getrennt sein. + Der Label Wert muss alphanumerisch und durch '.', '-' oder '_' getrennt sein. Learn more open_in_new - Mehr erfahren open_in_new + Mehr erfahren open_in_new Learn more open_in_new @@ -804,7 +804,7 @@ Name must be up to characters long. - Der Name darf bis zu Zeichen lang sein. + Der Name darf bis zu Zeichen lang sein. Name must be up to characters long. @@ -816,7 +816,7 @@ Object - Object + Objekt Config Maps @@ -856,15 +856,15 @@ Failure Threshold - Failure Threshold + Failure Threshold Volume Handle - Volume Handle + Volume Handle Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name + Windows GMSA Credential Spec Name Show less @@ -876,7 +876,7 @@ Variable name must be a valid C identifier. - Der Variablenname muss ein gültiger C Bezeichner sein. + Der Variablenname muss ein gültiger C Bezeichner sein. Selector @@ -888,15 +888,15 @@ Local settings - Local settings + Lokale Einstellungen Protocol is required. - Das Protokoll muss angegeben werden. + Das Protokoll muss angegeben werden. Desired: - Gewünscht: + Gewünscht: Session Affinity @@ -904,15 +904,15 @@ Container image is required - Ein Container-Image muss angegeben werden + Ein Container-Image muss angegeben werden CPU requirement must be given as a valid number. - CPU-Anforderung muss als gültive Zahl angegeben werden. + CPU-Anforderung muss als gültive Zahl angegeben werden. Service Port Number - Service Port Number + Service Port Number unset @@ -924,11 +924,11 @@ This action is equivalent to: - This action is equivalent to: + Diese Aktion ist äquivalent zu: Change the language of the dashboard - Ändern Sie die Sprache des Dashboards + Ändern Sie die Sprache des Dashboards Save @@ -940,7 +940,7 @@ Init containers - Init containers + Init containers Exec @@ -948,7 +948,7 @@ Open notifications panel - Open notifications panel + Benachrichtigungsbereich öffnen Replica Sets @@ -956,7 +956,7 @@ Waiting for more data to display chart... - Waiting for more data to display chart... + Warte auf mehr Daten zur Anzeige des Diagramms... An 'app' label with this value will be added to the Deployment and Service that get deployed. @@ -964,7 +964,7 @@ Number of pods must be a positive integer - Anzahl Pods muss ein positiver ganzzahliger Wert sein + Anzahl Pods muss ein positiver ganzzahliger Wert sein Run command arguments @@ -972,7 +972,7 @@ Can't find plugin "" - Can't find plugin "" + Plugin "" konnte nicht gefunden werden Last Seen @@ -980,7 +980,7 @@ Port must be an integer. - Post muss ein ganzzahliger Wert sein. + Post muss ein ganzzahliger Wert sein. Choose YAML or JSON file @@ -996,7 +996,7 @@ Schedule: - Planung: + Planung: Update @@ -1004,7 +1004,7 @@ Arguments - Arguments + Arguments Dependencies @@ -1012,7 +1012,7 @@ Role Bindings - Role Bindings + Role Bindings Config and Storage @@ -1020,7 +1020,7 @@ Probe Period (Seconds) - Probe Period (Seconds) + Probe Period (in Sekunden) Scale resource @@ -1028,11 +1028,11 @@ Port must be less than 65536. - Port muss kleiner als 65536 sein. + Port muss kleiner als 65536 sein. Readiness Probe - Readiness Probe + Readiness Probe CPU limits (cores) @@ -1044,7 +1044,7 @@ Skip - Überspringen + Überspringen Created @@ -1052,11 +1052,11 @@ Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. + Namespace der standardmäßig selektiert werden soll nachdem eine Anmeldung erfolgt ist. Deployment or service with this name already exists within namespace. - Ein Deployment oder Service mit dem angegebenen Namen existiert bereits in diesem Namespace. + Ein Deployment oder Service mit dem angegebenen Namen existiert bereits in diesem Namespace. Storage class @@ -1068,27 +1068,27 @@ Pin resource - Pin resource + Ressource fixieren Config Maps - Config Maps + Config Maps Create a new namespace... - Neuen Namespace erzeugen... + Neuen Namespace erstellen... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. + Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. Completions: - Abschlüsse: + Abschlüsse: in namespace will be restarted. - in namespace will be restarted. + im Namespace wird neu gestartet. Starting deadline seconds @@ -1112,7 +1112,7 @@ Unknown - Unknown + Unbekannt Pin @@ -1124,7 +1124,7 @@ Age: - Alter: + Alter: Edit a resource @@ -1132,7 +1132,7 @@ Roles - Roles + Roles Do you want to save them anyways? @@ -1156,15 +1156,15 @@ Secrets - Secrets + Secrets Kind: - Art: + Art: Namespaces - Namespaces + Namespaces Rules @@ -1176,11 +1176,11 @@ iSCSI Qualified Name - iSCSI Qualified Name + iSCSI Qualified Name Parallelism: - Parallelität: + Parallelität: Environment variables @@ -1192,7 +1192,7 @@ Cluster Roles - Cluster Roles + Cluster Roles Delete resource @@ -1204,7 +1204,7 @@ Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im Namespace, der in der Datei referenziert wird, erstellt werden soll. + Geben Sie den YAML- oder JSON-Inhalt an, der die Ressource beschreibt, die im Namespace, der in der Datei referenziert wird, erstellt werden soll. Reason @@ -1220,7 +1220,7 @@ About - Über + Über Description @@ -1228,7 +1228,7 @@ Settings - Settings + Einstellungen Controlled by @@ -1236,7 +1236,7 @@ SE Linux Role - SE Linux Role + SE Linux Role Trigger resource @@ -1256,19 +1256,19 @@ SE Linux Level - SE Linux Level + SE Linux Level Running: - Läuft: + Läuft: Keyring - Keyring + Keyring IP - IP + IP Memory capacity @@ -1276,7 +1276,7 @@ HTTP Healthcheck URI - HTTP Healthcheck URI + HTTP Healthcheck URI Environment Variables @@ -1288,11 +1288,11 @@ Pods - Pods + Pods Sign in - Sign in + Anmelden Username @@ -1300,11 +1300,11 @@ Upload - Hochladen + Hochladen IP: - IP: + IP: Taints @@ -1312,7 +1312,7 @@ Memory requirement must be given as a positive number. - Speicheranforderung muss als postive Zahl angegeben werden. + Speicheranforderung muss als postive Zahl angegeben werden. CPU capacity @@ -1320,11 +1320,11 @@ Search for - Search for + Nach suchen Cron Jobs - Cron Jobs + Cron Jobs Size: B @@ -1332,7 +1332,7 @@ Choose color theme of the dashboard - Choose color theme of the dashboard + Color Theme des Dashboards auswählen Filter objects by name @@ -1348,7 +1348,7 @@ Allow Privilege Escalation - Allow Privilege Escalation + Allow Privilege Escalation Labels @@ -1360,7 +1360,7 @@ Target port must be less than 65536. - Ziel-Port muss kleiner als 65536 sein. + Ziel-Port muss kleiner als 65536 sein. Invert colors @@ -1376,7 +1376,7 @@ Data is required. - Daten werden benötigt. + Daten werden benötigt. Processes in privileged containers are equivalent to processes running as root on the host. @@ -1388,7 +1388,7 @@ Deployments - Deployments + Deployments Status @@ -1408,15 +1408,15 @@ Create - Erzeugen + Erstellen You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - Sie können eine containerisierte App deployen, einen anderen Namespace auswählen oder die Dashboard-Tour starten open_in_new um mehr zu erfahren. + Sie können eine containerisierte App deployen, einen anderen Namespace auswählen oder die Dashboard-Tour starten open_in_new um mehr zu erfahren. Create a new secret... - Neues Secret erzeugen... + Neues Secret erstellen... Provide feedback @@ -1428,7 +1428,7 @@ Events - Events + Events Storage @@ -1440,11 +1440,11 @@ Add - Add + Hinzufügen No namespaces selected - No namespaces selected + Keine Namespaces ausgewählt Select namespace... @@ -1452,11 +1452,11 @@ Monitors - Monitors + Monitors Ingresses - Ingresses + Ingresses Secret name @@ -1464,7 +1464,7 @@ Shell - Shell + Shell Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. @@ -1472,23 +1472,23 @@ Target World Wide Names - Target World Wide Names + Target World Wide Names Target portal - Target portal + Target portal Filesystem Group Change Policy - Filesystem Group Change Policy + Filesystem Group Change Policy Jobs - Jobs + Jobs Service - Service + Service @@ -1502,15 +1502,15 @@ Liveness Probe - Liveness Probe + Liveness Probe Exit Code - Exit Code + Exit Code Supplemental Groups - Supplemental Groups + Supplemental Groups Subjects @@ -1518,11 +1518,11 @@ Minimize card - Minimize card + Karte minimieren Create a new image pull secret - Neues Image Pull Secert erzeugen + Neues Image Pull Secert erstellen Policy Types @@ -1530,7 +1530,7 @@ Windows Run as User - Windows Run as User + Windows Run as User Show timestamps @@ -1542,15 +1542,15 @@ Path - Path + Pfad Create a new namespace - Neuen Namespace erzeugen + Neuen Namespace erstellen Unpin resource - Unpin resource + Ressource lösen Port @@ -1558,7 +1558,7 @@ Dropped Capabilities - Dropped Capabilities + Dropped Capabilities Subresources @@ -1566,7 +1566,7 @@ Succeeded: - Succeeded: + Erfolgreich: Horizontal Pod Autoscalers @@ -1574,11 +1574,11 @@ Invalid protocol. - Ungültiges Protokoll. + Ungültiges Protokoll. Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" + Dependency "" für Plugin "" konnte nicht gefunden werden The new secret will be added to the cluster @@ -1586,23 +1586,23 @@ Pending: - Ausstehend: + Ausstehend: Cluster - Cluster + Cluster Suspend: - Anhalten: + Anhalten: Security Context - Security Context + Security Context TCP Socket - TCP Socket + TCP Socket Persistent Volumes @@ -1614,7 +1614,7 @@ Min ready seconds: - Minimale Sekunden in Bereitschaft: + Minimale Sekunden in Bereitschaft: Ready @@ -1622,15 +1622,15 @@ HTTP Headers - HTTP Headers + HTTP Headers Sub Path - Sub Path + Sub Path Service Accounts - Service Accounts + Service Accounts Memory capacity (bytes) @@ -1642,7 +1642,7 @@ Items: - Elemente: + Elemente: Network Policies @@ -1666,7 +1666,7 @@ Target port cannot be empty. - Ziel-Port kann nicht weggelassen werden. + Ziel-Port kann nicht weggelassen werden. Kind @@ -1678,7 +1678,7 @@ Lun number - Lun number + Lun number Pod Selector @@ -1686,7 +1686,7 @@ Sign in - Anmelden + Anmelden List Kind @@ -1698,7 +1698,7 @@ Port cannot be empty. - Port kann nicht weggelassen werden. + Port kann nicht weggelassen werden. Quantity @@ -1706,7 +1706,7 @@ Logged in with token - Logged in with token + Angemeldet mit Token Completions @@ -1730,7 +1730,7 @@ Persistent Volumes - Persistent Volumes + Persistent Volumes Containers @@ -1738,7 +1738,7 @@ Workloads - Workloads + Workloads Container image @@ -1746,7 +1746,7 @@ SE Linux User - SE Linux User + SE Linux User Served @@ -1758,7 +1758,7 @@ Name: - Name: + Name: Scale a resource @@ -1770,7 +1770,7 @@ Application name is required. - Ein Applikationsname wird benötigt. + Ein Applikationsname wird benötigt. Full Name @@ -1790,7 +1790,7 @@ Initial Delay (Seconds) - Initial Delay (Seconds) + Initial Delay (in Sekunden) Short Names @@ -1810,19 +1810,19 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - Label Key Namen dürfen ausschließlich aus alphanumerischen Zeichen, getrennt durch '-', '_' oder '.' enthalten, wahlweise mit einem DNS Subdomain Namen und '/' als Präfix. + Label Key Namen dürfen ausschließlich aus alphanumerischen Zeichen, getrennt durch '-', '_' oder '.' enthalten, wahlweise mit einem DNS Subdomain Namen und '/' als Präfix. Pool - Pool + Pool Theme - Theme + Theme Logs from to UTC - Logs from to UTC + Logs von bis UTC in @@ -1846,11 +1846,11 @@ Max surge: - Maximaler Anstieg: + Maximaler Anstieg: Success Threshold - Success Threshold + Success Threshold Host @@ -1862,11 +1862,11 @@ Custom Resource Definitions - Custom Resource Definitions + Custom Resource Definitions Settings - Einstellungen + Einstellungen Updated @@ -1878,7 +1878,7 @@ Shell in in - Shell in in + Shell in in Init Containers @@ -1886,7 +1886,7 @@ Plugins - Plugins + Plugins There is no data to display. @@ -1894,15 +1894,15 @@ Default service account - Default service account + Standard Service Account Config and Storage - Konfiguration und Datenspeicherung + Konfiguration und Datenspeicherung Privileged - Privileged + Privileged Trigger @@ -1910,11 +1910,11 @@ Active Jobs: - Aktive Jobs : + Aktive Jobs : Signal - Signal + Signal Unpin @@ -1922,11 +1922,11 @@ Network Policies - Network Policies + Network Policies Filesystem type - Filesystem type + Filesystem type Logs auto-refresh time interval @@ -1938,11 +1938,11 @@ Run as Non-Root - Run as Non-Root + Run as Non-Root SE Linux Type - SE Linux Type + SE Linux Type Objects @@ -1950,7 +1950,7 @@ Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - Die Einstellung einer hohen Anzahl Pods kann zu Performance-Problemen des Clusters und der grafischen Oberfläche des Dashboards führen. + Die Einstellung einer hohen Anzahl Pods kann zu Performance-Problemen des Clusters und der grafischen Oberfläche des Dashboards führen. Kubernetes Dashboard @@ -1958,7 +1958,7 @@ Namespace: - Namespace: + Namespace: NAMESPACES @@ -1970,11 +1970,11 @@ Pods: - Pods: + Pods: Default Backend - Default Backend + Default Backend Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. @@ -1982,11 +1982,11 @@ Preview - Preview + Vorschau Cancel - Cancel + Abbrechen Disable access denied notification @@ -1994,15 +1994,15 @@ Nodes - Nodes + Nodes Windows GMSA Credential Spec - Windows GMSA Credential Spec + Windows GMSA Credential Spec Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. + Endpoint Links sind externe Links, die in einem neuen Tab geöffnet werden. Last probe time @@ -2010,19 +2010,19 @@ Secret reference name - Secret reference name + Secret Reference Name Dataset name - Dataset name + Dataset name Label Key name should not exceed 63 characters. - Der Label Key Name sollte nicht länger als 63 Zeichen sein. + Der Label Key Name sollte nicht länger als 63 Zeichen sein. Run as Group - Run as Group + Run as Group Pods status @@ -2030,7 +2030,7 @@ Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. + Globale Einstellungen werden in einer Config Map abgelegt und finden damit Anwendung auf alle Instanzen der App. Close @@ -2046,11 +2046,11 @@ Data must be Base64 encoded. - Daten müssen Base64-codiert sein. + Daten müssen Base64-codiert sein. Running: - Running: + Running: CPU capacity (cores) @@ -2066,11 +2066,11 @@ Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - Sellen Sie sicher, dass die Unterstützung für Basic Authentication für das Cluster aktiviert ist. Um mehr über die Konfiguration von Basic Authentication zu erfahren, konsultieren Sie die Abschnitte Authentifizierung und ABAC-Modus. + Sellen Sie sicher, dass die Unterstützung für Basic Authentication für das Cluster aktiviert ist. Um mehr über die Konfiguration von Basic Authentication zu erfahren, konsultieren Sie die Abschnitte Authentifizierung und ABAC-Modus. Create - Create + Erstellen Roles @@ -2078,15 +2078,15 @@ Reload - Reload + Neu laden Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list + Einen Namespace Namen angeben, der zur Namespace Fallback-Liste hinzugefügt werden soll Filesystem Group - Filesystem Group + Filesystem Group Boot ID @@ -2098,7 +2098,7 @@ Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. + Namespace von der Liste entfernen und bestätigen . Persistent Volume Claims @@ -2122,7 +2122,7 @@ Deployments - Deployments + Deployments App name @@ -2138,11 +2138,11 @@ Config And Storage - Config And Storage + Konfiguration und Speicherplatz Container image is invalid: - Das angegebene Container-Image ist ungültig: + Das angegebene Container-Image ist ungültig: Count @@ -2150,7 +2150,7 @@ Replication Controllers - Replication Controllers + Replication Controllers Active @@ -2166,7 +2166,7 @@ Restart a resource - Restart a resource + Ressource neu starten Max surge @@ -2188,17 +2188,17 @@ - + Suspended: - Suspended: + Suspended: Upload - Upload + Hochladen Phase @@ -2210,11 +2210,11 @@ Controller - Controller + Controller will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. + wird aktualisiert, um den gewünschte Replicas-Anzahl widerzuspiegeln. OS Image @@ -2222,7 +2222,7 @@ Download logs file - Download logs file + Logs-Datei herunterladen Endpoints open_in_new @@ -2230,7 +2230,7 @@ Create from form - Aus Formular erzeugen + Aus Formular erstellen Ingress Rules @@ -2246,15 +2246,15 @@ Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - Das Prefix ist kein gültiger DNS Subdomain-Prefix (z.B. meine-domain.com). + Das Prefix ist kein gültiger DNS Subdomain-Prefix (z.B. meine-domain.com). File is ready to download! - File is ready to download! + Datei ist bereit zum Download! Succeeded: - Erfolgreich: + Erfolgreich: Download logs @@ -2262,11 +2262,11 @@ Startup Probe - Startup Probe + Startup Probe Service Name - Service Name + Service Name Namespaced @@ -2274,7 +2274,7 @@ Preview Deployment - Preview Deployment + Vorschau des Deployments Group @@ -2286,7 +2286,7 @@ There are no notifications - There are no notifications + Es gibt keine Benachrichtigungen Type @@ -2294,11 +2294,11 @@ Mounts - Mounts + Mounts Global settings - Global settings + Globale Einstellungen Last Schedule @@ -2314,15 +2314,15 @@ Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - YAML- oder JSON-Datei auswählen, welche die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. + YAML- oder JSON-Datei auswählen, welche die Ressource beschreibt, die im aktuell angewählten Namespace erzeugt werden soll. Status: - Status: + Status: Target port must be greater than 0. - Ziel-Port muss größer als 0 sein. + Ziel-Port muss größer als 0 sein. Nodes @@ -2330,11 +2330,11 @@ Read Only - Read Only + Read Only Started At - Started At + Started At Cluster Roles @@ -2350,7 +2350,7 @@ Replica Sets - Replica Sets + Replica Sets Verbs @@ -2358,7 +2358,7 @@ Path - Path + Pfad Show previous logs @@ -2382,11 +2382,11 @@ Number of pods is required - Anzahl Pods wird benötigt + Anzahl Pods wird benötigt Added Capabilities - Added Capabilities + Added Capabilities Trigger a @@ -2394,7 +2394,7 @@ CPU requirement must be given as a positive number. - CPU-Anforderung muss als postive Ganzzahl angegeben werden. + CPU-Anforderung muss als postive Ganzzahl angegeben werden. Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2402,7 +2402,7 @@ Service Port Name - Service Port Name + Service Port Name Number of seconds between every auto-refresh of logs. @@ -2410,19 +2410,19 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - Der Name muss im Format der DNS Domain Name Syntax sein (z.B. new.image-pull.secret). + Der Name muss im Format der DNS Domain Name Syntax sein (z.B. new.image-pull.secret). Service Account - Service Account + Service Account Timeout (Seconds) - Timeout (Seconds) + Timeout (in Sekunden) Sysctls - Sysctls + Sysctls Source @@ -2430,15 +2430,15 @@ Prefix should not exceed 253 characters. - Das Präfix sollte nicht länger als 253 Zeichen sein. + Das Präfix sollte nicht länger als 253 Zeichen sein. Failed: - Failed: + Fehlgeschlagen: Read only - Read only + Read only Daemon Sets diff --git a/modules/web/i18n/es/messages.es.xlf b/modules/web/i18n/es/messages.es.xlf index 99b02da6b312..0861ed7a7c31 100644 --- a/modules/web/i18n/es/messages.es.xlf +++ b/modules/web/i18n/es/messages.es.xlf @@ -40,7 +40,7 @@ is not unique - no es única + no es única Go to namespace @@ -56,7 +56,7 @@ Service Name - Nombre del Servicio + Nombre del Servicio Memory requirement (MiB) @@ -88,7 +88,7 @@ Cluster Role Bindings - Cluster Role Bindings + Cluster Role Bindings Edit Namespace List @@ -100,7 +100,7 @@ Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - Cada cuenta de servicio tiene un Secret asociado a un Bearer Token que puede usarse para iniciar sesión en el tablero. Para saber más sobre cómo configurar y utilizar Bearer Tokens, referirse a la sección Authentificación. + Cada cuenta de servicio tiene un Secret asociado a un Bearer Token que puede usarse para iniciar sesión en el tablero. Para saber más sobre cómo configurar y utilizar Bearer Tokens, referirse a la sección Authentificación. Non-resource URL @@ -108,7 +108,7 @@ Image: - Imagen : + Imagen : Mount Option(s) @@ -132,7 +132,7 @@ Daemon Sets - Daemon Sets + Daemon Sets Revision history limit @@ -152,7 +152,7 @@ Services - Services + Services UID @@ -192,7 +192,7 @@ TLS Secret - Secreto TLS + Secreto TLS Image Pull Secret @@ -204,7 +204,7 @@ Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Los ajustos locales se guardan en las cookies del navegador, así que no se sincronizan entre multiples dispositivos. Los cambios se aplican en cada cambio. + Los ajustos locales se guardan en las cookies del navegador, así que no se sincronizan entre multiples dispositivos. Los cambios se aplican en cada cambio. Volume Attributes @@ -212,11 +212,11 @@ Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - Seleccciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre especificado en el fichero + Seleccciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre especificado en el fichero Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - Acceso inseguro detectado. Iniciar sesión no estará disponible. Accede al Tablero de forma segura sobre HTTPS o usando localhost. Lee más aquí . + Acceso inseguro detectado. Iniciar sesión no estará disponible. Accede al Tablero de forma segura sobre HTTPS o usando localhost. Lee más aquí . You do not have required permissions to access this resource. @@ -232,7 +232,7 @@ Stateful Sets - Stateful Sets + Stateful Sets About @@ -252,7 +252,7 @@ Available: - Disponibles : + Disponibles : Desired replicas @@ -268,7 +268,7 @@ Deploy - Desplegar + Desplegar Ingress Classes @@ -276,7 +276,7 @@ Failed: - Fallido : + Fallido : A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - Limite de históricos de revisión : + Limite de históricos de revisión : The new namespace will be added to the cluster. @@ -292,13 +292,13 @@ Events - Eventos + Eventos - + @@ -320,7 +320,7 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - La descripción será agregada como una anotación al Deployment y mostrada en los detalles de la aplicación. + La descripción será agregada como una anotación al Deployment y mostrada en los detalles de la aplicación. Volume ID @@ -332,7 +332,7 @@ Memory requirement must be given as a valid number. - El requisito de memoria debe ser un número válido. + El requisito de memoria debe ser un número válido. Exec Commands @@ -360,11 +360,11 @@ Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - El nombre de la aplicación debe iniciar con minúsculas y contener solo letras minúsculas, números y '-' entre palabras. + El nombre de la aplicación debe iniciar con minúsculas y contener solo letras minúsculas, números y '-' entre palabras. Secrets - Secrets + Secrets Unsupported graph type . @@ -388,7 +388,7 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - Por favor, selecciona el fichero kubeconfig que has creado para configurar el acceso al cluster. Para encontrar más información sobre cómo configurar y usar el fichero kubeconfig, referirse a la sección Configurar el acceso a varios clústeres. + Por favor, selecciona el fichero kubeconfig que has creado para configurar el acceso al cluster. Para encontrar más información sobre cómo configurar y usar el fichero kubeconfig, referirse a la sección Configurar el acceso a varios clústeres. Seccomp Profile Type @@ -400,7 +400,7 @@ Target port must be an integer. - El puerto objetivo debe ser un entero. + El puerto objetivo debe ser un entero. Key @@ -412,7 +412,7 @@ Updated: - Actualizado : + Actualizado : Server @@ -452,7 +452,7 @@ Persistent Volume Claims - Persistent Volume Claims + Persistent Volume Claims Seccomp Localhost Profile @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - ¿Estás seguro de querer suprimir de tipo en el espacio de nombre &nbsp;? + ¿Estás seguro de querer suprimir de tipo en el espacio de nombre &nbsp;? Memory limits (bytes) @@ -500,7 +500,7 @@ Path Type - Tipo de ruta + Tipo de ruta Settings have changed since last reload @@ -548,7 +548,7 @@ Storage Classes - Storage Classes + Storage Classes Selected namespace is different than namespace of currently selected resource. @@ -596,7 +596,7 @@ Do you want to stay on current page and change namespace from to ? - ¿Deseas permanecer en la página en curso y modificar el nombre de a ? + ¿Deseas permanecer en la página en curso y modificar el nombre de a ? Source Type @@ -604,7 +604,7 @@ Unavailable: - No disponibles : + No disponibles : CPU @@ -644,7 +644,7 @@ Total: - Total : + Total : Suffix '' not recognized. @@ -652,7 +652,7 @@ Port must be greater than 0. - El puerto debe ser superior a 0. + El puerto debe ser superior a 0. Image @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - El nombre debe ser alfanumérico y puede contener guiones. + El nombre debe ser alfanumérico y puede contener guiones. Token @@ -672,11 +672,11 @@ Max unavailable: - Máx no disponible : + Máx no disponible : Strategy: - Estrategia : + Estrategia : Close notifications panel @@ -708,7 +708,7 @@ Label Value must not exceed 253 characters. - El valor de la etiqueta no dee exceder 253 carácteres. + El valor de la etiqueta no dee exceder 253 carácteres. Actions @@ -740,7 +740,7 @@ Hosts open_in_new - Hosts open_in_new + Hosts open_in_new Namespace @@ -756,7 +756,7 @@ Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - El tablero de Kubernetes es posible gracias a la comunidad Dashboard como un proyecto open source. + El tablero de Kubernetes es posible gracias a la comunidad Dashboard como un proyecto open source. Run as User @@ -764,7 +764,7 @@ Name is required. - El nombre es requerido. + El nombre es requerido. Started @@ -776,11 +776,11 @@ Label value must be alphanumeric separated by '.' , '-' or '_'. - El valor de la etiqueta debe ser alfanumérico separado por '.' , '-' o '_'. + El valor de la etiqueta debe ser alfanumérico separado por '.' , '-' o '_'. Learn more open_in_new - Para saber más open_in_new + Para saber más open_in_new Learn more open_in_new @@ -804,7 +804,7 @@ Name must be up to characters long. - El nombre debe tener hasta carácteres. + El nombre debe tener hasta carácteres. Name must be up to characters long. @@ -836,7 +836,7 @@ Service Port - Puerto del Servicio + Puerto del Servicio Total @@ -876,7 +876,7 @@ Variable name must be a valid C identifier. - El nombre de variable debe ser un identificador C válido. + El nombre de variable debe ser un identificador C válido. Selector @@ -892,11 +892,11 @@ Protocol is required. - El protocolo es requerido. + El protocolo es requerido. Desired: - Deseado: + Deseado: Session Affinity @@ -904,11 +904,11 @@ Container image is required - La imagen del contenedor es requerida + La imagen del contenedor es requerida CPU requirement must be given as a valid number. - el requisito de CPU debe ser un número válido. + el requisito de CPU debe ser un número válido. Service Port Number @@ -924,7 +924,7 @@ This action is equivalent to: - Esta acción es equivalente a: + Esta acción es equivalente a: Change the language of the dashboard @@ -964,7 +964,7 @@ Number of pods must be a positive integer - El número de pods debe ser un entero positivo + El número de pods debe ser un entero positivo Run command arguments @@ -980,7 +980,7 @@ Port must be an integer. - El puerto debe ser un entero. + El puerto debe ser un entero. Choose YAML or JSON file @@ -996,7 +996,7 @@ Schedule: - Planificación: + Planificación: Update @@ -1012,7 +1012,7 @@ Role Bindings - Vinculaciones de roles + Vinculaciones de roles Config and Storage @@ -1028,7 +1028,7 @@ Port must be less than 65536. - El puerto debe ser inferior a 65536. + El puerto debe ser inferior a 65536. Readiness Probe @@ -1044,7 +1044,7 @@ Skip - Saltar + Saltar Created @@ -1056,7 +1056,7 @@ Deployment or service with this name already exists within namespace. - Un Deployment o un service ya exiten con este nombre dentro del espacio de nombre. + Un Deployment o un service ya exiten con este nombre dentro del espacio de nombre. Storage class @@ -1072,19 +1072,19 @@ Config Maps - Config Maps + Config Maps Create a new namespace... - Crear un nuevo espacio de nombre... + Crear un nuevo espacio de nombre... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - Ingresa un contenido YAML O JSON especificando los recursos para crear en el espacio de nombres seleccionado. + Ingresa un contenido YAML O JSON especificando los recursos para crear en el espacio de nombres seleccionado. Completions: - Terminaciones: + Terminaciones: in namespace will be restarted. @@ -1124,7 +1124,7 @@ Age: - Edad : + Edad : Edit a resource @@ -1132,7 +1132,7 @@ Roles - Roles + Roles Do you want to save them anyways? @@ -1160,11 +1160,11 @@ Kind: - Género : + Género : Namespaces - Espacios de Nombre + Espacios de Nombre Rules @@ -1180,7 +1180,7 @@ Parallelism: - Paralelismo: + Paralelismo: Environment variables @@ -1192,7 +1192,7 @@ Cluster Roles - Cluster Roles + Cluster Roles Delete resource @@ -1204,7 +1204,7 @@ Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - Ingresa un contenido YAML O JSON especificando los recursos para crear el espacio de nombre especificado en el fichero. + Ingresa un contenido YAML O JSON especificando los recursos para crear el espacio de nombre especificado en el fichero. Reason @@ -1220,7 +1220,7 @@ About - Acerca de + Acerca de Description @@ -1260,7 +1260,7 @@ Running: - En ejecución: + En ejecución: Keyring @@ -1288,7 +1288,7 @@ Pods - Pods + Pods Sign in @@ -1300,11 +1300,11 @@ Upload - Cargar + Cargar IP: - IP: + IP: Taints @@ -1312,7 +1312,7 @@ Memory requirement must be given as a positive number. - El requisito de memoria debe ser un número positivo. + El requisito de memoria debe ser un número positivo. CPU capacity @@ -1324,7 +1324,7 @@ Cron Jobs - Cron Jobs + Cron Jobs Size: B @@ -1360,7 +1360,7 @@ Target port must be less than 65536. - el puerto objetivo debe ser inferior a 65536. + el puerto objetivo debe ser inferior a 65536. Invert colors @@ -1376,7 +1376,7 @@ Data is required. - Los datos son requeridos. + Los datos son requeridos. Processes in privileged containers are equivalent to processes running as root on the host. @@ -1388,7 +1388,7 @@ Deployments - Deployments + Deployments Status @@ -1412,11 +1412,11 @@ You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - Puedes desplegar una aplicación contenerizada, selecciona otra espacio de nombre select o haz el tour guiado del Dashboard open_in_new para aprender más. + Puedes desplegar una aplicación contenerizada, selecciona otra espacio de nombre select o haz el tour guiado del Dashboard open_in_new para aprender más. Create a new secret... - Crear un nuevo secret... + Crear un nuevo secret... Provide feedback @@ -1452,7 +1452,7 @@ Ingresses - Ingresses + Ingresses Secret name @@ -1480,11 +1480,11 @@ Jobs - Jobs + Jobs Service - Service + Service @@ -1538,7 +1538,7 @@ Path - Ruta + Ruta Create a new namespace @@ -1570,7 +1570,7 @@ Invalid protocol. - Protocolo inválido. + Protocolo inválido. Can't find dependency "" for plugin "" @@ -1582,15 +1582,15 @@ Pending: - Pendiente: + Pendiente: Cluster - Cluster + Cluster Suspend: - Suspendido : + Suspendido : Security Context @@ -1610,7 +1610,7 @@ Min ready seconds: - Segundos mínimos para estar listo : + Segundos mínimos para estar listo : Ready @@ -1626,7 +1626,7 @@ Service Accounts - Cuentas de Servicio + Cuentas de Servicio Memory capacity (bytes) @@ -1638,7 +1638,7 @@ Items: - Elementos: + Elementos: Network Policies @@ -1662,7 +1662,7 @@ Target port cannot be empty. - El puerto objetivo no puede estar vacío. + El puerto objetivo no puede estar vacío. Kind @@ -1682,7 +1682,7 @@ Sign in - Iniciar sesión + Iniciar sesión List Kind @@ -1694,7 +1694,7 @@ Port cannot be empty. - El puerto no puede estar vacío. + El puerto no puede estar vacío. Quantity @@ -1726,7 +1726,7 @@ Persistent Volumes - Volúmenes Persistentes + Volúmenes Persistentes Containers @@ -1734,7 +1734,7 @@ Workloads - Cargas de trabajo + Cargas de trabajo Container image @@ -1754,7 +1754,7 @@ Name: - Nombre: + Nombre: Scale a resource @@ -1766,7 +1766,7 @@ Application name is required. - El nombre de la aplicación es requerido. + El nombre de la aplicación es requerido. Full Name @@ -1806,7 +1806,7 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - El nombre de la clave de la etiqueta debe ser alfanumérico separado por '-', '_' o '.', opcionalmente prefijado por un subdominio DNS y '/'. + El nombre de la clave de la etiqueta debe ser alfanumérico separado por '-', '_' o '.', opcionalmente prefijado por un subdominio DNS y '/'. Pool @@ -1818,7 +1818,7 @@ Logs from to UTC - Logs desde a UTC + Logs desde a UTC in @@ -1842,7 +1842,7 @@ Max surge: - Oleada máxima : + Oleada máxima : Success Threshold @@ -1850,7 +1850,7 @@ Host - Host + Host Restarts @@ -1858,11 +1858,11 @@ Custom Resource Definitions - Definiciones de recursos personalizadas + Definiciones de recursos personalizadas Settings - Ajustes + Ajustes Updated @@ -1874,7 +1874,7 @@ Shell in in - Shell en en + Shell en en Init Containers @@ -1882,7 +1882,7 @@ Plugins - Complementos + Complementos There is no data to display. @@ -1894,7 +1894,7 @@ Config and Storage - Configuración y Almacenamiento + Configuración y Almacenamiento Privileged @@ -1906,7 +1906,7 @@ Active Jobs: - Jobs activos : + Jobs activos : Signal @@ -1918,7 +1918,7 @@ Network Policies - Políticas de Red + Políticas de Red Filesystem type @@ -1946,7 +1946,7 @@ Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - Establecer un número alto de pods puede causar problemas de desempeño del clúster y la UI del Dashboard. + Establecer un número alto de pods puede causar problemas de desempeño del clúster y la UI del Dashboard. Kubernetes Dashboard @@ -1954,7 +1954,7 @@ Namespace: - Espacio de nombre: + Espacio de nombre: NAMESPACES @@ -1966,7 +1966,7 @@ Pods: - Pods: + Pods: Default Backend @@ -1990,7 +1990,7 @@ Nodes - Nodos + Nodos Windows GMSA Credential Spec @@ -2014,7 +2014,7 @@ Label Key name should not exceed 63 characters. - El nombre de la clave no debe exceder 63 carácteres. + El nombre de la clave no debe exceder 63 carácteres. Run as Group @@ -2042,7 +2042,7 @@ Data must be Base64 encoded. - Los datos deben estar codificados en Base64. + Los datos deben estar codificados en Base64. Running: @@ -2062,7 +2062,7 @@ Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - Asegúrate que el soporte para la autenticación básica está habilitada en el clúster. Para encontrar información sobre cómo configurar la autenticación básica, referirse a las secciones Autenticarse y Modo ABAC. + Asegúrate que el soporte para la autenticación básica está habilitada en el clúster. Para encontrar información sobre cómo configurar la autenticación básica, referirse a las secciones Autenticarse y Modo ABAC. Create @@ -2138,7 +2138,7 @@ Container image is invalid: - La imagen del contenedor es inválida : + La imagen del contenedor es inválida : Count @@ -2146,7 +2146,7 @@ Replication Controllers - Controladores de Replicación + Controladores de Replicación Active @@ -2184,7 +2184,7 @@ - + @@ -2222,7 +2222,7 @@ Endpoints open_in_new - Endpoints open_in_new + Endpoints open_in_new Create from form @@ -2242,7 +2242,7 @@ Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - El prefijo no es un prefijo de subdominio DNS válido (ej. my-domain.com). + El prefijo no es un prefijo de subdominio DNS válido (ej. my-domain.com). File is ready to download! @@ -2250,7 +2250,7 @@ Succeeded: - Exitosos : + Exitosos : Download logs @@ -2310,15 +2310,15 @@ Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - Selecciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre seleccionado. + Selecciona un fichero YAML o JSON especificando los recursos a desplegar en el espacio de nombre seleccionado. Status: - Estado: + Estado: Target port must be greater than 0. - El puerto objetivo debe ser mayor que 0. + El puerto objetivo debe ser mayor que 0. Nodes @@ -2346,7 +2346,7 @@ Replica Sets - Replica Sets + Replica Sets Verbs @@ -2378,7 +2378,7 @@ Number of pods is required - El número de pods es requerido + El número de pods es requerido Added Capabilities @@ -2390,7 +2390,7 @@ CPU requirement must be given as a positive number. - El requisito de CPU debe ser un número positivo. + El requisito de CPU debe ser un número positivo. Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2406,7 +2406,7 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - El nombre debe seguir la sintaxis de nombre de dominio DNS (ej. new.image-pull.secret) + El nombre debe seguir la sintaxis de nombre de dominio DNS (ej. new.image-pull.secret) Service Account @@ -2426,7 +2426,7 @@ Prefix should not exceed 253 characters. - El prefijo no debe exceder 253 carácteres. + El prefijo no debe exceder 253 carácteres. Failed: diff --git a/modules/web/i18n/fr/messages.fr.xlf b/modules/web/i18n/fr/messages.fr.xlf index f2097c6fbb2a..fca81e9de016 100644 --- a/modules/web/i18n/fr/messages.fr.xlf +++ b/modules/web/i18n/fr/messages.fr.xlf @@ -40,7 +40,7 @@ is not unique - n'est pas unique + n'est pas unique Go to namespace @@ -100,7 +100,7 @@ Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - Chaque compte de service a un Secret associé avec un jeton porteur (Bearer Token) valide qui peut être utilisé pour se connecter au Dashboard. Pour en savoir plus sur la façon de configurer et utiliser des jetons porteurs, veuillez vous référer à la section Authentification. + Chaque compte de service a un Secret associé avec un jeton porteur (Bearer Token) valide qui peut être utilisé pour se connecter au Dashboard. Pour en savoir plus sur la façon de configurer et utiliser des jetons porteurs, veuillez vous référer à la section Authentification. Non-resource URL @@ -108,7 +108,7 @@ Image: - Image : + Image : Mount Option(s) @@ -212,7 +212,7 @@ Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - Sélectionnez un fichier YAML ou JSON spécifiant les ressources à déployer dans l'espace de nom spécifié dans le fichier. + Sélectionnez un fichier YAML ou JSON spécifiant les ressources à déployer dans l'espace de nom spécifié dans le fichier. Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . @@ -252,7 +252,7 @@ Available: - Disponibles : + Disponibles : Desired replicas @@ -268,7 +268,7 @@ Deploy - Déployer + Déployer Ingress Classes @@ -276,7 +276,7 @@ Failed: - Échoués : + Échoués : A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - Limite d'historiques de révision : + Limite d'historiques de révision : The new namespace will be added to the cluster. @@ -320,7 +320,7 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - La description sera rajoutée comme annotation au déploiement et ajoutée dans les détails de l'application. + La description sera rajoutée comme annotation au déploiement et ajoutée dans les détails de l'application. Volume ID @@ -332,7 +332,7 @@ Memory requirement must be given as a valid number. - L'exigence mémoire doit être un nombre valide. + L'exigence mémoire doit être un nombre valide. Exec Commands @@ -360,7 +360,7 @@ Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - Le nom de l'application doit commencer avec une lettre minuscule et contenir uniquement des lettres minuscules, des nombres, et des '-' entre les mots. + Le nom de l'application doit commencer avec une lettre minuscule et contenir uniquement des lettres minuscules, des nombres, et des '-' entre les mots. Secrets @@ -388,7 +388,7 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - Veuillez sélectionner le fichier kubeconfig que vous avez créé pour accéder au cluster. Pour en savoir plus sur la façon de configurer et utiliser un fichier kubeconfig, veuillez vous référer à la section Configurer l'accès à plusieurs clusters. + Veuillez sélectionner le fichier kubeconfig que vous avez créé pour accéder au cluster. Pour en savoir plus sur la façon de configurer et utiliser un fichier kubeconfig, veuillez vous référer à la section Configurer l'accès à plusieurs clusters. Seccomp Profile Type @@ -400,7 +400,7 @@ Target port must be an integer. - Le port cible doit être un entier. + Le port cible doit être un entier. Key @@ -412,7 +412,7 @@ Updated: - Mis à jour : + Mis à jour : Server @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - Êtes-vous sûr de vouloir supprimer de genre de l'espace de nom &nbsp;? + Êtes-vous sûr de vouloir supprimer de genre de l'espace de nom &nbsp;? Memory limits (bytes) @@ -596,7 +596,7 @@ Do you want to stay on current page and change namespace from to ? - Désirez-vous rester sur la page en cours et modifier l'espace de nom de à ? + Désirez-vous rester sur la page en cours et modifier l'espace de nom de à ? Source Type @@ -604,7 +604,7 @@ Unavailable: - Non disponibles : + Non disponibles : CPU @@ -644,7 +644,7 @@ Total: - Total : + Total : Suffix '' not recognized. @@ -652,7 +652,7 @@ Port must be greater than 0. - Le port doit être supérieur à 0. + Le port doit être supérieur à 0. Image @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - Le nom doit être alphanumérique et peut contenir des tirets. + Le nom doit être alphanumérique et peut contenir des tirets. Token @@ -672,11 +672,11 @@ Max unavailable: - Non disponibles max : + Non disponibles max : Strategy: - Stratégie : + Stratégie : Close notifications panel @@ -708,7 +708,7 @@ Label Value must not exceed 253 characters. - La valeur de l'étiquette ne doit pas excéder 253 caractères. + La valeur de l'étiquette ne doit pas excéder 253 caractères. Actions @@ -756,7 +756,7 @@ Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Kubernetes Dashboard est rendu possible par la communauté Dashboard comme un projet open source. + Kubernetes Dashboard est rendu possible par la communauté Dashboard comme un projet open source. Run as User @@ -764,7 +764,7 @@ Name is required. - Le nom est requis. + Le nom est requis. Started @@ -776,11 +776,11 @@ Label value must be alphanumeric separated by '.' , '-' or '_'. - La valeur de l'étiquette doit être alphanumérique séparé par '.' , '-' ou '_'. + La valeur de l'étiquette doit être alphanumérique séparé par '.' , '-' ou '_'. Learn more open_in_new - En savoir plus open_in_new + En savoir plus open_in_new Learn more open_in_new @@ -804,7 +804,7 @@ Name must be up to characters long. - Le nom ne doit pas dépasser caractères. + Le nom ne doit pas dépasser caractères. Name must be up to characters long. @@ -876,7 +876,7 @@ Variable name must be a valid C identifier. - Le nom de variable doit être un identifiant C valide. + Le nom de variable doit être un identifiant C valide. Selector @@ -892,11 +892,11 @@ Protocol is required. - Le protocole est requis. + Le protocole est requis. Desired: - Désirés : + Désirés : Session Affinity @@ -904,11 +904,11 @@ Container image is required - L'image du conteneur est requise + L'image du conteneur est requise CPU requirement must be given as a valid number. - L'exigence CPU doit être un nombre valide. + L'exigence CPU doit être un nombre valide. Service Port Number @@ -964,7 +964,7 @@ Number of pods must be a positive integer - Le nombre de pods doit être un entier positif + Le nombre de pods doit être un entier positif Run command arguments @@ -980,7 +980,7 @@ Port must be an integer. - Le port doit être un entier. + Le port doit être un entier. Choose YAML or JSON file @@ -996,7 +996,7 @@ Schedule: - Planning: + Planning: Update @@ -1028,7 +1028,7 @@ Port must be less than 65536. - Le port doit être inférieur à 65536. + Le port doit être inférieur à 65536. Readiness Probe @@ -1044,7 +1044,7 @@ Skip - Passer + Passer Created @@ -1056,7 +1056,7 @@ Deployment or service with this name already exists within namespace. - Un déploiement ou un service ayant ce nom existe déjà dans l'espace de nom. + Un déploiement ou un service ayant ce nom existe déjà dans l'espace de nom. Storage class @@ -1076,15 +1076,15 @@ Create a new namespace... - Créer un nouvel espace de nom... + Créer un nouvel espace de nom... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom sélectionné. + Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom sélectionné. Completions: - Achevés : + Achevés : in namespace will be restarted. @@ -1124,7 +1124,7 @@ Age: - Âge : + Âge : Edit a resource @@ -1160,7 +1160,7 @@ Kind: - Genre : + Genre : Namespaces @@ -1180,7 +1180,7 @@ Parallelism: - Parallélisme : + Parallélisme : Environment variables @@ -1204,7 +1204,7 @@ Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom spécifié dans le contenu. + Entrez un contenu YAML ou JSON spécifiant les ressources à créer dans l'espace de nom spécifié dans le contenu. Reason @@ -1260,7 +1260,7 @@ Running: - En fonctionnement : + En fonctionnement : Keyring @@ -1300,11 +1300,11 @@ Upload - Télécharger + Télécharger IP: - IP: + IP: Taints @@ -1312,7 +1312,7 @@ Memory requirement must be given as a positive number. - L'exigence mémoire doit être un nombre positif. + L'exigence mémoire doit être un nombre positif. CPU capacity @@ -1360,7 +1360,7 @@ Target port must be less than 65536. - Le port cible doit être inférieur à 65536. + Le port cible doit être inférieur à 65536. Invert colors @@ -1376,7 +1376,7 @@ Data is required. - Les données sont requises. + Les données sont requises. Processes in privileged containers are equivalent to processes running as root on the host. @@ -1416,7 +1416,7 @@ Create a new secret... - Créer un nouveau secret... + Créer un nouveau secret... Provide feedback @@ -1570,7 +1570,7 @@ Invalid protocol. - Protocole invalide. + Protocole invalide. Can't find dependency "" for plugin "" @@ -1582,7 +1582,7 @@ Pending: - En attente : + En attente : Cluster @@ -1590,7 +1590,7 @@ Suspend: - Suspendu : + Suspendu : Security Context @@ -1610,7 +1610,7 @@ Min ready seconds: - Secondes minimales prêt : + Secondes minimales prêt : Ready @@ -1638,7 +1638,7 @@ Items: - Éléments : + Éléments : Network Policies @@ -1662,7 +1662,7 @@ Target port cannot be empty. - Le port cible ne peut pas être vide. + Le port cible ne peut pas être vide. Kind @@ -1682,7 +1682,7 @@ Sign in - Connexion + Connexion List Kind @@ -1694,7 +1694,7 @@ Port cannot be empty. - Le port ne peut pas être vide. + Le port ne peut pas être vide. Quantity @@ -1754,7 +1754,7 @@ Name: - Nom : + Nom : Scale a resource @@ -1766,7 +1766,7 @@ Application name is required. - Le nom de l'application est requis. + Le nom de l'application est requis. Full Name @@ -1806,7 +1806,7 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - Le nom de la clé de l'étiquette doit être alphanumérique séparé par '-', '_' ou '.', optionnellement préfixé par un sous-domaine DNS et '/'. + Le nom de la clé de l'étiquette doit être alphanumérique séparé par '-', '_' ou '.', optionnellement préfixé par un sous-domaine DNS et '/'. Pool @@ -1842,7 +1842,7 @@ Max surge: - Augmentation max : + Augmentation max : Success Threshold @@ -1874,7 +1874,7 @@ Shell in in - Shell dans dans + Shell dans dans Init Containers @@ -1906,7 +1906,7 @@ Active Jobs: - Jobs actifs : + Jobs actifs : Signal @@ -1946,7 +1946,7 @@ Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - Définir un grand nombre de pods peut entaîner des problèmes de performance du cluster et de l'UI Dashboard. + Définir un grand nombre de pods peut entaîner des problèmes de performance du cluster et de l'UI Dashboard. Kubernetes Dashboard @@ -1954,7 +1954,7 @@ Namespace: - Espace de nom : + Espace de nom : NAMESPACES @@ -1966,7 +1966,7 @@ Pods: - Pods : + Pods : Default Backend @@ -2014,7 +2014,7 @@ Label Key name should not exceed 63 characters. - Le nom de la clé de l'étiquette ne doit pas excéder 63 caractères. + Le nom de la clé de l'étiquette ne doit pas excéder 63 caractères. Run as Group @@ -2042,7 +2042,7 @@ Data must be Base64 encoded. - Les données doivent être encodées en Base64. + Les données doivent être encodées en Base64. Running: @@ -2062,7 +2062,7 @@ Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - Assurez-vous que le support pour l'authentification Basic est activéde pour le cluster. Pour en savoir plus sur la façon de configurer l'authentification Basic, veuillez vous référer aux sections S'authentifier et Mode ABAC. + Assurez-vous que le support pour l'authentification Basic est activéde pour le cluster. Pour en savoir plus sur la façon de configurer l'authentification Basic, veuillez vous référer aux sections S'authentifier et Mode ABAC. Create @@ -2134,7 +2134,7 @@ Container image is invalid: - L'image du conteneur n'est pas valide : + L'image du conteneur n'est pas valide : Count @@ -2238,7 +2238,7 @@ Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - Le préfixe n'est pas un préfixe de sous-domaine DNS valide (par ex. mon-domaine.com). + Le préfixe n'est pas un préfixe de sous-domaine DNS valide (par ex. mon-domaine.com). File is ready to download! @@ -2246,7 +2246,7 @@ Succeeded: - Réussis : + Réussis : Download logs @@ -2306,15 +2306,15 @@ Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - Sélectionnez un fichier YAML ou JSON file spécifiant les ressources à déployer dans l'espace de nom sélectionné. + Sélectionnez un fichier YAML ou JSON file spécifiant les ressources à déployer dans l'espace de nom sélectionné. Status: - Statut : + Statut : Target port must be greater than 0. - Le port cible doit être supérieur à 0. + Le port cible doit être supérieur à 0. Nodes @@ -2374,7 +2374,7 @@ Number of pods is required - Le nombre de pods est requis + Le nombre de pods est requis Added Capabilities @@ -2386,7 +2386,7 @@ CPU requirement must be given as a positive number. - L'exigence CPU doit être un nombre positif. + L'exigence CPU doit être un nombre positif. Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2402,7 +2402,7 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - Le nom doit suivre la syntaxe d'un nom de domaine DNS (par ex. new.image-pull.secret). + Le nom doit suivre la syntaxe d'un nom de domaine DNS (par ex. new.image-pull.secret). Service Account @@ -2422,7 +2422,7 @@ Prefix should not exceed 253 characters. - Le préfixe ne doit pas excéder 253 caractères. + Le préfixe ne doit pas excéder 253 caractères. Failed: diff --git a/modules/web/i18n/ja/messages.ja.xlf b/modules/web/i18n/ja/messages.ja.xlf index fdcd0b4b1df0..84ff0a86a96d 100644 --- a/modules/web/i18n/ja/messages.ja.xlf +++ b/modules/web/i18n/ja/messages.ja.xlf @@ -24,11 +24,11 @@ Resource Information - Resource Information + リソース情報 Ingress Class Name - Ingress Class Name + イングレスクラス名 Number of pods @@ -36,11 +36,11 @@ Refresh - Refresh + 再読込 is not unique - は一意ではありません + は一意ではありません Go to namespace @@ -56,7 +56,7 @@ Service Name - サービス名 + サービス名 Memory requirement (MiB) @@ -64,7 +64,7 @@ Role Reference - Role Reference + ロール参照 Endpoints @@ -76,11 +76,11 @@ Read Only Filesystem - Read Only Filesystem + 読み取り専用ファイルシステム Partition - Partition + パーティション Restart @@ -88,19 +88,19 @@ Cluster Role Bindings - クラスターロールバインディング + クラスターロールバインディング Edit Namespace List - Edit Namespace List + ネームスペース一覧の編集 New Replica Set - New Replica Set + 新しいレプリカセット Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - すべてのサービスアカウントには、ダッシュボードのログインに使用できる有効なベアラートークンを持つシークレットがあります。ベアラートークンの設定方法や使用方法についてもっと知るためには、 Authentication セクションを参照してください。 + すべてのサービスアカウントには、ダッシュボードのログインに使用できる有効なベアラートークンを持つシークレットがあります。ベアラートークンの設定方法や使用方法についてもっと知るためには、 Authentication セクションを参照してください。 Non-resource URL @@ -108,7 +108,7 @@ Image: - イメージ: + イメージ: Mount Option(s) @@ -120,7 +120,7 @@ Init images - Init images + 初期イメージ Ingresses @@ -132,11 +132,11 @@ Daemon Sets - デーモンセット + デーモンセット Revision history limit - Revision history limit + 改版履歴上限 Password @@ -148,11 +148,11 @@ Data - Data + データ Services - サービス + サービス UID @@ -164,7 +164,7 @@ Volume Name - Volume Name + ボリューム名 Hides all access denied warnings in the notification panel. @@ -180,7 +180,7 @@ Memory - Memory + メモリー Mount Path @@ -192,7 +192,7 @@ TLS Secret - TLS 鍵 + TLS 鍵 Image Pull Secret @@ -200,23 +200,23 @@ Strategy - Strategy + ストラテジー Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - ローカル設定はブラウザのクッキーに保存されるので、複数のデバイス間で同期されません。変更は自動的に適用されます。 + ローカル設定はブラウザのクッキーに保存されるので、複数のデバイス間で同期されません。変更は自動的に適用されます。 Volume Attributes - Volume Attributes + ボリューム属性 Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - ファイルに指定されたネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 + ファイルに指定されたネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - 安全でないアクセスを検知しました。サインインは無効になります。HTTPS 経由、あるいは localhost を使用してダッシュボードに安全にアクセスしてください。詳細は、 ここ を参照してください。 + 安全でないアクセスを検知しました。サインインは無効になります。HTTPS 経由、あるいは localhost を使用してダッシュボードに安全にアクセスしてください。詳細は、 ここ を参照してください。 You do not have required permissions to access this resource. @@ -232,15 +232,15 @@ Stateful Sets - ステートフルセット + ステートフルセット About - About + Kubernetes Dashboard について Custom Resource Definitions - Custom Resource Definitions + カスタムリソース定義 External Endpoints @@ -252,7 +252,7 @@ Available: - 利用可能: + 利用可能: Desired replicas @@ -264,19 +264,19 @@ Rolling update strategy - Rolling update strategy + ローリングアップデートストラテジー Deploy - デプロイ + デプロイ Ingress Classes - Ingress Classes + イングレスクラス Failed: - 失敗: + 失敗: A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - 改版履歴上限: + 改版履歴上限: The new namespace will be added to the cluster. @@ -292,23 +292,23 @@ Events - イベント + イベント - + Min ready seconds - Min ready seconds + 最小準備秒数 Categories - Categories + カテゴリー Create from input @@ -320,19 +320,19 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - 説明はデプロイメントのアノテーションとして追加され、アプリケーションの詳細に表示されます。 + 説明はデプロイメントのアノテーションとして追加され、アプリケーションの詳細に表示されます。 Volume ID - Volume ID + ボリューム ID Machine ID - Machine ID + マシン ID Memory requirement must be given as a valid number. - メモリー要件は有効な数で指定してください。 + メモリー要件は有効な数で指定してください。 Exec Commands @@ -356,19 +356,19 @@ iSCSI target lun number - iSCSI target lun number + iSCSI ターゲット lun 番号 Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - アプリケーション名は小文字で始まり、小文字、数字、および '-' からなる必要があります。 + アプリケーション名は小文字で始まり、小文字、数字、および '-' からなる必要があります。 Secrets - シークレット + シークレット Unsupported graph type . - は無効なグラフタイプです。 + は無効なグラフ種別です。 Max Replicas @@ -388,11 +388,11 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - クラスターにアクセスするために作成した kubeconfig ファイルを選択してください。kubeconfig ファイルの設定方法や使用方法についてもっと知るためには、 Configure Access to Multiple Clusters セクションを参照してください。 + クラスターにアクセスするために作成した kubeconfig ファイルを選択してください。kubeconfig ファイルの設定方法や使用方法についてもっと知るためには、 Configure Access to Multiple Clusters セクションを参照してください。 Seccomp Profile Type - Seccomp Profile Type + Seccomp プロファイル種別 Cancel @@ -400,7 +400,7 @@ Target port must be an integer. - ターゲットポートは整数で指定してください。 + ターゲットポートは整数で指定してください。 Key @@ -412,11 +412,11 @@ Updated: - 更新済み: + 更新済み: Server - Server + サーバー Service @@ -428,7 +428,7 @@ Logged in with auth header - 認証ヘッダーでログインしました + 認証ヘッダーでログインしました Parameters @@ -444,7 +444,7 @@ bytes - バイト + バイト QoS Class @@ -452,11 +452,11 @@ Persistent Volume Claims - 永続ボリューム要求 + 永続ボリューム要求 Seccomp Localhost Profile - Seccomp Localhost Profile + Seccomp ローカルホストプロファイル Old Replica Sets @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - ネームスペース を本当に削除しますか + ネームスペース を本当に削除しますか Memory limits (bytes) @@ -472,7 +472,7 @@ Delete a resource - Delete a resource + リソースを削除する Versions @@ -488,7 +488,7 @@ User - User + ユーザー Image Pull Secrets @@ -500,11 +500,11 @@ Path Type - パス種別 + パス種別 Settings have changed since last reload - Settings have changed since last reload + 最後の再読込以降に設定が変更されています Resources @@ -512,7 +512,7 @@ Operating system - Operating system + オペレーティングシステム Overview @@ -524,15 +524,15 @@ Add Namespace - Add Namespace + ネームスペースの追加 Persistent disk name - Persistent disk name + 永続ディスク名 Driver - Driver + ドライバー All namespaces @@ -544,15 +544,15 @@ Version - Version + バージョン Storage Classes - ストレージクラス + ストレージクラス Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. + 選択されたネームスペースは、現在選択されているリソースのネームスペースと異なります。 Namespaces let you partition resources into logically named groups. @@ -560,11 +560,11 @@ Pending: - Pending: + 待機中: Concurrency policy - Concurrency policy + 同時実行ポリシー Termination Grace Period (Seconds) @@ -572,11 +572,11 @@ Label Selector - Label Selector + ラベルセレクター Ingress Classes - Ingress Classes + イングレスクラス Succeeded @@ -588,7 +588,7 @@ Parallelism - Parallelism + 並列 Language @@ -596,7 +596,7 @@ Do you want to stay on current page and change namespace from to ? - 現在のページで、ネームスペースを から に変更しますか? + 現在のページで、ネームスペースを から に変更しますか? Source Type @@ -604,15 +604,15 @@ Unavailable: - 利用不可: + 利用不可: CPU - CPU + CPU File System Type - File System Type + ファイルシステム種別 Sub-object @@ -620,7 +620,7 @@ Cluster - Cluster + クラスター Show all @@ -644,15 +644,15 @@ Total: - 合計: + 合計: Suffix '' not recognized. - Suffix '' not recognized. + サフィックス '' が認識できません。 Port must be greater than 0. - ポートは 0 より大きい数を指定してください。 + ポートは 0 より大きい数を指定してください。 Image @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - 名前にはアルファベットと数字、およびダッシュが使用できます。 + 名前にはアルファベットと数字、およびダッシュが使用できます。 Token @@ -672,11 +672,11 @@ Max unavailable: - 最大利用不可: + 最大利用不可: Strategy: - ストラテジー: + ストラテジー: Close notifications panel @@ -700,7 +700,7 @@ Plural - Plural + 複数形 Exec into pod @@ -708,15 +708,15 @@ Label Value must not exceed 253 characters. - ラベルの値は 253 文字を超えてはいけません。 + ラベルの値は 253 文字を超えてはいけません。 Actions - Actions + 操作 Proc Mount - Proc Mount + Proc マウント Read documentation @@ -736,11 +736,11 @@ Max unavailable - Max unavailable + 最大利用不可 Hosts open_in_new - ホスト open_in_new + ホスト open_in_new Namespace @@ -752,19 +752,19 @@ Accepted Names - Accepted Names + 受理された名称 Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Kubernetes Dashboard は、ダッシュボード コミュニティー によって、 オープンソースプロジェクトとして実現されています。 + Kubernetes Dashboard は、ダッシュボード コミュニティー によって、 オープンソースプロジェクトとして実現されています。 Run as User - Run as User + ユーザーとして実行 Name is required. - 名前は必須です。 + 名前は必須です。 Started @@ -776,11 +776,11 @@ Label value must be alphanumeric separated by '.' , '-' or '_'. - ラベルの値は '.'、'-'、あるいは '_' で区切られたアルファベットと数字からなる必要があります。 + ラベルの値は '.'、'-'、あるいは '_' で区切られたアルファベットと数字からなる必要があります。 Learn more open_in_new - もっと詳しく open_in_new + もっと詳しく open_in_new Learn more open_in_new @@ -804,7 +804,7 @@ Name must be up to characters long. - 名前は 文字までです。 + 名前は 文字までです。 Name must be up to characters long. @@ -820,7 +820,7 @@ Config Maps - Config Maps + コンフィグマップ Min Replicas @@ -832,19 +832,19 @@ Container runtime version - Container runtime version + コンテナーランタイムバージョン Service Port - サービスポート + サービスポート Total - Total + 合計 Cluster Role Bindings - Cluster Role Bindings + クラスターロールバインディング Active Jobs @@ -860,11 +860,11 @@ Volume Handle - Volume Handle + ボリュームハンドル Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name + Windows GMSA クレデンシャル仕様名 Show less @@ -876,11 +876,11 @@ Variable name must be a valid C identifier. - 変数名は、有効な C 識別子で指定してください。 + 変数名は、有効な C 識別子で指定してください。 Selector - Selector + セレクター No @@ -888,31 +888,31 @@ Local settings - Local settings + ローカル設定 Protocol is required. - プロトコルは必須です。 + プロトコルは必須です。 Desired: - 要求中: + 要求中: Session Affinity - Session Affinity + セッションアフィニティー Container image is required - コンテナーイメージは必須です + コンテナーイメージは必須です CPU requirement must be given as a valid number. - CPU 要件は有効な数で指定してください。 + CPU 要件は有効な数で指定してください。 Service Port Number - Service Port Number + サービスポート番号 unset @@ -924,7 +924,7 @@ This action is equivalent to: - この操作は次と同等です: + この操作は次と同等です: Change the language of the dashboard @@ -964,7 +964,7 @@ Number of pods must be a positive integer - ポッド数は正の整数で指定してください + ポッド数は正の整数で指定してください Run command arguments @@ -972,7 +972,7 @@ Can't find plugin "" - Can't find plugin "" + プラグイン " が見つかりません" Last Seen @@ -980,7 +980,7 @@ Port must be an integer. - ポートは整数で指定してください。 + ポートは整数で指定してください。 Choose YAML or JSON file @@ -988,7 +988,7 @@ Available - Available + 利用可能 Node @@ -996,7 +996,7 @@ Schedule: - スケジュール: + スケジュール: Update @@ -1012,11 +1012,11 @@ Role Bindings - ロールバインディング + ロールバインディング Config and Storage - Config and Storage + 設定とストレージ Probe Period (Seconds) @@ -1028,7 +1028,7 @@ Port must be less than 65536. - ポートは 65536 より小さい数を指定してください。 + ポートは 65536 より小さい数を指定してください。 Readiness Probe @@ -1044,7 +1044,7 @@ Skip - スキップ + スキップ Created @@ -1056,7 +1056,7 @@ Deployment or service with this name already exists within namespace. - ネームスペース内にこの名前のデプロイメントあるいはサービスが既に存在します。 + ネームスペース内にこの名前のデプロイメントあるいはサービスが既に存在します。 Storage class @@ -1064,7 +1064,7 @@ Role Bindings - Role Bindings + ロールバインディング Pin resource @@ -1072,19 +1072,19 @@ Config Maps - コンフィグマップ + コンフィグマップ Create a new namespace... - 新しいネームスペースの作成... + 新しいネームスペースの作成... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 現在選択されているネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 + 現在選択されているネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 Completions: - 完了: + 完了: in namespace will be restarted. @@ -1092,7 +1092,7 @@ Starting deadline seconds - Starting deadline seconds + 開始期限秒数 Volume @@ -1124,15 +1124,15 @@ Age: - 経過時間: + 経過時間: Edit a resource - Edit a resource + リソースを編集する Roles - ロール + ロール Do you want to save them anyways? @@ -1160,11 +1160,11 @@ Kind: - 種類: + 種類: Namespaces - ネームスペース + ネームスペース Rules @@ -1176,15 +1176,15 @@ iSCSI Qualified Name - iSCSI Qualified Name + iSCSI 修飾名 Parallelism: - 並列: + 並列: Environment variables - Environment variables + 環境変数 Desired @@ -1192,7 +1192,7 @@ Cluster Roles - クラスターロール + クラスターロール Delete resource @@ -1200,11 +1200,11 @@ Architecture - Architecture + アーキテクチャー Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - ファイルに指定されたネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 + ファイルに指定されたネームスペースに作成する、リソースを指定した YAML または JSON コンテンツを入力します。 Reason @@ -1216,11 +1216,11 @@ General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters + Kubernetes クラスター用の汎用 Web ベース UI About - Kubernetes Dashboard について + Kubernetes Dashboard について Description @@ -1228,7 +1228,7 @@ Settings - Settings + 設定 Controlled by @@ -1236,7 +1236,7 @@ SE Linux Role - SE Linux Role + SE Linux ロール Trigger resource @@ -1244,11 +1244,11 @@ Workload Status - Workload Status + ワークロード状態 Singular - Singular + 単数形 Access Modes @@ -1256,15 +1256,15 @@ SE Linux Level - SE Linux Level + SE Linux レベル Running: - 稼働中: + 稼働中: Keyring - Keyring + キーリング IP @@ -1272,7 +1272,7 @@ Memory capacity - Memory capacity + メモリー許容量 HTTP Healthcheck URI @@ -1280,15 +1280,15 @@ Environment Variables - 環境変数 + 環境変数 Addresses - Addresses + アドレス Pods - ポッド + ポッド Sign in @@ -1300,23 +1300,23 @@ Upload - アップロード + アップロード IP: - IP: + IP: Taints - Taints + テイント Memory requirement must be given as a positive number. - メモリー要件は正の整数で指定してください。 + メモリー要件は正の整数で指定してください。 CPU capacity - CPU capacity + CPU 許容量 Search for @@ -1324,7 +1324,7 @@ Cron Jobs - Cron ジョブ + Cron ジョブ Size: B @@ -1348,7 +1348,7 @@ Allow Privilege Escalation - Allow Privilege Escalation + 特権昇格許可 Labels @@ -1356,11 +1356,11 @@ Resource information - Resource information + リソース情報 Target port must be less than 65536. - ターゲットポートは 65536 より小さい数を指定してください。 + ターゲットポートは 65536 より小さい数を指定してください。 Invert colors @@ -1372,11 +1372,11 @@ Scope - Scope + スコープ Data is required. - データが必要です。 + データが必要です。 Processes in privileged containers are equivalent to processes running as root on the host. @@ -1388,7 +1388,7 @@ Deployments - デプロイメント + デプロイメント Status @@ -1396,11 +1396,11 @@ Egress Rules - Egress Rules + イグレスルール Unavailable - Unavailable + 利用不可 Kubeconfig @@ -1408,15 +1408,15 @@ Create - Create + 作成 You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - コンテナー化されたアプリをデプロイ、他のネームスペースを選択、 もっと詳しく知るためにダッシュボードツアーを見学 open_in_new できます。 + コンテナー化されたアプリをデプロイ、他のネームスペースを選択、 もっと詳しく知るためにダッシュボードツアーを見学 open_in_new できます。 Create a new secret... - 新しいシークレットの作成... + 新しいシークレットの作成... Provide feedback @@ -1436,7 +1436,7 @@ Add - Add + 追加 No namespaces selected @@ -1448,11 +1448,11 @@ Monitors - Monitors + モニター Ingresses - イングレス + イングレス Secret name @@ -1468,23 +1468,23 @@ Target World Wide Names - Target World Wide Names + ターゲットワールドワイド名 Target portal - Target portal + ターゲットポータル Filesystem Group Change Policy - Filesystem Group Change Policy + ファイルシステムグループポリシー変更 Jobs - ジョブ + ジョブ Service - サービス + サービス @@ -1506,11 +1506,11 @@ Supplemental Groups - Supplemental Groups + 補足グループ Subjects - Subjects + 対象 Minimize card @@ -1518,15 +1518,15 @@ Create a new image pull secret - Create a new image pull secret + 新しいイメージ取得用シークレットを作成 Policy Types - Policy Types + ポリシー種別 Windows Run as User - Windows Run as User + Windows 実行ユーザー Show timestamps @@ -1538,11 +1538,11 @@ Path - パス + パス Create a new namespace - Create a new namespace + 新しいネームスペースの作成 Unpin resource @@ -1554,15 +1554,15 @@ Dropped Capabilities - Dropped Capabilities + 廃棄機能 Subresources - Subresources + サブリソース Succeeded: - Succeeded: + 成功: Horizontal Pod Autoscalers @@ -1570,11 +1570,11 @@ Invalid protocol. - 無効なプロトコルです。 + 無効なプロトコルです。 Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" + 依存関係 "" for plugin "" が見つかりません The new secret will be added to the cluster @@ -1582,15 +1582,15 @@ Pending: - 待機中: + 待機中: Cluster - クラスター + クラスター Suspend: - 休止中: + 休止中: Security Context @@ -1606,11 +1606,11 @@ System information - System information + システム情報 Min ready seconds: - 最小準備秒数: + 最小準備秒数: Ready @@ -1626,19 +1626,19 @@ Service Accounts - サービスアカウント + サービスアカウント Memory capacity (bytes) - Memory capacity (bytes) + メモリー許容量 (バイト) kubelet version - kubelet version + kubelet バージョン Items: - 項目: + 項目: Network Policies @@ -1662,7 +1662,7 @@ Target port cannot be empty. - ターゲットポートは必須です。 + ターゲットポートは必須です。 Kind @@ -1674,19 +1674,19 @@ Lun number - Lun number + Lun 番号 Pod Selector - Pod Selector + ポッドセレクター Sign in - サインイン + サインイン List Kind - List Kind + 一覧の種類 Run command @@ -1694,7 +1694,7 @@ Port cannot be empty. - ポートは必須です。 + ポートは必須です。 Quantity @@ -1702,11 +1702,11 @@ Logged in with token - トークンでログインしました + トークンでログインしました Completions - Completions + 完了 View logs @@ -1714,19 +1714,19 @@ Provider ID - Provider ID + プロバイダー ID Pod CIDR - Pod CIDR + ポッド CIDR Kernel version - Kernel version + カーネルバージョン Persistent Volumes - 永続ボリューム + 永続ボリューム Containers @@ -1734,7 +1734,7 @@ Workloads - ワークロード + ワークロード Container image @@ -1742,7 +1742,7 @@ SE Linux User - SE Linux User + SE Linux ユーザー Served @@ -1754,7 +1754,7 @@ Name: - 名前: + 名前: Scale a resource @@ -1766,7 +1766,7 @@ Application name is required. - アプリケーション名は必須です。 + アプリケーション名は必須です。 Full Name @@ -1790,11 +1790,11 @@ Short Names - Short Names + 省略名 Delete - Delete + 削除 Namespaces @@ -1806,11 +1806,11 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - ラベルのキー名は、'-'、'_'、あるいは '.' で区切られたアルファベットと数字からなる必要があり、オプションで DNS サブドメイン、あるいは '/' でプレフィックスできます。 + ラベルのキー名は、'-'、'_'、あるいは '.' で区切られたアルファベットと数字からなる必要があり、オプションで DNS サブドメイン、あるいは '/' でプレフィックスできます。 Pool - Pool + プール Theme @@ -1818,7 +1818,7 @@ Logs from to UTC - ログ UTC から まで + ログ UTC から まで in @@ -1826,11 +1826,11 @@ Services - Services + サービス Pods capacity - Pods capacity + ポッド許容量 Max number of items that can be displayed on every list view. @@ -1838,11 +1838,11 @@ Unschedulable - Unschedulable + スケジュール不可 Max surge: - 最大サージ: + 最大サージ: Success Threshold @@ -1850,7 +1850,7 @@ Host - ホスト + ホスト Restarts @@ -1858,15 +1858,15 @@ Custom Resource Definitions - カスタムリソース定義 + カスタムリソース定義 Settings - 設定 + 設定 Updated - Updated + 更新済み Failed @@ -1874,7 +1874,7 @@ Shell in in - のシェル + のシェル Init Containers @@ -1882,7 +1882,7 @@ Plugins - プラグイン + プラグイン There is no data to display. @@ -1890,15 +1890,15 @@ Default service account - デフォルトサービスアカウント + デフォルトサービスアカウント Config and Storage - 設定とストレージ + 設定とストレージ Privileged - Privileged + 特権 Trigger @@ -1906,7 +1906,7 @@ Active Jobs: - 稼働中のジョブ: + 稼働中のジョブ: Signal @@ -1918,11 +1918,11 @@ Network Policies - ネットワークポリシー + ネットワークポリシー Filesystem type - Filesystem type + ファイルシステム種別 Logs auto-refresh time interval @@ -1930,15 +1930,15 @@ kube-proxy version - kube-proxy version + kube-proxy バージョン Run as Non-Root - Run as Non-Root + 非 root ユーザーとして実行 SE Linux Type - SE Linux Type + SE Linux 種別 Objects @@ -1946,15 +1946,15 @@ Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 大きなポッド数を設定すると、クラスターやダッシュボードの性能問題を引き起こす可能性があります。 + 大きなポッド数を設定すると、クラスターやダッシュボードの性能問題を引き起こす可能性があります。 Kubernetes Dashboard - Kubernetes Dashboard + Kubernetes Dashboard Namespace: - ネームスペース: + ネームスペース: NAMESPACES @@ -1962,15 +1962,15 @@ Edit - Edit + 編集 Pods: - ポッド: + ポッド: Default Backend - Default Backend + デフォルトバックエンド Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. @@ -1978,11 +1978,11 @@ Preview - Preview + プレビュー Cancel - Cancel + キャンセル Disable access denied notification @@ -1990,11 +1990,11 @@ Nodes - ノード + ノード Windows GMSA Credential Spec - Windows GMSA Credential Spec + Windows GMSA クレデンシャル仕様 Endpoint links are external links that will be open in a new tab. @@ -2006,19 +2006,19 @@ Secret reference name - Secret reference name + シークレットリファレンス名 Dataset name - Dataset name + データセット名 Label Key name should not exceed 63 characters. - ラベルのキー名は 63 文字を超えてはいけません。 + ラベルのキー名は 63 文字を超えてはいけません。 Run as Group - Run as Group + グループとして実行 Pods status @@ -2026,7 +2026,7 @@ Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. + グローバル設定はコンフィグマップに保存されるので、アプリのすべてのインスタンスに適用されます。 Close @@ -2038,43 +2038,43 @@ Capacity - 容量 + 許容量 Data must be Base64 encoded. - データは Base64 エンコードされている必要があります。 + データは Base64 エンコードされている必要があります。 Running: - Running: + 稼働中: CPU capacity (cores) - CPU capacity (cores) + CPU 許容量 (コア数) Service Accounts - Service Accounts + サービスアカウント Workloads - Workloads + ワークロード Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - ベーシック認証がそのクラスターで有効になっていることを確認してください。ベーシック認証の設定方法についてもっと知るためには、 AuthenticatingABAC Mode セクションを参照してください。 + ベーシック認証がそのクラスターで有効になっていることを確認してください。ベーシック認証の設定方法についてもっと知るためには、 AuthenticatingABAC Mode セクションを参照してください。 Create - Create + 作成 Roles - Roles + ロール Reload - Reload + 再読込 Provide a namespace name that should be added to the namespace fallback list @@ -2082,15 +2082,15 @@ Filesystem Group - Filesystem Group + ファイルシステムグループ Boot ID - Boot ID + ブート ID Replication Controllers - Replication Controllers + レプリケーションコントローラー Remove namespaces from the list and confirm to save the changes. @@ -2122,19 +2122,19 @@ Last schedule - Last schedule + 最後のスケジュール System UUID - System UUID + システム UUID Config And Storage - Config And Storage + 設定とストレージ Container image is invalid: - コンテナーイメージが無効です: + コンテナーイメージが無効です: Count @@ -2142,7 +2142,7 @@ Replication Controllers - レプリケーションコントローラー + レプリケーションコントローラー Active @@ -2162,7 +2162,7 @@ Max surge - Max surge + 最大サージ Annotations @@ -2180,17 +2180,17 @@ - + Suspended: - Suspended: + 休止中: Upload - Upload + アップロード Phase @@ -2198,19 +2198,19 @@ Namespace conflict - Namespace conflict + ネームスペースの競合 Controller - Controller + コントローラー will be updated to reflect the desired replicas count. - は、目標のレプリカ数になるように更新されます。 + は、目標のレプリカ数になるように更新されます。 OS Image - OS Image + OS イメージ Download logs file @@ -2218,7 +2218,7 @@ Endpoints open_in_new - エンドポイント open_in_new + エンドポイント open_in_new Create from form @@ -2226,7 +2226,7 @@ Ingress Rules - Ingress Rules + イングレスルール Pods @@ -2234,11 +2234,11 @@ Stateful Sets - Stateful Sets + ステートフルセット Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - プレフィックスが有効な DNS サブドメインのプレフィックス (例 my-domain.com) ではありません。 + プレフィックスが有効な DNS サブドメインのプレフィックス (例 my-domain.com) ではありません。 File is ready to download! @@ -2246,7 +2246,7 @@ Succeeded: - 成功: + 成功: Download logs @@ -2258,7 +2258,7 @@ Service Name - Service Name + サービス名 Namespaced @@ -2278,7 +2278,7 @@ There are no notifications - There are no notifications + 通知はありません Type @@ -2290,7 +2290,7 @@ Global settings - Global settings + グローバル設定 Last Schedule @@ -2306,15 +2306,15 @@ Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 現在選択されているネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 + 現在選択されているネームスペースにデプロイする、リソースを指定した YAML または JSON ファイルを選択します。 Status: - 状態: + 状態: Target port must be greater than 0. - ターゲットポートは 0 より大きい数を指定してください。 + ターゲットポートは 0 より大きい数を指定してください。 Nodes @@ -2342,7 +2342,7 @@ Replica Sets - レプリカセット + レプリカセット Verbs @@ -2350,7 +2350,7 @@ Path - Path + パス Show previous logs @@ -2362,7 +2362,7 @@ Allocation - Allocation + 割り当て Items per page @@ -2374,19 +2374,19 @@ Number of pods is required - ポッド数は必須です + ポッド数は必須です Added Capabilities - Added Capabilities + 追加機能 Trigger a - のトリガー + のトリガー CPU requirement must be given as a positive number. - CPU 要件は正の整数で指定してください。 + CPU 要件は正の整数で指定してください。 Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2394,7 +2394,7 @@ Service Port Name - Service Port Name + サービスポート名 Number of seconds between every auto-refresh of logs. @@ -2402,7 +2402,7 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名前は DNS ドメイン名の構文に従う必要があります (例 new.image-pull.secret)。 + 名前は DNS ドメイン名の構文に従う必要があります (例 new.image-pull.secret)。 Service Account @@ -2414,7 +2414,7 @@ Sysctls - Sysctls + Sysctl 引数 Source @@ -2422,15 +2422,15 @@ Prefix should not exceed 253 characters. - プレフィックスは 253 文字を超えてはいけません。 + プレフィックスは 253 文字を超えてはいけません。 Failed: - Failed: + 失敗: Read only - Read only + 読み取り専用 Daemon Sets @@ -2438,7 +2438,7 @@ Storage Classes - Storage Classes + ストレージクラス Provisioner diff --git a/modules/web/i18n/ko/messages.ko.xlf b/modules/web/i18n/ko/messages.ko.xlf index 3b988ce5dd7a..7c28a9a1efd5 100644 --- a/modules/web/i18n/ko/messages.ko.xlf +++ b/modules/web/i18n/ko/messages.ko.xlf @@ -8,7 +8,7 @@ Default namespace - Default namespace + 기본 네임스페이스 Logs from @@ -16,7 +16,7 @@ Namespace fallback list - Namespace fallback list + 네임스페이스 예비 목록 Auto-refresh (every s.) @@ -24,11 +24,11 @@ Resource Information - Resource Information + 리소스 정보 Ingress Class Name - Ingress Class Name + 인그레스 클래스 이름 Number of pods @@ -36,27 +36,27 @@ Refresh - Refresh + 새로고침 is not unique - 는 고유하지 않습니다. + 는 고유하지 않습니다. Go to namespace - Go to namespace + 네임스페이스로 이동 Preparing file to download... - Preparing file to download... + 다운로드 준비 중... Age - Age + 실행된 시간 Service Name - Service Name + 서비스 이름 Memory requirement (MiB) @@ -64,11 +64,11 @@ Role Reference - Role Reference + 역할 참조 Endpoints - Endpoints + 엔드포인트 Parameter @@ -80,27 +80,27 @@ Partition - Partition + 파티션 Restart - Restart + 재시작 Cluster Role Bindings - 클러스터 롤 바인딩 + 클러스터 롤 바인딩 Edit Namespace List - Edit Namespace List + 네임스페이스 목록 편집 New Replica Set - New Replica Set + 새 레플리카 셋 Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - 모든 서비스 어카운트는 시크릿을 가지고 있고, 시크릿에는 대시보드에 로그인할 때 사용할 수 있는 유효한 베어러(Bearer) 토큰이 있습니다. 베어러(Bearer) 토큰을 설정 및 사용하는 방법은 인증 섹션에서 알 수 있습니다. + 모든 서비스 어카운트는 시크릿을 가지고 있고, 시크릿에는 대시보드에 로그인할 때 사용할 수 있는 유효한 베어러(Bearer) 토큰이 있습니다. 베어러(Bearer) 토큰을 설정 및 사용하는 방법은 인증 섹션에서 알 수 있습니다. Non-resource URL @@ -108,35 +108,35 @@ Image: - 이미지: + 이미지: Mount Option(s) - Mount Option(s) + 마운트 옵션 Cron Jobs - Cron Jobs + 크론 잡 Init images - Init images + 초기화 이미지 Ingresses - Ingresses + 인그레스 Scale - Scale + 스케일 Daemon Sets - 데몬 셋 + 데몬 셋 Revision history limit - Revision history limit + 리비전 내역 한도(revision history limit) Password @@ -148,15 +148,15 @@ Data - Data + 데이터 Services - 서비스 + 서비스 UID - UID + UID Choose kubeconfig file @@ -164,7 +164,7 @@ Volume Name - Volume Name + 볼륨 이름 Hides all access denied warnings in the notification panel. @@ -172,19 +172,19 @@ Error - Error + 에러 Expand card - Expand card + 확장하여 보기 Memory - Memory + 메모리 Mount Path - Mount Path + 마운트 경로 CPU requirement (cores) @@ -192,7 +192,7 @@ TLS Secret - TLS Secret + TLS 시크릿 Image Pull Secret @@ -200,31 +200,31 @@ Strategy - Strategy + 전략 Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + 로컬 설정은 브라우저 쿠키에 저장되므로 여러 장치 간에 동기화되지 않습니다. 변경사항은 모든 변경사항에 자동으로 적용됩니다. Volume Attributes - Volume Attributes + 볼륨 속성 Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - 파일에 명시된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. + 파일에 명시된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - 안전하지 않은 접근이 탐지되었습니다. 로그인하실 수 없습니다. HTTPS 프로토콜을 통해 또는 localhost를 사용하여 대시보드에 안전하게 접근하세요. 자세한 내용은 여기 에서 확인하세요. + 안전하지 않은 접근이 탐지되었습니다. 로그인하실 수 없습니다. HTTPS 프로토콜을 통해 또는 localhost를 사용하여 대시보드에 안전하게 접근하세요. 자세한 내용은 여기 에서 확인하세요. You do not have required permissions to access this resource. - 이 자원에 접근하기 위해 필요한 권한이 없습니다. + 리소스 접근 권한이 없습니다. Reclaim policy - Reclaim policy + 반환 정책 Cluster name appears in the browser window title if it is set. @@ -232,15 +232,15 @@ Stateful Sets - 스테이트풀 셋 + 스테이트풀 셋 About - About + 소개 Custom Resource Definitions - Custom Resource Definitions + 커스텀 리소스 데피니션 External Endpoints @@ -252,7 +252,7 @@ Available: - 가용한: + 가용 Desired replicas @@ -264,19 +264,19 @@ Rolling update strategy - Rolling update strategy + 롤링 업데이트 정책 Deploy - 디플로이 + 배포 Ingress Classes - Ingress Classes + 인그레스 클래스 Failed: - Failed: + 실패: A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - 개정 내역 한도: + 리비전 내역 한도: The new namespace will be added to the cluster. @@ -292,7 +292,7 @@ Events - Events + 이벤트 @@ -304,11 +304,11 @@ Min ready seconds - Min ready seconds + 최소 준비 시간(초) Categories - Categories + 카테고리들 Create from input @@ -320,55 +320,55 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - 설명은 디플로이먼트에 어노테이션으로 추가될 것이며, 애플리케이션 상세 정보에 표시될 것입니다. + 설명은 디플로이먼트에 어노테이션으로 추가되며, 애플리케이션 상세 정보에 표시됩니다. Volume ID - Volume ID + 볼륨 ID Machine ID - Machine ID + 머신 ID Memory requirement must be given as a valid number. - 메모리 요구 사항은 유효한 숫자로 주어져야 합니다. + 메모리 요구 사항은 유효한 숫자로 주어져야 합니다. Exec Commands - Exec Commands + 실행 명령어 Add namespaces... - Add namespaces... + 네임스페이스 추가... The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 명시된 이미지가 프라이빗 이미지라면 풀(Pull) 시크릿 자격증명이 필요할 것입니다. 사용하고 있는 시크릿을 선택하거나 신규 시크릿을 생성할 수 있습니다. + 명시된 이미지가 프라이빗 이미지라면 풀(Pull) 시크릿 자격증명이 필요합니다. 사용하고 있는 시크릿을 선택하거나 신규 시크릿을 생성할 수 있습니다. Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - 환경 변수는 컨테이너 안에서 사용 가능합니다. 값은 $(변수_이름) 구문을 사용하여 다른 변수를 참조할 수 있습니다. + 환경 변수는 컨테이너 안에서 사용 가능합니다. 값에 $(변수_이름) 구문을 사용하여 변수들을 참조할 수 있습니다. Conditions - Conditions + 조건 iSCSI target lun number - iSCSI target lun number + iSCSI target의 LUN 번호 Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - 애플리케이션 이름은 소문자로 시작해야 하고 소문자, 숫자, 단어 사이의 '-'만 포함할 수 있습니다. + 애플리케이션 이름은 소문자로 시작해야 하고 소문자, 숫자, 단어 사이의 '-'만 포함할 수 있습니다. Secrets - 시크릿 + 시크릿 Unsupported graph type . - Unsupported graph type . + 지원되지 않는 그래프 타입 . Max Replicas @@ -376,11 +376,11 @@ Commands - Commands + 커맨드 A Deployment will be created to maintain the desired number of pods across your cluster. - 클러스터에 의도한 파드의 수를 유지하기 위해서 디플로이먼트가 생성될 것입니다. + 클러스터에 의도한 파드의 수를 유지하기 위해서 디플로이먼트가 생성됩니다. Resource type @@ -388,7 +388,7 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - 클러스터에 접근을 설정하기 위해 생성한 kubeconfig 파일을 선택하세요. kubeconfig 파일을 설정 및 사용하기 위한 방법은 멀티 클러스터에 접근 설정하기 섹션에서 확인할 수 있습니다. + 클러스터에 접근을 설정하기 위해 생성한 kubeconfig 파일을 선택하세요. kubeconfig 파일을 설정 및 사용하기 위한 방법은 멀티 클러스터에 접근 설정하기 섹션에서 확인할 수 있습니다. Seccomp Profile Type @@ -396,27 +396,27 @@ Cancel - Cancel + 취소 Target port must be an integer. - 대상 포트는 정수이어야 합니다. + 대상 포트는 정수이어야 합니다. Key - Key + Metadata - Metadata + 메타데이터 Updated: - 업데이트된: + 업데이트된: Server - Server + 서버 Service @@ -428,7 +428,7 @@ Logged in with auth header - Logged in with auth header + 인증 헤더를 사용하여 로그인: Parameters @@ -444,15 +444,15 @@ bytes - bytes + bytes QoS Class - QoS Class + QoS 클래스 Persistent Volume Claims - 퍼시스턴트 볼륨 클레임 + 퍼시스턴트 볼륨 클레임 Seccomp Localhost Profile @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - 정말로 네임스페이스 in namespace 네임스페이스를 삭제하시겠습니까? + 정말로 네임스페이스의 를 삭제하시겠습니까? Memory limits (bytes) @@ -472,11 +472,11 @@ Delete a resource - Delete a resource + 리소스 삭제 Versions - Versions + 버전 @@ -488,23 +488,23 @@ User - User + 사용자 Image Pull Secrets - Image Pull Secrets + 이미지 풀 시크릿 Image Pull Secrets - Image Pull Secrets + 이미지 풀(Pull) 시크릿 Path Type - Path Type + 경로 유형 Settings have changed since last reload - Settings have changed since last reload + 마지막 재시작 이후로 설정이 변경되었습니다. Resources @@ -512,27 +512,27 @@ Operating system - Operating system + 운영체제 Overview - Overview + 개요 Memory Usage (bytes) - 메모리 사용량(bytes) + 메모리 사용량 (bytes) Add Namespace - Add Namespace + 네임스페이스 추가 Persistent disk name - Persistent disk name + 영구 디스크 이름 Driver - Driver + 드라이버 All namespaces @@ -540,87 +540,87 @@ Host links are external links that will be open in a new tab. - Host links are external links that will be open in a new tab. + 호스트 링크는 새로운 탭에서 열리는 외부 링크입니다. Version - Version + 버전 Storage Classes - 스토리지 클래스 + 스토리지 클래스 Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. + 네임스페이스가 선택한 리소스의 네임스페이스와 다릅니다. Namespaces let you partition resources into logically named groups. - 네임스페이스는 리소스를 논리적으로 명칭된 그룹으로 분할할 수 있습니다. + 네임스페이스는 리소스를 논리적으로 명칭된 그룹으로 분할합니다. Pending: - Pending: + 실행 대기: Concurrency policy - Concurrency policy + 동시성 정책 Termination Grace Period (Seconds) - Termination Grace Period (Seconds) + 종료 유예 기간 (초) Label Selector - Label Selector + 레이블 셀렉터 Ingress Classes - Ingress Classes + 인그레스 클래스 Succeeded - Succeeded + 성공 Yes - Yes + Parallelism - Parallelism + 병렬성 Language - 언어 + 언어 Do you want to stay on current page and change namespace from to ? - 네임스페이스를 에서 로 변경하고 현재 페이지를 유지하시겠습니까? + 네임스페이스를 에서 로 변경하고 현재 페이지를 유지하시겠습니까? Source Type - Source Type + 소스 유형 Unavailable: - 가용하지 않은: + 비가용: CPU - CPU + CPU File System Type - File System Type + 파일 시스템 유형 Sub-object - Sub-object + 서브-오브젝트 Cluster - Cluster + 클러스터 Show all @@ -628,11 +628,11 @@ Sign out - Sign out + 로그아웃 Running - Running + 실행 중 Last transition time @@ -640,23 +640,23 @@ {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {고급 옵션 숨기기} other {고급 옵션 보기}} + {VAR_SELECT, select, true {고급 옵션 숨기기} other {고급 옵션 보기}} Total: - 전체: + 전체: Suffix '' not recognized. - Suffix '' not recognized. + Suffix '' 를 인식할 수 없습니다. Port must be greater than 0. - 포트는 0 보다 높아야 합니다. + 포트는 0 보다 높아야 합니다. Image - Image + 이미지 Reclaim Policy @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - 이름은 영숫자이며 대시(dashes) 기호를 포함할 수 있습니다. + 이름은 영숫자이며 대시(dashes) 기호를 포함할 수 있습니다. Token @@ -672,19 +672,19 @@ Max unavailable: - 최대 비가용(Max unavailable): + 최대 비가용(Max unavailable): Strategy: - 전략: + 전략: Close notifications panel - Close notifications panel + 알림 창 닫기 will be triggered. - 가 작동될 것입니다. + 가 작동됩니다. Number of seconds between every auto-refresh of every resource. Set 0 to disable. @@ -700,15 +700,15 @@ Plural - Plural + 복수형 Exec into pod - 파드에 Exec + 파드 접속 Label Value must not exceed 253 characters. - 레이블 값은 253개의 문자를 초과할 수 없습니다. + 레이블 값은 253개의 문자를 초과할 수 없습니다. Actions @@ -724,11 +724,11 @@ List of namespaces that should be presented to user without namespace list privileges. - List of namespaces that should be presented to user without namespace list privileges. + 네임스페이스 목록 권한이 없는 사용자에게 표시되어야 하는 네임스페이스 목록입니다. Resource Quotas - Resource Quotas + 리소스 쿼터 Jobs @@ -736,11 +736,11 @@ Max unavailable - Max unavailable + 최대 비가용 Hosts open_in_new - Hosts open_in_new + 호스트 open_in_new Namespace @@ -752,11 +752,11 @@ Accepted Names - Accepted Names + 승인된 이름 Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - 쿠버네티스 대시보드는 대시보드 커뮤니티에 의해서 오픈 소스 프로젝트로 구현되었습니다. + 쿠버네티스 대시보드는 대시보드 커뮤니티에 의해서 오픈 소스 프로젝트로 구현되었습니다. Run as User @@ -764,23 +764,23 @@ Name is required. - 이름은 필수 항목입니다. + 이름은 필수 항목입니다. Started - Started + 시작됨 Source Name - Source Name + 소스 이름 Label value must be alphanumeric separated by '.' , '-' or '_'. - 레이블 값은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 합니다. + 레이블 값은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 합니다. Learn more open_in_new - open_in_new 더 배우기 + open_in_new 더 배우기 Learn more open_in_new @@ -800,11 +800,11 @@ Abort - Abort + 중단 Name must be up to characters long. - 이름의 문자 길이는 최대 입니다. + 이름의 문자 길이는 최대 입니다. Name must be up to characters long. @@ -816,11 +816,11 @@ Object - Object + 오브젝트 Config Maps - Config Maps + 컨피그 맵 Min Replicas @@ -832,19 +832,19 @@ Container runtime version - Container runtime version + 컨테이너 런타임 버전 Service Port - Service Port + 서비스 포트 Total - Total + Total Cluster Role Bindings - Cluster Role Bindings + 클러스터 롤 바인딩 Active Jobs @@ -856,11 +856,11 @@ Failure Threshold - Failure Threshold + 실패 임계값 Volume Handle - Volume Handle + 볼륨 핸들 Windows GMSA Credential Spec Name @@ -876,43 +876,43 @@ Variable name must be a valid C identifier. - 변수 이름은 유효한 C 식별자이어야 합니다. + 변수 이름은 유효한 C 식별자이어야 합니다. Selector - Selector + 셀렉터 No - No + 아니오 Local settings - Local settings + 로컬 설정 Protocol is required. - 프로토콜은 필수 사항입니다. + 프로토콜은 필수 사항입니다. Desired: - Desired: + 원하는 상태: Session Affinity - Session Affinity + 세션 어피니티 Container image is required - 컨테이너 이미지는 필수 항목입니다. + 컨테이너 이미지는 필수 항목입니다. CPU requirement must be given as a valid number. - CPU 요구 사항은 유효한 숫자로 주어져야 합니다. + CPU 요구 사항은 유효한 숫자로 주어져야 합니다. Service Port Number - Service Port Number + 서비스 포트 번호 unset @@ -920,19 +920,19 @@ Resource Limits - Resource Limits + 리소스 제한 This action is equivalent to: - This action is equivalent to: + 이 액션은 다음 커맨드와 동일합니다. Change the language of the dashboard - 대시 보드의 언어 변경 + 대시보드의 언어 변경 Save - Save + 저장 Protocol @@ -940,7 +940,7 @@ Init containers - Init containers + 초기화 컨테이너 Exec @@ -948,7 +948,7 @@ Open notifications panel - Open notifications panel + 알림 창 열기 Replica Sets @@ -956,7 +956,7 @@ Waiting for more data to display chart... - Waiting for more data to display chart... + 차트를 표시하기 위해 추가 데이터를 기다리는 중... An 'app' label with this value will be added to the Deployment and Service that get deployed. @@ -964,7 +964,7 @@ Number of pods must be a positive integer - 파드의 수는 양의 정수만 허용됩니다. + 파드의 수는 양의 정수만 허용됩니다. Run command arguments @@ -972,7 +972,7 @@ Can't find plugin "" - Can't find plugin "" + "" 플러그인을 찾을 수 없습니다 Last Seen @@ -980,7 +980,7 @@ Port must be an integer. - 포트는 정수이어야 합니다. + 포트는 정수이어야 합니다. Choose YAML or JSON file @@ -988,7 +988,7 @@ Available - Available + 가용 Node @@ -996,15 +996,15 @@ Schedule: - 스케줄: + 스케줄: Update - Update + 업데이트 Arguments - Arguments + 인자 Dependencies @@ -1012,27 +1012,27 @@ Role Bindings - 롤 바인딩 + 롤 바인딩 Config and Storage - Config and Storage + 컨피그 및 스토리지 Probe Period (Seconds) - Probe Period (Seconds) + 프로브 기간 (초) Scale resource - 스케일 리소스 + 리소스 스케일 Port must be less than 65536. - 포트는 65536 보다 낮아야 합니다. + 포트는 65536 보다 낮아야 합니다. Readiness Probe - Readiness Probe + 준비성 프로브 CPU limits (cores) @@ -1044,7 +1044,7 @@ Skip - 생략 + 생략 Created @@ -1052,47 +1052,47 @@ Namespace that should be selected by default after logging in. - Namespace that should be selected by default after logging in. + 로그인 후 기본적으로 선택해야 하는 네임스페이스입니다. Deployment or service with this name already exists within namespace. - 이 이름은 네임스페이스 내의 디플로이먼트 또는 서비스에서 이미 사용되고 있습니다. + 이 이름은 네임스페이스 내의 디플로이먼트 또는 서비스에서 이미 사용되고 있습니다. Storage class - Storage class + 스토리지 클래스 Role Bindings - Role Bindings + 롤 바인딩 Pin resource - Pin resource + 리소스 고정 Config Maps - 컨피그 맵 + 컨피그 맵 Create a new namespace... - 신규 네임스페이스 생성... + 신규 네임스페이스 생성... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 현재 선택된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. + 현재 선택된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. Completions: - 완료: + 완료: in namespace will be restarted. - in namespace will be restarted. + (네임스페이스 ) 이 재시작 됩니다. Starting deadline seconds - Starting deadline seconds + 시작을 위한 기한(starting deadline seconds) Volume @@ -1100,7 +1100,7 @@ Pending - Pending + 실행 대기 Memory requests (bytes) @@ -1112,7 +1112,7 @@ Unknown - Unknown + 미확인 Pin @@ -1124,23 +1124,23 @@ Age: - 나이: + 나이: Edit a resource - Edit a resource + 리소스 편집 Roles - + Do you want to save them anyways? - 어쨌든 저장하고 싶습니까? + 저장하시겠습니까? Access modes - Access modes + 접근 방식 Default request @@ -1156,19 +1156,19 @@ Secrets - Secrets + 시크릿 Kind: - 종류: + 종류: Namespaces - 네임스페이스 + 네임스페이스 Rules - Rules + 규칙 Claim @@ -1176,23 +1176,23 @@ iSCSI Qualified Name - iSCSI Qualified Name + iSCSI 식별자(IQN) Parallelism: - 병렬성: + 병렬성: Environment variables - Environment variables + 환경 변수들 Desired - Desired + 원하는 상태 Cluster Roles - 클러스터 롤 + 클러스터 롤 Delete resource @@ -1200,11 +1200,11 @@ Architecture - Architecture + 아키텍처 Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - 파일에 명시된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. + 파일에 명시된 네임스페이스에 생성할 리소스를 명시하는 YAML 또는 JSON 내용을 입력하세요. Reason @@ -1216,11 +1216,11 @@ General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters + 쿠버네티스 클러스터를 위한 범용 웹 UI About - 소개 + 소개 Description @@ -1228,15 +1228,15 @@ Settings - Settings + 세팅 Controlled by - Controlled by + 제어됨 SE Linux Role - SE Linux Role + SE 리눅스 롤 Trigger resource @@ -1244,11 +1244,11 @@ Workload Status - Workload Status + 워크로드 상태 Singular - Singular + 단수형 Access Modes @@ -1256,43 +1256,43 @@ SE Linux Level - SE Linux Level + SE 리눅스 레벨 Running: - Running: + 실행 중: Keyring - Keyring + 키링 IP - IP + IP Memory capacity - Memory capacity + 메모리 용량 HTTP Healthcheck URI - HTTP Healthcheck URI + HTTP 헬스체크 URI Environment Variables - Environment Variables + 환경 변수 Addresses - Addresses + 주소 Pods - 파드 + 파드 Sign in - Sign in + 로그인 Username @@ -1300,31 +1300,31 @@ Upload - 업로드 + 업로드 IP: - IP: + IP: Taints - Taints + 테인트 Memory requirement must be given as a positive number. - 메모리 요구 사항은 양의 정수이어야 합니다. + 메모리 요구 사항은 양의 정수이어야 합니다. CPU capacity - CPU capacity + CPU 용량 Search for - Search for + 를 검색합니다. Cron Jobs - 크론 잡 + 크론 잡 Size: B @@ -1332,7 +1332,7 @@ Choose color theme of the dashboard - Choose color theme of the dashboard + 대시보드의 색상 테마 선택 Filter objects by name @@ -1356,11 +1356,11 @@ Resource information - Resource information + 리소스 정보 Target port must be less than 65536. - 대상 포트는 65536 보다 낮아야 합니다. + 대상 포트는 65536 보다 낮아야 합니다. Invert colors @@ -1372,11 +1372,11 @@ Scope - Scope + 범위 Data is required. - 데이터는 필수 항목입니다. + 데이터는 필수 항목입니다. Processes in privileged containers are equivalent to processes running as root on the host. @@ -1388,7 +1388,7 @@ Deployments - 디플로이먼트 + 디플로이먼트 Status @@ -1396,11 +1396,11 @@ Egress Rules - Egress Rules + 이그레스(Egress) 규칙 Unavailable - Unavailable + 비가용 Kubeconfig @@ -1408,15 +1408,15 @@ Create - Create + 생성 You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - 컨테이너화된 앱을 배포하거나, 다른 네임스페이스를 선택하거나 대시보드 투어(Dashboard Tour)를 통해 open_in_new 자세한 내용을 확인할 수 있습니다. + 컨테이너화된 앱을 배포하거나, 다른 네임스페이스를 선택하거나 대시보드 투어(Dashboard Tour)를 통해 open_in_new 자세한 내용을 확인할 수 있습니다. Create a new secret... - 신규 시크릿 생성... + 신규 시크릿 생성... Provide feedback @@ -1424,7 +1424,7 @@ Events - Events + 이벤트 Storage @@ -1436,11 +1436,11 @@ Add - Add + 추가 No namespaces selected - No namespaces selected + 네임스페이스가 선택되지 않았습니다 Select namespace... @@ -1448,11 +1448,11 @@ Monitors - Monitors + 모니터 Ingresses - 인그레스 + 인그레스 Secret name @@ -1460,7 +1460,7 @@ Shell - Shell + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. @@ -1468,11 +1468,11 @@ Target World Wide Names - Target World Wide Names + 대상 월드 와이드 이름 Target portal - Target portal + 대상 포탈 Filesystem Group Change Policy @@ -1480,11 +1480,11 @@ Jobs - + Service - 서비스 + 서비스 @@ -1498,11 +1498,11 @@ Liveness Probe - Liveness Probe + 활성 프로브 Exit Code - Exit Code + 코드 나가기 Supplemental Groups @@ -1514,15 +1514,15 @@ Minimize card - Minimize card + 축소하여 보기 Create a new image pull secret - Create a new image pull secret + 새로운 이미지 풀 시크릿 생성 Policy Types - Policy Types + 정책 유형 Windows Run as User @@ -1538,15 +1538,15 @@ Path - Path + 경로 Create a new namespace - Create a new namespace + 새로운 네임스페이스 만들기 Unpin resource - Unpin resource + 리소스 고정 해제 Port @@ -1558,23 +1558,23 @@ Subresources - Subresources + 하위 리소스 Succeeded: - Succeeded: + 성공: Horizontal Pod Autoscalers - Horizontal Pod Autoscalers + 호레잔틀 파드 오토스케일러 Invalid protocol. - 유효하지 않은 프로토콜. + 유효하지 않은 프로토콜. Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" + "" 플러그인에 대한 "" 종속성을 찾을 수 없습니다. The new secret will be added to the cluster @@ -1582,35 +1582,35 @@ Pending: - Pending: + 실행 대기: Cluster - 클러스터 + 클러스터 Suspend: - 일시 중지(Suspend): + 일시 중지(Suspend): Security Context - Security Context + 보안 컨텍스트 TCP Socket - TCP Socket + TCP 소켓 Persistent Volumes - Persistent Volumes + 퍼시스턴트 볼륨 System information - System information + 시스템 정보 Min ready seconds: - 최소 준비 초(Min ready seconds): + 최소 준비 초(Min ready seconds): Ready @@ -1618,31 +1618,31 @@ HTTP Headers - HTTP Headers + HTTP 헤더 Sub Path - Sub Path + 하위 경로 Service Accounts - 서비스 어카운트 + 서비스 어카운트 Memory capacity (bytes) - Memory capacity (bytes) + 메모리 용량 (bytes) kubelet version - kubelet version + kubelet 버전 Items: - 아이템: + 아이템: Network Policies - Network Policies + 네트워크폴리시 Value @@ -1654,7 +1654,7 @@ By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - 기본적으로, 컨테이너는 선택된 이미지의 기본 엔트리포인트 커맨드를 실행합니다. 커맨드 옵션을 사용하여 기본을 변경할 수 있습니다. + 기본적으로, 컨테이너는 선택된 이미지의 기본 엔트리포인트 커맨드를 실행합니다. 커맨드 옵션을 사용하여 기본 커맨드 대신 명시한 커맨드를 실행할 수 있습니다. Ports (Name, Port, Protocol) @@ -1662,7 +1662,7 @@ Target port cannot be empty. - 대상 포트는 비울 수 없습니다. + 대상 포트는 비울 수 없습니다. Kind @@ -1674,19 +1674,19 @@ Lun number - Lun number + Lun 번호 Pod Selector - Pod Selector + 파드 셀렉터 Sign in - 로그인 + 로그인 List Kind - List Kind + 목록 종류 Run command @@ -1694,7 +1694,7 @@ Port cannot be empty. - 포트는 비울 수 없습니다. + 포트는 비울 수 없습니다. Quantity @@ -1702,11 +1702,11 @@ Logged in with token - Logged in with token + 토큰을 사용하여 로그인: Completions - Completions + 완료 View logs @@ -1714,19 +1714,19 @@ Provider ID - Provider ID + 공급자 ID Pod CIDR - Pod CIDR + 파드 CIDR Kernel version - Kernel version + 커널 버전 Persistent Volumes - 퍼시스턴트 볼륨 + 퍼시스턴트 볼륨 Containers @@ -1734,7 +1734,7 @@ Workloads - 워크로드 + 워크로드 Container image @@ -1750,15 +1750,15 @@ Plugins - Plugins + 플러그인 Name: - 이름: + 이름: Scale a resource - Scale a resource + 리소스 스케일링 Resource name @@ -1766,7 +1766,7 @@ Application name is required. - 애플리케이션 이름은 필수 항목입니다. + 애플리케이션 이름은 필수 항목입니다. Full Name @@ -1782,23 +1782,23 @@ There is nothing to display here - There is nothing to display here + 표시할 데이터가 없습니다. Initial Delay (Seconds) - Initial Delay (Seconds) + 최초 지연 시간 (초) Short Names - Short Names + 짧은 이름 Delete - Delete + 삭제 Namespaces - Namespaces + 네임스페이스 Internal Endpoints @@ -1806,19 +1806,19 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - 레이블 키 이름은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 하며, 접두사로 DNS 서브토메인과 '/'가 선택적으로 사용될 수 있습니다. + 레이블 키 이름은 '-', '_', 또는 '.'로 분리되는 영숫자이어야 하며, 접두사로 DNS 서브토메인과 '/'가 선택적으로 사용될 수 있습니다. Pool - Pool + Theme - Theme + 테마 Logs from to UTC - Logs from to UTC + 에서부터 까지의 로그 (UTC) in @@ -1826,11 +1826,11 @@ Services - Services + 서비스 Pods capacity - Pods capacity + 파드 용량 Max number of items that can be displayed on every list view. @@ -1838,19 +1838,19 @@ Unschedulable - Unschedulable + 스케줄 불가 Max surge: - 최대 증가율(surge): + 최대 증가율(surge): Success Threshold - Success Threshold + 성공 임계값 Host - Host + 호스트 Restarts @@ -1858,23 +1858,23 @@ Custom Resource Definitions - 커스텀 리소스 데피니션 + 커스텀 리소스 데피니션 Settings - 설정 + 설정 Updated - Updated + 업데이트된 Failed - Failed + 실패 Shell in in - 에 셸 인 + 에 셸 인 Init Containers @@ -1882,7 +1882,7 @@ Plugins - 플러그인 + 플러그인 There is no data to display. @@ -1890,11 +1890,11 @@ Default service account - Default service account + 디폴트 서비스 어카운트 Config and Storage - 컨피그 및 스토리지 + 컨피그 및 스토리지 Privileged @@ -1902,15 +1902,15 @@ Trigger - Trigger + 트리거 Active Jobs: - 액티브 잡: + 액티브 잡: Signal - Signal + 시그널 Unpin @@ -1918,11 +1918,11 @@ Network Policies - 네트워크 폴리시 + 네트워크 폴리시 Filesystem type - Filesystem type + 파일시스템 유형 Logs auto-refresh time interval @@ -1930,7 +1930,7 @@ kube-proxy version - kube-proxy version + kube-proxy 버전 Run as Non-Root @@ -1938,23 +1938,23 @@ SE Linux Type - SE Linux Type + SE 리눅스 타입 Objects - Objects + 오브젝트 Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 파드의 수를 높게 설정하면 클러스터와 대시보드 UI에 성능 이슈를 일으킬 수 있습니다. + 파드의 수를 높게 설정하면 클러스터와 대시보드 UI에 성능 이슈를 일으킬 수 있습니다. Kubernetes Dashboard - Kubernetes Dashboard + 쿠버네티스 대시보드 Namespace: - 네임스페이스: + 네임스페이스: NAMESPACES @@ -1962,15 +1962,15 @@ Edit - Edit + 편집 Pods: - 파드: + 파드: Default Backend - Default Backend + 기본 백엔드 Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. @@ -1978,11 +1978,11 @@ Preview - Preview + 미리보기 Cancel - Cancel + 취소 Disable access denied notification @@ -1990,7 +1990,7 @@ Nodes - 노드 + 노드 Windows GMSA Credential Spec @@ -1998,7 +1998,7 @@ Endpoint links are external links that will be open in a new tab. - Endpoint links are external links that will be open in a new tab. + 엔드포인트 링크는 새로운 탭에서 열리는 외부 링크입니다. Last probe time @@ -2006,15 +2006,15 @@ Secret reference name - Secret reference name + 시크릿 참조 이름 Dataset name - Dataset name + 데이터셋 이름 Label Key name should not exceed 63 characters. - 레이블 키 이름은 63개의 문자를 초과할 수 없습니다. + 레이블 키 이름은 63개의 문자를 초과할 수 없습니다. Run as Group @@ -2022,11 +2022,11 @@ Pods status - Pods status + 파드 상태 Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. + 전역 설정은 컨피그 맵에 저장되며, 앱의 모든 인스턴스에 적용됩니다. Close @@ -2034,7 +2034,7 @@ No resources found in the selected namespace. - No resources found in the selected namespace. + 선택한 네임스페이스에서 리소스가 발견되지 않았습니다. Capacity @@ -2042,43 +2042,43 @@ Data must be Base64 encoded. - 데이터는 Base64로 인코딩되어야 합니다. + 데이터는 Base64로 인코딩되어야 합니다. Running: - Running: + 실행 중: CPU capacity (cores) - CPU capacity (cores) + CPU 용량 (cores) Service Accounts - Service Accounts + 서비스 어카운트 Workloads - Workloads + 워크로드 Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - 클러스터에 기본 인증에 대한 지원을 활성화해야 합니다. 기본 인증을 설정하는 방법은 인증하기ABAC 모드 섹션에서 알 수 있습니다. + 클러스터에 기본 인증에 대한 지원을 활성화해야 합니다. 기본 인증을 설정하는 방법은 인증하기ABAC 모드 섹션에서 알 수 있습니다. Create - Create + 생성 Roles - Roles + Reload - Reload + 리로드 Provide a namespace name that should be added to the namespace fallback list - Provide a namespace name that should be added to the namespace fallback list + 네임스페이스 예비 목록에 추가해야 하는 네임스페이스 이름을 입력 Filesystem Group @@ -2086,19 +2086,19 @@ Boot ID - Boot ID + 부트 ID Replication Controllers - Replication Controllers + 레플리케이션 컨트롤러 Remove namespaces from the list and confirm to save the changes. - Remove namespaces from the list and confirm to save the changes. + 목록에서 네임스페이스를 제거하고 변경 내용을 저장할지 확인합니다. Persistent Volume Claims - Persistent Volume Claims + 퍼시스턴트 볼륨 클레임 Message @@ -2114,7 +2114,7 @@ Deployments - Deployments + 디플로이먼트 App name @@ -2122,19 +2122,19 @@ Last schedule - Last schedule + 마지막 스케줄 System UUID - System UUID + 시스템 UUID Config And Storage - Config And Storage + 컨피그 및 스토리지 Container image is invalid: - 유효한 컨테이너 이미지가 아님: + 유효한 컨테이너 이미지가 아님: Count @@ -2142,7 +2142,7 @@ Replication Controllers - 레플리케이션 컨트롤러 + 레플리케이션 컨트롤러 Active @@ -2150,7 +2150,7 @@ CPU Usage (cores) - CPU 사용량(cores) + CPU 사용량 (cores) Environment variable @@ -2158,15 +2158,15 @@ Restart a resource - Restart a resource + 리소스 재시작 Max surge - Max surge + 최대 증가율(surge) Annotations - Annotations + 어노테이션 First Seen @@ -2180,17 +2180,17 @@ - + Suspended: - Suspended: + 중지: Upload - Upload + 업로드 Phase @@ -2198,27 +2198,27 @@ Namespace conflict - Namespace conflict + 네임스페이스 충돌 Controller - Controller + 컨트롤러 will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. + 가 의도한 레플리카 수를 반영하도록 업데이트 됩니다. OS Image - OS Image + OS 이미지 Download logs file - Download logs file + 로그 파일 다운로드 Endpoints open_in_new - Endpoints open_in_new + 엔드포인트 open_in_new Create from form @@ -2226,7 +2226,7 @@ Ingress Rules - Ingress Rules + 인그레스(Ingress) 규칙 Pods @@ -2234,19 +2234,19 @@ Stateful Sets - Stateful Sets + 스테이트풀 셋 Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - 해당 접두사는 유효한 DNS 서브도메인 접두사가 아닙니다(예: my-domain.com). + 해당 접두사는 유효한 DNS 서브도메인 접두사가 아닙니다(예: my-domain.com). File is ready to download! - File is ready to download! + 다운로드 준비 완료! Succeeded: - Succeeded: + 성공: Download logs @@ -2254,11 +2254,11 @@ Startup Probe - Startup Probe + 스타트업 프로브 Service Name - Service Name + 서비스 이름 Namespaced @@ -2266,7 +2266,7 @@ Preview Deployment - Preview Deployment + 디플로이먼트 미리보기 Group @@ -2278,7 +2278,7 @@ There are no notifications - There are no notifications + 알림 없음 Type @@ -2286,11 +2286,11 @@ Mounts - Mounts + 마운트 Global settings - Global settings + 전역 환경 설정 Last Schedule @@ -2302,35 +2302,35 @@ The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 명시된 레이블은 생성된 디플로이먼트, 서비스(있다면), 파드에 적용될 것입니다. 공통 레이블은 릴리스, 환경, 티어(tier), 파티션, 트랙(track)을 포함합니다. + 명시된 레이블은 생성된 디플로이먼트, 서비스(있다면), 파드에 적용됩니다. 공통 레이블은 릴리스, 환경, 티어(tier), 파티션, 트랙(track)을 포함합니다. Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 현재 선택된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. + 현재 선택된 네임스페이스에 디플로이할 리소스를 명시하는 YAML 또는 JSON 파일을 선택하세요. Status: - 상태: + 상태: Target port must be greater than 0. - 대상 포트는 0 보다 높아야 합니다. + 대상 포트는 0 보다 높아야 합니다. Nodes - Nodes + 노드 Read Only - Read Only + 읽기 전용 Started At - Started At + 시작됨 Cluster Roles - Cluster Roles + 클러스터 롤 Filter @@ -2338,11 +2338,11 @@ No resources found. - No resources found. + 리소스를 찾을 수 없습니다. Replica Sets - 레플리카 셋 + 레플리카 셋 Verbs @@ -2350,7 +2350,7 @@ Path - Path + 경로 Show previous logs @@ -2362,7 +2362,7 @@ Allocation - Allocation + 할당 Items per page @@ -2374,7 +2374,7 @@ Number of pods is required - 파드의 수는 필수 항목입니다. + 파드의 수는 필수 항목입니다. Added Capabilities @@ -2382,11 +2382,11 @@ Trigger a - Trigger a + 작동시키기 CPU requirement must be given as a positive number. - CPU 요구 사항은 양의 정수이어야 합니다. + CPU 요구 사항은 양의 정수이어야 합니다. Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2394,7 +2394,7 @@ Service Port Name - Service Port Name + 서비스 포트 이름 Number of seconds between every auto-refresh of logs. @@ -2402,15 +2402,15 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 이름은 DNS 도매인 이름의 문법을 따라야 합니다(예를 들면, new.image-pull.secret). + 이름은 DNS 도매인 이름의 문법을 따라야 합니다(예를 들면, new.image-pull.secret). Service Account - Service Account + 서비스 어카운트 Timeout (Seconds) - Timeout (Seconds) + 타임아웃 (초) Sysctls @@ -2422,23 +2422,23 @@ Prefix should not exceed 253 characters. - 접두사는 253개의 문자를 초과할 수 없습니다. + 접두사는 253개의 문자를 초과할 수 없습니다. Failed: - Failed: + 실패: Read only - Read only + 읽기 전용 Daemon Sets - Daemon Sets + 데몬셋 Storage Classes - Storage Classes + 스토리지 클래스 Provisioner diff --git a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf index db5ef17d333c..c882a7912b39 100644 --- a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf +++ b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf @@ -40,7 +40,7 @@ is not unique - 不是唯一的 + 不是唯一的 Go to namespace @@ -56,7 +56,7 @@ Service Name - 服务名称 + 服务名称 Memory requirement (MiB) @@ -88,7 +88,7 @@ Cluster Role Bindings - Cluster Role Bindings + Cluster Role Bindings Edit Namespace List @@ -100,7 +100,7 @@ Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 + 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 Non-resource URL @@ -108,7 +108,7 @@ Image: - 镜像: + 镜像: Mount Option(s) @@ -132,7 +132,7 @@ Daemon Sets - Daemon Sets + Daemon Sets Revision history limit @@ -152,7 +152,7 @@ Services - Services + Services UID @@ -204,7 +204,7 @@ Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 + 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 Volume Attributes @@ -212,11 +212,11 @@ Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 + 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 在这里 阅读。 + 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 在这里 阅读。 You do not have required permissions to access this resource. @@ -232,7 +232,7 @@ Stateful Sets - Stateful Sets + Stateful Sets About @@ -252,7 +252,7 @@ Available: - 可用的: + 可用的: Desired replicas @@ -268,7 +268,7 @@ Deploy - 部署 + 部署 Ingress Classes @@ -276,7 +276,7 @@ Failed: - 失败: + 失败: A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - 修改历史记录限制: + 修改历史记录限制: The new namespace will be added to the cluster. @@ -292,7 +292,7 @@ Events - 事件 + 事件 @@ -320,7 +320,7 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 + 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 Volume ID @@ -332,7 +332,7 @@ Memory requirement must be given as a valid number. - 内存下限必须是一个有效的数字。 + 内存下限必须是一个有效的数字。 Exec Commands @@ -360,11 +360,11 @@ Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 + 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 Secrets - Secrets + Secrets Unsupported graph type . @@ -388,7 +388,7 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 + 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 Seccomp Profile Type @@ -400,7 +400,7 @@ Target port must be an integer. - 目标端口必须是整数。 + 目标端口必须是整数。 Key @@ -412,7 +412,7 @@ Updated: - 已更新: + 已更新: Server @@ -452,7 +452,7 @@ Persistent Volume Claims - Persistent Volume Claims + Persistent Volume Claims Seccomp Localhost Profile @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - 你确定要删除 在命名空间中 ? + 你确定要删除 在命名空间中 ? Memory limits (bytes) @@ -500,7 +500,7 @@ Path Type - 路径类型 + 路径类型 Settings have changed since last reload @@ -548,7 +548,7 @@ Storage Classes - Storage Classes + Storage Classes Selected namespace is different than namespace of currently selected resource. @@ -596,7 +596,7 @@ Do you want to stay on current page and change namespace from to ? - 您是否希望保持当前页面并从 to 中更改名称空间? + 您是否希望保持当前页面并从 to 中更改名称空间? Source Type @@ -604,7 +604,7 @@ Unavailable: - 不可用的: + 不可用的: CPU @@ -644,7 +644,7 @@ Total: - 总计: + 总计: Suffix '' not recognized. @@ -652,7 +652,7 @@ Port must be greater than 0. - 端口号必须大于 0。 + 端口号必须大于 0。 Image @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - 名称必须是字母或者数字,可以包含短划线。 + 名称必须是字母或者数字,可以包含短划线。 Token @@ -672,11 +672,11 @@ Max unavailable: - 最大不可用: + 最大不可用: Strategy: - 策略: + 策略: Close notifications panel @@ -708,7 +708,7 @@ Label Value must not exceed 253 characters. - 标签值不得超过 253 个字符。 + 标签值不得超过 253 个字符。 Actions @@ -756,7 +756,7 @@ Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Kubernetes Dashboard 是由 Dashboard 社区 开发的 开源项目 + Kubernetes Dashboard 是由 Dashboard 社区 开发的 开源项目 Run as User @@ -764,7 +764,7 @@ Name is required. - 名称是必填的。 + 名称是必填的。 Started @@ -776,11 +776,11 @@ Label value must be alphanumeric separated by '.' , '-' or '_'. - 标签值必须由'.' , '-'或者'_'分割字母数字。 + 标签值必须由'.' , '-'或者'_'分割字母数字。 Learn more open_in_new - 了解更多 open_in_new + 了解更多 open_in_new Learn more open_in_new @@ -804,7 +804,7 @@ Name must be up to characters long. - 名称必须大于 个字符。 + 名称必须大于 个字符。 Name must be up to characters long. @@ -836,7 +836,7 @@ Service Port - 服务端口 + 服务端口 Total @@ -876,7 +876,7 @@ Variable name must be a valid C identifier. - 变量名必须是有效的 C 标识符。 + 变量名必须是有效的 C 标识符。 Selector @@ -892,11 +892,11 @@ Protocol is required. - 协议是必需的。 + 协议是必需的。 Desired: - 期望值: + 期望值: Session Affinity @@ -904,11 +904,11 @@ Container image is required - 容器镜像是必须的 + 容器镜像是必须的 CPU requirement must be given as a valid number. - CPU 下限必须是有效的数字。 + CPU 下限必须是有效的数字。 Service Port Number @@ -924,7 +924,7 @@ This action is equivalent to: - 这个动作相当于: + 这个动作相当于: Change the language of the dashboard @@ -964,7 +964,7 @@ Number of pods must be a positive integer - pod 的数量必须是整数 + pod 的数量必须是整数 Run command arguments @@ -980,7 +980,7 @@ Port must be an integer. - 端口号必须是数字。 + 端口号必须是数字。 Choose YAML or JSON file @@ -996,7 +996,7 @@ Schedule: - 时间表: + 时间表: Update @@ -1012,7 +1012,7 @@ Role Bindings - Role Bindings + Role Bindings Config and Storage @@ -1028,7 +1028,7 @@ Port must be less than 65536. - 端口号必须小于 65536。 + 端口号必须小于 65536。 Readiness Probe @@ -1044,7 +1044,7 @@ Skip - 跳过 + 跳过 Created @@ -1056,7 +1056,7 @@ Deployment or service with this name already exists within namespace. - 具有此名称的 deployment 或 service 已存在于命名空间中。 + 具有此名称的 deployment 或 service 已存在于命名空间中。 Storage class @@ -1072,19 +1072,19 @@ Config Maps - Config Maps + Config Maps Create a new namespace... - 创建一个新的命名空间... + 创建一个新的命名空间... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 + 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 Completions: - 完成: + 完成: in namespace will be restarted. @@ -1124,7 +1124,7 @@ Age: - 经过时间: + 经过时间: Edit a resource @@ -1132,7 +1132,7 @@ Roles - Roles + Roles Do you want to save them anyways? @@ -1160,11 +1160,11 @@ Kind: - Kind: + Kind: Namespaces - 命名空间 + 命名空间 Rules @@ -1180,7 +1180,7 @@ Parallelism: - 并行: + 并行: Environment variables @@ -1192,7 +1192,7 @@ Cluster Roles - Cluster Roles + Cluster Roles Delete resource @@ -1204,7 +1204,7 @@ Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 + 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 Reason @@ -1220,7 +1220,7 @@ About - 关于 + 关于 Description @@ -1260,7 +1260,7 @@ Running: - 运行中: + 运行中: Keyring @@ -1288,7 +1288,7 @@ Pods - Pods + Pods Sign in @@ -1300,11 +1300,11 @@ Upload - 上传 + 上传 IP: - IP: + IP: Taints @@ -1312,7 +1312,7 @@ Memory requirement must be given as a positive number. - 内存下限必须是正整数。 + 内存下限必须是正整数。 CPU capacity @@ -1324,7 +1324,7 @@ Cron Jobs - Cron Jobs + Cron Jobs Size: B @@ -1360,7 +1360,7 @@ Target port must be less than 65536. - 目标端口必须小于 65536。 + 目标端口必须小于 65536。 Invert colors @@ -1376,7 +1376,7 @@ Data is required. - Data 是必需的。 + Data 是必需的。 Processes in privileged containers are equivalent to processes running as root on the host. @@ -1388,7 +1388,7 @@ Deployments - Deployments + Deployments Status @@ -1412,11 +1412,11 @@ You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - 你可以 部署一个容器化应用, 选择其他命名空间,或者 阅读 Dashboard 说明 open_in_new 了解更多。 + 你可以 部署一个容器化应用, 选择其他命名空间,或者 阅读 Dashboard 说明 open_in_new 了解更多。 Create a new secret... - 创建一个新的 secret... + 创建一个新的 secret... Provide feedback @@ -1452,7 +1452,7 @@ Ingresses - Ingresses + Ingresses Secret name @@ -1480,11 +1480,11 @@ Jobs - Jobs + Jobs Service - 服务 + 服务 @@ -1538,7 +1538,7 @@ Path - 路径 + 路径 Create a new namespace @@ -1570,7 +1570,7 @@ Invalid protocol. - 无效的协议。 + 无效的协议。 Can't find dependency "" for plugin "" @@ -1582,15 +1582,15 @@ Pending: - 启动中: + 启动中: Cluster - 集群 + 集群 Suspend: - 暂停中: + 暂停中: Security Context @@ -1610,7 +1610,7 @@ Min ready seconds: - 最小准备秒数: + 最小准备秒数: Ready @@ -1626,7 +1626,7 @@ Service Accounts - 服务账号 + 服务账号 Memory capacity (bytes) @@ -1638,7 +1638,7 @@ Items: - 项目: + 项目: Network Policies @@ -1662,7 +1662,7 @@ Target port cannot be empty. - 目标端口不能为空。 + 目标端口不能为空。 Kind @@ -1682,7 +1682,7 @@ Sign in - 登录 + 登录 List Kind @@ -1694,7 +1694,7 @@ Port cannot be empty. - 端口号不能为空。 + 端口号不能为空。 Quantity @@ -1726,7 +1726,7 @@ Persistent Volumes - Persistent Volumes + Persistent Volumes Containers @@ -1734,7 +1734,7 @@ Workloads - 工作负载 + 工作负载 Container image @@ -1754,7 +1754,7 @@ Name: - 名称: + 名称: Scale a resource @@ -1766,7 +1766,7 @@ Application name is required. - 应用名称是必需的。 + 应用名称是必需的。 Full Name @@ -1806,7 +1806,7 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 + 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 Pool @@ -1842,7 +1842,7 @@ Max surge: - 最大 surge: + 最大 surge: Success Threshold @@ -1850,7 +1850,7 @@ Host - 主机 + 主机 Restarts @@ -1858,11 +1858,11 @@ Custom Resource Definitions - 自定义资源 + 自定义资源 Settings - 设置 + 设置 Updated @@ -1874,7 +1874,7 @@ Shell in in - Shell in in + Shell in in Init Containers @@ -1882,7 +1882,7 @@ Plugins - 插件 + 插件 There is no data to display. @@ -1894,7 +1894,7 @@ Config and Storage - 配置和存储 + 配置和存储 Privileged @@ -1906,7 +1906,7 @@ Active Jobs: - 运行中的 Jobs: + 运行中的 Jobs: Signal @@ -1918,7 +1918,7 @@ Network Policies - 网络策略 + 网络策略 Filesystem type @@ -1946,7 +1946,7 @@ Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 + 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 Kubernetes Dashboard @@ -1954,7 +1954,7 @@ Namespace: - 命名空间: + 命名空间: NAMESPACES @@ -1966,7 +1966,7 @@ Pods: - Pods: + Pods: Default Backend @@ -1990,7 +1990,7 @@ Nodes - Nodes + Nodes Windows GMSA Credential Spec @@ -2014,7 +2014,7 @@ Label Key name should not exceed 63 characters. - Label Key 名称不应超过 63 个字符。 + Label Key 名称不应超过 63 个字符。 Run as Group @@ -2042,7 +2042,7 @@ Data must be Base64 encoded. - Data 必须是 Base64 编码的。 + Data 必须是 Base64 编码的。 Running: @@ -2062,7 +2062,7 @@ Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 + 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 Create @@ -2134,7 +2134,7 @@ Container image is invalid: - 容器镜像无效: + 容器镜像无效: Count @@ -2142,7 +2142,7 @@ Replication Controllers - Replication Controllers + Replication Controllers Active @@ -2238,7 +2238,7 @@ Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 + 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 File is ready to download! @@ -2246,7 +2246,7 @@ Succeeded: - 成功: + 成功: Download logs @@ -2306,15 +2306,15 @@ Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 + 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 Status: - 状态: + 状态: Target port must be greater than 0. - 目标端口必须大于 0。 + 目标端口必须大于 0。 Nodes @@ -2342,7 +2342,7 @@ Replica Sets - Replica Sets + Replica Sets Verbs @@ -2374,7 +2374,7 @@ Number of pods is required - pod 的数量是必填项 + pod 的数量是必填项 Added Capabilities @@ -2386,7 +2386,7 @@ CPU requirement must be given as a positive number. - CPU 下限必须是正整数。 + CPU 下限必须是正整数。 Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2402,7 +2402,7 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 + 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 Service Account @@ -2422,7 +2422,7 @@ Prefix should not exceed 253 characters. - 前缀不应超过 253 个字符。 + 前缀不应超过 253 个字符。 Failed: diff --git a/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf index b76a2817af48..35590f6ab674 100644 --- a/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf +++ b/modules/web/i18n/zh-Hant-HK/messages.zh-Hant-HK.xlf @@ -40,7 +40,7 @@ is not unique - 不是唯一的 + 不是唯一的 Go to namespace @@ -100,7 +100,7 @@ Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - 每個 Service Account 都有一個 valid Bearer Token ,可用於登錄 Dashboard 。 要瞭解如何配置使用 Bearer Tokens 的更多信息,请參閲 Authentication 部分. + 每個 Service Account 都有一個 valid Bearer Token ,可用於登錄 Dashboard 。 要瞭解如何配置使用 Bearer Tokens 的更多信息,请參閲 Authentication 部分. Non-resource URL @@ -108,7 +108,7 @@ Image: - 鏡像: + 鏡像: Mount Option(s) @@ -212,7 +212,7 @@ Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 + 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . @@ -252,7 +252,7 @@ Available: - 可用的: + 可用的: Desired replicas @@ -268,7 +268,7 @@ Deploy - Deploy + Deploy Ingress Classes @@ -276,7 +276,7 @@ Failed: - 失敗: + 失敗: A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - 調整 history 範圍: + 調整 history 範圍: The new namespace will be added to the cluster. @@ -320,7 +320,7 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 + 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 Volume ID @@ -332,7 +332,7 @@ Memory requirement must be given as a valid number. - Memory 最低需求必须是一个有效的数字。 + Memory 最低需求必须是一个有效的数字。 Exec Commands @@ -360,7 +360,7 @@ Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 + 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 Secrets @@ -388,7 +388,7 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - 請選擇您創建的kubeconfig文件以配置對集群的訪問權限。 要瞭解有關如何配置和使用kubeconfig文件的更多信息, 請參閲Configure Access to Multiple Clusters 部分. + 請選擇您創建的kubeconfig文件以配置對集群的訪問權限。 要瞭解有關如何配置和使用kubeconfig文件的更多信息, 請參閲Configure Access to Multiple Clusters 部分. Seccomp Profile Type @@ -400,7 +400,7 @@ Target port must be an integer. - 目標端口必須是整數。 + 目標端口必須是整數。 Key @@ -412,7 +412,7 @@ Updated: - 已更新: + 已更新: Server @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - 你確定要刪除 in namespace ? + 你確定要刪除 in namespace ? Memory limits (bytes) @@ -596,7 +596,7 @@ Do you want to stay on current page and change namespace from to ? - 你是否希望保持當前頁面并從 to 中更改命名空間? + 你是否希望保持當前頁面并從 to 中更改命名空間? Source Type @@ -604,7 +604,7 @@ Unavailable: - 不可用的: + 不可用的: CPU @@ -644,7 +644,7 @@ Total: - 總計: + 總計: Suffix '' not recognized. @@ -652,7 +652,7 @@ Port must be greater than 0. - 端口號必須大於0 + 端口號必須大於0 Image @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - 名稱必須是字母或者數字,可以包含短化綫。 + 名稱必須是字母或者數字,可以包含短化綫。 Token @@ -672,11 +672,11 @@ Max unavailable: - 最大不可用數: + 最大不可用數: Strategy: - 策略: + 策略: Close notifications panel @@ -708,7 +708,7 @@ Label Value must not exceed 253 characters. - 標簽值不得超過253個字符。 + 標簽值不得超過253個字符。 Actions @@ -756,7 +756,7 @@ Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Dashboard 使 Kubernetes Dashboard 成爲可能 community as an open source project. + Dashboard 使 Kubernetes Dashboard 成爲可能 community as an open source project. Run as User @@ -764,7 +764,7 @@ Name is required. - 名稱是必填的。 + 名稱是必填的。 Started @@ -776,11 +776,11 @@ Label value must be alphanumeric separated by '.' , '-' or '_'. - 標簽值必須由'.' , '-'或者'_'分割字母數字 + 標簽值必須由'.' , '-'或者'_'分割字母數字 Learn more open_in_new - 學到更多 open_in_new + 學到更多 open_in_new Learn more open_in_new @@ -804,7 +804,7 @@ Name must be up to characters long. - Name必须大於 个字符. + Name必须大於 个字符. Name must be up to characters long. @@ -876,7 +876,7 @@ Variable name must be a valid C identifier. - 變量名必須是有效的 C 標識符 + 變量名必須是有效的 C 標識符 Selector @@ -892,11 +892,11 @@ Protocol is required. - 協議是必須的。 + 協議是必須的。 Desired: - 期望值: + 期望值: Session Affinity @@ -904,11 +904,11 @@ Container image is required - 容器镜像是必须的 + 容器镜像是必须的 CPU requirement must be given as a valid number. - CPU 最低需求必须是有效的数字。 + CPU 最低需求必须是有效的数字。 Service Port Number @@ -964,7 +964,7 @@ Number of pods must be a positive integer - pod 的数量必须是整数 + pod 的数量必须是整数 Run command arguments @@ -980,7 +980,7 @@ Port must be an integer. - 端口號必須是數字 + 端口號必須是數字 Choose YAML or JSON file @@ -996,7 +996,7 @@ Schedule: - 時間表: + 時間表: Update @@ -1028,7 +1028,7 @@ Port must be less than 65536. - 端口號必須小於65536 + 端口號必須小於65536 Readiness Probe @@ -1044,7 +1044,7 @@ Skip - 跳過 + 跳過 Created @@ -1056,7 +1056,7 @@ Deployment or service with this name already exists within namespace. - 具有此名称的 deployment 或 service 已存在于命名空间中。 + 具有此名称的 deployment 或 service 已存在于命名空间中。 Storage class @@ -1076,15 +1076,15 @@ Create a new namespace... - 创建一个新的命名空间... + 创建一个新的命名空间... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 + 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 Completions: - 完成: + 完成: in namespace will be restarted. @@ -1124,7 +1124,7 @@ Age: - 經過時間: + 經過時間: Edit a resource @@ -1160,7 +1160,7 @@ Kind: - 種類: + 種類: Namespaces @@ -1180,7 +1180,7 @@ Parallelism: - 并行: + 并行: Environment variables @@ -1204,7 +1204,7 @@ Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 + 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 Reason @@ -1260,7 +1260,7 @@ Running: - 運行中: + 運行中: Keyring @@ -1300,11 +1300,11 @@ Upload - 上传 + 上传 IP: - IP: + IP: Taints @@ -1312,7 +1312,7 @@ Memory requirement must be given as a positive number. - Memory 最低需求必须是正整数。 + Memory 最低需求必须是正整数。 CPU capacity @@ -1360,7 +1360,7 @@ Target port must be less than 65536. - 目標端口必須小於65536。 + 目標端口必須小於65536。 Invert colors @@ -1376,7 +1376,7 @@ Data is required. - Data 是必须的。 + Data 是必须的。 Processes in privileged containers are equivalent to processes running as root on the host. @@ -1416,7 +1416,7 @@ Create a new secret... - 创建一个新的 secret... + 创建一个新的 secret... Provide feedback @@ -1570,7 +1570,7 @@ Invalid protocol. - 無效的協議。 + 無效的協議。 Can't find dependency "" for plugin "" @@ -1582,7 +1582,7 @@ Pending: - 啓動中: + 啓動中: Cluster @@ -1590,7 +1590,7 @@ Suspend: - 暫停中: + 暫停中: Security Context @@ -1610,7 +1610,7 @@ Min ready seconds: - 最小準備秒數: + 最小準備秒數: Ready @@ -1638,7 +1638,7 @@ Items: - 項目: + 項目: Network Policies @@ -1662,7 +1662,7 @@ Target port cannot be empty. - 目標端口不能爲空。 + 目標端口不能爲空。 Kind @@ -1682,7 +1682,7 @@ Sign in - 登錄 + 登錄 List Kind @@ -1694,7 +1694,7 @@ Port cannot be empty. - 端口號不能為空 + 端口號不能為空 Quantity @@ -1754,7 +1754,7 @@ Name: - 名字: + 名字: Scale a resource @@ -1766,7 +1766,7 @@ Application name is required. - 应用名称是必需的。 + 应用名称是必需的。 Full Name @@ -1806,7 +1806,7 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - 標簽密鑰名稱必須是由 “ - ”,“_” 或 “.” 分隔的字母數字,可選以DNS子域和“/”为前綴。 + 標簽密鑰名稱必須是由 “ - ”,“_” 或 “.” 分隔的字母數字,可選以DNS子域和“/”为前綴。 Pool @@ -1842,7 +1842,7 @@ Max surge: - 最大替換數: + 最大替換數: Success Threshold @@ -1874,7 +1874,7 @@ Shell in in - Shell in in + Shell in in Init Containers @@ -1906,7 +1906,7 @@ Active Jobs: - 運行中的 Jobs: + 運行中的 Jobs: Signal @@ -1946,7 +1946,7 @@ Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 + 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 Kubernetes Dashboard @@ -1954,7 +1954,7 @@ Namespace: - Namespace: + Namespace: NAMESPACES @@ -1966,7 +1966,7 @@ Pods: - Pods: + Pods: Default Backend @@ -2014,7 +2014,7 @@ Label Key name should not exceed 63 characters. - Label Key 名稱不應超過63個字符 + Label Key 名稱不應超過63個字符 Run as Group @@ -2042,7 +2042,7 @@ Data must be Base64 encoded. - Data 必须是 Base64 编码的。 + Data 必须是 Base64 编码的。 Running: @@ -2062,7 +2062,7 @@ Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - 確保在集群中啓用了對基本身份驗證的支持。 要了解有關如何配置基本身份驗證的詳情,请參閲 AuthenticatingABAC Mode 部分. + 確保在集群中啓用了對基本身份驗證的支持。 要了解有關如何配置基本身份驗證的詳情,请參閲 AuthenticatingABAC Mode 部分. Create @@ -2134,7 +2134,7 @@ Container image is invalid: - Container image 无效: + Container image 无效: Count @@ -2238,7 +2238,7 @@ Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - 前綴不是有效的前缀DNS子域前缀(例如 my-domain.com )。 + 前綴不是有效的前缀DNS子域前缀(例如 my-domain.com )。 File is ready to download! @@ -2246,7 +2246,7 @@ Succeeded: - 成功: + 成功: Download logs @@ -2306,15 +2306,15 @@ Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 + 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 Status: - 狀態: + 狀態: Target port must be greater than 0. - 目標端口必須大於0。 + 目標端口必須大於0。 Nodes @@ -2374,7 +2374,7 @@ Number of pods is required - pod 的数量是必填项 + pod 的数量是必填项 Added Capabilities @@ -2386,7 +2386,7 @@ CPU requirement must be given as a positive number. - CPU 最低需求必须是正整数。 + CPU 最低需求必须是正整数。 Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2402,7 +2402,7 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 + 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 Service Account @@ -2422,7 +2422,7 @@ Prefix should not exceed 253 characters. - 前綴不應超過253個字符。 + 前綴不應超過253個字符。 Failed: diff --git a/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf index d1ea165145b1..f68a5ec89eb7 100644 --- a/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf +++ b/modules/web/i18n/zh-Hant/messages.zh-Hant.xlf @@ -40,7 +40,7 @@ is not unique - 不是唯一的 + 不是唯一的 Go to namespace @@ -100,7 +100,7 @@ Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - 每個 Service Account 都有一個合法的 Bearer Token ,可用於登入 Dashboard。要瞭解更多如何配置並使用 Bearer Tokens 的資訊,請參閲 Authentication 部分. + 每個 Service Account 都有一個合法的 Bearer Token ,可用於登入 Dashboard。要瞭解更多如何配置並使用 Bearer Tokens 的資訊,請參閲 Authentication 部分. Non-resource URL @@ -108,7 +108,7 @@ Image: - 鏡像: + 鏡像: Mount Option(s) @@ -212,7 +212,7 @@ Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 + 選擇 YAML 或 JSON 文件中指定的資源部署到該文件中指定的命名空間。 Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . @@ -252,7 +252,7 @@ Available: - 可用的: + 可用的: Desired replicas @@ -268,7 +268,7 @@ Deploy - 部署 + 部署 Ingress Classes @@ -276,7 +276,7 @@ Failed: - 失敗: + 失敗: A secret with the specified name will be added to the cluster in the namespace. @@ -284,7 +284,7 @@ Revision history limit: - 調整 history 範圍: + 調整 history 範圍: The new namespace will be added to the cluster. @@ -320,7 +320,7 @@ The description will be added as an annotation to the Deployment and displayed in the application's details. - 該描述將作為注視添加到 Deployment 中,並顯示在應用程式的詳細資訊中。 + 該描述將作為注視添加到 Deployment 中,並顯示在應用程式的詳細資訊中。 Volume ID @@ -332,7 +332,7 @@ Memory requirement must be given as a valid number. - Memory 下限必須是一個有效的數字。 + Memory 下限必須是一個有效的數字。 Exec Commands @@ -360,7 +360,7 @@ Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - 應用名稱必須以小寫字母開頭,只包含小寫字母與數字,並且之間可以包含 '-' 符號。 + 應用名稱必須以小寫字母開頭,只包含小寫字母與數字,並且之間可以包含 '-' 符號。 Secrets @@ -388,7 +388,7 @@ Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - 請選擇您設定的 kubeconfig 文件以配置對叢集的訪問權限。要瞭解有關如何配置和使用 kubeconfig 文件的更多訊息,請參閲Configure Access to Multiple Clusters 部分. + 請選擇您設定的 kubeconfig 文件以配置對叢集的訪問權限。要瞭解有關如何配置和使用 kubeconfig 文件的更多訊息,請參閲Configure Access to Multiple Clusters 部分. Seccomp Profile Type @@ -400,7 +400,7 @@ Target port must be an integer. - 目標端口必須是整數。 + 目標端口必須是整數。 Key @@ -412,7 +412,7 @@ Updated: - 已更新: + 已更新: Server @@ -464,7 +464,7 @@ Are you sure you want to delete in namespace ? - 您確定要刪除 in namespace ? + 您確定要刪除 in namespace ? Memory limits (bytes) @@ -596,7 +596,7 @@ Do you want to stay on current page and change namespace from to ? - 您是否希望保持當前頁面並從 to 中更改命名空間? + 您是否希望保持當前頁面並從 to 中更改命名空間? Source Type @@ -604,7 +604,7 @@ Unavailable: - 不可用的: + 不可用的: CPU @@ -644,7 +644,7 @@ Total: - 總計: + 總計: Suffix '' not recognized. @@ -652,7 +652,7 @@ Port must be greater than 0. - 端口號必須大於 0 + 端口號必須大於 0 Image @@ -664,7 +664,7 @@ Name must be alphanumeric and may contain dashes. - 名稱必須是字母或者數字,可以包含連接號 "-"。 + 名稱必須是字母或者數字,可以包含連接號 "-"。 Token @@ -672,11 +672,11 @@ Max unavailable: - 最大不可用數: + 最大不可用數: Strategy: - 策略: + 策略: Close notifications panel @@ -708,7 +708,7 @@ Label Value must not exceed 253 characters. - 標籤值不得超過 253 個字符。 + 標籤值不得超過 253 個字符。 Actions @@ -756,7 +756,7 @@ Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Kubernetes Dashboard 是由 Dashboard 社區 開發的 開源項目 + Kubernetes Dashboard 是由 Dashboard 社區 開發的 開源項目 Run as User @@ -764,7 +764,7 @@ Name is required. - 名稱是必填的。 + 名稱是必填的。 Started @@ -776,11 +776,11 @@ Label value must be alphanumeric separated by '.' , '-' or '_'. - 標籤值必須由 '.' , '-' 或者 '_' 分割字母數字 + 標籤值必須由 '.' , '-' 或者 '_' 分割字母數字 Learn more open_in_new - 學到更多 open_in_new + 學到更多 open_in_new Learn more open_in_new @@ -804,7 +804,7 @@ Name must be up to characters long. - 名稱必須大於 個字符 + 名稱必須大於 個字符 Name must be up to characters long. @@ -876,7 +876,7 @@ Variable name must be a valid C identifier. - 變數名必須是有效的 C 標識符 + 變數名必須是有效的 C 標識符 Selector @@ -892,11 +892,11 @@ Protocol is required. - 協議是必須的。 + 協議是必須的。 Desired: - 期望值: + 期望值: Session Affinity @@ -904,11 +904,11 @@ Container image is required - 容器鏡像是必須的 + 容器鏡像是必須的 CPU requirement must be given as a valid number. - CPU 下限必須是有效的數字。 + CPU 下限必須是有效的數字。 Service Port Number @@ -964,7 +964,7 @@ Number of pods must be a positive integer - pod 的數量必須是正整數 + pod 的數量必須是正整數 Run command arguments @@ -980,7 +980,7 @@ Port must be an integer. - 端口號必須是數字 + 端口號必須是數字 Choose YAML or JSON file @@ -996,7 +996,7 @@ Schedule: - 時間表: + 時間表: Update @@ -1028,7 +1028,7 @@ Port must be less than 65536. - 端口號必須小於 65536 + 端口號必須小於 65536 Readiness Probe @@ -1044,7 +1044,7 @@ Skip - 跳過 + 跳過 Created @@ -1056,7 +1056,7 @@ Deployment or service with this name already exists within namespace. - 具有同名稱的 deployment 或 service 已存在於命名空間中 + 具有同名稱的 deployment 或 service 已存在於命名空間中 Storage class @@ -1076,15 +1076,15 @@ Create a new namespace... - 創建一个新的命名空間... + 創建一个新的命名空間... Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 + 輸入 YAML 或 JSON 内容,指定要爲當前選定的命名空間創建的資源。 Completions: - 完成: + 完成: in namespace will be restarted. @@ -1124,7 +1124,7 @@ Age: - 經過時間: + 經過時間: Edit a resource @@ -1160,7 +1160,7 @@ Kind: - Kind: + Kind: Namespaces @@ -1180,7 +1180,7 @@ Parallelism: - 並行: + 並行: Environment variables @@ -1204,7 +1204,7 @@ Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 + 輸入 YAML 或 JSON 内容,指定要為文件中指定的命名空間創建的資源。 Reason @@ -1260,7 +1260,7 @@ Running: - 運行中: + 運行中: Keyring @@ -1300,11 +1300,11 @@ Upload - 上傳 + 上傳 IP: - IP: + IP: Taints @@ -1312,7 +1312,7 @@ Memory requirement must be given as a positive number. - Memory 下限必須是正整數。 + Memory 下限必須是正整數。 CPU capacity @@ -1360,7 +1360,7 @@ Target port must be less than 65536. - 目標端口必須小於 65536。 + 目標端口必須小於 65536。 Invert colors @@ -1376,7 +1376,7 @@ Data is required. - Data 是必須的。 + Data 是必須的。 Processes in privileged containers are equivalent to processes running as root on the host. @@ -1412,11 +1412,11 @@ You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - 您可以 部署一個容器化應用 , select other namespace or 閱讀 Dashboard 說明 open_in_new 瞭解更多。 + 您可以 部署一個容器化應用 , select other namespace or 閱讀 Dashboard 說明 open_in_new 瞭解更多。 Create a new secret... - 創建一個新的 secret... + 創建一個新的 secret... Provide feedback @@ -1570,7 +1570,7 @@ Invalid protocol. - 無效的協議。 + 無效的協議。 Can't find dependency "" for plugin "" @@ -1582,7 +1582,7 @@ Pending: - 啓動中: + 啓動中: Cluster @@ -1590,7 +1590,7 @@ Suspend: - 暫停中: + 暫停中: Security Context @@ -1610,7 +1610,7 @@ Min ready seconds: - 最小準備秒數: + 最小準備秒數: Ready @@ -1638,7 +1638,7 @@ Items: - 項目: + 項目: Network Policies @@ -1662,7 +1662,7 @@ Target port cannot be empty. - 目標端口不能爲空。 + 目標端口不能爲空。 Kind @@ -1682,7 +1682,7 @@ Sign in - 登入 + 登入 List Kind @@ -1694,7 +1694,7 @@ Port cannot be empty. - 端口號不能為空 + 端口號不能為空 Quantity @@ -1734,7 +1734,7 @@ Workloads - 工作負載 + 工作負載 Container image @@ -1754,7 +1754,7 @@ Name: - 名字: + 名字: Scale a resource @@ -1766,7 +1766,7 @@ Application name is required. - 應用名稱是必需的。 + 應用名稱是必需的。 Full Name @@ -1806,7 +1806,7 @@ Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - 標籤密鑰名稱必須是由 '-','_' 或 '.' 分隔的字母數字,可選以 DNS 子域和 '/' 為前綴。 + 標籤密鑰名稱必須是由 '-','_' 或 '.' 分隔的字母數字,可選以 DNS 子域和 '/' 為前綴。 Pool @@ -1842,7 +1842,7 @@ Max surge: - 最大替換數: + 最大替換數: Success Threshold @@ -1874,7 +1874,7 @@ Shell in in - Shell in in + Shell in in Init Containers @@ -1906,7 +1906,7 @@ Active Jobs: - 運行中的 Jobs: + 運行中的 Jobs: Signal @@ -1946,7 +1946,7 @@ Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 設定大量 pod 可能會導致叢集和 Dashboard UI 出現效能問題。 + 設定大量 pod 可能會導致叢集和 Dashboard UI 出現效能問題。 Kubernetes Dashboard @@ -1954,7 +1954,7 @@ Namespace: - 命名空間: + 命名空間: NAMESPACES @@ -1966,7 +1966,7 @@ Pods: - Pods: + Pods: Default Backend @@ -2014,7 +2014,7 @@ Label Key name should not exceed 63 characters. - Label Key 名稱不應超過 63 個字符 + Label Key 名稱不應超過 63 個字符 Run as Group @@ -2042,7 +2042,7 @@ Data must be Base64 encoded. - Data 必須是 Base64 編碼的格式。 + Data 必須是 Base64 編碼的格式。 Running: @@ -2062,7 +2062,7 @@ Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - 確保在集群中啓用了對基本身份驗證的支持。要了解有關如何配置基本身份驗證的詳情,請參閲AuthenticatingABAC Mode 部分. + 確保在集群中啓用了對基本身份驗證的支持。要了解有關如何配置基本身份驗證的詳情,請參閲AuthenticatingABAC Mode 部分. Create @@ -2134,7 +2134,7 @@ Container image is invalid: - 容器映像檔無效: + 容器映像檔無效: Count @@ -2238,7 +2238,7 @@ Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - 前綴不是有效的前缀 DNS 子域前缀(例如 my-domain.com )。 + 前綴不是有效的前缀 DNS 子域前缀(例如 my-domain.com )。 File is ready to download! @@ -2246,7 +2246,7 @@ Succeeded: - 成功: + 成功: Download logs @@ -2306,15 +2306,15 @@ Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 + 選擇 YAML 或 JSON 文件中指定的資源部署到當前選定的命名空間。 Status: - 狀態: + 狀態: Target port must be greater than 0. - 目標端口必須大於 0。 + 目標端口必須大於 0。 Nodes @@ -2374,7 +2374,7 @@ Number of pods is required - pod 的數量是必填項 + pod 的數量是必填項 Added Capabilities @@ -2386,7 +2386,7 @@ CPU requirement must be given as a positive number. - CPU 下限必須是正整數。 + CPU 下限必須是正整數。 Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. @@ -2402,7 +2402,7 @@ Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名稱必須遵循 DNS 域名語法(例如 new.image-pull.secret)。 + 名稱必須遵循 DNS 域名語法(例如 new.image-pull.secret)。 Service Account @@ -2422,7 +2422,7 @@ Prefix should not exceed 253 characters. - 前綴不應超過 253 個字符。 + 前綴不應超過 253 個字符。 Failed: From 54679ce0e0c0735b5c5a8dd9166a070c3eb396cc Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 15:41:46 +0200 Subject: [PATCH 155/162] Retry with different port number --- modules/api/hack/include/config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/api/hack/include/config.mk b/modules/api/hack/include/config.mk index 22cf8ed8b57c..e870ff49ed22 100644 --- a/modules/api/hack/include/config.mk +++ b/modules/api/hack/include/config.mk @@ -24,7 +24,7 @@ CODEGEN_EXTRA_ARGS = "" ### API Arguments (overridable) KUBECONFIG ?= $(HOME)/.kube/config -SIDECAR_HOST ?= http://scraper:8000 +SIDECAR_HOST ?= http://scraper:8001 TOKEN_TTL ?= 0 # Never expire AUTO_GENERATE_CERTIFICATES ?= false BIND_ADDRESS ?= 127.0.0.1 From 5c5f861a6dc007fdfc19d79e97bba80690133394 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 16:01:12 +0200 Subject: [PATCH 156/162] Retry --- .github/workflows/ci-global.yml | 9 +++++++++ modules/api/hack/include/config.mk | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 0d83605a60f4..b6d35417dc63 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -85,6 +85,15 @@ jobs: TERM: xterm steps: - uses: helm/kind-action@v1.3.0 + with: + version: v0.15.0 + kubectl_version: v1.25.1 + cluster_name: k8s-cluster-ci + - run: | + docker run --net=host -d k8s.gcr.io/heapster-amd64:v1.5.4 \ + --heapster-port=8082 \ + --source=kubernetes:http://127.0.0.1:8080?inClusterConfig=false&auth="" + - run: kind get kubeconfig --name="k8s-cluster-ci" > ${HOME}/.kube/config - uses: actions/checkout@v3 with: fetch-depth: 0 diff --git a/modules/api/hack/include/config.mk b/modules/api/hack/include/config.mk index e870ff49ed22..22cf8ed8b57c 100644 --- a/modules/api/hack/include/config.mk +++ b/modules/api/hack/include/config.mk @@ -24,7 +24,7 @@ CODEGEN_EXTRA_ARGS = "" ### API Arguments (overridable) KUBECONFIG ?= $(HOME)/.kube/config -SIDECAR_HOST ?= http://scraper:8001 +SIDECAR_HOST ?= http://scraper:8000 TOKEN_TTL ?= 0 # Never expire AUTO_GENERATE_CERTIFICATES ?= false BIND_ADDRESS ?= 127.0.0.1 From 4b5a05cd5cc20c968b4c05b9a801854df81fb25d Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 16:15:20 +0200 Subject: [PATCH 157/162] Send serve process to background --- .github/workflows/ci-global.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index b6d35417dc63..cd045da40b9c 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -110,6 +110,6 @@ jobs: - run: | export GOPATH=$(go env GOPATH) export PATH=$PATH:$GOPATH/bin - make serve + make serve & - run: yarn e2e working-directory: modules/web From 41b5ee48583c52f0e4e9663599c2716c473a6c98 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 16:22:53 +0200 Subject: [PATCH 158/162] Add missing vars --- .github/workflows/ci-global.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index cd045da40b9c..4b30babe64d2 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -111,5 +111,7 @@ jobs: export GOPATH=$(go env GOPATH) export PATH=$PATH:$GOPATH/bin make serve & - - run: yarn e2e + - run: | + export GOPATH=$(go env GOPATH) + export PATH=$PATH:$GOPATH/binyarn e2e working-directory: modules/web From 40bdddfc72eca535715fc27bfc8d0ee6cd45c7c0 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 16:23:07 +0200 Subject: [PATCH 159/162] Fix typo --- .github/workflows/ci-global.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 4b30babe64d2..9b7bf0f2341f 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -113,5 +113,6 @@ jobs: make serve & - run: | export GOPATH=$(go env GOPATH) - export PATH=$PATH:$GOPATH/binyarn e2e + export PATH=$PATH:$GOPATH/bin + yarn e2e working-directory: modules/web From faa05e9c67cde06e224087eb975ba537619aeb59 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 16:30:33 +0200 Subject: [PATCH 160/162] Retry --- .github/workflows/ci-global.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-global.yml b/.github/workflows/ci-global.yml index 9b7bf0f2341f..2d13a36cb626 100644 --- a/.github/workflows/ci-global.yml +++ b/.github/workflows/ci-global.yml @@ -114,5 +114,5 @@ jobs: - run: | export GOPATH=$(go env GOPATH) export PATH=$PATH:$GOPATH/bin - yarn e2e + yarn cypress working-directory: modules/web From 13b934fb055b4e8748bac1e27b46360cdcbbbc87 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 16:31:58 +0200 Subject: [PATCH 161/162] Update translation --- modules/web/i18n/zh-Hans/messages.zh-Hans.xlf | 7731 +++++++++++++---- 1 file changed, 5903 insertions(+), 1828 deletions(-) diff --git a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf index c882a7912b39..ccf0f60016e3 100644 --- a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf +++ b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf @@ -2,2448 +2,6523 @@ - - Create from file - 从文件创建 - - - Default namespace - 默认命名空间 - - - Logs from - 日志 + + Open notifications panel + 打开通知面板 + + src/app/frontend/index.messages.ts + 21 + - - Namespace fallback list - 命名空间后备列表 + + Close notifications panel + 关闭通知面板 + + src/app/frontend/index.messages.ts + 22 + - - Auto-refresh (every s.) - 自动刷新 (每 秒) + + Pin resource + 锁定资源 + + src/app/frontend/index.messages.ts + 23 + - - Resource Information - Resource Information + + Unpin resource + 取消资源锁定 + + src/app/frontend/index.messages.ts + 24 + - - Ingress Class Name - Ingress Class Name + + Expand card + 展开卡片 + + src/app/frontend/index.messages.ts + 25 + - - Number of pods - pod 的数量 + + Minimize card + 最小化卡片 + + src/app/frontend/index.messages.ts + 26 + - - Refresh - Refresh + + Unknown + 未知 + + src/app/frontend/index.messages.ts + 27 + - - is not unique - 不是唯一的 + + This action is equivalent to: + 此操作相当于: + + src/app/frontend/common/dialogs/deleteresource/template.html + 29 + + + src/app/frontend/common/dialogs/editresource/template.html + 33 + + + src/app/frontend/common/dialogs/scaleresource/template.html + 48 + - - Go to namespace - 转到命名空间 + + Update + 更新 + + src/app/frontend/common/dialogs/editresource/template.html + 43 + + + src/app/frontend/resource/config/secret/detail/edit/template.html + 31 + - - Preparing file to download... - Preparing file to download... + + Cancel + 取消 + + src/app/frontend/common/dialogs/deleteresource/template.html + 47 + + + src/app/frontend/common/dialogs/editresource/template.html + 47 + + + src/app/frontend/common/dialogs/restartresource/template.html + 46 + + + src/app/frontend/common/dialogs/scaleresource/template.html + 65 + + + src/app/frontend/common/dialogs/triggerresource/template.html + 29 + + + src/app/frontend/create/from/form/createnamespace/template.html + 72 + + + src/app/frontend/create/from/form/createsecret/template.html + 95 + + + src/app/frontend/create/from/form/template.html + 360 + + + src/app/frontend/create/from/input/template.html + 48 + + + src/app/frontend/resource/config/secret/detail/edit/template.html + 35 + - - Age - Age + + This action is equivalent to: + 这个动作相当于: + + src/app/frontend/common/dialogs/restartresource/template.html + 29 + - - Service Name - 服务名称 + + Are you sure you want to delete  in namespace ? + + 你确定要删除 + +  在命名空间中 + + ? + + + src/app/frontend/common/dialogs/deleteresource/template.html + 21 + - - Memory requirement (MiB) - 内存下限 (MiB) + + Restart a resource + 重启一个资源 + + src/app/frontend/common/dialogs/restartresource/template.html + 18 + - - Role Reference - Role Reference + + Size: B + 尺寸: B + + src/app/frontend/common/dialogs/download/template.html + 22 + - - Endpoints - Endpoints + + Preparing file to download... + 正在准备要下载的文件... + + src/app/frontend/common/dialogs/download/template.html + 27 + - - Parameter - 参数 + + File is ready to download! + 文件已准备好被下载! + + src/app/frontend/common/dialogs/download/template.html + 29 + - - Read Only Filesystem - Read Only Filesystem + + Forbidden (403) + 禁止 (403) + + src/app/frontend/common/dialogs/download/template.html + 33 + - - Partition - Partition + + You do not have required permissions to access this resource. + 您没有访问此资源所需的权限。 + + src/app/frontend/common/dialogs/download/template.html + 34 + - - Restart - 重启 + + Save + 保存 + + src/app/frontend/common/dialogs/download/template.html + 44 + + + src/app/frontend/settings/global/saveanywaysdialog/template.html + 24 + + + src/app/frontend/settings/global/template.html + 127 + - - Cluster Role Bindings - Cluster Role Bindings + + Abort + 中止 + + src/app/frontend/common/dialogs/download/template.html + 48 + - - Edit Namespace List - Edit Namespace List + + will be updated to reflect the desired replicas count. + 将被更新以反映所需的副本数。 + + src/app/frontend/common/dialogs/scaleresource/template.html + 20 + - - New Replica Set - New Replica Set + + Close + 关闭 + + src/app/frontend/chrome/userpanel/template.html + 30 + + + src/app/frontend/chrome/userpanel/template.html + 55 + + + src/app/frontend/common/components/chips/chipdialog/template.html + 29 + + + src/app/frontend/common/dialogs/download/template.html + 56 + + + src/app/frontend/common/dialogs/previewdeployment/template.html + 34 + + + src/app/frontend/settings/global/namespace/adddialog/template.html + 53 + + + src/app/frontend/settings/global/namespace/editdialog/template.html + 49 + - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 + + Logged in with auth header + 使用 auth 标头登录 + + src/app/frontend/chrome/userpanel/template.html + 45,46 + - - Non-resource URL - 非资源 URL + + Logged in with token + 使用令牌登录 + + src/app/frontend/chrome/userpanel/template.html + 48,49 + - - Image: - 镜像: + + Default service account + 默认服务账户 + + src/app/frontend/chrome/userpanel/template.html + 51 + - - Mount Option(s) - Mount Option(s) + + Sign in + 登录 + + src/app/frontend/chrome/userpanel/template.html + 67 + - - Cron Jobs - Cron Jobs + + Sign out + 离开 + + src/app/frontend/chrome/userpanel/template.html + 71 + - - Init images - Init images + + Desired replicas + 目标副本数量 + + src/app/frontend/common/dialogs/scaleresource/template.html + 26 + - - Ingresses - Ingresses + + Actual replicas + 当前的副本数量 + + src/app/frontend/common/dialogs/scaleresource/template.html + 38 + Scale - Scale + Scale + + src/app/frontend/common/components/list/column/menu/template.html + 35 + + + src/app/frontend/common/dialogs/scaleresource/template.html + 61 + - - Daemon Sets - Daemon Sets + + Trigger a + 触发一个 + + src/app/frontend/common/dialogs/triggerresource/template.html + 18 + - - Revision history limit - Revision history limit + + in namespace will be restarted. + in namespace will be restarted. + + src/app/frontend/common/dialogs/restartresource/template.html + 21 + - - Password - 密码 + + Scale a resource + 缩放一个资源 + + src/app/frontend/common/dialogs/scaleresource/template.html + 18 + - - Labels limit - 标签限制 + + will be triggered. + 将会被触发. + + src/app/frontend/common/dialogs/triggerresource/template.html + 20 + - - Data - Data + + Trigger + 触发 + + src/app/frontend/common/components/list/column/menu/template.html + 31 + + + src/app/frontend/common/dialogs/triggerresource/template.html + 25 + - - Services - Services + + Delete resource + 删除资源 + + src/app/frontend/common/components/actionbar/detailactions/delete/template.html + 21 + - - UID - UID + + Edit resource + 编辑资源 + + src/app/frontend/common/components/actionbar/detailactions/edit/template.html + 21 + - - Choose kubeconfig file - 选择 kubeconfig 文件 + + Scale resource + 缩放资源 + + src/app/frontend/common/components/actionbar/detailactions/scale/template.html + 21 + - - Volume Name - Volume Name + + View logs + 查看日志 + + src/app/frontend/common/components/actionbar/detailactions/logs/template.html + 21 + - - Hides all access denied warnings in the notification panel. - 在通知面板中隐藏所有拒绝访问的警告。 + + Exec into pod + 在 pod 中运行 + + src/app/frontend/common/components/actionbar/detailactions/exec/template.html + 20 + - - Error - Error + + Endpoints + Endpoints + + src/app/frontend/common/components/endpoint/cardlist/template.html + 20 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 173 + + + src/app/frontend/resource/discovery/ingress/detail/template.html + 36 + - - Expand card - Expand card + + Trigger resource + 触发资源 + + src/app/frontend/common/components/actionbar/detailactions/trigger/template.html + 21 + - - Memory - Memory + + Jobs + Jobs + + src/app/frontend/common/components/resourcelist/job/template.html + 26 + + + src/app/frontend/common/components/workloadstatus/template.html + 92 + + + src/app/frontend/index.messages.ts + 42 + - - Mount Path - 挂载路径 + + Namespaces + Namespaces + + src/app/frontend/common/components/resourcelist/namespace/template.html + 21 + + + src/app/frontend/index.messages.ts + 59 + - - CPU requirement (cores) - CPU 下限 (cores) + + Pods + Pods + + src/app/frontend/common/components/creator/template.html + 62 + + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 109 + + + src/app/frontend/common/components/resourcelist/deployment/template.html + 109 + + + src/app/frontend/common/components/resourcelist/job/template.html + 112 + + + src/app/frontend/common/components/resourcelist/node/template.html + 152 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 24 + + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 112 + + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 106 + + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 109 + + + src/app/frontend/common/components/workloadstatus/template.html + 111 + + + src/app/frontend/index.messages.ts + 43 + + + src/app/frontend/resource/cluster/node/detail/template.html + 179 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 247 + - - TLS Secret - TLS Secret + + Cron Jobs + Cron Jobs + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 24 + + + src/app/frontend/common/components/workloadstatus/template.html + 38 + + + src/app/frontend/index.messages.ts + 39 + - - Image Pull Secret - 拉取镜像的 Secret + + Replica Sets + Replica Sets + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 26 + + + src/app/frontend/common/components/workloadstatus/template.html + 129 + + + src/app/frontend/index.messages.ts + 44 + - - Strategy - Strategy + + Replication Controllers + Replication Controllers + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 21 + + + src/app/frontend/common/components/workloadstatus/template.html + 147 + + + src/app/frontend/index.messages.ts + 45 + - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 + + Workload Status + 工作负载的状态 + + src/app/frontend/common/components/workloadstatus/template.html + 20 + - - Volume Attributes - Volume Attributes + + Stateful Sets + Stateful Sets + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 24 + + + src/app/frontend/common/components/workloadstatus/template.html + 165 + + + src/app/frontend/index.messages.ts + 46 + - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 + + Roles + Roles + + src/app/frontend/common/components/resourcelist/role/template.html + 21 + + + src/app/frontend/index.messages.ts + 64 + - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 在这里 阅读。 + + Role Bindings + Role Bindings + + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 21 + + + src/app/frontend/index.messages.ts + 63 + - - You do not have required permissions to access this resource. - 您没有访问此资源所需的权限。 + + Services + Services + + src/app/frontend/common/components/resourcelist/service/template.html + 21 + + + src/app/frontend/index.messages.ts + 50 + - - Reclaim policy - Reclaim policy + + Config And Storage + 配置和存储 + + src/app/frontend/index.messages.ts + 51 + - - Cluster name appears in the browser window title if it is set. - 如果已设置,则集群名称将显示在浏览器窗口标题中. + + Status:  + 状态:  + + src/app/frontend/resource/workloads/pod/detail/template.html + 30 + - - Stateful Sets - Stateful Sets + + IP:  + IP:  + + src/app/frontend/resource/workloads/pod/detail/template.html + 37 + - - About - About + + IP + IP + + src/app/frontend/resource/workloads/pod/detail/template.html + 61 + - - Custom Resource Definitions - Custom Resource Definitions - - - External Endpoints - 外部 Endpoints - - - Storage Class - 存储类 - - - Available: - 可用的: + + QoS Class + QoS 类 + + src/app/frontend/resource/workloads/pod/detail/template.html + 67 + - - Desired replicas - 目标副本数量 + + Service Account + 服务账号 + + src/app/frontend/resource/workloads/pod/detail/template.html + 79 + - - Edit resource - 编辑资源 + + Node + 节点 + + src/app/frontend/common/components/endpoint/cardlist/template.html + 59 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 109 + + + src/app/frontend/resource/workloads/pod/detail/template.html + 47 + - - Rolling update strategy - Rolling update strategy + + Status + 状态 + + src/app/frontend/common/components/condition/template.html + 44 + + + src/app/frontend/common/components/container/template.html + 39 + + + src/app/frontend/common/components/quotas/template.html + 52 + + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 93 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 86 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 118 + + + src/app/frontend/resource/cluster/namespace/detail/template.html + 28 + + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 29 + + + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 28 + + + src/app/frontend/resource/workloads/pod/detail/template.html + 55 + - - Deploy - 部署 + + Started + 已启动 + + src/app/frontend/common/components/container/template.html + 50 + - - Ingress Classes - Ingress Classes + + Image Pull Secrets + 镜像拉取 Secrets + + src/app/frontend/resource/cluster/serviceaccount/detail/template.html + 25 + + + src/app/frontend/resource/workloads/pod/detail/template.html + 89 + - - Failed: - 失败: + + Init containers + Init containers + + src/app/frontend/resource/workloads/pod/detail/template.html + 132 + - - A secret with the specified name will be added to the cluster in the namespace. - 具有指定名称的 secret 将添加到命名空间中的集群中。 + + Reclaim policy + 回收策略 + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 46 + - - Revision history limit: - 修改历史记录限制: + + Storage class + 存储类 + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 52 + - - The new namespace will be added to the cluster. - 新的命名空间将添加到集群中。 + + Mount Option(s) + 挂载选项 + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 73 + - - Events - 事件 + + Access modes + 访问模式 + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 83 + - - - - - - - + + Restarts + 重启 + + src/app/frontend/common/components/resourcelist/pod/template.html + 126 + + + src/app/frontend/resource/workloads/pod/detail/template.html + 73 + - - Min ready seconds - Min ready seconds + + Containers + 容器 + + src/app/frontend/logs/template.html + 28 + + + src/app/frontend/resource/workloads/pod/detail/template.html + 124 + - - Categories - Categories + + Filter + 过滤 + + src/app/frontend/common/components/list/filter/template.html + 29 + - - Create from input - 输入并创建 + + Filter objects by name + 按名称过滤对象 + + src/app/frontend/common/components/list/filter/template.html + 34 + - - API Groups - API 组 + + Download logs file + 下载日志文件 + + src/app/frontend/common/dialogs/download/template.html + 19 + - - The description will be added as an annotation to the Deployment and displayed in the application's details. - 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 + + Show less + 收起 + + src/app/frontend/common/components/chips/template.html + 55 + - - Volume ID - Volume ID + + Show all + 显示所有 + + src/app/frontend/common/components/chips/template.html + 57 + - - Machine ID - Machine ID + + There is nothing to display here + 此处没有可显示的内容 + + src/app/frontend/common/components/list/zerostate/template.html + 22 + + + src/app/frontend/common/components/zerostate/template.html + 23 + - - Memory requirement must be given as a valid number. - 内存下限必须是一个有效的数字。 + + No resources found. + 没有发现资源。 + + src/app/frontend/common/components/list/zerostate/template.html + 27 + - - Exec Commands - Exec Commands + + Conditions + 状况 + + src/app/frontend/common/components/condition/template.html + 20 + - - Add namespaces... - 添加命名空间... + + Logs + 日志 + + src/app/frontend/common/components/list/column/menu/template.html + 22 + + + src/app/frontend/index.messages.ts + 31 + - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 如果指定的镜像是私有的,则可能需要拉取 secret 凭据。 您可以选择现有 secret 或创建新 secret。 + + Error + 错误 + + src/app/frontend/index.messages.ts + 32 + - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 + + Exec + 执行 + + src/app/frontend/common/components/list/column/menu/template.html + 27 + - - Conditions - Conditions + + Unpin + 取消固定 + + src/app/frontend/common/components/list/column/menu/template.html + 41 + - - iSCSI target lun number - iSCSI target lun number + + Pin + 固定 + + src/app/frontend/common/components/list/column/menu/template.html + 43 + - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 + + Metadata + Metadata + + src/app/frontend/common/components/objectmeta/template.html + 19 + - - Secrets - Secrets + + Restart + 重启 + + src/app/frontend/common/components/actionbar/detailactions/restart/template.html + 21 + + + src/app/frontend/common/components/list/column/menu/template.html + 53 + + + src/app/frontend/common/dialogs/restartresource/template.html + 42 + - - Unsupported graph type . - Unsupported graph type . + + Items:  + 项目:  + + src/app/frontend/common/components/condition/template.html + 26 + + + src/app/frontend/common/components/endpoint/cardlist/template.html + 26 + + + src/app/frontend/common/components/ingressrulelist/template.html + 26 + + + src/app/frontend/common/components/limits/template.html + 26 + + + src/app/frontend/common/components/policyrule/template.html + 26 + + + src/app/frontend/common/components/quotas/template.html + 26 + + + src/app/frontend/common/components/resourcelist/clusterrole/template.html + 23 + + + src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html + 23 + + + src/app/frontend/common/components/resourcelist/configmap/template.html + 23 + + + src/app/frontend/common/components/resourcelist/crd/template.html + 23 + + + src/app/frontend/common/components/resourcelist/crdobject/template.html + 23 + + + src/app/frontend/common/components/resourcelist/crdversion/template.html + 26 + + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 26 + + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 26 + + + src/app/frontend/common/components/resourcelist/deployment/template.html + 26 + + + src/app/frontend/common/components/resourcelist/event/template.html + 24 + + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 24 + + + src/app/frontend/common/components/resourcelist/ingress/template.html + 23 + + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 23 + + + src/app/frontend/common/components/resourcelist/job/template.html + 29 + + + src/app/frontend/common/components/resourcelist/namespace/template.html + 23 + + + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 23 + + + src/app/frontend/common/components/resourcelist/node/template.html + 26 + + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 23 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 23 + + + src/app/frontend/common/components/resourcelist/plugin/template.html + 23 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 26 + + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 29 + + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 23 + + + src/app/frontend/common/components/resourcelist/role/template.html + 23 + + + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 23 + + + src/app/frontend/common/components/resourcelist/secret/template.html + 22 + + + src/app/frontend/common/components/resourcelist/service/template.html + 23 + + + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 23 + + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 26 + + + src/app/frontend/common/components/resourcelist/storageclass/template.html + 23 + + + src/app/frontend/common/components/subject/template.html + 26 + + + src/app/frontend/common/components/volumemount/template.html + 25 + - - Max Replicas - 最大副本数 + + Name + 名称 + + src/app/frontend/common/components/creator/template.html + 48 + + + src/app/frontend/common/components/objectmeta/template.html + 44 + + + src/app/frontend/common/components/quotas/template.html + 37 + + + src/app/frontend/common/components/resourcelist/clusterrole/template.html + 43 + + + src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html + 43 + + + src/app/frontend/common/components/resourcelist/configmap/template.html + 44 + + + src/app/frontend/common/components/resourcelist/crd/template.html + 54 + + + src/app/frontend/common/components/resourcelist/crdobject/template.html + 41 + + + src/app/frontend/common/components/resourcelist/crdversion/template.html + 36 + + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 57 + + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 66 + + + src/app/frontend/common/components/resourcelist/deployment/template.html + 66 + + + src/app/frontend/common/components/resourcelist/event/template.html + 50 + + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 44 + + + src/app/frontend/common/components/resourcelist/ingress/template.html + 44 + + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 44 + + + src/app/frontend/common/components/resourcelist/job/template.html + 69 + + + src/app/frontend/common/components/resourcelist/namespace/template.html + 53 + + + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 42 + + + src/app/frontend/common/components/resourcelist/node/template.html + 57 + + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 52 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 52 + + + src/app/frontend/common/components/resourcelist/plugin/template.html + 43 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 66 + + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 69 + + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 63 + + + src/app/frontend/common/components/resourcelist/role/template.html + 43 + + + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 43 + + + src/app/frontend/common/components/resourcelist/secret/template.html + 43 + + + src/app/frontend/common/components/resourcelist/service/template.html + 54 + + + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 42 + + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 66 + + + src/app/frontend/common/components/resourcelist/storageclass/template.html + 44 + + + src/app/frontend/common/components/subject/template.html + 36 + + + src/app/frontend/common/components/volumemount/template.html + 35 + + + src/app/frontend/create/from/form/environmentvariables/template.html + 29 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 224 + - - Commands - Commands + + Namespace + 命名空间 + + src/app/frontend/common/components/objectmeta/template.html + 50 + + + src/app/frontend/common/components/resourcelist/configmap/template.html + 58 + + + src/app/frontend/common/components/resourcelist/crdobject/template.html + 52 + + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 71 + + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 81 + + + src/app/frontend/common/components/resourcelist/deployment/template.html + 81 + + + src/app/frontend/common/components/resourcelist/event/template.html + 59 + + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 50 + + + src/app/frontend/common/components/resourcelist/ingress/template.html + 58 + + + src/app/frontend/common/components/resourcelist/job/template.html + 84 + + + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 54 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 66 + + + src/app/frontend/common/components/resourcelist/plugin/template.html + 64 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 81 + + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 84 + + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 78 + + + src/app/frontend/common/components/resourcelist/role/template.html + 53 + + + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 53 + + + src/app/frontend/common/components/resourcelist/secret/template.html + 57 + + + src/app/frontend/common/components/resourcelist/service/template.html + 68 + + + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 54 + + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 81 + + + src/app/frontend/common/components/subject/template.html + 48 + + + src/app/frontend/create/from/form/template.html + 145 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 232 + + + src/app/frontend/settings/global/namespace/adddialog/template.html + 29 + + + src/app/frontend/settings/global/namespace/template.html + 27 + - - A Deployment will be created to maintain the desired number of pods across your cluster. - Deployment 将跨集群创建 pod 以维护所需数量。 + + UID + UID + + src/app/frontend/common/components/objectmeta/template.html + 71 + - - Resource type - 资源类别 + + Labels + 标签 + + src/app/frontend/common/components/creator/template.html + 78 + + + src/app/frontend/common/components/objectmeta/template.html + 78 + + + src/app/frontend/common/components/resourcelist/configmap/template.html + 66 + + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 89 + + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 99 + + + src/app/frontend/common/components/resourcelist/deployment/template.html + 99 + + + src/app/frontend/common/components/resourcelist/ingress/template.html + 66 + + + src/app/frontend/common/components/resourcelist/job/template.html + 102 + + + src/app/frontend/common/components/resourcelist/namespace/template.html + 64 + + + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 60 + + + src/app/frontend/common/components/resourcelist/node/template.html + 70 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 74 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 99 + + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 102 + + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 96 + + + src/app/frontend/common/components/resourcelist/secret/template.html + 65 + + + src/app/frontend/common/components/resourcelist/service/template.html + 76 + + + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 60 + + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 99 + + + src/app/frontend/create/from/form/template.html + 183 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 254 + - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 + + Annotations + 注解 + + src/app/frontend/common/components/objectmeta/template.html + 88 + - - Seccomp Profile Type - Seccomp Profile Type + + Pods status + Pods 状态 + + src/app/frontend/common/components/podstatus/template.html + 20 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 119 + - - Cancel - Cancel + + Schedule + 调度 + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 99 + + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 52 + - - Target port must be an integer. - 目标端口必须是整数。 + + Suspend + 暂停 + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 110 + + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 64 + - - Key - Key + + Active + 运行中 + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 120 + - - Metadata - Metadata + + Last Schedule + 最后的调度 + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 128 + - - Updated: - 已更新: + + Deployments + Deployments + + src/app/frontend/common/components/resourcelist/deployment/template.html + 24 + + + src/app/frontend/common/components/workloadstatus/template.html + 74 + + + src/app/frontend/index.messages.ts + 41 + - - Server - Server + + Ingress Classes + Ingress Classes + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 49 + - - Service - Service + + Controller + 控制器 + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 55 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 29 + - - Resource Names - 资源名 + + Events + 事件 + + src/app/frontend/common/components/resourcelist/event/template.html + 22 + + + src/app/frontend/index.messages.ts + 36 + - - Logged in with auth header - Logged in with auth header + + Overview + 概况 + + src/app/frontend/index.messages.ts + 37 + - - Parameters - 参数 + + Created + 创建时间 + + src/app/frontend/common/components/objectmeta/template.html + 55 + + + src/app/frontend/common/components/quotas/template.html + 42 + + + src/app/frontend/common/components/resourcelist/clusterrole/template.html + 54 + + + src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html + 54 + + + src/app/frontend/common/components/resourcelist/configmap/template.html + 78 + + + src/app/frontend/common/components/resourcelist/crd/template.html + 91 + + + src/app/frontend/common/components/resourcelist/crdobject/template.html + 58 + + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 152 + + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 121 + + + src/app/frontend/common/components/resourcelist/deployment/template.html + 121 + + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 78 + + + src/app/frontend/common/components/resourcelist/ingress/template.html + 116 + + + src/app/frontend/common/components/resourcelist/ingressclass/template.html + 65 + + + src/app/frontend/common/components/resourcelist/job/template.html + 124 + + + src/app/frontend/common/components/resourcelist/namespace/template.html + 80 + + + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 70 + + + src/app/frontend/common/components/resourcelist/node/template.html + 164 + + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 139 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 142 + + + src/app/frontend/common/components/resourcelist/plugin/template.html + 72 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 160 + + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 124 + + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 118 + + + src/app/frontend/common/components/resourcelist/role/template.html + 61 + + + src/app/frontend/common/components/resourcelist/rolebinding/template.html + 61 + + + src/app/frontend/common/components/resourcelist/secret/template.html + 85 + + + src/app/frontend/common/components/resourcelist/service/template.html + 124 + + + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 70 + + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 121 + + + src/app/frontend/common/components/resourcelist/storageclass/template.html + 75 + - - key - 密钥 + + Age + 存在时长 + + src/app/frontend/common/components/creator/template.html + 68 + + + src/app/frontend/common/components/objectmeta/template.html + 62 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 238 + - - Inactive Jobs - 非工作的 Jobs + + Host + 主机 + + src/app/frontend/common/components/ingressrulelist/template.html + 36 + - - bytes - bytes + + Dependencies + 依赖 + + src/app/frontend/common/components/resourcelist/plugin/template.html + 55 + - - QoS Class - QoS Class + + Image:  + 镜像:  + + src/app/frontend/common/components/container/template.html + 19 + - - Persistent Volume Claims - Persistent Volume Claims + + Image + 镜像 + + src/app/frontend/common/components/container/template.html + 32 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 344 + - - Seccomp Localhost Profile - Seccomp Localhost Profile + + Environment Variables + 环境变量 + + src/app/frontend/common/components/container/template.html + 106 + - - Old Replica Sets - 旧 Replica Sets + + Environment variable + 环境变量 + + src/app/frontend/common/components/container/template.html + 116 + + + src/app/frontend/common/components/container/template.html + 133 + + + src/app/frontend/common/components/container/template.html + 153 + - - Are you sure you want to delete in namespace ? - 你确定要删除 在命名空间中 ? + + bytes + 字节 + + src/app/frontend/common/components/container/template.html + 140 + + + src/app/frontend/common/components/container/template.html + 160 + - - Memory limits (bytes) - 内存上限 (bytes) + + Commands + 命令 + + src/app/frontend/common/components/container/template.html + 170 + - - Delete a resource - Delete a resource + + Arguments + 参数 + + src/app/frontend/common/components/container/template.html + 184 + - - Versions - Versions + + Mounts + 挂载 + + src/app/frontend/common/components/container/template.html + 199 + - - - - - - - + + Security Context + 安全上下文 + + src/app/frontend/common/components/container/template.html + 214 + + + src/app/frontend/resource/workloads/pod/detail/template.html + 102 + - - User - User + + Liveness Probe + 存活探针 + + src/app/frontend/common/components/container/template.html + 226 + - - Image Pull Secrets - 镜像拉取 Secrets + + Readiness Probe + 就绪探针 + + src/app/frontend/common/components/container/template.html + 236 + - - Image Pull Secrets - 镜像拉取 Secrets + + Startup Probe + 启动探针 + + src/app/frontend/common/components/container/template.html + 246 + - - Path Type - 路径类型 + + Unsupported graph type . + 不支持的镜像设备格式. + + src/app/frontend/common/components/graph/component.ts + 95 + - - Settings have changed since last reload - Settings have changed since last reload + + Waiting for more data to display chart... + 等待更多的数据来显示图表... + + src/app/frontend/common/components/graph/template.html + 22 + - - Resources - 资源 + + Type + 类别 + + src/app/frontend/common/components/condition/template.html + 36 + + + src/app/frontend/common/components/resourcelist/secret/template.html + 75 + + + src/app/frontend/common/components/resourcelist/service/template.html + 86 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 27 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 59 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 85 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 121 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 135 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 167 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 193 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 207 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 268 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 306 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 332 + + + src/app/frontend/resource/discovery/service/detail/template.html + 28 + - - Operating system - Operating system + + Last probe time + 最后的检测时间 + + src/app/frontend/common/components/condition/template.html + 52 + - - Overview - Overview + + Last transition time + 最后的迁移时间 + + src/app/frontend/common/components/condition/template.html + 60 + - - Memory Usage (bytes) - 内存使用 (bytes) + + Resource Limits + 资源限制 + + src/app/frontend/common/components/limits/template.html + 20 + - - Add Namespace - Add Namespace + + Reason + 原因 + + src/app/frontend/common/components/condition/template.html + 68 + + + src/app/frontend/common/components/container/template.html + 58 + + + src/app/frontend/common/components/container/template.html + 72 + + + src/app/frontend/common/components/resourcelist/event/template.html + 68 + + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 126 + + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 60 + - - Persistent disk name - Persistent disk name + + Message + 信息 + + src/app/frontend/common/components/condition/template.html + 76 + + + src/app/frontend/common/components/container/template.html + 64 + + + src/app/frontend/common/components/container/template.html + 78 + + + src/app/frontend/common/components/resourcelist/event/template.html + 76 + + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 66 + - - Driver - Driver + + Exit Code + 退出码 + + src/app/frontend/common/components/container/template.html + 84 + - - All namespaces - 全部命名空间 + + Signal + 信号 + + src/app/frontend/common/components/container/template.html + 90 + - - Host links are external links that will be open in a new tab. - 主机链接是将在新选项卡中打开的外部链接。 + + Started At + 启动于 + + src/app/frontend/common/components/container/template.html + 98 + - - Version - Version + + Name:  + 名称:  + + src/app/frontend/common/components/creator/template.html + 22 + + + src/app/frontend/common/components/objectmeta/template.html + 23 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 192 + - - Storage Classes - Storage Classes + + Kind:  + Kind:  + + src/app/frontend/common/components/creator/template.html + 29 + - - Selected namespace is different than namespace of currently selected resource. - Selected namespace is different than namespace of currently selected resource. + + Age:  + 经过时间:  + + src/app/frontend/common/components/creator/template.html + 36 + + + src/app/frontend/common/components/objectmeta/template.html + 35 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 206 + - - Namespaces let you partition resources into logically named groups. - 命名空间允许将资源分区为逻辑命名的组。 + + Kind + Kind + + src/app/frontend/common/components/creator/template.html + 56 + + + src/app/frontend/common/components/subject/template.html + 57 + + + src/app/frontend/crd/detail/template.html + 72 + - - Pending: - Pending: + + Images + 镜像 + + src/app/frontend/common/components/creator/template.html + 87 + + + src/app/frontend/common/components/resourcelist/cronjob/template.html + 79 + + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 89 + + + src/app/frontend/common/components/resourcelist/deployment/template.html + 89 + + + src/app/frontend/common/components/resourcelist/job/template.html + 92 + + + src/app/frontend/common/components/resourcelist/pod/template.html + 89 + + + src/app/frontend/common/components/resourcelist/replicaset/template.html + 92 + + + src/app/frontend/common/components/resourcelist/replicationcontroller/template.html + 86 + + + src/app/frontend/common/components/resourcelist/statefulset/template.html + 89 + + + src/app/frontend/resource/workloads/daemonset/detail/template.html + 39 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 263 + + + src/app/frontend/resource/workloads/job/detail/template.html + 58 + + + src/app/frontend/resource/workloads/replicaset/detail/template.html + 47 + + + src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + 39 + + + src/app/frontend/resource/workloads/statefulset/detail/template.html + 39 + - - Concurrency policy - Concurrency policy + + Group + Group + + src/app/frontend/common/components/resourcelist/crd/template.html + 65 + + + src/app/frontend/crd/detail/template.html + 41 + - - Termination Grace Period (Seconds) - Termination Grace Period (Seconds) + + Full Name + 全名 + + src/app/frontend/common/components/resourcelist/crd/template.html + 73 + - - Label Selector - Label Selector + + Namespaced + 有命名空间的 + + src/app/frontend/common/components/resourcelist/crd/template.html + 81 + - - Ingress Classes - Ingress Classes + + Versions + 版本 + + src/app/frontend/common/components/resourcelist/crdversion/template.html + 20 + - - Succeeded - Succeeded + + Served + 服务 + + src/app/frontend/common/components/resourcelist/crdversion/template.html + 42 + - - Yes - Yes + + Storage + 存储 + + src/app/frontend/common/components/resourcelist/crdversion/template.html + 48 + - - Parallelism - Parallelism + + Daemon Sets + Daemon Sets + + src/app/frontend/common/components/resourcelist/daemonset/template.html + 24 + + + src/app/frontend/common/components/workloadstatus/template.html + 56 + + + src/app/frontend/index.messages.ts + 40 + - - Language - 语言 + + Host + 主机 + + src/app/frontend/common/components/endpoint/cardlist/template.html + 37 + - - Do you want to stay on current page and change namespace from to ? - 您是否希望保持当前页面并从 to 中更改名称空间? + + Ports (Name, Port, Protocol) + 端口 (名称, 端口, 协议) + + src/app/frontend/common/components/endpoint/cardlist/template.html + 45 + - - Source Type - 源类型 + + unset + 未设置 + + src/app/frontend/common/components/endpoint/cardlist/template.html + 51 + - - Unavailable: - 不可用的: + + Ready + 准备就绪 + + src/app/frontend/common/components/container/template.html + 44 + + + src/app/frontend/common/components/endpoint/cardlist/template.html + 67 + + + src/app/frontend/common/components/resourcelist/node/template.html + 80 + - - CPU - CPU + + Source + 事件源 + + src/app/frontend/common/components/resourcelist/event/template.html + 84 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 19 + - - File System Type - File System Type + + Object + 对象 + + src/app/frontend/common/components/resourcelist/event/template.html + 95 + Sub-object 子对象 + + src/app/frontend/common/components/resourcelist/event/template.html + 114 + - - Cluster - Cluster - - - Show all - 显示所有 - - - Sign out - Sign out + + Count + 次数 + + src/app/frontend/common/components/resourcelist/event/template.html + 125 + - - Running - Running + + First Seen + 初次 + + src/app/frontend/common/components/resourcelist/event/template.html + 134 + - - Last transition time - 最后的迁移时间 + + Last Seen + 最后一次 + + src/app/frontend/common/components/resourcelist/event/template.html + 146 + - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {隐藏高级选项} other {显示高级选项}} + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 22 + - - Total: - 总计: + + Min Replicas + 最小副本数 + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 56 + - - Suffix '' not recognized. - Suffix '' not recognized. + + Max Replicas + 最大副本数 + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 62 + - - Port must be greater than 0. - 端口号必须大于 0。 + + Reference + 参考 + + src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html + 68 + - - Image - Image + + Horizontal Pod Autoscaler + Pod 水平自动伸缩 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 287 + - - Reclaim Policy - 回收策略 + + Endpoint links are external links that will be open in a new tab. + 端点链接是将在新选项卡中打开的外部链接。 + + src/app/frontend/common/components/resourcelist/ingress/template.html + 80 + - - Name must be alphanumeric and may contain dashes. - 名称必须是字母或者数字,可以包含短划线。 + + Endpoints open_in_new + 端点 open_in_new + + src/app/frontend/common/components/resourcelist/ingress/template.html + 76 + - - Token - Token + + Host links are external links that will be open in a new tab. + 主机链接是将在新选项卡中打开的外部链接。 + + src/app/frontend/common/components/resourcelist/ingress/template.html + 97 + - - Max unavailable: - 最大不可用: + + Hosts open_in_new + 主机 open_in_new + + src/app/frontend/common/components/resourcelist/ingress/template.html + 93 + - - Strategy: - 策略: + + Controlled by + 受控于 + + src/app/frontend/common/components/creator/template.html + 42 + - - Close notifications panel - Close notifications panel + + Phase + 运行阶段 + + src/app/frontend/common/components/resourcelist/namespace/template.html + 72 + + + src/app/frontend/resource/cluster/node/detail/template.html + 30 + - - will be triggered. - 将会被触发. + + Network Policies + 网络策略 + + src/app/frontend/common/components/resourcelist/networkpolicy/template.html + 21 + + + src/app/frontend/index.messages.ts + 60 + - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - 两次资源自动刷新时间间隔。设置为 0 则表示不启用。 + + Ingresses + Ingresses + + src/app/frontend/common/components/resourcelist/ingress/template.html + 21 + + + src/app/frontend/index.messages.ts + 48 + - - You can specify minimum CPU and memory requirements for the container. - 您可以指定容器的最低 CPU 和内存需求。 + + CPU requests (cores) + CPU 请求(核数) + + src/app/frontend/common/components/resourcelist/node/template.html + 88 + - - Reference - 参考 + + CPU limits (cores) + CPU 限制(核数) + + src/app/frontend/common/components/resourcelist/node/template.html + 99 + - - Plural - Plural + + CPU capacity (cores) + CPU 容量(核心) + + src/app/frontend/common/components/resourcelist/node/template.html + 110 + - - Exec into pod - 在 pod 中运行 + + Memory requests (bytes) + 内存请求(字节数) + + src/app/frontend/common/components/resourcelist/node/template.html + 120 + - - Label Value must not exceed 253 characters. - 标签值不得超过 253 个字符。 + + Memory limits (bytes) + 内存限制(字节数) + + src/app/frontend/common/components/resourcelist/node/template.html + 131 + - - Actions - Actions + + Memory capacity (bytes) + 内存容量(字节数) + + src/app/frontend/common/components/resourcelist/node/template.html + 142 + - - Proc Mount - Proc Mount + + Persistent Volumes + 持久卷 + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 21 + + + src/app/frontend/index.messages.ts + 62 + - - Read documentation - 阅读文档 + + Select namespace... + 选择命名空间... + + src/app/frontend/common/components/namespace/template.html + 24 + - - List of namespaces that should be presented to user without namespace list privileges. - 应该显示给没有名称空间列表权限的用户的名称空间列表。 + + All namespaces + 全部命名空间 + + src/app/frontend/common/components/namespace/template.html + 33 + - - Resource Quotas - Resource Quotas + + Search for + 搜索 + + src/app/frontend/common/components/breadcrumbs/component.ts + 143 + - - Jobs - Jobs + + NAMESPACES + 命名空间 + + src/app/frontend/common/components/namespace/template.html + 34 + - - Max unavailable - Max unavailable + + Do you want to stay on current page and change namespace from to ? + 您是否希望保持当前页面并从 to 中更改名称空间? + + src/app/frontend/common/components/namespace/changedialog/template.html + 24 + - - Hosts open_in_new - Hosts open_in_new + + Yes + + + src/app/frontend/common/components/namespace/changedialog/template.html + 32 + - - Namespace - 命名空间 + + No + + + src/app/frontend/common/components/namespace/changedialog/template.html + 35 + - - Resource auto-refresh time interval - 资源自动刷新时间间隔 + + Initial Delay (Seconds) + 初始延迟(秒) + + src/app/frontend/common/components/probe/template.html + 26 + - - Accepted Names - Accepted Names + + Timeout (Seconds) + 超时时间(秒) + + src/app/frontend/common/components/probe/template.html + 31 + - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Kubernetes Dashboard 是由 Dashboard 社区 开发的 开源项目 + + Probe Period (Seconds) + 探测周期(秒) + + src/app/frontend/common/components/probe/template.html + 36 + - - Run as User - Run as User + + Success Threshold + 成功阈值 + + src/app/frontend/common/components/probe/template.html + 41 + - - Name is required. - 名称是必填的。 + + Failure Threshold + 失败阈值 + + src/app/frontend/common/components/probe/template.html + 46 + - - Started - Started + + Termination Grace Period (Seconds) + 终止宽限期(秒) + + src/app/frontend/common/components/probe/template.html + 51 + - - Source Name - 源名称 + + HTTP Healthcheck URI + HTTP 健康检查 URI + + src/app/frontend/common/components/probe/template.html + 58 + - - Label value must be alphanumeric separated by '.' , '-' or '_'. - 标签值必须由'.' , '-'或者'_'分割字母数字。 + + HTTP Headers + HTTP Headers + + src/app/frontend/common/components/probe/template.html + 68 + - - Learn more open_in_new - 了解更多 open_in_new + + TCP Socket + TCP Socket + + src/app/frontend/common/components/probe/template.html + 81 + - - Learn more open_in_new - 了解更多open_in_new + + Exec Commands + Exec Commands + + src/app/frontend/common/components/probe/template.html + 90 + - - Learn more open_in_new - 了解更多 open_in_new + + Objects + 对象 + + src/app/frontend/common/components/resourcelist/crdobject/template.html + 21 + - - Learn more open_in_new - 了解更多 open_in_new + + No resources found in the selected namespace. + 选定的命名空间中没有发现资源。 + + src/app/frontend/common/components/resourcelist/crdobject/template.html + 92 + - - Learn more open_in_new - 了解更多 open_in_new + + Nodes + 节点 + + src/app/frontend/common/components/resourcelist/node/template.html + 24 + + + src/app/frontend/index.messages.ts + 61 + - - Abort - Abort + + Namespace:  + 命名空间:  + + src/app/frontend/common/components/objectmeta/template.html + 29 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 199 + - - Name must be up to characters long. - 名称必须大于 个字符。 + + Running:  + 运行中:  + + src/app/frontend/common/components/podstatus/template.html + 26 + - - Name must be up to characters long. - 名称必须大于 字符. + + Succeeded:  + 成功:  + + src/app/frontend/common/components/podstatus/template.html + 33 + - - value - + + Pending:  + 启动中:  + + src/app/frontend/common/components/podstatus/template.html + 40 + - - Object - 对象 + + Failed:  + 失败:  + + src/app/frontend/common/components/podstatus/template.html + 47 + - - Config Maps - Config Maps + + Desired + 期望值 + + src/app/frontend/common/components/podstatus/template.html + 88 + - - Min Replicas - 最小副本数 + + Running + 运行中 + + src/app/frontend/common/components/podstatus/template.html + 63 + - - Remove all notifications - 删除所有通知 + + Succeeded + 已成功 + + src/app/frontend/common/components/podstatus/template.html + 69 + - - Container runtime version - Container runtime version + + Pending + 待定 + + src/app/frontend/common/components/podstatus/template.html + 75 + - - Service Port - 服务端口 + + Failed + 已失败 + + src/app/frontend/common/components/podstatus/template.html + 82 + - - Total - Total + + Rules + 规则 + + src/app/frontend/common/components/ingressrulelist/template.html + 20 + + + src/app/frontend/common/components/policyrule/template.html + 20 + - - Cluster Role Bindings - Cluster Role Bindings + + Desired:  + 期望值:  + + src/app/frontend/common/components/podstatus/template.html + 53 + - - Active Jobs - 运行中的 Jobs + + CPU Usage (cores) + CPU 使用率 (cores) + + src/app/frontend/common/components/resourcelist/pod/template.html + 134 + - - CPU requests (cores) - CPU 下限 (cores) + + Memory Usage (bytes) + 内存使用 (bytes) + + src/app/frontend/common/components/resourcelist/pod/template.html + 146 + - - Failure Threshold - Failure Threshold + + Capacity + 容量 + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 63 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 108 + + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 98 + + + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 49 + - - Volume Handle - Volume Handle + + Access Modes + 访问模式 + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 73 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 119 + + + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 58 + - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec Name + + Reclaim Policy + 回收策略 + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 83 + - - Show less - 收起 + + Claim + 要求 + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 101 + + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 35 + - - Run as privileged - 以特权身份运行 + + Storage Class + 存储类 + + src/app/frontend/common/components/resourcelist/persistentvolume/template.html + 115 + + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 129 + + + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 33 + - - Variable name must be a valid C identifier. - 变量名必须是有效的 C 标识符。 + + Persistent Volume Claims + 持久卷申领 + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 21 + + + src/app/frontend/index.messages.ts + 53 + - - Selector - Selector + + Volume + Volume + + src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html + 94 + - - No - No + + Plugins + 插件 + + src/app/frontend/common/components/resourcelist/plugin/template.html + 21 + + + src/app/frontend/index.messages.ts + 34 + - - Local settings - Local settings + + Shell + Shell + + src/app/frontend/index.messages.ts + 35 + - - Protocol is required. - 协议是必需的。 + + Read Only + 只读 + + src/app/frontend/common/components/volumemount/template.html + 40 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 227 + - - Desired: - 期望值: + + Mount Path + 挂载路径 + + src/app/frontend/common/components/volumemount/template.html + 45 + - - Session Affinity - Session Affinity + + Sub Path + 子路径 + + src/app/frontend/common/components/volumemount/template.html + 50 + - - Container image is required - 容器镜像是必须的 + + Source Type + 源类型 + + src/app/frontend/common/components/volumemount/template.html + 55 + - - CPU requirement must be given as a valid number. - CPU 下限必须是有效的数字。 + + Source Name + 源名称 + + src/app/frontend/common/components/volumemount/template.html + 60 + - - Service Port Number - Service Port Number + + Preview Deployment + 预览 Deployment + + src/app/frontend/common/dialogs/previewdeployment/template.html + 18 + - - unset - 未设置 + + Resources + 资源 + + src/app/frontend/common/components/policyrule/template.html + 36 + - - Resource Limits - Resource Limits + + Non-resource URL + 非资源 URL + + src/app/frontend/common/components/policyrule/template.html + 46 + - - This action is equivalent to: - 这个动作相当于: + + Resource Names + 资源名 + + src/app/frontend/common/components/policyrule/template.html + 56 + - - Change the language of the dashboard - 更改 dashboard 的语言 + + Verbs + 动作 + + src/app/frontend/common/components/policyrule/template.html + 66 + - - Save - Save + + API Groups + API 组 + + src/app/frontend/common/components/policyrule/template.html + 76 + + + + Resource Quotas + 资源配额 + + src/app/frontend/common/components/quotas/template.html + 20 + - - Protocol - 协议 + + Cluster Roles + Cluster Roles + + src/app/frontend/common/components/resourcelist/clusterrole/template.html + 21 + + + src/app/frontend/index.messages.ts + 58 + - - Init containers - Init containers + + Cluster Role Bindings + Cluster Role Bindings + + src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html + 21 + + + src/app/frontend/index.messages.ts + 57 + - - Exec - 执行 + + Config Maps + Config Maps + + src/app/frontend/common/components/resourcelist/configmap/template.html + 21 + + + src/app/frontend/index.messages.ts + 52 + - - Open notifications panel - Open notifications panel + + Custom Resource Definitions + Custom Resource Definitions + + src/app/frontend/common/components/resourcelist/crd/template.html + 21 + + + src/app/frontend/index.messages.ts + 66 + - - Replica Sets - Replica Sets + + Settings + 设置 + + src/app/frontend/index.messages.ts + 67 + - - Waiting for more data to display chart... - Waiting for more data to display chart... + + Resource name + 资源名 + + src/app/frontend/common/components/limits/template.html + 37 + + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 105 + - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - 具有此值的 “app” 标签将添加到已部署的 Deployment 和 Service 中。 + + Resource type + 资源类别 + + src/app/frontend/common/components/limits/template.html + 42 + - - Number of pods must be a positive integer - pod 的数量必须是整数 + + Default + 默认 + + src/app/frontend/common/components/limits/template.html + 47 + - - Run command arguments - 运行命令参数 + + Default request + 默认下限 + + src/app/frontend/common/components/limits/template.html + 52 + - - Can't find plugin "" - Can't find plugin "" + + Edit + 编辑 + + src/app/frontend/common/components/list/column/menu/template.html + 49 + + + src/app/frontend/settings/global/namespace/editdialog/template.html + 45 + - - Last Seen - 最后一次 + + Actions + 动作 + + src/app/frontend/common/components/list/column/menu/template.html + 66 + - - Port must be an integer. - 端口号必须是数字。 + + Provisioner + 提供者 + + src/app/frontend/common/components/resourcelist/storageclass/template.html + 55 + + + src/app/frontend/resource/config/storageclass/detail/template.html + 29 + - - Choose YAML or JSON file - 选择 YAML 或 JSON 文件 + + Parameters + 参数 + + src/app/frontend/common/components/resourcelist/storageclass/template.html + 63 + - - Available - Available + + Subjects + 主体 + + src/app/frontend/common/components/subject/template.html + 20 + - - Node - 节点 + + Cluster IP + 集群 IP + + src/app/frontend/common/components/resourcelist/service/template.html + 94 + + + src/app/frontend/resource/discovery/service/detail/template.html + 33 + - - Schedule: - 时间表: + + Internal Endpoints + 内部 Endpoints + + src/app/frontend/common/components/resourcelist/service/template.html + 102 + - - Update - Update + + External Endpoints + 外部 Endpoints + + src/app/frontend/common/components/resourcelist/service/template.html + 112 + - - Arguments - Arguments + + Service Accounts + 服务账户 + + src/app/frontend/common/components/resourcelist/serviceaccount/template.html + 21 + + + src/app/frontend/index.messages.ts + 65 + - - Dependencies - 依赖 + + Storage Classes + 存储类 + + src/app/frontend/common/components/resourcelist/storageclass/template.html + 21 + + + src/app/frontend/index.messages.ts + 55 + - - Role Bindings - Role Bindings + + Global settings are stored in config map, so all of them are applied for every instance of the app. + 全局设置存储在 config map 中,因此所有这些设置都适用于应用程序的每个实例。 + + src/app/frontend/settings/global/template.html + 23 + - - Config and Storage - Config and Storage + + Secrets + Secrets + + src/app/frontend/index.messages.ts + 54 + + + src/app/frontend/overview/template.html + 66 + + + src/app/frontend/resource/cluster/serviceaccount/detail/template.html + 21 + + + src/app/frontend/resource/config/secret/list/template.html + 17 + + + src/app/frontend/resource/config/template.html + 24 + + + src/app/frontend/search/template.html + 62 + - - Probe Period (Seconds) - Probe Period (Seconds) + + Cluster + 集群 + + src/app/frontend/index.messages.ts + 56 + + + src/app/frontend/overview/template.html + 75 + + + src/app/frontend/search/template.html + 70 + - - Scale resource - 缩放资源 + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + 你可以 部署一个容器化应用, 选择其他命名空间,或者 + 阅读 Dashboard 说明 + open_in_new + 了解更多。 + + src/app/frontend/common/components/zerostate/template.html + 26 + - - Port must be less than 65536. - 端口号必须小于 65536。 + + SE Linux User + SE Linux 用户 + + src/app/frontend/common/components/securitycontext/template.html + 23 + - - Readiness Probe - Readiness Probe + + SE Linux Role + SE Linux 角色 + + src/app/frontend/common/components/securitycontext/template.html + 28 + - - CPU limits (cores) - CPU 上限 (cores) + + SE Linux Type + SE Linux 类型 + + src/app/frontend/common/components/securitycontext/template.html + 33 + - - Images - 镜像 + + SE Linux Level + SE Linux 级别 + + src/app/frontend/common/components/securitycontext/template.html + 38 + - - Skip - 跳过 + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec 名称 + + src/app/frontend/common/components/securitycontext/template.html + 44 + - - Created - 创建时间 + + Windows GMSA Credential Spec + Windows GMSA Credential Spec + + src/app/frontend/common/components/securitycontext/template.html + 49 + - - Namespace that should be selected by default after logging in. - 登录后应默认选择的命名空间。 + + Windows Run as User + Windows 上用户身份 + + src/app/frontend/common/components/securitycontext/template.html + 54 + - - Deployment or service with this name already exists within namespace. - 具有此名称的 deployment 或 service 已存在于命名空间中。 + + Run as User + 用户身份 + + src/app/frontend/common/components/securitycontext/template.html + 60 + - - Storage class - Storage class + + Run as Group + 组身份 + + src/app/frontend/common/components/securitycontext/template.html + 65 + - - Role Bindings - Role Bindings + + Run as Non-Root + 非 Root 身份 + + src/app/frontend/common/components/securitycontext/template.html + 70 + - - Pin resource - Pin resource + + Seccomp Profile Type + Seccomp 配置文件类型 + + src/app/frontend/common/components/securitycontext/template.html + 76 + - - Config Maps - Config Maps + + Seccomp Localhost Profile + Seccomp 本地主机配置文件 + + src/app/frontend/common/components/securitycontext/template.html + 81 + - - Create a new namespace... - 创建一个新的命名空间... + + Added Capabilities + 要添加的权能 + + src/app/frontend/common/components/securitycontext/template.html + 88 + - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 + + Dropped Capabilities + 要放弃的权能 + + src/app/frontend/common/components/securitycontext/template.html + 93 + - - Completions: - 完成: + + Privileged + 特权模式 + + src/app/frontend/common/components/securitycontext/template.html + 98 + - - in namespace will be restarted. - in namespace will be restarted. + + Read Only Filesystem + 只读文件系统 + + src/app/frontend/common/components/securitycontext/template.html + 103 + - - Starting deadline seconds - Starting deadline seconds + + Allow Privilege Escalation + 允许特权提升 + + src/app/frontend/common/components/securitycontext/template.html + 108 + - - Volume - Volume + + Proc Mount + 挂载 Proc 文件系统 + + src/app/frontend/common/components/securitycontext/template.html + 113 + - - Pending - Pending + + Filesystem Group + 文件系统组 + + src/app/frontend/common/components/securitycontext/template.html + 120 + - - Memory requests (bytes) - 内存下限 (bytes) + + Filesystem Group Change Policy + 文件系统组变更策略 + + src/app/frontend/common/components/securitycontext/template.html + 125 + - - Create new resource - 创建新资源 + + Supplemental Groups + 附加用户组 + + src/app/frontend/common/components/securitycontext/template.html + 131 + - - Unknown - Unknown + + Sysctls + Sysctls + + src/app/frontend/common/components/securitycontext/template.html + 139 + - - Pin - 固定 + + API Group + API 组 + + src/app/frontend/common/components/subject/template.html + 63 + - - This action is equivalent to: - 此操作相当于: + + Workloads + 工作负载 + + + src/app/frontend/chrome/nav/template.html + 27 + - - Age: - 经过时间: + + Cron Jobs + Cron Jobs + + + src/app/frontend/chrome/nav/template.html + 32 + - - Edit a resource - Edit a resource + + Daemon Sets + Daemon Sets + + + src/app/frontend/chrome/nav/template.html + 36 + - - Roles - Roles + + Deployments + Deployments + + + src/app/frontend/chrome/nav/template.html + 40 + - - Do you want to save them anyways? - 你想保存它们吗? + + Jobs + Jobs + + + src/app/frontend/chrome/nav/template.html + 44 + - - Access modes - Access modes + + Pods + Pods + + + src/app/frontend/chrome/nav/template.html + 48 + - - Default request - 默认下限 + + Replica Sets + Replica Sets + + + src/app/frontend/chrome/nav/template.html + 52 + - - Search - 搜索 + + Replication Controllers + Replication Controllers + + + src/app/frontend/chrome/nav/template.html + 56 + - - Actual replicas - 当前的副本数量 + + Stateful Sets + Stateful Sets + + + src/app/frontend/chrome/nav/template.html + 61 + - - Secrets - Secrets + + Service + 服务 + + + src/app/frontend/chrome/nav/template.html + 67 + - - Kind: - Kind: + + Ingresses + Ingresses + + + src/app/frontend/chrome/nav/template.html + 73 + - - Namespaces - 命名空间 + + Services + Services + + + src/app/frontend/chrome/nav/template.html + 82 + - - Rules - Rules + + Config and Storage + 配置和存储 + + + src/app/frontend/chrome/nav/template.html + 88 + - - Claim - 要求 + + Config Maps + Config Maps + + src/app/frontend/chrome/nav/template.html + 94 + - - iSCSI Qualified Name - iSCSI Qualified Name + + Persistent Volume Claims + Persistent Volume Claims + + src/app/frontend/chrome/nav/template.html + 100 + - - Parallelism: - 并行: + + Secrets + Secrets + + src/app/frontend/chrome/nav/template.html + 106 + - - Environment variables - Environment variables + + Storage Classes + Storage Classes + + src/app/frontend/chrome/nav/template.html + 110 + + + + Cluster + 集群 + + src/app/frontend/chrome/nav/template.html + 116 + - - Desired - Desired + + Cluster Role Bindings + Cluster Role Bindings + + src/app/frontend/chrome/nav/template.html + 120 + - Cluster Roles - Cluster Roles + Cluster Roles + Cluster Roles + + src/app/frontend/chrome/nav/template.html + 125 + - - Delete resource - 删除资源 + + Events + 事件 + + src/app/frontend/chrome/nav/template.html + 130 + - - Architecture - Architecture + + Ingress Classes + Ingress 类 + + src/app/frontend/chrome/nav/template.html + 77 + - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 + + Namespaces + 命名空间 + + src/app/frontend/chrome/nav/template.html + 134 + - - Reason - 原因 + + Network Policies + 网络策略 + + src/app/frontend/chrome/nav/template.html + 139 + - - Logs - 日志 + + Nodes + Nodes + + src/app/frontend/chrome/nav/template.html + 144 + - - General-purpose web UI for Kubernetes clusters - General-purpose web UI for Kubernetes clusters + + Persistent Volumes + Persistent Volumes + + src/app/frontend/chrome/nav/template.html + 148 + - - About - 关于 + + Role Bindings + Role Bindings + + src/app/frontend/chrome/nav/template.html + 154 + - - Description - 描述 + + Roles + Roles + + src/app/frontend/chrome/nav/template.html + 160 + - - Settings - Settings + + Service Accounts + 服务账号 + + src/app/frontend/chrome/nav/template.html + 165 + - - Controlled by - Controlled by + + Custom Resource Definitions + 自定义资源 + + src/app/frontend/chrome/nav/template.html + 173 + - - SE Linux Role - SE Linux Role + + Plugins + 插件 + + src/app/frontend/chrome/nav/template.html + 184 + - - Trigger resource - 触发资源 + + Edit a resource + 编辑一个资源 + + src/app/frontend/common/dialogs/editresource/template.html + 18 + - - Workload Status - Workload Status + + Settings + 设置 + + src/app/frontend/chrome/nav/template.html + 192 + - - Singular - Singular + + About + 关于 + + src/app/frontend/chrome/nav/template.html + 197 + - - Access Modes - 访问模式 + + Create new resource + 创建新资源 + + src/app/frontend/chrome/template.html + 42 + - - SE Linux Level - SE Linux Level + + + + + src/app/frontend/chrome/notifications/template.html + 47 + - - Running: - 运行中: + + There are no notifications + 没有通知 + + src/app/frontend/chrome/notifications/template.html + 63 + - - Keyring - Keyring + + Search + 搜索 + + src/app/frontend/chrome/search/template.html + 29 + - - IP - IP + + Kubernetes Dashboard + Kubernetes 仪表板 + + src/app/frontend/login/template.html + 23 + - - Memory capacity - Memory capacity + + Remove all notifications + 删除所有通知 + + src/app/frontend/chrome/notifications/template.html + 71 + - - HTTP Healthcheck URI - HTTP Healthcheck URI + + + + + + src/app/frontend/chrome/nav/pinner/template.html + 22 + - - Environment Variables - Environment Variables + + Delete a resource + 删除一个资源 + + src/app/frontend/common/dialogs/deleteresource/template.html + 18 + - - Addresses - Addresses + + Delete + 删除 + + src/app/frontend/common/components/list/column/menu/template.html + 57 + + + src/app/frontend/common/dialogs/deleteresource/template.html + 43 + - - Pods - Pods + + Kubeconfig + Kubeconfig + + src/app/frontend/login/template.html + 34 + - - Sign in - Sign in + + Basic + 基本 + + src/app/frontend/login/template.html + 36 + - - Username - 用户名 + + Token + Token + + src/app/frontend/login/template.html + 38 + - - Upload - 上传 + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 + + src/app/frontend/login/template.html + 44 + - - IP: - IP: + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 + + src/app/frontend/login/template.html + 51 + - - Taints - Taints + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 + + src/app/frontend/login/template.html + 58 + - - Memory requirement must be given as a positive number. - 内存下限必须是正整数。 + + Enter token + 输入 token + + src/app/frontend/login/template.html + 74 + - - CPU capacity - CPU capacity + + Username + 用户名 + + src/app/frontend/login/template.html + 87 + - - Search for - Search for + + Password + 密码 + + src/app/frontend/login/template.html + 98 + - - Cron Jobs - Cron Jobs + + Choose kubeconfig file + 选择 kubeconfig 文件 + + src/app/frontend/login/template.html + 107 + - - Size: B - 尺寸: B + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 + 在这里 + 阅读。 + + + src/app/frontend/login/template.html + 117 + - - Choose color theme of the dashboard - 选择 dashboard 的颜色主题 + + Sign in + 登录 + + src/app/frontend/login/template.html + 133 + - - Filter objects by name - 按名称过滤对象 + + Skip + 跳过 + + src/app/frontend/login/template.html + 142 + - - Schedule - 调度 + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Kubernetes Dashboard 是由 Dashboard 社区 开发的 + 开源项目。 + + + src/app/frontend/about/template.html + 37 + - - Enter token - 输入 token + + Workloads + 工作负载 + + src/app/frontend/index.messages.ts + 38 + + + src/app/frontend/overview/template.html + 19 + + + src/app/frontend/search/template.html + 20 + - - Allow Privilege Escalation - Allow Privilege Escalation + + Read documentation + 阅读文档 + + src/app/frontend/about/actionbar/template.html + 24 + - - Labels - 标签 + + Provide feedback + 提供反馈意见 + + src/app/frontend/about/actionbar/template.html + 35 + Resource information - Resource information + 资源信息 + + src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html + 22 + + + src/app/frontend/resource/cluster/namespace/detail/template.html + 22 + + + src/app/frontend/resource/cluster/networkpolicy/detail/template.html + 22 + + + src/app/frontend/resource/cluster/node/detail/template.html + 24 + + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 22 + + + src/app/frontend/resource/cluster/rolebinding/detail/template.html + 22 + + + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 22 + + + src/app/frontend/resource/config/storageclass/detail/template.html + 22 + + + src/app/frontend/resource/discovery/ingress/detail/template.html + 23 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 22 + + + src/app/frontend/resource/discovery/service/detail/template.html + 22 + + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 22 + + + src/app/frontend/resource/workloads/daemonset/detail/template.html + 22 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 22 + + + src/app/frontend/resource/workloads/job/detail/template.html + 22 + + + src/app/frontend/resource/workloads/pod/detail/template.html + 24 + + + src/app/frontend/resource/workloads/replicaset/detail/template.html + 22 + + + src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + 22 + + + src/app/frontend/resource/workloads/statefulset/detail/template.html + 22 + - - Target port must be less than 65536. - 目标端口必须小于 65536。 + + Create from input + 输入并创建 + + src/app/frontend/create/template.html + 20 + - - Invert colors - 反转颜色 + + Create from file + 从文件创建 + + src/app/frontend/create/template.html + 24 + - - Horizontal Pod Autoscaler - Pod 水平自动伸缩 + + Create from form + 从表单创建 + + src/app/frontend/create/template.html + 28 + - - Scope - Scope + + About + 关于 + + src/app/frontend/about/template.html + 19 + + + src/app/frontend/index.messages.ts + 68 + - - Data is required. - Data 是必需的。 + + General-purpose web UI for Kubernetes clusters + 用于 Kubernetes 集群的通用 Web 用户界面 + + src/app/frontend/about/template.html + 30 + - - Processes in privileged containers are equivalent to processes running as root on the host. - 特权容器中的进程等同于在主机上以root身份运行的进程。 + + The new namespace will be added to the cluster. + 新的命名空间将添加到集群中。 + + src/app/frontend/create/from/form/createnamespace/template.html + 21 + - - Default - 默认 + + Namespace name + 命名空间的名称 + + src/app/frontend/create/from/form/createnamespace/template.html + 29 + - - Deployments - Deployments + + Name is required. + 名称是必填的。 + + src/app/frontend/create/from/form/createnamespace/template.html + 35 + + + src/app/frontend/create/from/form/createsecret/template.html + 35 + - - Status - 状态 + + Name must be up to characters long. + 名称必须大于 个字符。 + + src/app/frontend/create/from/form/createnamespace/template.html + 37 + + + src/app/frontend/create/from/form/createsecret/template.html + 37 + - - Egress Rules - Egress Rules + + Name must be alphanumeric and may contain dashes. + 名称必须是字母或者数字,可以包含短划线。 + + src/app/frontend/create/from/form/createnamespace/template.html + 41 + - - Unavailable - Unavailable + + Create a new image pull secret + 创建一个新的镜像拉取 Secret + + src/app/frontend/create/from/form/createsecret/template.html + 18 + - - Kubeconfig - Kubeconfig + + Go to namespace + 转到命名空间 + + src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html + 23 + - - Create - Create + + Suffix '' not recognized. + 后缀 “” 未认证。 + + src/app/frontend/common/components/graph/helper.ts + 58 + - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - 你可以 部署一个容器化应用, 选择其他命名空间,或者 阅读 Dashboard 说明 open_in_new 了解更多。 + + Rolling update strategy + 滚动更新策略 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 82 + - - Create a new secret... - 创建一个新的 secret... + + A namespace with the specified name will be added to the cluster. + 将具有指定名称的命名空间添加到集群中。 + + src/app/frontend/create/from/form/createnamespace/template.html + 46 + - - Provide feedback - 提供反馈意见 + + Learn more open_in_new + 了解更多 open_in_new + + src/app/frontend/create/from/file/template.html + 28 + + + src/app/frontend/create/from/form/createnamespace/template.html + 50 + + + src/app/frontend/create/from/form/createsecret/template.html + 50 + + + src/app/frontend/create/from/form/createsecret/template.html + 76 + + + src/app/frontend/create/from/form/template.html + 52 + + + src/app/frontend/create/from/form/template.html + 81 + + + src/app/frontend/create/from/form/template.html + 113 + + + src/app/frontend/create/from/form/template.html + 134 + + + src/app/frontend/create/from/form/template.html + 159 + + + src/app/frontend/create/from/form/template.html + 193 + + + src/app/frontend/create/from/form/template.html + 218 + + + src/app/frontend/create/from/form/template.html + 268 + + + src/app/frontend/create/from/form/template.html + 296 + + + src/app/frontend/create/from/form/template.html + 314 + + + src/app/frontend/create/from/form/template.html + 329 + + + src/app/frontend/create/from/input/template.html + 28 + - - Events - Events + + The new secret will be added to the cluster + 将新的 secret 添加到集群中 + + src/app/frontend/create/from/form/createsecret/template.html + 21 + - - Storage - 存储 + + Secret name + Secret 名称 + + src/app/frontend/create/from/form/createsecret/template.html + 29 + - - Suspend - 暂停 + + Name must be up to characters long. + 名称必须大于 字符. + + src/app/frontend/create/from/form/createsecret/template.html + 39 + - - Add - Add + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 + + src/app/frontend/create/from/form/createsecret/template.html + 41 + - - No namespaces selected - 未选中命名空间 + + A secret with the specified name will be added to the cluster in the namespace. + 具有指定名称的 secret 将添加到命名空间中的集群中。 + + src/app/frontend/create/from/form/createsecret/template.html + 46 + - - Select namespace... - 选择命名空间... + + Data is required. + Data 是必需的。 + + src/app/frontend/create/from/form/createsecret/template.html + 66 + - - Monitors - Monitors + + Data must be Base64 encoded. + Data 必须是 Base64 编码的。 + + src/app/frontend/create/from/form/createsecret/template.html + 68 + - - Ingresses - Ingresses + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 + + src/app/frontend/create/from/form/createsecret/template.html + 71 + - - Secret name - Secret 名称 + + Create + 创建 + + src/app/frontend/create/from/form/createsecret/template.html + 92 + + + src/app/frontend/index.messages.ts + 33 + - - Shell - Shell + + Create + 创建 + + src/app/frontend/create/from/form/createnamespace/template.html + 67 + - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - 可选项,可以定义内部或外部 Service,将传入端口映射到容器的目标端口。 + + App name + 应用名称 + + src/app/frontend/create/from/form/template.html + 23 + - - Target World Wide Names - Target World Wide Names + + Deployment or service with this name already exists within namespace. + 具有此名称的 deployment 或 service 已存在于命名空间中。 + + src/app/frontend/create/from/form/template.html + 35 + - - Target portal - Target portal + + Application name is required. + 应用名称是必需的。 + + src/app/frontend/create/from/form/template.html + 39 + - - Filesystem Group Change Policy - Filesystem Group Change Policy + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 + + src/app/frontend/create/from/form/template.html + 41 + - - Jobs - Jobs + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + 具有此值的 “app” 标签将添加到已部署的 Deployment 和 Service 中。 + + src/app/frontend/create/from/form/template.html + 48 + - - Service - 服务 + + Learn more open_in_new + 了解更多open_in_new + + src/app/frontend/create/from/form/template.html + 55 + + + src/app/frontend/create/from/form/template.html + 85 + + + src/app/frontend/create/from/form/template.html + 121 + + + src/app/frontend/create/from/form/template.html + 141 + - - - - - - - - - + + Container image + 容器镜像 + + src/app/frontend/create/from/form/template.html + 63 + - - Liveness Probe - Liveness Probe + + Container image is required + 容器镜像是必须的 + + src/app/frontend/create/from/form/template.html + 68 + - - Exit Code - Exit Code + + Container image is invalid: + 容器镜像无效: + + src/app/frontend/create/from/form/template.html + 70 + - - Supplemental Groups - Supplemental Groups + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + 填写公共镜像的 URL,或者是托管于 Docker Hub、Google Container Registry 等仓库上的私有镜像 URL。 + + src/app/frontend/create/from/form/template.html + 76 + - - Subjects - Subjects + + Number of pods + pod 的数量 + + src/app/frontend/create/from/form/template.html + 93 + - - Minimize card - Minimize card + + Number of pods is required + pod 的数量是必填项 + + src/app/frontend/create/from/form/template.html + 99 + - - Create a new image pull secret - Create a new image pull secret + + Number of pods must be a positive integer + pod 的数量必须是整数 + + src/app/frontend/create/from/form/template.html + 101 + - - Policy Types - Policy Types + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 + + src/app/frontend/create/from/form/template.html + 104 + - - Windows Run as User - Windows Run as User + + A Deployment will be created to maintain the desired number of pods across your cluster. + Deployment 将跨集群创建 pod 以维护所需数量。 + + src/app/frontend/create/from/form/template.html + 109 + - - Show timestamps - 显示时间戳 + + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. + 可选项,可以定义内部或外部 Service,将传入端口映射到容器的目标端口。 + + src/app/frontend/create/from/form/template.html + 129 + - - Namespace name - 命名空间的名称 + + Description + 描述 + + src/app/frontend/create/from/form/template.html + 172 + - - Path - 路径 + + The description will be added as an annotation to the Deployment and displayed in the application's details. + 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 + + src/app/frontend/create/from/form/template.html + 175 + - - Create a new namespace - Create a new namespace + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 + + src/app/frontend/create/from/form/template.html + 188 + - - Unpin resource - Unpin resource + + Learn more open_in_new + 了解更多 open_in_new + + src/app/frontend/create/from/form/template.html + 174 + + + src/app/frontend/create/from/form/template.html + 203 + + + src/app/frontend/create/from/form/template.html + 231 + + + src/app/frontend/create/from/form/template.html + 281 + + + src/app/frontend/create/from/form/template.html + 308 + + + src/app/frontend/create/from/form/template.html + 326 + + + src/app/frontend/create/from/form/template.html + 340 + - - Port - 端口 + + Create a new namespace... + 创建一个新的命名空间... + + src/app/frontend/create/from/form/template.html + 151 + - - Dropped Capabilities - Dropped Capabilities + + Namespaces let you partition resources into logically named groups. + 命名空间允许将资源分区为逻辑命名的组。 + + src/app/frontend/create/from/form/template.html + 155 + - - Subresources - Subresources + + Create a new secret... + 创建一个新的 secret... + + src/app/frontend/create/from/form/template.html + 209 + - - Succeeded: - Succeeded: + + Image Pull Secret + 拉取镜像的 Secret + + src/app/frontend/create/from/form/template.html + 204 + - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + 如果指定的镜像是私有的,则可能需要拉取 secret 凭据。 您可以选择现有 secret 或创建新 secret。 + + src/app/frontend/create/from/form/template.html + 213 + - - Invalid protocol. - 无效的协议。 + + CPU requirement (cores) + CPU 下限 (cores) + + src/app/frontend/create/from/form/template.html + 230 + - - Can't find dependency "" for plugin "" - Can't find dependency "" for plugin "" + + CPU requirement must be given as a positive number. + CPU 下限必须是正整数。 + + src/app/frontend/create/from/form/template.html + 236 + - - The new secret will be added to the cluster - 将新的 secret 添加到集群中 + + CPU requirement must be given as a valid number. + CPU 下限必须是有效的数字。 + + src/app/frontend/create/from/form/template.html + 240 + - - Pending: - 启动中: + + Memory requirement (MiB) + 内存下限 (MiB) + + src/app/frontend/create/from/form/template.html + 248 + - - Cluster - 集群 + + Memory requirement must be given as a positive number. + 内存下限必须是正整数。 + + src/app/frontend/create/from/form/template.html + 254 + - - Suspend: - 暂停中: + + Memory requirement must be given as a valid number. + 内存下限必须是一个有效的数字。 + + src/app/frontend/create/from/form/template.html + 258 + - - Security Context - Security Context + + You can specify minimum CPU and memory requirements for the container. + 您可以指定容器的最低 CPU 和内存需求。 + + src/app/frontend/create/from/form/template.html + 264 + - - TCP Socket - TCP Socket + + Run command + 运行命令 + + src/app/frontend/create/from/form/template.html + 279 + - - Persistent Volumes - Persistent Volumes + + Run command arguments + 运行命令参数 + + src/app/frontend/create/from/form/template.html + 285 + - - System information - System information + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + 默认情况下,容器运行所选镜像的默认 entrypoint 命令。 您可以使用命令选项覆盖默认值。 + + src/app/frontend/create/from/form/template.html + 291 + - - Min ready seconds: - 最小准备秒数: + + Run as privileged + 以特权身份运行 + + src/app/frontend/create/from/form/template.html + 307 + - - Ready - 准备就绪 + + Processes in privileged containers are equivalent to processes running as root on the host. + 特权容器中的进程等同于在主机上以root身份运行的进程。 + + src/app/frontend/create/from/form/template.html + 310 + - - HTTP Headers - HTTP Headers + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 + + src/app/frontend/create/from/form/template.html + 324 + - - Sub Path - 子路径 + + Deploy + + 部署 + + src/app/frontend/create/from/form/template.html + 343 + - - Service Accounts - 服务账号 + + Preview + + 预览 + + + src/app/frontend/create/from/form/template.html + 352,354 + - - Memory capacity (bytes) - Memory capacity (bytes) + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {隐藏高级选项} other {显示高级选项}} + + src/app/frontend/create/from/form/template.html + 367 + - - kubelet version - kubelet version + + + + + + src/app/frontend/create/from/form/template.html + 366 + - - Items: - 项目: + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 + + src/app/frontend/create/from/input/template.html + 19 + - - Network Policies - Network Policies + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 + + src/app/frontend/create/from/input/template.html + 23 + - - Value - + + Global settings + 全局设置 + + src/app/frontend/settings/global/template.html + 21 + - - API Group - API 组 + + Learn more open_in_new + 了解更多 open_in_new + + src/app/frontend/create/from/input/template.html + 29 + - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - 默认情况下,容器运行所选镜像的默认 entrypoint 命令。 您可以使用命令选项覆盖默认值。 + + Upload + + 上传 + + src/app/frontend/create/from/input/template.html + 40 + - - Ports (Name, Port, Protocol) - 端口 (名称, 端口, 协议) + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 + + src/app/frontend/create/from/file/template.html + 19 + - - Target port cannot be empty. - 目标端口不能为空。 + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 + + src/app/frontend/create/from/file/template.html + 23 + - - Kind - Kind + + Learn more open_in_new + 了解更多 open_in_new + + src/app/frontend/create/from/file/template.html + 29 + - - Host - 主机 + + Choose YAML or JSON file + 选择 YAML 或 JSON 文件 + + src/app/frontend/create/from/file/template.html + 35 + - - Lun number - Lun number + + Upload + + 上传 + + + src/app/frontend/create/from/file/template.html + 43,44 + - - Pod Selector - Pod Selector + + Cancel + + 取消 + + + src/app/frontend/create/from/file/template.html + 50,51 + - - Sign in - 登录 + + Variable name must be a valid C identifier. + 变量名必须是有效的 C 标识符。 + + src/app/frontend/create/from/form/environmentvariables/template.html + 32 + - - List Kind - List Kind + + Running: + 正在运行: + + src/app/frontend/overview/helper.ts + 32 + - - Run command - 运行命令 + + Suspended: + 已暂停: + + src/app/frontend/overview/helper.ts + 40 + - - Port cannot be empty. - 端口号不能为空。 + + Failed: + 已失败: + + src/app/frontend/overview/helper.ts + 47 + + + src/app/frontend/overview/helper.ts + 63 + - - Quantity - 数量 + + Pending: + 待定: + + src/app/frontend/overview/helper.ts + 51 + + + src/app/frontend/overview/helper.ts + 67 + - - Logged in with token - Logged in with token + + Succeeded: + 已成功: + + src/app/frontend/overview/helper.ts + 55 + - - Completions - Completions + + Value + + + src/app/frontend/create/from/form/environmentvariables/template.html + 44 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 252 + + + + iSCSI Qualified Name + iSCSI 限定名称 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 280 + - - View logs - 查看日志 + + iSCSI target lun number + iSCSI 目标 lun 号 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 292 + - - Provider ID - Provider ID + + Target portal + 目标门户 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 298 + - - Pod CIDR - Pod CIDR + + Server + 服务器 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 312 + - - Kernel version - Kernel version + + Keyring + 密钥环 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 350 + - - Persistent Volumes - Persistent Volumes + + Monitors + 监控器 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 356 + - - Containers - 容器 + + Pool + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 365 + - - Workloads - 工作负载 + + Secret reference name + Secret 的引用名称 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 377 + - - Container image - 容器镜像 + + User + 用户 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 383 + - - SE Linux User - SE Linux User + + Ingress Class Name + Ingress 类名 + + src/app/frontend/resource/discovery/ingress/detail/template.html + 29 + - - Served - 服务 + + Default Backend + 默认后端 + + src/app/frontend/resource/discovery/ingress/detail/template.html + 49 + - - Plugins - Plugins + + Service Name + 服务名称 + + src/app/frontend/resource/discovery/ingress/detail/template.html + 55 + - - Name: - 名称: + + Service Port Name + 服务端口名称 + + src/app/frontend/resource/discovery/ingress/detail/template.html + 61 + - - Scale a resource - Scale a resource + + Service Port Number + 服务端口号 + + src/app/frontend/resource/discovery/ingress/detail/template.html + 67 + - - Resource name - 资源名 + + + + + src/app/frontend/resource/discovery/ingress/detail/template.html + 73 + - - Application name is required. - 应用名称是必需的。 + + Label Selector + 标签选择算符 + + src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + 30 + + + src/app/frontend/resource/workloads/statefulset/detail/template.html + 30 + - - Full Name - 全名 + + Init images + 初始镜像 + + src/app/frontend/resource/workloads/daemonset/detail/template.html + 48 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 272 + + + src/app/frontend/resource/workloads/job/detail/template.html + 67 + + + src/app/frontend/resource/workloads/replicaset/detail/template.html + 56 + + + src/app/frontend/resource/workloads/replicationcontroller/detail/template.html + 48 + + + src/app/frontend/resource/workloads/statefulset/detail/template.html + 48 + - - Target port - 目标端口 + + Service + Service + + src/app/frontend/create/from/form/portmappings/template.html + 25 + + + src/app/frontend/index.messages.ts + 47 + + + src/app/frontend/overview/template.html + 46 + + + src/app/frontend/search/template.html + 42 + - - Cluster IP - 集群 IP + + Config and Storage + 配置和存储 + + src/app/frontend/overview/template.html + 58 + + + src/app/frontend/search/template.html + 54 + - - There is nothing to display here - There is nothing to display here + + Port + 端口 + + src/app/frontend/create/from/form/portmappings/template.html + 48 + - - Initial Delay (Seconds) - Initial Delay (Seconds) + + Port must be an integer. + 端口号必须是数字。 + + src/app/frontend/create/from/form/portmappings/template.html + 52 + - - Short Names - Short Names + + Port cannot be empty. + 端口号不能为空。 + + src/app/frontend/create/from/form/portmappings/template.html + 54 + - - Delete - Delete + + Port must be greater than 0. + 端口号必须大于 0。 + + src/app/frontend/create/from/form/portmappings/template.html + 56 + - - Namespaces - Namespaces + + Port must be less than 65536. + 端口号必须小于 65536。 + + src/app/frontend/create/from/form/portmappings/template.html + 58 + - - Internal Endpoints - 内部 Endpoints + + Target port + 目标端口 + + src/app/frontend/create/from/form/portmappings/template.html + 71 + - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 + + Target port must be an integer. + 目标端口必须是整数。 + + src/app/frontend/create/from/form/portmappings/template.html + 77 + - - Pool - Pool + + Target port cannot be empty. + 目标端口不能为空。 + + src/app/frontend/create/from/form/portmappings/template.html + 81 + - - Theme - 主题 + + Target port must be greater than 0. + 目标端口必须大于 0。 + + src/app/frontend/create/from/form/portmappings/template.html + 85 + - - Logs from to UTC - Logs from to UTC + + Target port must be less than 65536. + 目标端口必须小于 65536。 + + src/app/frontend/create/from/form/portmappings/template.html + 89 + - - in - in + + Protocol + 协议 + + src/app/frontend/create/from/form/portmappings/template.html + 102 + - - Services - Services + + Protocol is required. + 协议是必需的。 + + src/app/frontend/create/from/form/portmappings/template.html + 114 + - - Pods capacity - Pods capacity + + Invalid protocol. + 无效的协议。 + + src/app/frontend/create/from/form/portmappings/template.html + 116 + - - Max number of items that can be displayed on every list view. - 每个列表视图中可显示的最大项目数。 + + Create a new namespace + 创建一个新的命名空间 + + src/app/frontend/create/from/form/createnamespace/template.html + 18 + - - Unschedulable - Unschedulable + + key + 密钥 + + src/app/frontend/create/from/form/deploylabel/template.html + 30 + - - Max surge: - 最大 surge: + + is not unique + + 不是唯一的 + + + src/app/frontend/create/from/form/deploylabel/template.html + 32 + - - Success Threshold - Success Threshold + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 + + src/app/frontend/create/from/form/deploylabel/template.html + 34 + - - Host - 主机 + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 + + src/app/frontend/create/from/form/deploylabel/template.html + 38 + - - Restarts - 重启 + + Prefix should not exceed 253 characters. + 前缀不应超过 253 个字符。 + + src/app/frontend/create/from/form/deploylabel/template.html + 43 + - - Custom Resource Definitions - 自定义资源 + + Label Key name should not exceed 63 characters. + Label Key 名称不应超过 63 个字符。 + + src/app/frontend/create/from/form/deploylabel/template.html + 47 + - - Settings - 设置 + + value + + + src/app/frontend/create/from/form/deploylabel/template.html + 61 + - - Updated - Updated + + Label value must be alphanumeric separated by '.' , '-' or '_'. + 标签值必须由'.' , '-'或者'_'分割字母数字。 + + src/app/frontend/create/from/form/deploylabel/template.html + 64 + - - Failed - Failed + + Label Value must not exceed 253 characters. + 标签值不得超过 253 个字符。 + + src/app/frontend/create/from/form/deploylabel/template.html + 68 + - - Shell in in - Shell in in + + Logs from + 日志 + + src/app/frontend/logs/template.html + 24 + Init Containers 初始化容器 + + src/app/frontend/logs/template.html + 34 + - - Plugins - 插件 + + in + in + + src/app/frontend/logs/template.html + 43 + - - There is no data to display. - 没有要显示的数据。 + + Download logs + 下载日志 + + src/app/frontend/logs/template.html + 57 + - - Default service account - Default service account + + Invert colors + 反转颜色 + + src/app/frontend/logs/template.html + 131 + - - Config and Storage - 配置和存储 + + Reduce font size + 减小字体大小 + + src/app/frontend/logs/template.html + 136 + - - Privileged - Privileged + + Show timestamps + 显示时间戳 + + src/app/frontend/logs/template.html + 141 + - - Trigger - Trigger + + Auto-refresh (every s.) + 自动刷新 (每 秒) + + src/app/frontend/logs/template.html + 146 + - - Active Jobs: - 运行中的 Jobs: + + Show previous logs + 显示以前的日志 + + src/app/frontend/logs/template.html + 151 + - - Signal - Signal + + Logs from to UTC + Logs from to UTC + + src/app/frontend/logs/template.html + 94 + - - Unpin - 取消固定 + + Path + 路径 + + src/app/frontend/common/components/ingressrulelist/template.html + 47 + - - Network Policies - 网络策略 + + Key + Key + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 244 + - - Filesystem type - Filesystem type + + Path Type + 路径类型 + + src/app/frontend/common/components/ingressrulelist/template.html + 54 + - - Logs auto-refresh time interval - 日志自动刷新时间间隔 + + Service Name + 服务名称 + + src/app/frontend/common/components/ingressrulelist/template.html + 61 + - - kube-proxy version - kube-proxy version + + Service Port + 服务端口 + + src/app/frontend/common/components/ingressrulelist/template.html + 88 + - - Run as Non-Root - Run as Non-Root + + TLS Secret + TLS Secret + + src/app/frontend/common/components/ingressrulelist/template.html + 97 + - - SE Linux Type - SE Linux Type + + Namespace conflict + 命名空间冲突 + + src/app/frontend/common/components/namespace/changedialog/template.html + 19 + - - Objects - Objects + + Selected namespace is different than namespace of currently selected resource. + 选定的名称空间与当前选定资源的名称空间不同。 + + src/app/frontend/common/components/namespace/changedialog/template.html + 22 + - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 + + Quantity + 数量 + + src/app/frontend/resource/cluster/persistentvolume/detail/template.html + 114 + - - Kubernetes Dashboard - Kubernetes Dashboard + + Volume Name + 卷名称 + + src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html + 38 + - - Namespace: - 命名空间: + + Session Affinity + 会话亲和性 + + src/app/frontend/resource/discovery/service/detail/template.html + 38 + - - NAMESPACES - 命名空间 + + Selector + 选择算符 + + src/app/frontend/resource/discovery/service/detail/template.html + 44 + + + src/app/frontend/resource/workloads/daemonset/detail/template.html + 30 + + + src/app/frontend/resource/workloads/deployment/detail/template.html + 71 + + + src/app/frontend/resource/workloads/replicaset/detail/template.html + 38 + - - Edit - Edit + + Filesystem type + 文件系统类型 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 33 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 65 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 91 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 141 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 274 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 338 + + + + Partition + 分区 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 39 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 147 + - - Pods: - Pods: + + Read only + 只读 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 45 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 71 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 97 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 153 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 185 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 286 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 324 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 371 + - - Default Backend - Default Backend + + Volume ID + 卷 ID + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 51 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 77 + - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 + + Lun number + Lun 号 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 103 + - - Preview - Preview + + Target World Wide Names + 目标的全球名称 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 110 + - - Cancel - Cancel + + Dataset name + 数据集名称 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 127 + - - Disable access denied notification - 禁止拒绝访问的通知 + + Persistent disk name + 持久化磁盘名称 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 159 + - - Nodes - Nodes + + Path + 路径 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 179 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 199 + + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 318 + - - Windows GMSA Credential Spec - Windows GMSA Credential Spec + + Driver + 驱动 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 212 + - - Endpoint links are external links that will be open in a new tab. - 端点链接是将在新选项卡中打开的外部链接。 + + Volume Handle + 卷句柄 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 217 + - - Last probe time - 最后的检测时间 + + File System Type + 文件系统类型 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 222 + - - Secret reference name - Secret reference name + + Volume Attributes + 卷属性 + + src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html + 237 + - - Dataset name - Dataset name + + Parameter + 参数 + + src/app/frontend/resource/config/storageclass/detail/template.html + 37 + + + src/app/frontend/resource/discovery/ingressclass/detail/template.html + 37 + - - Label Key name should not exceed 63 characters. - Label Key 名称不应超过 63 个字符。 + + Data + 数据 + + src/app/frontend/crd/crdobject/template.html + 22 + + + src/app/frontend/resource/config/configmap/detail/template.html + 23 + + + src/app/frontend/resource/config/secret/detail/template.html + 22 + - - Run as Group - Run as Group + + There is no data to display. + 没有要显示的数据。 + + src/app/frontend/resource/config/configmap/detail/template.html + 32 + + + src/app/frontend/resource/config/secret/detail/template.html + 40 + - - Pods status - Pods status + + Settings have changed since last reload + 自上次重新加载以来,设置已发生变化 + + src/app/frontend/settings/global/saveanywaysdialog/template.html + 18 + - - Global settings are stored in config map, so all of them are applied for every instance of the app. - Global settings are stored in config map, so all of them are applied for every instance of the app. + + Schedule:  + 时间表:  + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 28 + - - Close - 关闭 + + Active Jobs:  + 运行中的 Jobs:  + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 35 + - - No resources found in the selected namespace. - No resources found in the selected namespace. + + Suspend:  + 暂停中:  + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 42 + - - Capacity - 容量 + + Last schedule + 上次调度 + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 70 + - - Data must be Base64 encoded. - Data 必须是 Base64 编码的。 + + Concurrency policy + 并发策略 + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 76 + - - Running: - Running: + + Starting deadline seconds + 开始的最后期限 + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 82 + - - CPU capacity (cores) - CPU capacity (cores) + + Role Reference + 角色引用 + + src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html + 28 + + + src/app/frontend/resource/cluster/rolebinding/detail/template.html + 28 + - - Service Accounts - Service Accounts + + System information + 系统信息 + + src/app/frontend/resource/cluster/node/detail/template.html + 71 + - - Workloads - Workloads + + Allocation + 分配 + + src/app/frontend/resource/cluster/node/detail/template.html + 145 + - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 + + Pod CIDR + Pod CIDR + + src/app/frontend/resource/cluster/node/detail/template.html + 35 + - - Create - Create + + Provider ID + 提供者 ID + + src/app/frontend/resource/cluster/node/detail/template.html + 40 + - - Roles - Roles + + Unschedulable + 不可调度 + + src/app/frontend/resource/cluster/node/detail/template.html + 45 + - - Reload - Reload + + Addresses + 地址 + + src/app/frontend/resource/cluster/node/detail/template.html + 51 + - - Provide a namespace name that should be added to the namespace fallback list - 提供应添加到命名空间后背列表的命名空间名称 + + Taints + 污点 + + src/app/frontend/resource/cluster/node/detail/template.html + 60 + - - Filesystem Group - Filesystem Group + + Machine ID + 机器 ID + + src/app/frontend/resource/cluster/node/detail/template.html + 77 + + + + System UUID + 系统 UUID + + src/app/frontend/resource/cluster/node/detail/template.html + 82 + Boot ID - Boot ID + 启动 ID + + src/app/frontend/resource/cluster/node/detail/template.html + 87 + - - Replication Controllers - Replication Controllers + + Kernel version + 内核版本 + + src/app/frontend/resource/cluster/node/detail/template.html + 92 + - - Remove namespaces from the list and confirm to save the changes. - 从列表中删除命名空间并确认保存更改。 + + OS Image + 操作系统镜像 + + src/app/frontend/resource/cluster/node/detail/template.html + 97 + - - Persistent Volume Claims - Persistent Volume Claims + + Container runtime version + 容器运行时版本 + + src/app/frontend/resource/cluster/node/detail/template.html + 102 + - - Message - 信息 + + kubelet version + kubelet 版本 + + src/app/frontend/resource/cluster/node/detail/template.html + 107 + - - Max number of labels that are displayed by default on most views. - 默认情况下,大多数视图上显示的最大标签数。 + + kube-proxy version + kube-proxy 版本 + + src/app/frontend/resource/cluster/node/detail/template.html + 112 + - - Cluster name - 集群名称 + + Operating system + 操作系统 + + src/app/frontend/resource/cluster/node/detail/template.html + 117 + - - Deployments - Deployments + + Architecture + 架构 + + src/app/frontend/resource/cluster/node/detail/template.html + 122 + - - App name - 应用名称 + + CPU capacity + CPU 容量 + + src/app/frontend/resource/cluster/node/detail/template.html + 127 + - - Last schedule - Last schedule + + Memory capacity + 内存容量 + + src/app/frontend/resource/cluster/node/detail/template.html + 132 + - - System UUID - System UUID + + Pods capacity + Pods 容量 + + src/app/frontend/resource/cluster/node/detail/template.html + 137 + - - Config And Storage - Config And Storage + + CPU + CPU + + src/app/frontend/resource/cluster/node/detail/template.html + 153 + - - Container image is invalid: - 容器镜像无效: + + Memory + 内存 + + src/app/frontend/resource/cluster/node/detail/template.html + 166 + - - Count - 次数 + + Pod Selector + Pod 选择算符 + + src/app/frontend/resource/cluster/networkpolicy/detail/template.html + 28 + - - Replication Controllers - Replication Controllers + + Policy Types + 策略类型 + + src/app/frontend/resource/cluster/networkpolicy/detail/template.html + 37 + - - Active - 运行中 + + Ingress Rules + Ingress 规则 + + src/app/frontend/resource/cluster/networkpolicy/detail/template.html + 49 + - - CPU Usage (cores) - CPU 使用率 (cores) + + Egress Rules + Egress 规则 + + src/app/frontend/resource/cluster/networkpolicy/detail/template.html + 61 + - - Environment variable - 环境变量 + + Active Jobs + 运行中的 Jobs + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 58 + + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 90 + - - Restart a resource - Restart a resource + + Image Pull Secrets + 镜像拉取 Secrets + + src/app/frontend/resource/cluster/serviceaccount/detail/component.ts + 57 + - - Max surge - Max surge + + Inactive Jobs + 非工作的 Jobs + + src/app/frontend/resource/workloads/cronjob/detail/template.html + 94 + - - Annotations - Annotations + + Strategy:  + 策略:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 28 + - - First Seen - 初次 + + Min ready seconds:  + 最小准备秒数:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 35 + - - Forbidden (403) - 禁止 (403) + + Revision history limit:  + 修改历史记录限制:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 42 + - - - - - - - + + Strategy + 策略 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 52 + - - Suspended: - Suspended: + + Min ready seconds + 最小就绪秒数 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 58 + - - Upload - Upload + + Revision history limit + 修订历史限制 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 64 + - - Phase - 运行阶段 + + Max surge:  + 最大 surge:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 88 + - - Namespace conflict - Namespace conflict + + Max unavailable:  + 不可用个数上限:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 95 + - - Controller - Controller + + Max surge + 最大峰值 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 105 + - - will be updated to reflect the desired replicas count. - will be updated to reflect the desired replicas count. + + Max unavailable + 不可用个数上限 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 111 + - - OS Image - OS Image + + Updated:  + 已更新:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 125 + + + + Total:  + 总计:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 132 + + + + Available:  + 可用的:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 139 + - - Download logs file - Download logs file + + Unavailable:  + 不可用的:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 146 + - - Endpoints open_in_new - Endpoints open_in_new + + Updated + 已更新 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 156 + - - Create from form - 从表单创建 + + Total + 总计 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 162 + - - Ingress Rules - Ingress Rules + + Available + 可用 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 168 + - - Pods - Pods + + Unavailable + 不可用 + + src/app/frontend/resource/workloads/deployment/detail/template.html + 174 + - - Stateful Sets - Stateful Sets + + New Replica Set + 新的 Replica Set + + src/app/frontend/resource/workloads/deployment/detail/template.html + 186 + - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 + + Environment variables + 环境变量 + + src/app/frontend/create/from/form/environmentvariables/template.html + 19 + - - File is ready to download! - File is ready to download! + + Pods:  + Pods:  + + src/app/frontend/resource/workloads/deployment/detail/template.html + 214 + + + src/app/frontend/resource/workloads/replicaset/detail/template.html + 28 + - - Succeeded: - 成功: + + Old Replica Sets + 旧 Replica Sets + + src/app/frontend/resource/workloads/deployment/detail/template.html + 283 + - - Download logs - 下载日志 + + Completions:  + 完成个数:  + + src/app/frontend/resource/workloads/job/detail/template.html + 28 + - - Startup Probe - Startup Probe + + Parallelism:  + 并行度:  + + src/app/frontend/resource/workloads/job/detail/template.html + 35 + - - Service Name - Service Name + + Completions + 完成个数 + + src/app/frontend/resource/workloads/job/detail/template.html + 45 + - - Namespaced - 有命名空间的 + + Parallelism + 并行度 + + src/app/frontend/resource/workloads/job/detail/template.html + 51 + - - Preview Deployment - Preview Deployment + + Do you want to save them anyways? + 你想保存它们吗? + + src/app/frontend/settings/global/saveanywaysdialog/template.html + 19 + - - Group - Group + + Refresh + 刷新 + + src/app/frontend/settings/global/saveanywaysdialog/template.html + 28 + - - Basic - 基本 + + Resource Information + 资源信息 + + src/app/frontend/crd/detail/template.html + 22 + - - There are no notifications - There are no notifications + + Accepted Names + 可接受的名称 + + src/app/frontend/crd/detail/template.html + 55 + - - Type - 类别 + + Scope + 作用域 + + src/app/frontend/crd/detail/template.html + 35 + - - Mounts - Mounts + + Version + 版本 + + src/app/frontend/crd/detail/template.html + 29 + - - Global settings - Global settings + + Subresources + 子资源 + + src/app/frontend/crd/detail/template.html + 47 + - - Last Schedule - 最后的调度 + + Plural + 复数 + + src/app/frontend/crd/detail/template.html + 62 + - - A namespace with the specified name will be added to the cluster. - 将具有指定名称的命名空间添加到集群中。 + + List Kind + 列表类别 + + src/app/frontend/crd/detail/template.html + 77 + - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 + + Singular + 单数 + + src/app/frontend/crd/detail/template.html + 67 + - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 + + Short Names + 简称 + + src/app/frontend/crd/detail/template.html + 82 + - - Status: - 状态: + + Categories + 类别 + + src/app/frontend/crd/detail/template.html + 87 + - - Target port must be greater than 0. - 目标端口必须大于 0。 + + Default namespace + 默认命名空间 + + src/app/frontend/settings/global/namespace/template.html + 18 + - - Nodes - Nodes + + Namespace that should be selected by default after logging in. + 登录后应默认选择的命名空间。 + + src/app/frontend/settings/global/namespace/template.html + 20 + - - Read Only - 只读 + + Namespace fallback list + 命名空间后备列表 + + src/app/frontend/settings/global/namespace/template.html + 40 + - - Started At - Started At + + List of namespaces that should be presented to user without namespace list privileges. + 应该显示给没有名称空间列表权限的用户的名称空间列表。 + + src/app/frontend/settings/global/namespace/template.html + 42 + - - Cluster Roles - Cluster Roles + + Add namespaces... + 添加命名空间... + + src/app/frontend/settings/global/namespace/template.html + 60 + - - Filter - 过滤 + + Can't find plugin "" + 未找到插件 "" + + src/app/frontend/common/services/pluginloader/clientloader.service.ts + 42 + - - No resources found. - No resources found. + + Can't find dependency "" for plugin "" + 未找到插件 "" 的依赖 "" + + src/app/frontend/common/services/pluginloader/clientloader.service.ts + 48 + - - Replica Sets - Replica Sets + + Remove namespaces from the list and confirm to save the changes. + 从列表中删除命名空间并确认保存更改。 + + src/app/frontend/settings/global/namespace/editdialog/template.html + 23 + - - Verbs - 动作 + + No namespaces selected + 未选中命名空间 + + src/app/frontend/settings/global/namespace/editdialog/template.html + 36 + - - Path - Path + + Provide a namespace name that should be added to the namespace fallback list + 提供应添加到命名空间后背列表的命名空间名称 + + src/app/frontend/settings/global/namespace/adddialog/template.html + 23 + - - Show previous logs - 显示以前的日志 + + Add + 添加 + + src/app/frontend/settings/global/namespace/adddialog/template.html + 47 + - - Reduce font size - 减小字体大小 + + Edit Namespace List + 编辑命名空间列表 + + src/app/frontend/settings/global/namespace/editdialog/template.html + 20 + - - Allocation - Allocation + + Cluster name + 集群名称 + + src/app/frontend/settings/global/template.html + 26 + + + src/app/frontend/settings/global/template.html + 34 + + + + Cluster name appears in the browser window title if it is set. + 如果已设置,则集群名称将显示在浏览器窗口标题中. + + src/app/frontend/settings/global/template.html + 28 + Items per page 每页项目 + + src/app/frontend/settings/global/template.html + 42 + - - Name - 名称 - - - Number of pods is required - pod 的数量是必填项 - - - Added Capabilities - Added Capabilities - - - Trigger a - Trigger a + + Max number of items that can be displayed on every list view. + 每个列表视图中可显示的最大项目数。 + + src/app/frontend/settings/global/template.html + 44 + - - CPU requirement must be given as a positive number. - CPU 下限必须是正整数。 + + Labels limit + 标签限制 + + src/app/frontend/settings/global/template.html + 58 + - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - 填写公共镜像的 URL,或者是托管于 Docker Hub、Google Container Registry 等仓库上的私有镜像 URL。 + + Max number of labels that are displayed by default on most views. + 默认情况下,大多数视图上显示的最大标签数。 + + src/app/frontend/settings/global/template.html + 60 + - - Service Port Name - Service Port Name + + Logs auto-refresh time interval + 日志自动刷新时间间隔 + + src/app/frontend/settings/global/template.html + 74 + Number of seconds between every auto-refresh of logs. 每次自动刷新日志的间隔秒数。 + + src/app/frontend/settings/global/template.html + 76 + - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 + + Resource auto-refresh time interval + 资源自动刷新时间间隔 + + src/app/frontend/settings/global/template.html + 92 + - - Service Account - Service Account + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + 两次资源自动刷新时间间隔。设置为 0 则表示不启用。 + + src/app/frontend/settings/global/template.html + 94 + - - Timeout (Seconds) - Timeout (Seconds) + + Disable access denied notification + 禁止拒绝访问的通知 + + src/app/frontend/settings/global/template.html + 110 + - - Sysctls - Sysctls + + Hides all access denied warnings in the notification panel. + 在通知面板中隐藏所有拒绝访问的警告。 + + src/app/frontend/settings/global/template.html + 112 + - - Source - 事件源 + + Reload + 重新加载 + + src/app/frontend/settings/global/template.html + 132 + - - Prefix should not exceed 253 characters. - 前缀不应超过 253 个字符。 + + Local settings + 本地设置 + + src/app/frontend/settings/local/template.html + 19 + - - Failed: - Failed: + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 + + src/app/frontend/settings/local/template.html + 21 + - - Read only - Read only + + Theme + 主题 + + src/app/frontend/settings/local/template.html + 26 + - - Daemon Sets - Daemon Sets + + Choose color theme of the dashboard + 选择 dashboard 的颜色主题 + + src/app/frontend/settings/local/template.html + 28 + - - Storage Classes - Storage Classes + + Language + 语言 + + src/app/frontend/settings/local/template.html + 41 + - - Provisioner - 提供者 + + Change the language of the dashboard + 更改 dashboard 的语言 + + src/app/frontend/settings/local/template.html + 43 + + + + Add Namespace + 添加命名空间 + + src/app/frontend/settings/global/namespace/adddialog/template.html + 20 + + + + Shell in in + + Shell in + + + + + + in + + + src/app/frontend/shell/template.html + 22 + - \ No newline at end of file + From a1311486f39ee44c93e86bfaa7e30c837f5ee544 Mon Sep 17 00:00:00 2001 From: Marcin Maciaszczyk Date: Fri, 16 Sep 2022 16:45:58 +0200 Subject: [PATCH 162/162] Fix translation file --- modules/web/i18n/zh-Hans/messages.zh-Hans.xlf | 7719 ++++------------- 1 file changed, 1822 insertions(+), 5897 deletions(-) diff --git a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf index ccf0f60016e3..244203d8afaf 100644 --- a/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf +++ b/modules/web/i18n/zh-Hans/messages.zh-Hans.xlf @@ -2,6523 +2,2448 @@ - - Open notifications panel - 打开通知面板 - - src/app/frontend/index.messages.ts - 21 - - - - Close notifications panel - 关闭通知面板 - - src/app/frontend/index.messages.ts - 22 - - - - Pin resource - 锁定资源 - - src/app/frontend/index.messages.ts - 23 - - - - Unpin resource - 取消资源锁定 - - src/app/frontend/index.messages.ts - 24 - + + Create from file + 从文件创建 - - Expand card - 展开卡片 - - src/app/frontend/index.messages.ts - 25 - + + Default namespace + 默认命名空间 - - Minimize card - 最小化卡片 - - src/app/frontend/index.messages.ts - 26 - + + Logs from + 日志 - - Unknown - 未知 - - src/app/frontend/index.messages.ts - 27 - + + Namespace fallback list + 命名空间后备列表 - - This action is equivalent to: - 此操作相当于: - - src/app/frontend/common/dialogs/deleteresource/template.html - 29 - - - src/app/frontend/common/dialogs/editresource/template.html - 33 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 48 - + + Auto-refresh (every s.) + 自动刷新 (每 秒) - - Update - 更新 - - src/app/frontend/common/dialogs/editresource/template.html - 43 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 31 - + + Resource Information + 资源信息 - - Cancel - 取消 - - src/app/frontend/common/dialogs/deleteresource/template.html - 47 - - - src/app/frontend/common/dialogs/editresource/template.html - 47 - - - src/app/frontend/common/dialogs/restartresource/template.html - 46 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 65 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 29 - - - src/app/frontend/create/from/form/createnamespace/template.html - 72 - - - src/app/frontend/create/from/form/createsecret/template.html - 95 - - - src/app/frontend/create/from/form/template.html - 360 - - - src/app/frontend/create/from/input/template.html - 48 - - - src/app/frontend/resource/config/secret/detail/edit/template.html - 35 - + + Ingress Class Name + Ingress 类名 - - This action is equivalent to: - 这个动作相当于: - - src/app/frontend/common/dialogs/restartresource/template.html - 29 - + + Number of pods + pod 的数量 - - Are you sure you want to delete  in namespace ? - - 你确定要删除 - -  在命名空间中 - - ? - - - src/app/frontend/common/dialogs/deleteresource/template.html - 21 - + + Refresh + 刷新 - - Restart a resource - 重启一个资源 - - src/app/frontend/common/dialogs/restartresource/template.html - 18 - + + is not unique + 不是唯一的 - - Size: B - 尺寸: B - - src/app/frontend/common/dialogs/download/template.html - 22 - + + Go to namespace + 转到命名空间 Preparing file to download... 正在准备要下载的文件... - - src/app/frontend/common/dialogs/download/template.html - 27 - - - File is ready to download! - 文件已准备好被下载! - - src/app/frontend/common/dialogs/download/template.html - 29 - + + Age + 存在时长 - - Forbidden (403) - 禁止 (403) - - src/app/frontend/common/dialogs/download/template.html - 33 - + + Service Name + 服务名称 - - You do not have required permissions to access this resource. - 您没有访问此资源所需的权限。 - - src/app/frontend/common/dialogs/download/template.html - 34 - + + Memory requirement (MiB) + 内存下限 (MiB) - - Save - 保存 - - src/app/frontend/common/dialogs/download/template.html - 44 - - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 24 - - - src/app/frontend/settings/global/template.html - 127 - + + Role Reference + 角色引用 - - Abort - 中止 - - src/app/frontend/common/dialogs/download/template.html - 48 - + + Endpoints + Endpoints - - will be updated to reflect the desired replicas count. - 将被更新以反映所需的副本数。 - - src/app/frontend/common/dialogs/scaleresource/template.html - 20 - + + Parameter + 参数 - - Close - 关闭 - - src/app/frontend/chrome/userpanel/template.html - 30 - - - src/app/frontend/chrome/userpanel/template.html - 55 - - - src/app/frontend/common/components/chips/chipdialog/template.html - 29 - - - src/app/frontend/common/dialogs/download/template.html - 56 - - - src/app/frontend/common/dialogs/previewdeployment/template.html - 34 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 53 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 49 - + + Read Only Filesystem + 只读文件系统 - - Logged in with auth header - 使用 auth 标头登录 - - src/app/frontend/chrome/userpanel/template.html - 45,46 - + + Partition + 分区 - - Logged in with token - 使用令牌登录 - - src/app/frontend/chrome/userpanel/template.html - 48,49 - + + Restart + 重启 - - Default service account - 默认服务账户 - - src/app/frontend/chrome/userpanel/template.html - 51 - + + Cluster Role Bindings + Cluster Role Bindings - - Sign in - 登录 - - src/app/frontend/chrome/userpanel/template.html - 67 - + + Edit Namespace List + 编辑命名空间列表 - - Sign out - 离开 - - src/app/frontend/chrome/userpanel/template.html - 71 - + + New Replica Set + 新的 Replica Set - - Desired replicas - 目标副本数量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 26 - + + Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. + 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 - - Actual replicas - 当前的副本数量 - - src/app/frontend/common/dialogs/scaleresource/template.html - 38 - + + Non-resource URL + 非资源 URL + + + Image: + 镜像: + + + Mount Option(s) + 挂载选项 + + + Cron Jobs + Cron Jobs + + + Init images + 初始镜像 + + + Ingresses + Ingresses Scale Scale - - src/app/frontend/common/components/list/column/menu/template.html - 35 - - - src/app/frontend/common/dialogs/scaleresource/template.html - 61 - - - Trigger a - 触发一个 - - src/app/frontend/common/dialogs/triggerresource/template.html - 18 - + + Daemon Sets + Daemon Sets - - in namespace will be restarted. - in namespace will be restarted. - - src/app/frontend/common/dialogs/restartresource/template.html - 21 - + + Revision history limit + 修订历史限制 - - Scale a resource - 缩放一个资源 - - src/app/frontend/common/dialogs/scaleresource/template.html - 18 - + + Password + 密码 - - will be triggered. - 将会被触发. - - src/app/frontend/common/dialogs/triggerresource/template.html - 20 - + + Labels limit + 标签限制 - - Trigger - 触发 - - src/app/frontend/common/components/list/column/menu/template.html - 31 - - - src/app/frontend/common/dialogs/triggerresource/template.html - 25 - + + Data + 数据 - - Delete resource - 删除资源 - - src/app/frontend/common/components/actionbar/detailactions/delete/template.html - 21 - + + Services + Services - - Edit resource - 编辑资源 - - src/app/frontend/common/components/actionbar/detailactions/edit/template.html - 21 - + + UID + UID - - Scale resource - 缩放资源 - - src/app/frontend/common/components/actionbar/detailactions/scale/template.html - 21 - + + Choose kubeconfig file + 选择 kubeconfig 文件 - - View logs - 查看日志 - - src/app/frontend/common/components/actionbar/detailactions/logs/template.html - 21 - + + Volume Name + 卷名称 - - Exec into pod - 在 pod 中运行 - - src/app/frontend/common/components/actionbar/detailactions/exec/template.html - 20 - + + Hides all access denied warnings in the notification panel. + 在通知面板中隐藏所有拒绝访问的警告。 - - Endpoints - Endpoints - - src/app/frontend/common/components/endpoint/cardlist/template.html - 20 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 173 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 36 - + + Error + 错误 - - Trigger resource - 触发资源 - - src/app/frontend/common/components/actionbar/detailactions/trigger/template.html - 21 - + + Expand card + 展开卡片 - - Jobs - Jobs - - src/app/frontend/common/components/resourcelist/job/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 92 - - - src/app/frontend/index.messages.ts - 42 - + + Memory + 内存 - - Namespaces - Namespaces - - src/app/frontend/common/components/resourcelist/namespace/template.html - 21 - - - src/app/frontend/index.messages.ts - 59 - + + Mount Path + 挂载路径 - - Pods - Pods - - src/app/frontend/common/components/creator/template.html - 62 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 109 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 109 - - - src/app/frontend/common/components/resourcelist/job/template.html - 112 - - - src/app/frontend/common/components/resourcelist/node/template.html - 152 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 24 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 112 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 106 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 109 - - - src/app/frontend/common/components/workloadstatus/template.html - 111 - - - src/app/frontend/index.messages.ts - 43 - - - src/app/frontend/resource/cluster/node/detail/template.html - 179 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 247 - + + CPU requirement (cores) + CPU 下限 (cores) - - Cron Jobs - Cron Jobs - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 38 - - - src/app/frontend/index.messages.ts - 39 - + + TLS Secret + TLS Secret - - Replica Sets - Replica Sets - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 26 - - - src/app/frontend/common/components/workloadstatus/template.html - 129 - - - src/app/frontend/index.messages.ts - 44 - - - - Replication Controllers - Replication Controllers - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 21 - - - src/app/frontend/common/components/workloadstatus/template.html - 147 - - - src/app/frontend/index.messages.ts - 45 - - - - Workload Status - 工作负载的状态 - - src/app/frontend/common/components/workloadstatus/template.html - 20 - + + Image Pull Secret + 拉取镜像的 Secret - - Stateful Sets - Stateful Sets - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 165 - - - src/app/frontend/index.messages.ts - 46 - + + Strategy + 策略 - - Roles - Roles - - src/app/frontend/common/components/resourcelist/role/template.html - 21 - - - src/app/frontend/index.messages.ts - 64 - + + Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. + 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 - - Role Bindings - Role Bindings - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 63 - + + Volume Attributes + 卷属性 - - Services - Services - - src/app/frontend/common/components/resourcelist/service/template.html - 21 - - - src/app/frontend/index.messages.ts - 50 - + + Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. + 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 - - Config And Storage - 配置和存储 - - src/app/frontend/index.messages.ts - 51 - + + Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . + 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 在这里 阅读。 - - Status:  - 状态:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 30 - + + You do not have required permissions to access this resource. + 您没有访问此资源所需的权限。 - - IP:  - IP:  - - src/app/frontend/resource/workloads/pod/detail/template.html - 37 - + + Reclaim policy + 回收策略 - - IP - IP - - src/app/frontend/resource/workloads/pod/detail/template.html - 61 - + + Cluster name appears in the browser window title if it is set. + 如果已设置,则集群名称将显示在浏览器窗口标题中. - - QoS Class - QoS 类 - - src/app/frontend/resource/workloads/pod/detail/template.html - 67 - + + Stateful Sets + Stateful Sets - - Service Account - 服务账号 - - src/app/frontend/resource/workloads/pod/detail/template.html - 79 - + + About + 关于 - - Node - 节点 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 59 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 109 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 47 - + + Custom Resource Definitions + Custom Resource Definitions - - Status - 状态 - - src/app/frontend/common/components/condition/template.html - 44 - - - src/app/frontend/common/components/container/template.html - 39 - - - src/app/frontend/common/components/quotas/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 93 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 86 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 118 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 28 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 29 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 55 - + + External Endpoints + 外部 Endpoints - - Started - 已启动 - - src/app/frontend/common/components/container/template.html - 50 - + + Storage Class + 存储类 - - Image Pull Secrets - 镜像拉取 Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 25 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 89 - + + Available: + 可用的: - - Init containers - Init containers - - src/app/frontend/resource/workloads/pod/detail/template.html - 132 - + + Desired replicas + 目标副本数量 - - Reclaim policy - 回收策略 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 46 - + + Edit resource + 编辑资源 - - Storage class - 存储类 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 52 - + + Rolling update strategy + 滚动更新策略 - - Mount Option(s) - 挂载选项 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 73 - + + Deploy + 部署 - - Access modes - 访问模式 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 83 - + + Ingress Classes + Ingress 类 - - Restarts - 重启 - - src/app/frontend/common/components/resourcelist/pod/template.html - 126 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 73 - + + Failed: + 失败: - - Containers - 容器 - - src/app/frontend/logs/template.html - 28 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 124 - + + A secret with the specified name will be added to the cluster in the namespace. + 具有指定名称的 secret 将添加到命名空间中的集群中。 - - Filter - 过滤 - - src/app/frontend/common/components/list/filter/template.html - 29 - + + Revision history limit: + 修改历史记录限制: - - Filter objects by name - 按名称过滤对象 - - src/app/frontend/common/components/list/filter/template.html - 34 - + + The new namespace will be added to the cluster. + 新的命名空间将添加到集群中。 - - Download logs file - 下载日志文件 - - src/app/frontend/common/dialogs/download/template.html - 19 - + + Events + 事件 - - Show less - 收起 - - src/app/frontend/common/components/chips/template.html - 55 - + + + + + + + - - Show all - 显示所有 - - src/app/frontend/common/components/chips/template.html - 57 - + + Min ready seconds + 最小就绪秒数 - - There is nothing to display here - 此处没有可显示的内容 - - src/app/frontend/common/components/list/zerostate/template.html - 22 - - - src/app/frontend/common/components/zerostate/template.html - 23 - + + Categories + 类别 - - No resources found. - 没有发现资源。 - - src/app/frontend/common/components/list/zerostate/template.html - 27 - + + Create from input + 输入并创建 - - Conditions - 状况 - - src/app/frontend/common/components/condition/template.html - 20 - + + API Groups + API 组 - - Logs - 日志 - - src/app/frontend/common/components/list/column/menu/template.html - 22 - - - src/app/frontend/index.messages.ts - 31 - + + The description will be added as an annotation to the Deployment and displayed in the application's details. + 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 - - Error - 错误 - - src/app/frontend/index.messages.ts - 32 - + + Volume ID + 卷 ID - - Exec - 执行 - - src/app/frontend/common/components/list/column/menu/template.html - 27 - + + Machine ID + 机器 ID - - Unpin - 取消固定 - - src/app/frontend/common/components/list/column/menu/template.html - 41 - + + Memory requirement must be given as a valid number. + 内存下限必须是一个有效的数字。 - - Pin - 固定 - - src/app/frontend/common/components/list/column/menu/template.html - 43 - + + Exec Commands + Exec Commands - - Metadata - Metadata - - src/app/frontend/common/components/objectmeta/template.html - 19 - + + Add namespaces... + 添加命名空间... - - Restart - 重启 - - src/app/frontend/common/components/actionbar/detailactions/restart/template.html - 21 - - - src/app/frontend/common/components/list/column/menu/template.html - 53 - - - src/app/frontend/common/dialogs/restartresource/template.html - 42 - + + The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. + 如果指定的镜像是私有的,则可能需要拉取 secret 凭据。 您可以选择现有 secret 或创建新 secret。 - - Items:  - 项目:  - - src/app/frontend/common/components/condition/template.html - 26 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 26 - - - src/app/frontend/common/components/ingressrulelist/template.html - 26 - - - src/app/frontend/common/components/limits/template.html - 26 - - - src/app/frontend/common/components/policyrule/template.html - 26 - - - src/app/frontend/common/components/quotas/template.html - 26 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 23 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 23 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 26 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 26 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 26 - - - src/app/frontend/common/components/resourcelist/event/template.html - 24 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 24 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 23 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 23 - - - src/app/frontend/common/components/resourcelist/job/template.html - 29 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 23 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 23 - - - src/app/frontend/common/components/resourcelist/node/template.html - 26 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 23 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 23 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 23 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 26 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 29 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 23 - - - src/app/frontend/common/components/resourcelist/role/template.html - 23 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 23 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 22 - - - src/app/frontend/common/components/resourcelist/service/template.html - 23 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 23 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 26 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 23 - - - src/app/frontend/common/components/subject/template.html - 26 - - - src/app/frontend/common/components/volumemount/template.html - 25 - + + Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. + 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 - - Name - 名称 - - src/app/frontend/common/components/creator/template.html - 48 - - - src/app/frontend/common/components/objectmeta/template.html - 44 - - - src/app/frontend/common/components/quotas/template.html - 37 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 43 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 44 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 54 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 41 - - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 36 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 57 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 66 - - - src/app/frontend/common/components/resourcelist/event/template.html - 50 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 44 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 44 - - - src/app/frontend/common/components/resourcelist/job/template.html - 69 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 53 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 42 - - - src/app/frontend/common/components/resourcelist/node/template.html - 57 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 52 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 52 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 43 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 66 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 69 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 63 - - - src/app/frontend/common/components/resourcelist/role/template.html - 43 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 43 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 43 - - - src/app/frontend/common/components/resourcelist/service/template.html - 54 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 42 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 66 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 44 - - - src/app/frontend/common/components/subject/template.html - 36 - - - src/app/frontend/common/components/volumemount/template.html - 35 - - - src/app/frontend/create/from/form/environmentvariables/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 224 - + + Conditions + 状况 - - Namespace - 命名空间 - - src/app/frontend/common/components/objectmeta/template.html - 50 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 58 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 52 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 71 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 81 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 81 - - - src/app/frontend/common/components/resourcelist/event/template.html - 59 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 50 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 58 - - - src/app/frontend/common/components/resourcelist/job/template.html - 84 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 54 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 66 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 64 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 81 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 84 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 78 - - - src/app/frontend/common/components/resourcelist/role/template.html - 53 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 53 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 57 - - - src/app/frontend/common/components/resourcelist/service/template.html - 68 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 54 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 81 - - - src/app/frontend/common/components/subject/template.html - 48 - - - src/app/frontend/create/from/form/template.html - 145 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 232 - - - src/app/frontend/settings/global/namespace/adddialog/template.html - 29 - - - src/app/frontend/settings/global/namespace/template.html - 27 - + + iSCSI target lun number + iSCSI 目标 lun 号 - - UID - UID - - src/app/frontend/common/components/objectmeta/template.html - 71 - + + Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. + 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 - - Labels - 标签 - - src/app/frontend/common/components/creator/template.html - 78 - - - src/app/frontend/common/components/objectmeta/template.html - 78 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 66 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 89 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 99 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 99 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 66 - - - src/app/frontend/common/components/resourcelist/job/template.html - 102 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 64 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 60 - - - src/app/frontend/common/components/resourcelist/node/template.html - 70 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 74 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 99 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 102 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 96 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 65 - - - src/app/frontend/common/components/resourcelist/service/template.html - 76 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 60 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 99 - - - src/app/frontend/create/from/form/template.html - 183 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 254 - + + Secrets + Secrets - - Annotations - 注解 - - src/app/frontend/common/components/objectmeta/template.html - 88 - + + Unsupported graph type . + 不支持的镜像设备格式. - - Pods status - Pods 状态 - - src/app/frontend/common/components/podstatus/template.html - 20 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 119 - + + Max Replicas + 最大副本数 - - Schedule - 调度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 99 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 52 - + + Commands + 命令 - - Suspend - 暂停 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 110 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 64 - + + A Deployment will be created to maintain the desired number of pods across your cluster. + Deployment 将跨集群创建 pod 以维护所需数量。 - - Active - 运行中 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 120 - + + Resource type + 资源类别 - - Last Schedule - 最后的调度 - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 128 - + + Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. + 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 - - Deployments - Deployments - - src/app/frontend/common/components/resourcelist/deployment/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 74 - - - src/app/frontend/index.messages.ts - 41 - + + Seccomp Profile Type + Seccomp 配置文件类型 - - Ingress Classes - Ingress Classes - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 49 - + + Cancel + 取消 - - Controller - 控制器 - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 55 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 29 - + + Target port must be an integer. + 目标端口必须是整数。 - - Events - 事件 - - src/app/frontend/common/components/resourcelist/event/template.html - 22 - - - src/app/frontend/index.messages.ts - 36 - + + Key + Key - - Overview - 概况 - - src/app/frontend/index.messages.ts - 37 - + + Metadata + Metadata - - Created - 创建时间 - - src/app/frontend/common/components/objectmeta/template.html - 55 - - - src/app/frontend/common/components/quotas/template.html - 42 - - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 54 - - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 54 - - - src/app/frontend/common/components/resourcelist/configmap/template.html - 78 - - - src/app/frontend/common/components/resourcelist/crd/template.html - 91 - - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 58 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 152 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 121 - - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 78 - - - src/app/frontend/common/components/resourcelist/ingress/template.html - 116 - - - src/app/frontend/common/components/resourcelist/ingressclass/template.html - 65 - - - src/app/frontend/common/components/resourcelist/job/template.html - 124 - - - src/app/frontend/common/components/resourcelist/namespace/template.html - 80 - - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 70 - - - src/app/frontend/common/components/resourcelist/node/template.html - 164 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 139 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 142 - - - src/app/frontend/common/components/resourcelist/plugin/template.html - 72 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 160 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 124 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 118 - - - src/app/frontend/common/components/resourcelist/role/template.html - 61 - - - src/app/frontend/common/components/resourcelist/rolebinding/template.html - 61 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 85 - - - src/app/frontend/common/components/resourcelist/service/template.html - 124 - - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 70 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 121 - - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 75 - + + Updated: + 已更新: - - Age - 存在时长 - - src/app/frontend/common/components/creator/template.html - 68 - - - src/app/frontend/common/components/objectmeta/template.html - 62 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 238 - + + Server + 服务器 - - Host - 主机 - - src/app/frontend/common/components/ingressrulelist/template.html - 36 - + + Service + Service - - Dependencies - 依赖 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 55 - + + Resource Names + 资源名 - - Image:  - 镜像:  - - src/app/frontend/common/components/container/template.html - 19 - + + Logged in with auth header + 使用 auth 标头登录 - - Image - 镜像 - - src/app/frontend/common/components/container/template.html - 32 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 344 - + + Parameters + 参数 - - Environment Variables - 环境变量 - - src/app/frontend/common/components/container/template.html - 106 - + + key + 密钥 - - Environment variable - 环境变量 - - src/app/frontend/common/components/container/template.html - 116 - - - src/app/frontend/common/components/container/template.html - 133 - - - src/app/frontend/common/components/container/template.html - 153 - + + Inactive Jobs + 非工作的 Jobs bytes 字节 - - src/app/frontend/common/components/container/template.html - 140 - - - src/app/frontend/common/components/container/template.html - 160 - - - Commands - 命令 - - src/app/frontend/common/components/container/template.html - 170 - + + QoS Class + QoS 类 - - Arguments - 参数 - - src/app/frontend/common/components/container/template.html - 184 - + + Persistent Volume Claims + Persistent Volume Claims - - Mounts - 挂载 - - src/app/frontend/common/components/container/template.html - 199 - + + Seccomp Localhost Profile + Seccomp 本地主机配置文件 - - Security Context - 安全上下文 - - src/app/frontend/common/components/container/template.html - 214 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 102 - + + Old Replica Sets + 旧 Replica Sets - - Liveness Probe - 存活探针 - - src/app/frontend/common/components/container/template.html - 226 - + + Are you sure you want to delete in namespace ? + 你确定要删除 在命名空间中 ? - - Readiness Probe - 就绪探针 - - src/app/frontend/common/components/container/template.html - 236 - + + Memory limits (bytes) + 内存限制(字节数) - - Startup Probe - 启动探针 - - src/app/frontend/common/components/container/template.html - 246 - + + Delete a resource + 删除一个资源 - - Unsupported graph type . - 不支持的镜像设备格式. - - src/app/frontend/common/components/graph/component.ts - 95 - + + Versions + 版本 - - Waiting for more data to display chart... - 等待更多的数据来显示图表... - - src/app/frontend/common/components/graph/template.html - 22 - + + + + + + + - - Type - 类别 - - src/app/frontend/common/components/condition/template.html - 36 - - - src/app/frontend/common/components/resourcelist/secret/template.html - 75 - - - src/app/frontend/common/components/resourcelist/service/template.html - 86 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 27 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 59 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 85 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 121 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 135 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 167 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 193 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 207 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 268 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 306 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 332 - - - src/app/frontend/resource/discovery/service/detail/template.html - 28 - + + User + 用户 - - Last probe time - 最后的检测时间 - - src/app/frontend/common/components/condition/template.html - 52 - + + Image Pull Secrets + 镜像拉取 Secrets - - Last transition time - 最后的迁移时间 - - src/app/frontend/common/components/condition/template.html - 60 - + + Image Pull Secrets + 镜像拉取 Secrets - - Resource Limits - 资源限制 - - src/app/frontend/common/components/limits/template.html - 20 - + + Path Type + 路径类型 - - Reason - 原因 - - src/app/frontend/common/components/condition/template.html - 68 - - - src/app/frontend/common/components/container/template.html - 58 - - - src/app/frontend/common/components/container/template.html - 72 - - - src/app/frontend/common/components/resourcelist/event/template.html - 68 - - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 126 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 60 - + + Settings have changed since last reload + 自上次重新加载以来,设置已发生变化 - - Message - 信息 - - src/app/frontend/common/components/condition/template.html - 76 - - - src/app/frontend/common/components/container/template.html - 64 - - - src/app/frontend/common/components/container/template.html - 78 - - - src/app/frontend/common/components/resourcelist/event/template.html - 76 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 66 - + + Resources + 资源 - - Exit Code - 退出码 - - src/app/frontend/common/components/container/template.html - 84 - + + Operating system + 操作系统 - - Signal - 信号 - - src/app/frontend/common/components/container/template.html - 90 - + + Overview + 概况 - - Started At - 启动于 - - src/app/frontend/common/components/container/template.html - 98 - + + Memory Usage (bytes) + 内存使用 (bytes) - - Name:  - 名称:  - - src/app/frontend/common/components/creator/template.html - 22 - - - src/app/frontend/common/components/objectmeta/template.html - 23 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 192 - + + Add Namespace + 添加命名空间 - - Kind:  - Kind:  - - src/app/frontend/common/components/creator/template.html - 29 - + + Persistent disk name + 持久化磁盘名称 - - Age:  - 经过时间:  - - src/app/frontend/common/components/creator/template.html - 36 - - - src/app/frontend/common/components/objectmeta/template.html - 35 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 206 - + + Driver + 驱动 - - Kind - Kind - - src/app/frontend/common/components/creator/template.html - 56 - - - src/app/frontend/common/components/subject/template.html - 57 - - - src/app/frontend/crd/detail/template.html - 72 - + + All namespaces + 全部命名空间 - - Images - 镜像 - - src/app/frontend/common/components/creator/template.html - 87 - - - src/app/frontend/common/components/resourcelist/cronjob/template.html - 79 - - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 89 - - - src/app/frontend/common/components/resourcelist/deployment/template.html - 89 - - - src/app/frontend/common/components/resourcelist/job/template.html - 92 - - - src/app/frontend/common/components/resourcelist/pod/template.html - 89 - - - src/app/frontend/common/components/resourcelist/replicaset/template.html - 92 - - - src/app/frontend/common/components/resourcelist/replicationcontroller/template.html - 86 - - - src/app/frontend/common/components/resourcelist/statefulset/template.html - 89 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 39 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 263 - - - src/app/frontend/resource/workloads/job/detail/template.html - 58 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 47 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 39 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 39 - + + Host links are external links that will be open in a new tab. + 主机链接是将在新选项卡中打开的外部链接。 - - Group - Group - - src/app/frontend/common/components/resourcelist/crd/template.html - 65 - - - src/app/frontend/crd/detail/template.html - 41 - + + Version + 版本 - - Full Name - 全名 - - src/app/frontend/common/components/resourcelist/crd/template.html - 73 - + + Storage Classes + Storage Classes + + + Selected namespace is different than namespace of currently selected resource. + 选定的名称空间与当前选定资源的名称空间不同。 + + + Namespaces let you partition resources into logically named groups. + 命名空间允许将资源分区为逻辑命名的组。 + + + Pending: + 待定: + + + Concurrency policy + 并发策略 + + + Termination Grace Period (Seconds) + 终止宽限期(秒) - - Namespaced - 有命名空间的 - - src/app/frontend/common/components/resourcelist/crd/template.html - 81 - + + Label Selector + 标签选择算符 - - Versions - 版本 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 20 - + + Ingress Classes + Ingress Classes - - Served - 服务 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 42 - + + Succeeded + 已成功 - - Storage - 存储 - - src/app/frontend/common/components/resourcelist/crdversion/template.html - 48 - + + Yes + - - Daemon Sets - Daemon Sets - - src/app/frontend/common/components/resourcelist/daemonset/template.html - 24 - - - src/app/frontend/common/components/workloadstatus/template.html - 56 - - - src/app/frontend/index.messages.ts - 40 - + + Parallelism + 并行度 - - Host - 主机 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 37 - + + Language + 语言 - - Ports (Name, Port, Protocol) - 端口 (名称, 端口, 协议) - - src/app/frontend/common/components/endpoint/cardlist/template.html - 45 - + + Do you want to stay on current page and change namespace from to ? + 您是否希望保持当前页面并从 to 中更改名称空间? - - unset - 未设置 - - src/app/frontend/common/components/endpoint/cardlist/template.html - 51 - + + Source Type + 源类型 - - Ready - 准备就绪 - - src/app/frontend/common/components/container/template.html - 44 - - - src/app/frontend/common/components/endpoint/cardlist/template.html - 67 - - - src/app/frontend/common/components/resourcelist/node/template.html - 80 - + + Unavailable: + 不可用的: - - Source - 事件源 - - src/app/frontend/common/components/resourcelist/event/template.html - 84 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 19 - + + CPU + CPU - - Object - 对象 - - src/app/frontend/common/components/resourcelist/event/template.html - 95 - + + File System Type + 文件系统类型 Sub-object 子对象 - - src/app/frontend/common/components/resourcelist/event/template.html - 114 - - - Count - 次数 - - src/app/frontend/common/components/resourcelist/event/template.html - 125 - + + Cluster + 集群 - - First Seen - 初次 - - src/app/frontend/common/components/resourcelist/event/template.html - 134 - + + Show all + 显示所有 - - Last Seen - 最后一次 - - src/app/frontend/common/components/resourcelist/event/template.html - 146 - + + Sign out + 离开 - - Horizontal Pod Autoscalers - Horizontal Pod Autoscalers - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 22 - + + Running + 运行中 - - Min Replicas - 最小副本数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 56 - + + Last transition time + 最后的迁移时间 - - Max Replicas - 最大副本数 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 62 - + + {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} + {VAR_SELECT, select, true {隐藏高级选项} other {显示高级选项}} - - Reference - 参考 - - src/app/frontend/common/components/resourcelist/horizontalpodautoscaler/template.html - 68 - + + Total: + 总计: - - Horizontal Pod Autoscaler - Pod 水平自动伸缩 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 287 - + + Suffix '' not recognized. + 后缀 “” 未认证。 - - Endpoint links are external links that will be open in a new tab. - 端点链接是将在新选项卡中打开的外部链接。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 80 - + + Port must be greater than 0. + 端口号必须大于 0。 - - Endpoints open_in_new - 端点 open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 76 - + + Image + 镜像 - - Host links are external links that will be open in a new tab. - 主机链接是将在新选项卡中打开的外部链接。 - - src/app/frontend/common/components/resourcelist/ingress/template.html - 97 - + + Reclaim Policy + 回收策略 - - Hosts open_in_new - 主机 open_in_new - - src/app/frontend/common/components/resourcelist/ingress/template.html - 93 - + + Name must be alphanumeric and may contain dashes. + 名称必须是字母或者数字,可以包含短划线。 - - Controlled by - 受控于 - - src/app/frontend/common/components/creator/template.html - 42 - + + Token + Token - - Phase - 运行阶段 - - src/app/frontend/common/components/resourcelist/namespace/template.html - 72 - - - src/app/frontend/resource/cluster/node/detail/template.html - 30 - + + Max unavailable: + 不可用个数上限: - - Network Policies - 网络策略 - - src/app/frontend/common/components/resourcelist/networkpolicy/template.html - 21 - - - src/app/frontend/index.messages.ts - 60 - + + Strategy: + 策略: - - Ingresses - Ingresses - - src/app/frontend/common/components/resourcelist/ingress/template.html - 21 - - - src/app/frontend/index.messages.ts - 48 - + + Close notifications panel + 关闭通知面板 - - CPU requests (cores) - CPU 请求(核数) - - src/app/frontend/common/components/resourcelist/node/template.html - 88 - + + will be triggered. + 将会被触发. - - CPU limits (cores) - CPU 限制(核数) - - src/app/frontend/common/components/resourcelist/node/template.html - 99 - + + Number of seconds between every auto-refresh of every resource. Set 0 to disable. + 两次资源自动刷新时间间隔。设置为 0 则表示不启用。 - - CPU capacity (cores) - CPU 容量(核心) - - src/app/frontend/common/components/resourcelist/node/template.html - 110 - + + You can specify minimum CPU and memory requirements for the container. + 您可以指定容器的最低 CPU 和内存需求。 - - Memory requests (bytes) - 内存请求(字节数) - - src/app/frontend/common/components/resourcelist/node/template.html - 120 - + + Reference + 参考 - - Memory limits (bytes) - 内存限制(字节数) - - src/app/frontend/common/components/resourcelist/node/template.html - 131 - + + Plural + 复数 - - Memory capacity (bytes) - 内存容量(字节数) - - src/app/frontend/common/components/resourcelist/node/template.html - 142 - + + Exec into pod + 在 pod 中运行 - - Persistent Volumes - 持久卷 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 21 - - - src/app/frontend/index.messages.ts - 62 - + + Label Value must not exceed 253 characters. + 标签值不得超过 253 个字符。 - - Select namespace... - 选择命名空间... - - src/app/frontend/common/components/namespace/template.html - 24 - + + Actions + 动作 - - All namespaces - 全部命名空间 - - src/app/frontend/common/components/namespace/template.html - 33 - + + Proc Mount + 挂载 Proc 文件系统 - - Search for - 搜索 - - src/app/frontend/common/components/breadcrumbs/component.ts - 143 - + + Read documentation + 阅读文档 - - NAMESPACES - 命名空间 - - src/app/frontend/common/components/namespace/template.html - 34 - + + List of namespaces that should be presented to user without namespace list privileges. + 应该显示给没有名称空间列表权限的用户的名称空间列表。 - - Do you want to stay on current page and change namespace from to ? - 您是否希望保持当前页面并从 to 中更改名称空间? - - src/app/frontend/common/components/namespace/changedialog/template.html - 24 - + + Resource Quotas + 资源配额 - - Yes - - - src/app/frontend/common/components/namespace/changedialog/template.html - 32 - + + Jobs + Jobs - - No - - - src/app/frontend/common/components/namespace/changedialog/template.html - 35 - + + Max unavailable + 不可用个数上限 - - Initial Delay (Seconds) - 初始延迟(秒) - - src/app/frontend/common/components/probe/template.html - 26 - + + Hosts open_in_new + 主机 open_in_new - - Timeout (Seconds) - 超时时间(秒) - - src/app/frontend/common/components/probe/template.html - 31 - + + Namespace + 命名空间 - - Probe Period (Seconds) - 探测周期(秒) - - src/app/frontend/common/components/probe/template.html - 36 - + + Resource auto-refresh time interval + 资源自动刷新时间间隔 - - Success Threshold - 成功阈值 - - src/app/frontend/common/components/probe/template.html - 41 - + + Accepted Names + 可接受的名称 - - Failure Threshold - 失败阈值 - - src/app/frontend/common/components/probe/template.html - 46 - + + Kubernetes Dashboard is made possible by the Dashboard community as an open source project. + Kubernetes Dashboard 是由 Dashboard 社区 开发的 开源项目 - - Termination Grace Period (Seconds) - 终止宽限期(秒) - - src/app/frontend/common/components/probe/template.html - 51 - + + Run as User + 用户身份 - - HTTP Healthcheck URI - HTTP 健康检查 URI - - src/app/frontend/common/components/probe/template.html - 58 - + + Name is required. + 名称是必填的。 - - HTTP Headers - HTTP Headers - - src/app/frontend/common/components/probe/template.html - 68 - + + Started + 已启动 - - TCP Socket - TCP Socket - - src/app/frontend/common/components/probe/template.html - 81 - + + Source Name + 源名称 - - Exec Commands - Exec Commands - - src/app/frontend/common/components/probe/template.html - 90 - + + Label value must be alphanumeric separated by '.' , '-' or '_'. + 标签值必须由'.' , '-'或者'_'分割字母数字。 - - Objects - 对象 - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 21 - + + Learn more open_in_new + 了解更多 open_in_new - - No resources found in the selected namespace. - 选定的命名空间中没有发现资源。 - - src/app/frontend/common/components/resourcelist/crdobject/template.html - 92 - + + Learn more open_in_new + 了解更多open_in_new - - Nodes - 节点 - - src/app/frontend/common/components/resourcelist/node/template.html - 24 - - - src/app/frontend/index.messages.ts - 61 - + + Learn more open_in_new + 了解更多 open_in_new - - Namespace:  - 命名空间:  - - src/app/frontend/common/components/objectmeta/template.html - 29 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 199 - + + Learn more open_in_new + 了解更多 open_in_new - - Running:  - 运行中:  - - src/app/frontend/common/components/podstatus/template.html - 26 - + + Learn more open_in_new + 了解更多 open_in_new - - Succeeded:  - 成功:  - - src/app/frontend/common/components/podstatus/template.html - 33 - + + Abort + 中止 - - Pending:  - 启动中:  - - src/app/frontend/common/components/podstatus/template.html - 40 - + + Name must be up to characters long. + 名称必须大于 个字符。 - - Failed:  - 失败:  - - src/app/frontend/common/components/podstatus/template.html - 47 - + + Name must be up to characters long. + 名称必须大于 字符. - - Desired - 期望值 - - src/app/frontend/common/components/podstatus/template.html - 88 - + + value + - - Running - 运行中 - - src/app/frontend/common/components/podstatus/template.html - 63 - + + Object + 对象 - - Succeeded - 已成功 - - src/app/frontend/common/components/podstatus/template.html - 69 - + + Config Maps + Config Maps - - Pending - 待定 - - src/app/frontend/common/components/podstatus/template.html - 75 - + + Min Replicas + 最小副本数 - - Failed - 已失败 - - src/app/frontend/common/components/podstatus/template.html - 82 - + + Remove all notifications + 删除所有通知 - - Rules - 规则 - - src/app/frontend/common/components/ingressrulelist/template.html - 20 - - - src/app/frontend/common/components/policyrule/template.html - 20 - + + Container runtime version + 容器运行时版本 - - Desired:  - 期望值:  - - src/app/frontend/common/components/podstatus/template.html - 53 - + + Service Port + 服务端口 - - CPU Usage (cores) - CPU 使用率 (cores) - - src/app/frontend/common/components/resourcelist/pod/template.html - 134 - + + Total + 总计 - - Memory Usage (bytes) - 内存使用 (bytes) - - src/app/frontend/common/components/resourcelist/pod/template.html - 146 - + + Cluster Role Bindings + Cluster Role Bindings - - Capacity - 容量 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 63 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 108 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 98 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 49 - + + Active Jobs + 运行中的 Jobs - - Access Modes - 访问模式 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 73 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 119 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 58 - + + CPU requests (cores) + CPU 请求(核数) - - Reclaim Policy - 回收策略 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 83 - + + Failure Threshold + 失败阈值 - - Claim - 要求 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 101 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 35 - + + Volume Handle + 卷句柄 - - Storage Class - 存储类 - - src/app/frontend/common/components/resourcelist/persistentvolume/template.html - 115 - - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 129 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 33 - + + Windows GMSA Credential Spec Name + Windows GMSA Credential Spec 名称 - - Persistent Volume Claims - 持久卷申领 - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 21 - - - src/app/frontend/index.messages.ts - 53 - + + Show less + 收起 - - Volume - Volume - - src/app/frontend/common/components/resourcelist/persistentvolumeclaim/template.html - 94 - + + Run as privileged + 以特权身份运行 - - Plugins - 插件 - - src/app/frontend/common/components/resourcelist/plugin/template.html - 21 - - - src/app/frontend/index.messages.ts - 34 - + + Variable name must be a valid C identifier. + 变量名必须是有效的 C 标识符。 - - Shell - Shell - - src/app/frontend/index.messages.ts - 35 - + + Selector + 选择算符 - - Read Only - 只读 - - src/app/frontend/common/components/volumemount/template.html - 40 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 227 - + + No + - - Mount Path - 挂载路径 - - src/app/frontend/common/components/volumemount/template.html - 45 - + + Local settings + 本地设置 - - Sub Path - 子路径 - - src/app/frontend/common/components/volumemount/template.html - 50 - + + Protocol is required. + 协议是必需的。 - - Source Type - 源类型 - - src/app/frontend/common/components/volumemount/template.html - 55 - + + Desired: + 期望值: - - Source Name - 源名称 - - src/app/frontend/common/components/volumemount/template.html - 60 - + + Session Affinity + 会话亲和性 - - Preview Deployment - 预览 Deployment - - src/app/frontend/common/dialogs/previewdeployment/template.html - 18 - + + Container image is required + 容器镜像是必须的 - - Resources - 资源 - - src/app/frontend/common/components/policyrule/template.html - 36 - + + CPU requirement must be given as a valid number. + CPU 下限必须是有效的数字。 - - Non-resource URL - 非资源 URL - - src/app/frontend/common/components/policyrule/template.html - 46 - + + Service Port Number + 服务端口号 - - Resource Names - 资源名 - - src/app/frontend/common/components/policyrule/template.html - 56 - + + unset + 未设置 - - Verbs - 动作 - - src/app/frontend/common/components/policyrule/template.html - 66 - + + Resource Limits + 资源限制 - - API Groups - API 组 - - src/app/frontend/common/components/policyrule/template.html - 76 - + + This action is equivalent to: + 这个动作相当于: - - Resource Quotas - 资源配额 - - src/app/frontend/common/components/quotas/template.html - 20 - + + Change the language of the dashboard + 更改 dashboard 的语言 - - Cluster Roles - Cluster Roles - - src/app/frontend/common/components/resourcelist/clusterrole/template.html - 21 - - - src/app/frontend/index.messages.ts - 58 - + + Save + 保存 - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/common/components/resourcelist/clusterrolebinding/template.html - 21 - - - src/app/frontend/index.messages.ts - 57 - + + Protocol + 协议 - - Config Maps - Config Maps - - src/app/frontend/common/components/resourcelist/configmap/template.html - 21 - - - src/app/frontend/index.messages.ts - 52 - + + Init containers + Init containers - - Custom Resource Definitions - Custom Resource Definitions - - src/app/frontend/common/components/resourcelist/crd/template.html - 21 - - - src/app/frontend/index.messages.ts - 66 - + + Exec + 执行 - - Settings - 设置 - - src/app/frontend/index.messages.ts - 67 - + + Open notifications panel + 打开通知面板 - - Resource name - 资源名 - - src/app/frontend/common/components/limits/template.html - 37 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 105 - + + Replica Sets + Replica Sets - - Resource type - 资源类别 - - src/app/frontend/common/components/limits/template.html - 42 - + + Waiting for more data to display chart... + 等待更多的数据来显示图表... - - Default - 默认 - - src/app/frontend/common/components/limits/template.html - 47 - + + An 'app' label with this value will be added to the Deployment and Service that get deployed. + 具有此值的 “app” 标签将添加到已部署的 Deployment 和 Service 中。 - - Default request - 默认下限 - - src/app/frontend/common/components/limits/template.html - 52 - + + Number of pods must be a positive integer + pod 的数量必须是整数 - - Edit - 编辑 - - src/app/frontend/common/components/list/column/menu/template.html - 49 - - - src/app/frontend/settings/global/namespace/editdialog/template.html - 45 - + + Run command arguments + 运行命令参数 - - Actions - 动作 - - src/app/frontend/common/components/list/column/menu/template.html - 66 - + + Can't find plugin "" + 未找到插件 "" - - Provisioner - 提供者 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 55 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 29 - + + Last Seen + 最后一次 - - Parameters - 参数 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 63 - + + Port must be an integer. + 端口号必须是数字。 - - Subjects - 主体 - - src/app/frontend/common/components/subject/template.html - 20 - + + Choose YAML or JSON file + 选择 YAML 或 JSON 文件 - - Cluster IP - 集群 IP - - src/app/frontend/common/components/resourcelist/service/template.html - 94 - - - src/app/frontend/resource/discovery/service/detail/template.html - 33 - + + Available + 可用 - - Internal Endpoints - 内部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 102 - + + Node + 节点 - - External Endpoints - 外部 Endpoints - - src/app/frontend/common/components/resourcelist/service/template.html - 112 - + + Schedule: + 时间表: - - Service Accounts - 服务账户 - - src/app/frontend/common/components/resourcelist/serviceaccount/template.html - 21 - - - src/app/frontend/index.messages.ts - 65 - + + Update + 更新 - - Storage Classes - 存储类 - - src/app/frontend/common/components/resourcelist/storageclass/template.html - 21 - - - src/app/frontend/index.messages.ts - 55 - + + Arguments + 参数 - - Global settings are stored in config map, so all of them are applied for every instance of the app. - 全局设置存储在 config map 中,因此所有这些设置都适用于应用程序的每个实例。 - - src/app/frontend/settings/global/template.html - 23 - + + Dependencies + 依赖 - - Secrets - Secrets - - src/app/frontend/index.messages.ts - 54 - - - src/app/frontend/overview/template.html - 66 - - - src/app/frontend/resource/cluster/serviceaccount/detail/template.html - 21 - - - src/app/frontend/resource/config/secret/list/template.html - 17 - - - src/app/frontend/resource/config/template.html - 24 - - - src/app/frontend/search/template.html - 62 - + + Role Bindings + Role Bindings - - Cluster - 集群 - - src/app/frontend/index.messages.ts - 56 - - - src/app/frontend/overview/template.html - 75 - - - src/app/frontend/search/template.html - 70 - + + Config and Storage + 配置和存储 - - You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. - 你可以 部署一个容器化应用, 选择其他命名空间,或者 - 阅读 Dashboard 说明 - open_in_new - 了解更多。 - - src/app/frontend/common/components/zerostate/template.html - 26 - + + Probe Period (Seconds) + 探测周期(秒) - - SE Linux User - SE Linux 用户 - - src/app/frontend/common/components/securitycontext/template.html - 23 - + + Scale resource + 缩放资源 - - SE Linux Role - SE Linux 角色 - - src/app/frontend/common/components/securitycontext/template.html - 28 - + + Port must be less than 65536. + 端口号必须小于 65536。 - - SE Linux Type - SE Linux 类型 - - src/app/frontend/common/components/securitycontext/template.html - 33 - + + Readiness Probe + 就绪探针 - - SE Linux Level - SE Linux 级别 - - src/app/frontend/common/components/securitycontext/template.html - 38 - + + CPU limits (cores) + CPU 限制(核数) - - Windows GMSA Credential Spec Name - Windows GMSA Credential Spec 名称 - - src/app/frontend/common/components/securitycontext/template.html - 44 - + + Images + 镜像 - - Windows GMSA Credential Spec - Windows GMSA Credential Spec - - src/app/frontend/common/components/securitycontext/template.html - 49 - + + Skip + 跳过 - - Windows Run as User - Windows 上用户身份 - - src/app/frontend/common/components/securitycontext/template.html - 54 - + + Created + 创建时间 - - Run as User - 用户身份 - - src/app/frontend/common/components/securitycontext/template.html - 60 - + + Namespace that should be selected by default after logging in. + 登录后应默认选择的命名空间。 - - Run as Group - 组身份 - - src/app/frontend/common/components/securitycontext/template.html - 65 - + + Deployment or service with this name already exists within namespace. + 具有此名称的 deployment 或 service 已存在于命名空间中。 - - Run as Non-Root - 非 Root 身份 - - src/app/frontend/common/components/securitycontext/template.html - 70 - + + Storage class + 存储类 - - Seccomp Profile Type - Seccomp 配置文件类型 - - src/app/frontend/common/components/securitycontext/template.html - 76 - + + Role Bindings + Role Bindings - - Seccomp Localhost Profile - Seccomp 本地主机配置文件 - - src/app/frontend/common/components/securitycontext/template.html - 81 - + + Pin resource + 锁定资源 - - Added Capabilities - 要添加的权能 - - src/app/frontend/common/components/securitycontext/template.html - 88 - + + Config Maps + Config Maps - - Dropped Capabilities - 要放弃的权能 - - src/app/frontend/common/components/securitycontext/template.html - 93 - + + Create a new namespace... + 创建一个新的命名空间... - - Privileged - 特权模式 - - src/app/frontend/common/components/securitycontext/template.html - 98 - + + Enter YAML or JSON content specifying the resources to create to the currently selected namespace. + 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 - - Read Only Filesystem - 只读文件系统 - - src/app/frontend/common/components/securitycontext/template.html - 103 - + + Completions: + 完成个数: - - Allow Privilege Escalation - 允许特权提升 - - src/app/frontend/common/components/securitycontext/template.html - 108 - + + in namespace will be restarted. + in namespace will be restarted. - - Proc Mount - 挂载 Proc 文件系统 - - src/app/frontend/common/components/securitycontext/template.html - 113 - + + Starting deadline seconds + 开始的最后期限 - - Filesystem Group - 文件系统组 - - src/app/frontend/common/components/securitycontext/template.html - 120 - + + Volume + Volume - - Filesystem Group Change Policy - 文件系统组变更策略 - - src/app/frontend/common/components/securitycontext/template.html - 125 - + + Pending + 待定 - - Supplemental Groups - 附加用户组 - - src/app/frontend/common/components/securitycontext/template.html - 131 - + + Memory requests (bytes) + 内存请求(字节数) - - Sysctls - Sysctls - - src/app/frontend/common/components/securitycontext/template.html - 139 - + + Create new resource + 创建新资源 - - API Group - API 组 - - src/app/frontend/common/components/subject/template.html - 63 - + + Unknown + 未知 - - Workloads - 工作负载 - - - src/app/frontend/chrome/nav/template.html - 27 - + + Pin + 固定 - - Cron Jobs - Cron Jobs - - - src/app/frontend/chrome/nav/template.html - 32 - + + This action is equivalent to: + 此操作相当于: - - Daemon Sets - Daemon Sets - - - src/app/frontend/chrome/nav/template.html - 36 - + + Age: + 经过时间: - - Deployments - Deployments - - - src/app/frontend/chrome/nav/template.html - 40 - + + Edit a resource + 编辑一个资源 - - Jobs - Jobs - - - src/app/frontend/chrome/nav/template.html - 44 - + + Roles + Roles - - Pods - Pods - - - src/app/frontend/chrome/nav/template.html - 48 - + + Do you want to save them anyways? + 你想保存它们吗? - - Replica Sets - Replica Sets - - - src/app/frontend/chrome/nav/template.html - 52 - + + Access modes + 访问模式 - - Replication Controllers - Replication Controllers - - - src/app/frontend/chrome/nav/template.html - 56 - + + Default request + 默认下限 - - Stateful Sets - Stateful Sets - - - src/app/frontend/chrome/nav/template.html - 61 - + + Search + 搜索 - - Service - 服务 - - - src/app/frontend/chrome/nav/template.html - 67 - + + Actual replicas + 当前的副本数量 - - Ingresses - Ingresses - - - src/app/frontend/chrome/nav/template.html - 73 - + + Secrets + Secrets - - Services - Services - - - src/app/frontend/chrome/nav/template.html - 82 - + + Kind: + Kind: - - Config and Storage - 配置和存储 - - - src/app/frontend/chrome/nav/template.html - 88 - + + Namespaces + 命名空间 - - Config Maps - Config Maps - - src/app/frontend/chrome/nav/template.html - 94 - + + Rules + 规则 - - Persistent Volume Claims - Persistent Volume Claims - - src/app/frontend/chrome/nav/template.html - 100 - + + Claim + 要求 - - Secrets - Secrets - - src/app/frontend/chrome/nav/template.html - 106 - + + iSCSI Qualified Name + iSCSI 限定名称 - - Storage Classes - Storage Classes - - src/app/frontend/chrome/nav/template.html - 110 - + + Parallelism: + 并行度: - - Cluster - 集群 - - src/app/frontend/chrome/nav/template.html - 116 - + + Environment variables + 环境变量 - - Cluster Role Bindings - Cluster Role Bindings - - src/app/frontend/chrome/nav/template.html - 120 - + + Desired + 期望值 - Cluster Roles - Cluster Roles - - src/app/frontend/chrome/nav/template.html - 125 - + Cluster Roles + Cluster Roles - - Events - 事件 - - src/app/frontend/chrome/nav/template.html - 130 - + + Delete resource + 删除资源 - - Ingress Classes - Ingress 类 - - src/app/frontend/chrome/nav/template.html - 77 - + + Architecture + 架构 - - Namespaces - 命名空间 - - src/app/frontend/chrome/nav/template.html - 134 - + + Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. + 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 - - Network Policies - 网络策略 - - src/app/frontend/chrome/nav/template.html - 139 - + + Reason + 原因 - - Nodes - Nodes - - src/app/frontend/chrome/nav/template.html - 144 - + + Logs + 日志 - - Persistent Volumes - Persistent Volumes - - src/app/frontend/chrome/nav/template.html - 148 - + + General-purpose web UI for Kubernetes clusters + 用于 Kubernetes 集群的通用 Web 用户界面 - - Role Bindings - Role Bindings - - src/app/frontend/chrome/nav/template.html - 154 - + + About + 关于 - - Roles - Roles - - src/app/frontend/chrome/nav/template.html - 160 - + + Description + 描述 - - Service Accounts - 服务账号 - - src/app/frontend/chrome/nav/template.html - 165 - + + Settings + 设置 - - Custom Resource Definitions - 自定义资源 - - src/app/frontend/chrome/nav/template.html - 173 - + + Controlled by + 受控于 - - Plugins - 插件 - - src/app/frontend/chrome/nav/template.html - 184 - + + SE Linux Role + SE Linux 角色 - - Edit a resource - 编辑一个资源 - - src/app/frontend/common/dialogs/editresource/template.html - 18 - + + Trigger resource + 触发资源 - - Settings - 设置 - - src/app/frontend/chrome/nav/template.html - 192 - + + Workload Status + 工作负载的状态 - - About - 关于 - - src/app/frontend/chrome/nav/template.html - 197 - + + Singular + 单数 - - Create new resource - 创建新资源 - - src/app/frontend/chrome/template.html - 42 - + + Access Modes + 访问模式 - - - - - src/app/frontend/chrome/notifications/template.html - 47 - + + SE Linux Level + SE Linux 级别 - - There are no notifications - 没有通知 - - src/app/frontend/chrome/notifications/template.html - 63 - + + Running: + 运行中: - - Search - 搜索 - - src/app/frontend/chrome/search/template.html - 29 - + + Keyring + 密钥环 - - Kubernetes Dashboard - Kubernetes 仪表板 - - src/app/frontend/login/template.html - 23 - + + IP + IP - - Remove all notifications - 删除所有通知 - - src/app/frontend/chrome/notifications/template.html - 71 - + + Memory capacity + 内存容量 - - - - - - src/app/frontend/chrome/nav/pinner/template.html - 22 - + + HTTP Healthcheck URI + HTTP 健康检查 URI - - Delete a resource - 删除一个资源 - - src/app/frontend/common/dialogs/deleteresource/template.html - 18 - + + Environment Variables + 环境变量 - - Delete - 删除 - - src/app/frontend/common/components/list/column/menu/template.html - 57 - - - src/app/frontend/common/dialogs/deleteresource/template.html - 43 - + + Addresses + 地址 - - Kubeconfig - Kubeconfig - - src/app/frontend/login/template.html - 34 - + + Pods + Pods - - Basic - 基本 - - src/app/frontend/login/template.html - 36 - + + Sign in + 登录 - - Token - Token - - src/app/frontend/login/template.html - 38 - + + Username + 用户名 - - Please select the kubeconfig file that you have created to configure access to the cluster. To find out more about how to configure and use kubeconfig file, please refer to the Configure Access to Multiple Clusters section. - 请选择您创建的 kubeconfig 文件以配置对集群的访问权限。 要了解有关如何配置和使用 kubeconfig 文件的更多信息, 请参阅配置到多个集群的访问 部分。 - - src/app/frontend/login/template.html - 44 - + + Upload + 上传 - - Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. - 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 - - src/app/frontend/login/template.html - 51 - + + IP: + IP: - - Every Service Account has a Secret with valid Bearer Token that can be used to log in to Dashboard. To find out more about how to configure and use Bearer Tokens, please refer to the Authentication section. - 每个 Service Account 都有一个合法的 Bearer Token ,可用于登录 Dashboard 。 要了解有关如何配置和使用 Bearer Tokens 的更多信息,请参阅 身份验证 部分。 - - src/app/frontend/login/template.html - 58 - + + Taints + 污点 - - Enter token - 输入 token - - src/app/frontend/login/template.html - 74 - + + Memory requirement must be given as a positive number. + 内存下限必须是正整数。 - - Username - 用户名 - - src/app/frontend/login/template.html - 87 - + + CPU capacity + CPU 容量 - - Password - 密码 - - src/app/frontend/login/template.html - 98 - + + Search for + 搜索 - - Choose kubeconfig file - 选择 kubeconfig 文件 - - src/app/frontend/login/template.html - 107 - + + Cron Jobs + Cron Jobs - - Insecure access detected. Sign in will not be available. Access Dashboard securely over HTTPS or using localhost. Read more here . - 检测到不安全的访问。无法登陆。通过 HTTPS 或使用 localhost 安全访问 Dashboard 。更多信息 - 在这里 - 阅读。 - - - src/app/frontend/login/template.html - 117 - + + Size: B + 尺寸: B - - Sign in - 登录 - - src/app/frontend/login/template.html - 133 - + + Choose color theme of the dashboard + 选择 dashboard 的颜色主题 - - Skip - 跳过 - - src/app/frontend/login/template.html - 142 - + + Filter objects by name + 按名称过滤对象 - - Kubernetes Dashboard is made possible by the Dashboard community as an open source project. - Kubernetes Dashboard 是由 Dashboard 社区 开发的 - 开源项目。 - - - src/app/frontend/about/template.html - 37 - + + Schedule + 调度 - - Workloads - 工作负载 - - src/app/frontend/index.messages.ts - 38 - - - src/app/frontend/overview/template.html - 19 - - - src/app/frontend/search/template.html - 20 - + + Enter token + 输入 token - - Read documentation - 阅读文档 - - src/app/frontend/about/actionbar/template.html - 24 - + + Allow Privilege Escalation + 允许特权提升 - - Provide feedback - 提供反馈意见 - - src/app/frontend/about/actionbar/template.html - 35 - + + Labels + 标签 Resource information 资源信息 - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 22 - - - src/app/frontend/resource/cluster/namespace/detail/template.html - 22 - - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 22 - - - src/app/frontend/resource/cluster/node/detail/template.html - 24 - - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 22 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 22 - - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 22 - - - src/app/frontend/resource/config/storageclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 23 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 22 - - - src/app/frontend/resource/discovery/service/detail/template.html - 22 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 22 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 22 - - - src/app/frontend/resource/workloads/job/detail/template.html - 22 - - - src/app/frontend/resource/workloads/pod/detail/template.html - 24 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 22 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 22 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 22 - - - - Create from input - 输入并创建 - - src/app/frontend/create/template.html - 20 - - - Create from file - 从文件创建 - - src/app/frontend/create/template.html - 24 - + + Target port must be less than 65536. + 目标端口必须小于 65536。 - - Create from form - 从表单创建 - - src/app/frontend/create/template.html - 28 - + + Invert colors + 反转颜色 - - About - 关于 - - src/app/frontend/about/template.html - 19 - - - src/app/frontend/index.messages.ts - 68 - + + Horizontal Pod Autoscaler + Pod 水平自动伸缩 - - General-purpose web UI for Kubernetes clusters - 用于 Kubernetes 集群的通用 Web 用户界面 - - src/app/frontend/about/template.html - 30 - + + Scope + 作用域 - - The new namespace will be added to the cluster. - 新的命名空间将添加到集群中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 21 - + + Data is required. + Data 是必需的。 - - Namespace name - 命名空间的名称 - - src/app/frontend/create/from/form/createnamespace/template.html - 29 - + + Processes in privileged containers are equivalent to processes running as root on the host. + 特权容器中的进程等同于在主机上以root身份运行的进程。 - - Name is required. - 名称是必填的。 - - src/app/frontend/create/from/form/createnamespace/template.html - 35 - - - src/app/frontend/create/from/form/createsecret/template.html - 35 - + + Default + 默认 - - Name must be up to characters long. - 名称必须大于 个字符。 - - src/app/frontend/create/from/form/createnamespace/template.html - 37 - - - src/app/frontend/create/from/form/createsecret/template.html - 37 - + + Deployments + Deployments - - Name must be alphanumeric and may contain dashes. - 名称必须是字母或者数字,可以包含短划线。 - - src/app/frontend/create/from/form/createnamespace/template.html - 41 - + + Status + 状态 - - Create a new image pull secret - 创建一个新的镜像拉取 Secret - - src/app/frontend/create/from/form/createsecret/template.html - 18 - + + Egress Rules + Egress 规则 - - Go to namespace - 转到命名空间 - - src/app/frontend/resource/cluster/namespace/detail/actionbar/template.html - 23 - + + Unavailable + 不可用 - - Suffix '' not recognized. - 后缀 “” 未认证。 - - src/app/frontend/common/components/graph/helper.ts - 58 - + + Kubeconfig + Kubeconfig - - Rolling update strategy - 滚动更新策略 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 82 - + + Create + 创建 - - A namespace with the specified name will be added to the cluster. - 将具有指定名称的命名空间添加到集群中。 - - src/app/frontend/create/from/form/createnamespace/template.html - 46 - + + You can deploy a containerized app, select other namespace or take the Dashboard Tour open_in_new to learn more. + 你可以 部署一个容器化应用, 选择其他命名空间,或者 阅读 Dashboard 说明 open_in_new 了解更多。 - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/file/template.html - 28 - - - src/app/frontend/create/from/form/createnamespace/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 50 - - - src/app/frontend/create/from/form/createsecret/template.html - 76 - - - src/app/frontend/create/from/form/template.html - 52 - - - src/app/frontend/create/from/form/template.html - 81 - - - src/app/frontend/create/from/form/template.html - 113 - - - src/app/frontend/create/from/form/template.html - 134 - - - src/app/frontend/create/from/form/template.html - 159 - - - src/app/frontend/create/from/form/template.html - 193 - - - src/app/frontend/create/from/form/template.html - 218 - - - src/app/frontend/create/from/form/template.html - 268 - - - src/app/frontend/create/from/form/template.html - 296 - - - src/app/frontend/create/from/form/template.html - 314 - - - src/app/frontend/create/from/form/template.html - 329 - - - src/app/frontend/create/from/input/template.html - 28 - + + Create a new secret... + 创建一个新的 secret... - - The new secret will be added to the cluster - 将新的 secret 添加到集群中 - - src/app/frontend/create/from/form/createsecret/template.html - 21 - + + Provide feedback + 提供反馈意见 - - Secret name - Secret 名称 - - src/app/frontend/create/from/form/createsecret/template.html - 29 - + + Events + 事件 - - Name must be up to characters long. - 名称必须大于 字符. - - src/app/frontend/create/from/form/createsecret/template.html - 39 - + + Storage + 存储 - - Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). - 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 - - src/app/frontend/create/from/form/createsecret/template.html - 41 - + + Suspend + 暂停 - - A secret with the specified name will be added to the cluster in the namespace. - 具有指定名称的 secret 将添加到命名空间中的集群中。 - - src/app/frontend/create/from/form/createsecret/template.html - 46 - + + Add + 添加 - - Data is required. - Data 是必需的。 - - src/app/frontend/create/from/form/createsecret/template.html - 66 - + + No namespaces selected + 未选中命名空间 - - Data must be Base64 encoded. - Data 必须是 Base64 编码的。 - - src/app/frontend/create/from/form/createsecret/template.html - 68 - + + Select namespace... + 选择命名空间... - - Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. - 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 - - src/app/frontend/create/from/form/createsecret/template.html - 71 - + + Monitors + 监控器 - - Create - 创建 - - src/app/frontend/create/from/form/createsecret/template.html - 92 - - - src/app/frontend/index.messages.ts - 33 - + + Ingresses + Ingresses - - Create - 创建 - - src/app/frontend/create/from/form/createnamespace/template.html - 67 - + + Secret name + Secret 名称 - - App name - 应用名称 - - src/app/frontend/create/from/form/template.html - 23 - + + Shell + Shell - - Deployment or service with this name already exists within namespace. - 具有此名称的 deployment 或 service 已存在于命名空间中。 - - src/app/frontend/create/from/form/template.html - 35 - + + Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. + 可选项,可以定义内部或外部 Service,将传入端口映射到容器的目标端口。 - - Application name is required. - 应用名称是必需的。 - - src/app/frontend/create/from/form/template.html - 39 - + + Target World Wide Names + 目标的全球名称 - - Application name must start with a lowercase letter and contain only lowercase letters, numbers, and '-' between words. - 应用程序名称必须以小写字母开头,且只包含小写字母,数字和单词之间的“-”。 - - src/app/frontend/create/from/form/template.html - 41 - + + Target portal + 目标门户 - - An 'app' label with this value will be added to the Deployment and Service that get deployed. - 具有此值的 “app” 标签将添加到已部署的 Deployment 和 Service 中。 - - src/app/frontend/create/from/form/template.html - 48 - + + Filesystem Group Change Policy + 文件系统组变更策略 - - Learn more open_in_new - 了解更多open_in_new - - src/app/frontend/create/from/form/template.html - 55 - - - src/app/frontend/create/from/form/template.html - 85 - - - src/app/frontend/create/from/form/template.html - 121 - - - src/app/frontend/create/from/form/template.html - 141 - + + Jobs + Jobs - - Container image - 容器镜像 - - src/app/frontend/create/from/form/template.html - 63 - + + Service + 服务 - - Container image is required - 容器镜像是必须的 - - src/app/frontend/create/from/form/template.html - 68 - + + + + + + + + + - - Container image is invalid: - 容器镜像无效: - - src/app/frontend/create/from/form/template.html - 70 - + + Liveness Probe + 存活探针 - - Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. - 填写公共镜像的 URL,或者是托管于 Docker Hub、Google Container Registry 等仓库上的私有镜像 URL。 - - src/app/frontend/create/from/form/template.html - 76 - + + Exit Code + 退出码 - - Number of pods - pod 的数量 - - src/app/frontend/create/from/form/template.html - 93 - + + Supplemental Groups + 附加用户组 - - Number of pods is required - pod 的数量是必填项 - - src/app/frontend/create/from/form/template.html - 99 - + + Subjects + 主体 - - Number of pods must be a positive integer - pod 的数量必须是整数 - - src/app/frontend/create/from/form/template.html - 101 - + + Minimize card + 最小化卡片 - - Setting high number of pods may cause performance issues of the cluster and Dashboard UI. - 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 - - src/app/frontend/create/from/form/template.html - 104 - + + Create a new image pull secret + 创建一个新的镜像拉取 Secret - - A Deployment will be created to maintain the desired number of pods across your cluster. - Deployment 将跨集群创建 pod 以维护所需数量。 - - src/app/frontend/create/from/form/template.html - 109 - + + Policy Types + 策略类型 - - Optionally, an internal or external Service can be defined to map an incoming Port to a target Port seen by the container. - 可选项,可以定义内部或外部 Service,将传入端口映射到容器的目标端口。 - - src/app/frontend/create/from/form/template.html - 129 - + + Windows Run as User + Windows 上用户身份 - - Description - 描述 - - src/app/frontend/create/from/form/template.html - 172 - + + Show timestamps + 显示时间戳 - - The description will be added as an annotation to the Deployment and displayed in the application's details. - 该描述将作为注释添加到 Deployment 中,并显示在应用程序的详细信息中。 - - src/app/frontend/create/from/form/template.html - 175 - + + Namespace name + 命名空间的名称 - - The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. - 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 - - src/app/frontend/create/from/form/template.html - 188 - + + Path + 路径 - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/form/template.html - 174 - - - src/app/frontend/create/from/form/template.html - 203 - - - src/app/frontend/create/from/form/template.html - 231 - - - src/app/frontend/create/from/form/template.html - 281 - - - src/app/frontend/create/from/form/template.html - 308 - - - src/app/frontend/create/from/form/template.html - 326 - - - src/app/frontend/create/from/form/template.html - 340 - + + Create a new namespace + 创建一个新的命名空间 - - Create a new namespace... - 创建一个新的命名空间... - - src/app/frontend/create/from/form/template.html - 151 - + + Unpin resource + 取消资源锁定 - - Namespaces let you partition resources into logically named groups. - 命名空间允许将资源分区为逻辑命名的组。 - - src/app/frontend/create/from/form/template.html - 155 - + + Port + 端口 - - Create a new secret... - 创建一个新的 secret... - - src/app/frontend/create/from/form/template.html - 209 - + + Dropped Capabilities + 要放弃的权能 - - Image Pull Secret - 拉取镜像的 Secret - - src/app/frontend/create/from/form/template.html - 204 - + + Subresources + 子资源 - - The specified image could require a pull secret credential if it is private. You may choose an existing secret or create a new one. - 如果指定的镜像是私有的,则可能需要拉取 secret 凭据。 您可以选择现有 secret 或创建新 secret。 - - src/app/frontend/create/from/form/template.html - 213 - + + Succeeded: + 已成功: - - CPU requirement (cores) - CPU 下限 (cores) - - src/app/frontend/create/from/form/template.html - 230 - + + Horizontal Pod Autoscalers + Horizontal Pod Autoscalers - - CPU requirement must be given as a positive number. - CPU 下限必须是正整数。 - - src/app/frontend/create/from/form/template.html - 236 - + + Invalid protocol. + 无效的协议。 - - CPU requirement must be given as a valid number. - CPU 下限必须是有效的数字。 - - src/app/frontend/create/from/form/template.html - 240 - + + Can't find dependency "" for plugin "" + 未找到插件 "" 的依赖 "" - - Memory requirement (MiB) - 内存下限 (MiB) - - src/app/frontend/create/from/form/template.html - 248 - + + The new secret will be added to the cluster + 将新的 secret 添加到集群中 - - Memory requirement must be given as a positive number. - 内存下限必须是正整数。 - - src/app/frontend/create/from/form/template.html - 254 - + + Pending: + 启动中: - - Memory requirement must be given as a valid number. - 内存下限必须是一个有效的数字。 - - src/app/frontend/create/from/form/template.html - 258 - + + Cluster + 集群 - - You can specify minimum CPU and memory requirements for the container. - 您可以指定容器的最低 CPU 和内存需求。 - - src/app/frontend/create/from/form/template.html - 264 - + + Suspend: + 暂停中: - - Run command - 运行命令 - - src/app/frontend/create/from/form/template.html - 279 - + + Security Context + 安全上下文 - - Run command arguments - 运行命令参数 - - src/app/frontend/create/from/form/template.html - 285 - + + TCP Socket + TCP Socket - - By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. - 默认情况下,容器运行所选镜像的默认 entrypoint 命令。 您可以使用命令选项覆盖默认值。 - - src/app/frontend/create/from/form/template.html - 291 - + + Persistent Volumes + 持久卷 - - Run as privileged - 以特权身份运行 - - src/app/frontend/create/from/form/template.html - 307 - + + System information + 系统信息 - - Processes in privileged containers are equivalent to processes running as root on the host. - 特权容器中的进程等同于在主机上以root身份运行的进程。 - - src/app/frontend/create/from/form/template.html - 310 - + + Min ready seconds: + 最小准备秒数: - - Environment variables available for use in the container. Values can reference other variables using $(VAR_NAME) syntax. - 可在容器中使用的环境变量。值可以使用 $(VAR_NAME) 语法引用其他变量。 - - src/app/frontend/create/from/form/template.html - 324 - + + Ready + 准备就绪 - - Deploy - - 部署 - - src/app/frontend/create/from/form/template.html - 343 - + + HTTP Headers + HTTP Headers - - Preview - - 预览 - - - src/app/frontend/create/from/form/template.html - 352,354 - + + Sub Path + 子路径 - - {VAR_SELECT, select, true {Hide advanced options} other {Show advanced options}} - {VAR_SELECT, select, true {隐藏高级选项} other {显示高级选项}} - - src/app/frontend/create/from/form/template.html - 367 - + + Service Accounts + 服务账号 - - - - - - src/app/frontend/create/from/form/template.html - 366 - + + Memory capacity (bytes) + 内存容量(字节数) - - Enter YAML or JSON content specifying the resources to create to the namespace specified in the file. - 输入 YAML 或 JSON 内容,指定要为文件中指定的命名空间创建的资源。 - - src/app/frontend/create/from/input/template.html - 19 - + + kubelet version + kubelet 版本 - - Enter YAML or JSON content specifying the resources to create to the currently selected namespace. - 输入 YAML 或 JSON 内容,指定要为当前选定的命名空间创建的资源。 - - src/app/frontend/create/from/input/template.html - 23 - + + Items: + 项目: - - Global settings - 全局设置 - - src/app/frontend/settings/global/template.html - 21 - + + Network Policies + 网络策略 - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/input/template.html - 29 - + + Value + - - Upload - - 上传 - - src/app/frontend/create/from/input/template.html - 40 - + + API Group + API 组 - - Select YAML or JSON file specifying the resources to deploy to the namespace specified in the file. - 选择 YAML 或 JSON 文件中指定的资源部署到该文件中指定的命名空间。 - - src/app/frontend/create/from/file/template.html - 19 - + + By default, your containers run the selected image's default entrypoint command. You can use the command options to override the default. + 默认情况下,容器运行所选镜像的默认 entrypoint 命令。 您可以使用命令选项覆盖默认值。 - - Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. - 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 - - src/app/frontend/create/from/file/template.html - 23 - + + Ports (Name, Port, Protocol) + 端口 (名称, 端口, 协议) - - Learn more open_in_new - 了解更多 open_in_new - - src/app/frontend/create/from/file/template.html - 29 - + + Target port cannot be empty. + 目标端口不能为空。 - - Choose YAML or JSON file - 选择 YAML 或 JSON 文件 - - src/app/frontend/create/from/file/template.html - 35 - + + Kind + Kind - - Upload - - 上传 - - - src/app/frontend/create/from/file/template.html - 43,44 - + + Host + 主机 - - Cancel - - 取消 - - - src/app/frontend/create/from/file/template.html - 50,51 - + + Lun number + Lun 号 - - Variable name must be a valid C identifier. - 变量名必须是有效的 C 标识符。 - - src/app/frontend/create/from/form/environmentvariables/template.html - 32 - + + Pod Selector + Pod 选择算符 - - Running: - 正在运行: - - src/app/frontend/overview/helper.ts - 32 - + + Sign in + 登录 - - Suspended: - 已暂停: - - src/app/frontend/overview/helper.ts - 40 - + + List Kind + 列表类别 - - Failed: - 已失败: - - src/app/frontend/overview/helper.ts - 47 - - - src/app/frontend/overview/helper.ts - 63 - + + Run command + 运行命令 - - Pending: - 待定: - - src/app/frontend/overview/helper.ts - 51 - - - src/app/frontend/overview/helper.ts - 67 - + + Port cannot be empty. + 端口号不能为空。 - - Succeeded: - 已成功: - - src/app/frontend/overview/helper.ts - 55 - + + Quantity + 数量 - - Value - - - src/app/frontend/create/from/form/environmentvariables/template.html - 44 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 252 - + + Logged in with token + 使用令牌登录 - - iSCSI Qualified Name - iSCSI 限定名称 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 280 - + + Completions + 完成个数 - - iSCSI target lun number - iSCSI 目标 lun 号 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 292 - + + View logs + 查看日志 - - Target portal - 目标门户 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 298 - + + Provider ID + 提供者 ID - - Server - 服务器 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 312 - + + Pod CIDR + Pod CIDR - - Keyring - 密钥环 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 350 - + + Kernel version + 内核版本 - - Monitors - 监控器 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 356 - + + Persistent Volumes + Persistent Volumes - - Pool - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 365 - + + Containers + 容器 - - Secret reference name - Secret 的引用名称 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 377 - + + Workloads + 工作负载 - - User - 用户 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 383 - + + Container image + 容器镜像 - - Ingress Class Name - Ingress 类名 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 29 - + + SE Linux User + SE Linux 用户 - - Default Backend - 默认后端 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 49 - + + Served + 服务 - - Service Name - 服务名称 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 55 - + + Plugins + 插件 - - Service Port Name - 服务端口名称 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 61 - + + Name: + 名称: - - Service Port Number - 服务端口号 - - src/app/frontend/resource/discovery/ingress/detail/template.html - 67 - + + Scale a resource + 缩放一个资源 - - - - - src/app/frontend/resource/discovery/ingress/detail/template.html - 73 - + + Resource name + 资源名 - - Label Selector - 标签选择算符 - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 30 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 30 - + + Application name is required. + 应用名称是必需的。 - - Init images - 初始镜像 - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 48 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 272 - - - src/app/frontend/resource/workloads/job/detail/template.html - 67 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 56 - - - src/app/frontend/resource/workloads/replicationcontroller/detail/template.html - 48 - - - src/app/frontend/resource/workloads/statefulset/detail/template.html - 48 - + + Full Name + 全名 - - Service - Service - - src/app/frontend/create/from/form/portmappings/template.html - 25 - - - src/app/frontend/index.messages.ts - 47 - - - src/app/frontend/overview/template.html - 46 - - - src/app/frontend/search/template.html - 42 - + + Target port + 目标端口 - - Config and Storage - 配置和存储 - - src/app/frontend/overview/template.html - 58 - - - src/app/frontend/search/template.html - 54 - + + Cluster IP + 集群 IP - - Port - 端口 - - src/app/frontend/create/from/form/portmappings/template.html - 48 - + + There is nothing to display here + 此处没有可显示的内容 - - Port must be an integer. - 端口号必须是数字。 - - src/app/frontend/create/from/form/portmappings/template.html - 52 - + + Initial Delay (Seconds) + 初始延迟(秒) - - Port cannot be empty. - 端口号不能为空。 - - src/app/frontend/create/from/form/portmappings/template.html - 54 - + + Short Names + 简称 - - Port must be greater than 0. - 端口号必须大于 0。 - - src/app/frontend/create/from/form/portmappings/template.html - 56 - + + Delete + 删除 - - Port must be less than 65536. - 端口号必须小于 65536。 - - src/app/frontend/create/from/form/portmappings/template.html - 58 - + + Namespaces + Namespaces - - Target port - 目标端口 - - src/app/frontend/create/from/form/portmappings/template.html - 71 - + + Internal Endpoints + 内部 Endpoints - - Target port must be an integer. - 目标端口必须是整数。 - - src/app/frontend/create/from/form/portmappings/template.html - 77 - + + Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. + 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 - - Target port cannot be empty. - 目标端口不能为空。 - - src/app/frontend/create/from/form/portmappings/template.html - 81 - + + Pool + - - Target port must be greater than 0. - 目标端口必须大于 0。 - - src/app/frontend/create/from/form/portmappings/template.html - 85 - + + Theme + 主题 - - Target port must be less than 65536. - 目标端口必须小于 65536。 - - src/app/frontend/create/from/form/portmappings/template.html - 89 - + + Logs from to UTC + Logs from to UTC - - Protocol - 协议 - - src/app/frontend/create/from/form/portmappings/template.html - 102 - + + in + in - - Protocol is required. - 协议是必需的。 - - src/app/frontend/create/from/form/portmappings/template.html - 114 - + + Services + Services - - Invalid protocol. - 无效的协议。 - - src/app/frontend/create/from/form/portmappings/template.html - 116 - + + Pods capacity + Pods 容量 - - Create a new namespace - 创建一个新的命名空间 - - src/app/frontend/create/from/form/createnamespace/template.html - 18 - + + Max number of items that can be displayed on every list view. + 每个列表视图中可显示的最大项目数。 - - key - 密钥 - - src/app/frontend/create/from/form/deploylabel/template.html - 30 - + + Unschedulable + 不可调度 - - is not unique - - 不是唯一的 - - - src/app/frontend/create/from/form/deploylabel/template.html - 32 - + + Max surge: + 最大 surge: - - Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). - 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 - - src/app/frontend/create/from/form/deploylabel/template.html - 34 - + + Success Threshold + 成功阈值 - - Label key name must be alphanumeric separated by '-', '_' or '.', optionally prefixed by a DNS subdomain and '/'. - 标签密钥名称必须是由 “ - ”,“_” 或 “.” 分隔的字母数字,可选以 DNS 子域和“/”为前缀。 - - src/app/frontend/create/from/form/deploylabel/template.html - 38 - + + Host + 主机 - - Prefix should not exceed 253 characters. - 前缀不应超过 253 个字符。 - - src/app/frontend/create/from/form/deploylabel/template.html - 43 - + + Restarts + 重启 - - Label Key name should not exceed 63 characters. - Label Key 名称不应超过 63 个字符。 - - src/app/frontend/create/from/form/deploylabel/template.html - 47 - + + Custom Resource Definitions + 自定义资源 - - value - - - src/app/frontend/create/from/form/deploylabel/template.html - 61 - + + Settings + 设置 - - Label value must be alphanumeric separated by '.' , '-' or '_'. - 标签值必须由'.' , '-'或者'_'分割字母数字。 - - src/app/frontend/create/from/form/deploylabel/template.html - 64 - + + Updated + 已更新 - - Label Value must not exceed 253 characters. - 标签值不得超过 253 个字符。 - - src/app/frontend/create/from/form/deploylabel/template.html - 68 - + + Failed + 已失败 - - Logs from - 日志 - - src/app/frontend/logs/template.html - 24 - + + Shell in in + Shell in in Init Containers 初始化容器 - - src/app/frontend/logs/template.html - 34 - - - - in - in - - src/app/frontend/logs/template.html - 43 - - - - Download logs - 下载日志 - - src/app/frontend/logs/template.html - 57 - - - Invert colors - 反转颜色 - - src/app/frontend/logs/template.html - 131 - + + Plugins + 插件 - - Reduce font size - 减小字体大小 - - src/app/frontend/logs/template.html - 136 - + + There is no data to display. + 没有要显示的数据。 - - Show timestamps - 显示时间戳 - - src/app/frontend/logs/template.html - 141 - + + Default service account + 默认服务账户 - - Auto-refresh (every s.) - 自动刷新 (每 秒) - - src/app/frontend/logs/template.html - 146 - + + Config and Storage + 配置和存储 - - Show previous logs - 显示以前的日志 - - src/app/frontend/logs/template.html - 151 - + + Privileged + 特权模式 - - Logs from to UTC - Logs from to UTC - - src/app/frontend/logs/template.html - 94 - + + Trigger + 触发 - - Path - 路径 - - src/app/frontend/common/components/ingressrulelist/template.html - 47 - + + Active Jobs: + 运行中的 Jobs: - - Key - Key - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 244 - + + Signal + 信号 - - Path Type - 路径类型 - - src/app/frontend/common/components/ingressrulelist/template.html - 54 - + + Unpin + 取消固定 - - Service Name - 服务名称 - - src/app/frontend/common/components/ingressrulelist/template.html - 61 - + + Network Policies + 网络策略 - - Service Port - 服务端口 - - src/app/frontend/common/components/ingressrulelist/template.html - 88 - + + Filesystem type + 文件系统类型 - - TLS Secret - TLS Secret - - src/app/frontend/common/components/ingressrulelist/template.html - 97 - + + Logs auto-refresh time interval + 日志自动刷新时间间隔 - - Namespace conflict - 命名空间冲突 - - src/app/frontend/common/components/namespace/changedialog/template.html - 19 - + + kube-proxy version + kube-proxy 版本 - - Selected namespace is different than namespace of currently selected resource. - 选定的名称空间与当前选定资源的名称空间不同。 - - src/app/frontend/common/components/namespace/changedialog/template.html - 22 - + + Run as Non-Root + 非 Root 身份 - - Quantity - 数量 - - src/app/frontend/resource/cluster/persistentvolume/detail/template.html - 114 - + + SE Linux Type + SE Linux 类型 - - Volume Name - 卷名称 - - src/app/frontend/resource/config/persistentvolumeclaim/detail/template.html - 38 - + + Objects + 对象 - - Session Affinity - 会话亲和性 - - src/app/frontend/resource/discovery/service/detail/template.html - 38 - + + Setting high number of pods may cause performance issues of the cluster and Dashboard UI. + 设置大量 pod 可能会导致集群和 Dashboard UI 出现性能问题。 - - Selector - 选择算符 - - src/app/frontend/resource/discovery/service/detail/template.html - 44 - - - src/app/frontend/resource/workloads/daemonset/detail/template.html - 30 - - - src/app/frontend/resource/workloads/deployment/detail/template.html - 71 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 38 - + + Kubernetes Dashboard + Kubernetes 仪表板 - - Filesystem type - 文件系统类型 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 33 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 65 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 91 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 141 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 274 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 338 - + + Namespace: + 命名空间: - - Partition - 分区 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 39 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 147 - + + NAMESPACES + 命名空间 - - Read only - 只读 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 45 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 71 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 97 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 153 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 185 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 286 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 324 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 371 - + + Edit + 编辑 - - Volume ID - 卷 ID - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 51 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 77 - + + Pods: + Pods: - - Lun number - Lun 号 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 103 - + + Default Backend + 默认后端 - - Target World Wide Names - 目标的全球名称 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 110 - + + Specify the data for your secret to hold. The value is the Base64 encoded content of a .dockercfg file. + 指定要保留的 secret 的 data 。该值是 .dockercfg 文件中的 Base64 编码内容。 - - Dataset name - 数据集名称 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 127 - + + Preview + 预览 - - Persistent disk name - 持久化磁盘名称 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 159 - + + Cancel + 取消 - - Path - 路径 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 179 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 199 - - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 318 - + + Disable access denied notification + 禁止拒绝访问的通知 - - Driver - 驱动 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 212 - + + Nodes + Nodes - - Volume Handle - 卷句柄 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 217 - + + Windows GMSA Credential Spec + Windows GMSA Credential Spec - - File System Type - 文件系统类型 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 222 - + + Endpoint links are external links that will be open in a new tab. + 端点链接是将在新选项卡中打开的外部链接。 - - Volume Attributes - 卷属性 - - src/app/frontend/resource/cluster/persistentvolume/detail/source/template.html - 237 - + + Last probe time + 最后的检测时间 - - Parameter - 参数 - - src/app/frontend/resource/config/storageclass/detail/template.html - 37 - - - src/app/frontend/resource/discovery/ingressclass/detail/template.html - 37 - + + Secret reference name + Secret 的引用名称 - - Data - 数据 - - src/app/frontend/crd/crdobject/template.html - 22 - - - src/app/frontend/resource/config/configmap/detail/template.html - 23 - - - src/app/frontend/resource/config/secret/detail/template.html - 22 - + + Dataset name + 数据集名称 - - There is no data to display. - 没有要显示的数据。 - - src/app/frontend/resource/config/configmap/detail/template.html - 32 - - - src/app/frontend/resource/config/secret/detail/template.html - 40 - + + Label Key name should not exceed 63 characters. + Label Key 名称不应超过 63 个字符。 - - Settings have changed since last reload - 自上次重新加载以来,设置已发生变化 - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 18 - + + Run as Group + 组身份 - - Schedule:  - 时间表:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 28 - + + Pods status + Pods 状态 - - Active Jobs:  - 运行中的 Jobs:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 35 - + + Global settings are stored in config map, so all of them are applied for every instance of the app. + 全局设置存储在 config map 中,因此所有这些设置都适用于应用程序的每个实例。 - - Suspend:  - 暂停中:  - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 42 - + + Close + 关闭 - - Last schedule - 上次调度 - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 70 - + + No resources found in the selected namespace. + 选定的命名空间中没有发现资源。 - - Concurrency policy - 并发策略 - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 76 - + + Capacity + 容量 - - Starting deadline seconds - 开始的最后期限 - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 82 - + + Data must be Base64 encoded. + Data 必须是 Base64 编码的。 - - Role Reference - 角色引用 - - src/app/frontend/resource/cluster/clusterrolebinding/detail/template.html - 28 - - - src/app/frontend/resource/cluster/rolebinding/detail/template.html - 28 - + + Running: + 正在运行: - - System information - 系统信息 - - src/app/frontend/resource/cluster/node/detail/template.html - 71 - + + CPU capacity (cores) + CPU 容量(核心) - - Allocation - 分配 - - src/app/frontend/resource/cluster/node/detail/template.html - 145 - + + Service Accounts + 服务账户 - - Pod CIDR - Pod CIDR - - src/app/frontend/resource/cluster/node/detail/template.html - 35 - + + Workloads + 工作负载 - - Provider ID - 提供者 ID - - src/app/frontend/resource/cluster/node/detail/template.html - 40 - + + Make sure that support for basic authentication is enabled in the cluster. To find out more about how to configure basic authentication, please refer to the Authenticating and ABAC Mode sections. + 确保在集群中启用了对基本身份验证的支持。 要了解有关如何配置基本身份验证的详情,请参阅 AuthenticatingABAC Mode 部分。 - - Unschedulable - 不可调度 - - src/app/frontend/resource/cluster/node/detail/template.html - 45 - + + Create + 创建 - - Addresses - 地址 - - src/app/frontend/resource/cluster/node/detail/template.html - 51 - + + Roles + Roles - - Taints - 污点 - - src/app/frontend/resource/cluster/node/detail/template.html - 60 - + + Reload + 重新加载 - - Machine ID - 机器 ID - - src/app/frontend/resource/cluster/node/detail/template.html - 77 - + + Provide a namespace name that should be added to the namespace fallback list + 提供应添加到命名空间后背列表的命名空间名称 - - System UUID - 系统 UUID - - src/app/frontend/resource/cluster/node/detail/template.html - 82 - + + Filesystem Group + 文件系统组 Boot ID 启动 ID - - src/app/frontend/resource/cluster/node/detail/template.html - 87 - - - - Kernel version - 内核版本 - - src/app/frontend/resource/cluster/node/detail/template.html - 92 - - - - OS Image - 操作系统镜像 - - src/app/frontend/resource/cluster/node/detail/template.html - 97 - - - - Container runtime version - 容器运行时版本 - - src/app/frontend/resource/cluster/node/detail/template.html - 102 - - - kubelet version - kubelet 版本 - - src/app/frontend/resource/cluster/node/detail/template.html - 107 - + + Replication Controllers + Replication Controllers - - kube-proxy version - kube-proxy 版本 - - src/app/frontend/resource/cluster/node/detail/template.html - 112 - + + Remove namespaces from the list and confirm to save the changes. + 从列表中删除命名空间并确认保存更改。 - - Operating system - 操作系统 - - src/app/frontend/resource/cluster/node/detail/template.html - 117 - + + Persistent Volume Claims + 持久卷申领 - - Architecture - 架构 - - src/app/frontend/resource/cluster/node/detail/template.html - 122 - + + Message + 信息 - - CPU capacity - CPU 容量 - - src/app/frontend/resource/cluster/node/detail/template.html - 127 - + + Max number of labels that are displayed by default on most views. + 默认情况下,大多数视图上显示的最大标签数。 - - Memory capacity - 内存容量 - - src/app/frontend/resource/cluster/node/detail/template.html - 132 - + + Cluster name + 集群名称 - - Pods capacity - Pods 容量 - - src/app/frontend/resource/cluster/node/detail/template.html - 137 - + + Deployments + Deployments - - CPU - CPU - - src/app/frontend/resource/cluster/node/detail/template.html - 153 - + + App name + 应用名称 - - Memory - 内存 - - src/app/frontend/resource/cluster/node/detail/template.html - 166 - + + Last schedule + 上次调度 - - Pod Selector - Pod 选择算符 - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 28 - + + System UUID + 系统 UUID - - Policy Types - 策略类型 - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 37 - + + Config And Storage + 配置和存储 - - Ingress Rules - Ingress 规则 - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 49 - + + Container image is invalid: + 容器镜像无效: - - Egress Rules - Egress 规则 - - src/app/frontend/resource/cluster/networkpolicy/detail/template.html - 61 - + + Count + 次数 - - Active Jobs - 运行中的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 58 - - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 90 - + + Replication Controllers + Replication Controllers - - Image Pull Secrets - 镜像拉取 Secrets - - src/app/frontend/resource/cluster/serviceaccount/detail/component.ts - 57 - + + Active + 运行中 - - Inactive Jobs - 非工作的 Jobs - - src/app/frontend/resource/workloads/cronjob/detail/template.html - 94 - + + CPU Usage (cores) + CPU 使用率 (cores) - - Strategy:  - 策略:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 28 - + + Environment variable + 环境变量 - - Min ready seconds:  - 最小准备秒数:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 35 - + + Restart a resource + 重启一个资源 - - Revision history limit:  - 修改历史记录限制:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 42 - + + Max surge + 最大峰值 - - Strategy - 策略 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 52 - + + Annotations + 注解 - - Min ready seconds - 最小就绪秒数 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 58 - + + First Seen + 初次 - - Revision history limit - 修订历史限制 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 64 - + + Forbidden (403) + 禁止 (403) - - Max surge:  - 最大 surge:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 88 - + + + + + + + - - Max unavailable:  - 不可用个数上限:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 95 - + + Suspended: + 已暂停: - - Max surge - 最大峰值 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 105 - + + Upload + 上传 - - Max unavailable - 不可用个数上限 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 111 - + + Phase + 运行阶段 - - Updated:  - 已更新:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 125 - + + Namespace conflict + 命名空间冲突 - - Total:  - 总计:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 132 - + + Controller + 控制器 - - Available:  - 可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 139 - + + will be updated to reflect the desired replicas count. + 将被更新以反映所需的副本数。 - - Unavailable:  - 不可用的:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 146 - + + OS Image + 操作系统镜像 - - Updated - 已更新 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 156 - + + Download logs file + 下载日志文件 - - Total - 总计 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 162 - + + Endpoints open_in_new + 端点 open_in_new - - Available - 可用 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 168 - + + Create from form + 从表单创建 - - Unavailable - 不可用 - - src/app/frontend/resource/workloads/deployment/detail/template.html - 174 - + + Ingress Rules + Ingress 规则 - - New Replica Set - 新的 Replica Set - - src/app/frontend/resource/workloads/deployment/detail/template.html - 186 - + + Pods + Pods - - Environment variables - 环境变量 - - src/app/frontend/create/from/form/environmentvariables/template.html - 19 - + + Stateful Sets + Stateful Sets - - Pods:  - Pods:  - - src/app/frontend/resource/workloads/deployment/detail/template.html - 214 - - - src/app/frontend/resource/workloads/replicaset/detail/template.html - 28 - + + Prefix is not a valid DNS subdomain prefix (eg. my-domain.com). + 前缀不是有效的DNS子域前缀(例如 my-domain.com )。 - - Old Replica Sets - 旧 Replica Sets - - src/app/frontend/resource/workloads/deployment/detail/template.html - 283 - + + File is ready to download! + 文件已准备好被下载! - - Completions:  - 完成个数:  - - src/app/frontend/resource/workloads/job/detail/template.html - 28 - + + Succeeded: + 成功: - - Parallelism:  - 并行度:  - - src/app/frontend/resource/workloads/job/detail/template.html - 35 - + + Download logs + 下载日志 - - Completions - 完成个数 - - src/app/frontend/resource/workloads/job/detail/template.html - 45 - + + Startup Probe + 启动探针 - - Parallelism - 并行度 - - src/app/frontend/resource/workloads/job/detail/template.html - 51 - + + Service Name + 服务名称 - - Do you want to save them anyways? - 你想保存它们吗? - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 19 - + + Namespaced + 有命名空间的 - - Refresh - 刷新 - - src/app/frontend/settings/global/saveanywaysdialog/template.html - 28 - + + Preview Deployment + 预览 Deployment - - Resource Information - 资源信息 - - src/app/frontend/crd/detail/template.html - 22 - + + Group + Group - - Accepted Names - 可接受的名称 - - src/app/frontend/crd/detail/template.html - 55 - + + Basic + 基本 - - Scope - 作用域 - - src/app/frontend/crd/detail/template.html - 35 - + + There are no notifications + 没有通知 - - Version - 版本 - - src/app/frontend/crd/detail/template.html - 29 - + + Type + 类别 - - Subresources - 子资源 - - src/app/frontend/crd/detail/template.html - 47 - + + Mounts + 挂载 - - Plural - 复数 - - src/app/frontend/crd/detail/template.html - 62 - + + Global settings + 全局设置 - - List Kind - 列表类别 - - src/app/frontend/crd/detail/template.html - 77 - + + Last Schedule + 最后的调度 - - Singular - 单数 - - src/app/frontend/crd/detail/template.html - 67 - + + A namespace with the specified name will be added to the cluster. + 将具有指定名称的命名空间添加到集群中。 - - Short Names - 简称 - - src/app/frontend/crd/detail/template.html - 82 - + + The specified labels will be applied to the created Deployment, Service (if any) and Pods. Common labels include release, environment, tier, partition and track. + 指定的标签将应用于创建的 Deployment,Service(如果有)和 Pod。 常见标签包括 release,environment,tier,partition 和 track。 - - Categories - 类别 - - src/app/frontend/crd/detail/template.html - 87 - + + Select YAML or JSON file specifying the resources to deploy to the currently selected namespace. + 选择 YAML 或 JSON 文件中指定的资源部署到当前选定的命名空间。 - - Default namespace - 默认命名空间 - - src/app/frontend/settings/global/namespace/template.html - 18 - + + Status: + 状态: - - Namespace that should be selected by default after logging in. - 登录后应默认选择的命名空间。 - - src/app/frontend/settings/global/namespace/template.html - 20 - + + Target port must be greater than 0. + 目标端口必须大于 0。 - - Namespace fallback list - 命名空间后备列表 - - src/app/frontend/settings/global/namespace/template.html - 40 - + + Nodes + 节点 - - List of namespaces that should be presented to user without namespace list privileges. - 应该显示给没有名称空间列表权限的用户的名称空间列表。 - - src/app/frontend/settings/global/namespace/template.html - 42 - + + Read Only + 只读 - - Add namespaces... - 添加命名空间... - - src/app/frontend/settings/global/namespace/template.html - 60 - + + Started At + 启动于 - - Can't find plugin "" - 未找到插件 "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 42 - + + Cluster Roles + Cluster Roles - - Can't find dependency "" for plugin "" - 未找到插件 "" 的依赖 "" - - src/app/frontend/common/services/pluginloader/clientloader.service.ts - 48 - + + Filter + 过滤 - - Remove namespaces from the list and confirm to save the changes. - 从列表中删除命名空间并确认保存更改。 - - src/app/frontend/settings/global/namespace/editdialog/template.html - 23 - + + No resources found. + 没有发现资源。 - - No namespaces selected - 未选中命名空间 - - src/app/frontend/settings/global/namespace/editdialog/template.html - 36 - + + Replica Sets + Replica Sets - - Provide a namespace name that should be added to the namespace fallback list - 提供应添加到命名空间后背列表的命名空间名称 - - src/app/frontend/settings/global/namespace/adddialog/template.html - 23 - + + Verbs + 动作 - - Add - 添加 - - src/app/frontend/settings/global/namespace/adddialog/template.html - 47 - + + Path + 路径 - - Edit Namespace List - 编辑命名空间列表 - - src/app/frontend/settings/global/namespace/editdialog/template.html - 20 - + + Show previous logs + 显示以前的日志 - - Cluster name - 集群名称 - - src/app/frontend/settings/global/template.html - 26 - - - src/app/frontend/settings/global/template.html - 34 - + + Reduce font size + 减小字体大小 - - Cluster name appears in the browser window title if it is set. - 如果已设置,则集群名称将显示在浏览器窗口标题中. - - src/app/frontend/settings/global/template.html - 28 - + + Allocation + 分配 Items per page 每页项目 - - src/app/frontend/settings/global/template.html - 42 - - - Max number of items that can be displayed on every list view. - 每个列表视图中可显示的最大项目数。 - - src/app/frontend/settings/global/template.html - 44 - + + Name + 名称 - - Labels limit - 标签限制 - - src/app/frontend/settings/global/template.html - 58 - + + Number of pods is required + pod 的数量是必填项 - - Max number of labels that are displayed by default on most views. - 默认情况下,大多数视图上显示的最大标签数。 - - src/app/frontend/settings/global/template.html - 60 - + + Added Capabilities + 要添加的权能 - - Logs auto-refresh time interval - 日志自动刷新时间间隔 - - src/app/frontend/settings/global/template.html - 74 - + + Trigger a + 触发一个 + + + CPU requirement must be given as a positive number. + CPU 下限必须是正整数。 + + + Enter the URL of a public image on any registry, or a private image hosted on Docker Hub or Google Container Registry. + 填写公共镜像的 URL,或者是托管于 Docker Hub、Google Container Registry 等仓库上的私有镜像 URL。 + + + Service Port Name + 服务端口名称 Number of seconds between every auto-refresh of logs. 每次自动刷新日志的间隔秒数。 - - src/app/frontend/settings/global/template.html - 76 - - - - Resource auto-refresh time interval - 资源自动刷新时间间隔 - - src/app/frontend/settings/global/template.html - 92 - - - - Number of seconds between every auto-refresh of every resource. Set 0 to disable. - 两次资源自动刷新时间间隔。设置为 0 则表示不启用。 - - src/app/frontend/settings/global/template.html - 94 - - - Disable access denied notification - 禁止拒绝访问的通知 - - src/app/frontend/settings/global/template.html - 110 - + + Name must follow the DNS domain name syntax (e.g. new.image-pull.secret). + 名称必须遵循 DNS 域名语法(例如 new.image-pull.secret)。 - - Hides all access denied warnings in the notification panel. - 在通知面板中隐藏所有拒绝访问的警告。 - - src/app/frontend/settings/global/template.html - 112 - + + Service Account + 服务账号 - - Reload - 重新加载 - - src/app/frontend/settings/global/template.html - 132 - + + Timeout (Seconds) + 超时时间(秒) - - Local settings - 本地设置 - - src/app/frontend/settings/local/template.html - 19 - + + Sysctls + Sysctls - - Local settings are stored in the browser cookies, so they are not synchronized between multiple devices. Changes are applied automatically on every change. - 本地设置存储在浏览器的 cookie 中,因此它们不会再多个设备之间同步它。每次更改都会被自动应用。 - - src/app/frontend/settings/local/template.html - 21 - + + Source + 事件源 - - Theme - 主题 - - src/app/frontend/settings/local/template.html - 26 - + + Prefix should not exceed 253 characters. + 前缀不应超过 253 个字符。 - - Choose color theme of the dashboard - 选择 dashboard 的颜色主题 - - src/app/frontend/settings/local/template.html - 28 - + + Failed: + 已失败: - - Language - 语言 - - src/app/frontend/settings/local/template.html - 41 - + + Read only + 只读 - - Change the language of the dashboard - 更改 dashboard 的语言 - - src/app/frontend/settings/local/template.html - 43 - + + Daemon Sets + Daemon Sets - - Add Namespace - 添加命名空间 - - src/app/frontend/settings/global/namespace/adddialog/template.html - 20 - + + Storage Classes + 存储类 - - Shell in in - - Shell in - - - - - - in - - - src/app/frontend/shell/template.html - 22 - + + Provisioner + 提供者 - + \ No newline at end of file